summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO29
-rw-r--r--PKGBUILD96
-rw-r--r--provide-boost.patch13
3 files changed, 106 insertions, 32 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 5c98dda4792a..41c83da40ca3 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = nanocurrency
pkgdesc = Nano (formerly RaiBlocks) is a cryptocurrency designed from the ground up for scalable instant transactions and zero transaction fees.
- pkgver = 22.0
- pkgrel = 1
+ pkgver = 24.0
+ pkgrel = 2
url = https://nano.org/
install = install
arch = i686
@@ -9,8 +9,6 @@ pkgbase = nanocurrency
license = BSD 2-clause
makedepends = cmake
depends = qt5-base
- depends = boost>=1.69.0
- depends = boost-libs>=1.69.0
provides = raiblocks
provides = nanocurrency
conflicts = raiblocks
@@ -20,14 +18,30 @@ pkgbase = nanocurrency
source = nanowallet.desktop
source = nanowallet128.png
source = nano-node.service
- source = git+https://github.com/nanocurrency/nano-node.git#tag=V22.0
+ source = provide-boost.patch
+ source = boost_1_75_0.tar.bz2::https://sourceforge.net/projects/boost/files/boost/1.75.0/boost_1_75_0.tar.bz2/download
+ source = git+https://github.com/nanocurrency/nano-node.git#tag=V24.0
source = git+https://github.com/weidai11/cryptopp.git
- source = git+https://github.com/nanocurrency/lmdb.git#branch=lmdb_0_9_21
+ source = git+https://github.com/nanocurrency/lmdb.git#branch=lmdb_0_9_23
source = git+https://github.com/miniupnp/miniupnp.git
- source = git+https://github.com/clemahieu/phc-winner-argon2.git
+ source = git+https://github.com/nanocurrency/phc-winner-argon2.git
+ source = git+https://github.com/google/flatbuffers.git
+ source = git+https://github.com/nanocurrency/rocksdb.git#branch=6.13.3
+ source = git+https://github.com/cryptocode/cpptoml.git
+ source = git+https://github.com/google/googletest.git
+ source = git+https://github.com/nanocurrency/nano-pow-server.git
+ source = git+https://github.com/nanocurrency/diskhash.git
sha256sums = 6b824bfd5a9f2c1cd8d6a30f858a7bdc7813a448f4894a151da035dac5af2f91
sha256sums = 27179351dbc3e000d54b5b13f0c2326b4c4bd06e93b1d0b2ea1849609aeadc2e
sha256sums = c219c91db98f33097e7d96ef0f0c95e4b9d6226ac2ab90e30be7f955c43bfa35
+ sha256sums = dbfe2a1774c2c5c2567cbfa9731c431f01076b62f7ea9b3657c875d1dbe2dada
+ sha256sums = 953db31e016db7bb207f11432bef7df100516eeb746843fa0486a222e3fd49cb
+ sha256sums = SKIP
+ sha256sums = SKIP
+ sha256sums = SKIP
+ sha256sums = SKIP
+ sha256sums = SKIP
+ sha256sums = SKIP
sha256sums = SKIP
sha256sums = SKIP
sha256sums = SKIP
@@ -35,4 +49,3 @@ pkgbase = nanocurrency
sha256sums = SKIP
pkgname = nanocurrency
-
diff --git a/PKGBUILD b/PKGBUILD
index cfad83e4c331..acec8af5c0a8 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,13 +1,13 @@
pkgname=nanocurrency
-pkgver=22.0
+pkgver=24.0
_tag="V$pkgver"
-pkgrel=1
+pkgrel=2
pkgdesc="Nano (formerly RaiBlocks) is a cryptocurrency designed from the ground up for scalable instant transactions and zero transaction fees."
arch=('i686' 'x86_64')
url="https://nano.org/"
license=('BSD 2-clause')
makedepends=('cmake')
-depends=('qt5-base' 'boost>=1.69.0' 'boost-libs>=1.69.0')
+depends=('qt5-base')
provides=(raiblocks nanocurrency)
conflicts=("raiblocks" "raiblocks-git" "raiblocks-node-git" "nanocurrency-node-git")
install=install
@@ -15,33 +15,77 @@ install=install
source=(nanowallet.desktop
nanowallet128.png
nano-node.service
+ provide-boost.patch
+ "boost_1_75_0.tar.bz2::https://sourceforge.net/projects/boost/files/boost/1.75.0/boost_1_75_0.tar.bz2/download"
"git+https://github.com/nanocurrency/nano-node.git#tag=${_tag}"
git+https://github.com/weidai11/cryptopp.git
- "git+https://github.com/nanocurrency/lmdb.git#branch=lmdb_0_9_21"
+ "git+https://github.com/nanocurrency/lmdb.git#branch=lmdb_0_9_23"
git+https://github.com/miniupnp/miniupnp.git
- git+https://github.com/clemahieu/phc-winner-argon2.git)
+ git+https://github.com/nanocurrency/phc-winner-argon2.git
+ "git+https://github.com/google/flatbuffers.git"
+ "git+https://github.com/nanocurrency/rocksdb.git#branch=6.13.3"
+ git+https://github.com/cryptocode/cpptoml.git
+ git+https://github.com/google/googletest.git
+ git+https://github.com/nanocurrency/nano-pow-server.git
+ git+https://github.com/nanocurrency/diskhash.git
+ )
sha256sums=('6b824bfd5a9f2c1cd8d6a30f858a7bdc7813a448f4894a151da035dac5af2f91'
'27179351dbc3e000d54b5b13f0c2326b4c4bd06e93b1d0b2ea1849609aeadc2e'
'c219c91db98f33097e7d96ef0f0c95e4b9d6226ac2ab90e30be7f955c43bfa35'
+ 'dbfe2a1774c2c5c2567cbfa9731c431f01076b62f7ea9b3657c875d1dbe2dada'
+ '953db31e016db7bb207f11432bef7df100516eeb746843fa0486a222e3fd49cb'
+ 'SKIP'
+ '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 -c protocol.file.allow=always submodule update --recursive
- git config submodule.cryptopp.url $srcdir/cryptopp
- git config submodule.lmdb.url $srcdir/lmdb
- git config submodule.miniupnp.url $srcdir/miniupnp
- git config submodule.phc-winner-argon2.url $srcdir/phc-winner-argon2
-
- git submodule update --init --recursive
+ cd "${srcdir}/nano-node"
+ patch --forward -p0 -i $srcdir/provide-boost.patch
+ ln -sf "$srcdir/boost_1_75_0.tar.bz2" ./
+ ln -sf "$srcdir/boost_1_75_0" ./
+# 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:
@@ -51,46 +95,50 @@ prepare() {
tmp_path=${tmp_path#:}
PATH=$tmp_path
- _flags=( "-D RAIBLOCKS_GUI=ON" )
+ _flags="-DNANO_GUI=ON -DFAIL_ON_WARNINGS=OFF -DFLATBUFFERS_STRICT_MODE=OFF -DCMAKE_CXX_FLAGS=\"-Wno-error\""
if grep -q avx2 /proc/cpuinfo; then
echo "using AVX2 optimizations"
- _flags+=( "-D ENABLE_AVX2=ON" "-D PERMUTE_WITH_GATHER=ON" "-D PERMUTE_WITH_SHUFFLES=ON" )
+ _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+=( "-D RAIBLOCKS_SIMD_OPTIMIZATIONS=ON" )
+ _flags="${_flags} -DNANO_SIMD_OPTIMIZATIONS=ON"
else
echo "excluding unsupported SIMD optimizations"
- _flags+=( "-D RAIBLOCKS_SIMD_OPTIMIZATIONS=OFF" )
+ _flag+="${_flags} -DNANO_SIMD_OPTIMIZATIONS=OFF"
fi
+
+ _cores=$(grep processor /proc/cpuinfo | wc -l)
+ #_cores=1
+ export BOOST_ROOT="$srcdir/boost_build"
+ echo "build boost..."
+ pushd "$srcdir/nano-node" >/dev/null
+ bash util/build_prep/bootstrap_boost.sh -j $_cores -B 1.75 -m
+ popd >/dev/null
PATH=$PATH cmake $_flags ./
-}
-
-build() {
- cd "$srcdir/nano-node"
- make nano_wallet
- make nano_node
+ make -j${_cores} VERBOSE=1 nano_wallet
+ make -j${_cores} VERBOSE=1 nano_node
}
package() {
cd "$srcdir/nano-node"
install -Dm755 nano_wallet "$pkgdir"/usr/bin/nano_wallet
- ln -s /usr/bin/nano_wallet "$pkgdir"/usr/bin/rai_wallet
+ #ln -s /usr/bin/nano_wallet "$pkgdir"/usr/bin/rai_wallet
install -Dm755 nano_node "$pkgdir"/usr/bin/nano_node
- ln -s /usr/bin/nano_node "$pkgdir"/usr/bin/rai_node
+ #ln -s /usr/bin/nano_node "$pkgdir"/usr/bin/rai_node
install -Dm644 "$srcdir"/nanowallet128.png "$pkgdir"/usr/share/pixmaps/nanowallet128.png
install -Dm644 "$srcdir"/nanowallet.desktop "$pkgdir"/usr/share/applications/nanowallet.desktop
#ln -s /usr/share/applications/nanowallet.desktop "$pkgdir"/usr/lib/systemd/system/raiblocks.service
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
+ #ln -s /usr/lib/systemd/system/nano-node.service "$pkgdir"/usr/lib/systemd/system/raiblocks-node.service
}
# vim:set ts=2 sw=2 et:
diff --git a/provide-boost.patch b/provide-boost.patch
new file mode 100644
index 000000000000..874046dfa6ae
--- /dev/null
+++ b/provide-boost.patch
@@ -0,0 +1,13 @@
+--- util/build_prep/bootstrap_boost.sh 2023-03-09 00:21:53.361480936 -0500
++++ util/build_prep/bootstrap_boost.sh.new 2023-03-09 00:22:05.781957983 -0500
+@@ -136,8 +136,8 @@
+ buildArgs+=(linkflags="${buildLDArgs[*]}")
+ fi
+
+-rm -rf "${BOOST_BASENAME}"
+-tar xf "${BOOST_ARCHIVE}"
++#rm -rf "${BOOST_BASENAME}"
++#tar xf "${BOOST_ARCHIVE}"
+
+ pushd "${BOOST_BASENAME}"
+ ./bootstrap.sh "${bootstrapArgs[@]}"