summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomZ2021-11-10 12:10:40 +0100
committerTomZ2021-11-10 12:10:40 +0100
commitc21c57d15eb3acc00da15e5de2391d86bdf18f23 (patch)
tree5d73018b6498b5deec2b237200cd86264522b604
parent679f5cf39545b11e7c92b4f440292c0ce121b2c9 (diff)
downloadaur-c21c57d15eb3acc00da15e5de2391d86bdf18f23.tar.gz
New version
-rw-r--r--.SRCINFO9
-rw-r--r--PKGBUILD7
-rw-r--r--rocksdb-patch47
3 files changed, 57 insertions, 6 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 5c1da76c1000..73c53df93bf9 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = fulcrum
pkgdesc = A fast & nimble SPV server for Bitcoin Cash
- pkgver = 1.5.2
+ pkgver = 1.5.3
pkgrel = 1
url = https://gitlab.com/FloweeTheHub/fulcrum
install = fulcrum.install
@@ -12,10 +12,11 @@ pkgbase = fulcrum
optdepends = jemalloc: reduce memory fragmentation
provides = fulcrum
backup = etc/fulcrum.conf
- source = https://gitlab.com/FloweeTheHub/fulcrum/-/archive/v1.5.2/fulcrum-v1.5.2.tar.gz
+ source = https://gitlab.com/FloweeTheHub/fulcrum/-/archive/v1.5.3/fulcrum-v1.5.3.tar.gz
source = fulcrum.conf
- sha256sums = 8a50c245232641f4eae11a2ad831556b1fb3963a7586bba5c098bc9c34aa536c
+ source = rocksdb-patch
+ sha256sums = 478e532695522ef5c1093faef713a30148b247c5d5639c6cd9f4ba266e0c6186
sha256sums = 8a559a825d0b7bcd1231669e387183f05794ae919bb1b7ef84a9d74e407ff598
+ sha256sums = 30766d317e91b76834816414b8b5322e795c0ae94b07814bf5660a02307ba36b
pkgname = fulcrum
-
diff --git a/PKGBUILD b/PKGBUILD
index 3d27d43947b9..14c7b67cf753 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,7 +2,7 @@
pkgname=fulcrum
pkgdesc='A fast & nimble SPV server for Bitcoin Cash'
-pkgver=1.5.2
+pkgver=1.5.3
pkgrel=1
url='https://gitlab.com/FloweeTheHub/fulcrum'
arch=('x86_64')
@@ -19,13 +19,16 @@ provides=("$pkgname")
source=(
"https://gitlab.com/FloweeTheHub/fulcrum/-/archive/v$pkgver/fulcrum-v$pkgver.tar.gz"
"fulcrum.conf"
+ "rocksdb-patch"
)
-sha256sums=('8a50c245232641f4eae11a2ad831556b1fb3963a7586bba5c098bc9c34aa536c'
+sha256sums=('478e532695522ef5c1093faef713a30148b247c5d5639c6cd9f4ba266e0c6186'
'8a559a825d0b7bcd1231669e387183f05794ae919bb1b7ef84a9d74e407ff598'
+ '30766d317e91b76834816414b8b5322e795c0ae94b07814bf5660a02307ba36b'
)
prepare() {
cd "fulcrum-v$pkgver"
+ patch -p1 < $srcdir/rocksdb-patch
qmake -makefile CONFIG+=recheck CONFIG+=release Fulcrum.pro
}
diff --git a/rocksdb-patch b/rocksdb-patch
new file mode 100644
index 000000000000..e11a75bdc69c
--- /dev/null
+++ b/rocksdb-patch
@@ -0,0 +1,47 @@
+commit d02eb3859fe3e1bfbdf82dc8e256830f105fe329
+Author: Axel Gembe <derago@gmail.com>
+Date: Thu Oct 28 20:26:47 2021 +0700
+
+ Build: Reject system rocksdb if not compiled with RTTI
+
+ This makes `config.tests/rocksdb` check if the library was compiled with
+ USE_RTTI=1 by creating an instance of an `AssociativeMergeOperator`
+ derived class. When rocksdb was compiled without RTTI this should
+ produce
+
+ ```
+ undefined reference to `typeinfo for rocksdb::AssociativeMergeOperator'
+ ```
+
+ when running `qmake` in `config.log` and use the static library instead.
+
+diff --git a/config.tests/rocksdb/main.cpp b/config.tests/rocksdb/main.cpp
+index 2a08cb3..1946727 100644
+--- a/config.tests/rocksdb/main.cpp
++++ b/config.tests/rocksdb/main.cpp
+@@ -1,6 +1,8 @@
+ #include <array>
+ #include <cstddef>
++#include <memory>
+ #include <rocksdb/version.h>
++#include <rocksdb/merge_operator.h>
+
+ constexpr int minimumVersion[] = {6, 6, 4};
+ constexpr int version[] = {ROCKSDB_MAJOR, ROCKSDB_MINOR, ROCKSDB_PATCH};
+@@ -19,7 +21,16 @@ constexpr bool compareVersion(const int *version1, const int *version2, const si
+
+ static_assert(compareVersion(version, minimumVersion, std::size(version)));
+
++// If this causes an "undefined reference to `typeinfo for rocksdb::AssociativeMergeOperator'" error
++// in config.log it means that the rocksdb version you are attempting to use is built without RTTI.
++class ConcatOperator : public rocksdb::AssociativeMergeOperator {
++public:
++ bool Merge(const rocksdb::Slice&, const rocksdb::Slice*, const rocksdb::Slice&, std::string*, rocksdb::Logger*) const override { return true; }
++ const char* Name() const override { return "ConcatOperator"; }
++};
++
+ int main()
+ {
++ auto op = std::make_unique<ConcatOperator>();
+ return 0;
+ }