blob: e6dcbce5ee9395368554871570c055aa2a51856e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
pkgname=nanocurrency-node
pkgver=22.1
pkgrel=1
pkgdesc="Nano (formerly RaiBlocks) is a cryptocurrency designed from the ground up for scalable instant transactions and zero transaction fees. Command-line version without wallet GUI or Qt dependencies."
arch=('i686' 'x86_64')
url="https://nano.org/"
license=('BSD 2-clause')
makedepends=('cmake')
depends=('boost>=1.69.0' 'boost-libs>=1.69.0')
provides=(raiblocks nanocurrency nanocurrency-node)
conflicts=("raiblocks" "raiblocks-git" "raiblocks-cli-git" "nanocurrency-git")
install=install
source=(nanowallet.desktop
nanowallet128.png
nano-node.service
fix-build-for-gcc11.patch
fix-build-for-boost-1.76.patch
"git+https://github.com/nanocurrency/nano-node.git#tag=V${pkgver}"
git+https://github.com/weidai11/cryptopp.git
git+https://github.com/nanocurrency/lmdb.git
git+https://github.com/miniupnp/miniupnp.git
git+https://github.com/nanocurrency/phc-winner-argon2.git
git+https://github.com/google/flatbuffers.git
git+https://github.com/nanocurrency/rocksdb.git
git+https://github.com/cryptocode/cpptoml.git
git+https://github.com/google/googletest.git
git+https://github.com/nanocurrency/nano-pow-server.git
)
sha256sums=('6b824bfd5a9f2c1cd8d6a30f858a7bdc7813a448f4894a151da035dac5af2f91'
'27179351dbc3e000d54b5b13f0c2326b4c4bd06e93b1d0b2ea1849609aeadc2e'
'c219c91db98f33097e7d96ef0f0c95e4b9d6226ac2ab90e30be7f955c43bfa35'
'fff6e6ab537c33e522a6c91d1d917c8298c3c2a92e291b343663793bcf60336f'
'98ec1f48ecdcf5c6270ead3f50eae427b33a68eebcdf2c7432d91fabd12f1b81'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP')
_submodule_config() {
submodule_name=$1
submodule_path=$2
if [[ -z "$submodule_path" ]]; then
submodule_path=$1
fi
git config --file=.gitmodules "submodule.${submodule_name}.url" "$srcdir/${submodule_path}"
#git submodule init "${submodule_name}"
#git submodule update "${submodule_name}"
}
prepare() {
cd "$srcdir/nano-node"
_submodule_config crypto/cryptopp cryptopp
_submodule_config lmdb
_submodule_config miniupnp
_submodule_config crypto/phc-winner-argon2 phc-winner-argon2
_submodule_config flatbuffers
_submodule_config rocksdb
_submodule_config cpptoml
_submodule_config googletest
_submodule_config nano-pow-server
_submodule_config diskhash
git submodule init
git submodule update --recursive
patch --forward -p1 -i $srcdir/fix-build-for-gcc11.patch
patch --forward -p1 -i $srcdir/fix-build-for-boost-1.76.patch
}
build() {
cd "${srcdir}/nano-node"
# remove /bin from $PATH so that boost can be built
# see https://bugs.archlinux.org/task/64132
tmp_path=:$PATH:
remove_from_PATH='/bin'
tmp_path=${tmp_path/:$remove_from_PATH:/:}
tmp_path=${tmp_path%:}
tmp_path=${tmp_path#:}
PATH=$tmp_path
_flags="-DNANO_GUI=OFF -DFAIL_ON_WARNINGS=OFF"
if grep -q avx2 /proc/cpuinfo; then
echo "using AVX2 optimizations"
_flags="${_flags} -DENABLE_AVX2=ON -DPERMUTE_WITH_GATHER=ON -DPERMUTE_WITH_SHUFFLES=ON"
else
echo "excluding unsupported AVX2 optimizations"
fi
if grep -q sse4 /proc/cpuinfo; then
echo "build with SIMD optimizations"
_flags="${_flags} -DNANO_SIMD_OPTIMIZATIONS=ON"
else
echo "excluding unsupported SIMD optimizations"
_flag+="${_flags} -DNANO_SIMD_OPTIMIZATIONS=OFF"
fi
_cores=$(grep processor /proc/cpuinfo | wc -l)
#_cores=1
PATH=$PATH cmake $_flags ./
make -j${_cores} nano_node
}
package() {
cd "$srcdir/nano-node"
install -Dm755 nano_node "$pkgdir"/usr/bin/nano_node
#ln -s /usr/bin/nano_node "$pkgdir"/usr/bin/rai_node
install -Dm644 "$srcdir"/nano-node.service "$pkgdir"/usr/lib/systemd/system/nano-node.service
#ln -s /usr/lib/systemd/system/nano-node.service "$pkgdir"/usr/lib/systemd/system/raiblocks-node.service
}
# vim:set ts=2 sw=2 et:
|