From 90c00f3d87b18e8540eee561b80a5fbbd5a9ca2f Mon Sep 17 00:00:00 2001 From: Nicolas Lorin Date: Fri, 4 Feb 2022 20:05:04 +0100 Subject: [PATCH] testing/electrs: fix building with rocksdb 7.0.2 --- testing/electrs/10-rocksdb.patch | 16 +++ testing/electrs/11-rocksdb-locked.patch | 167 ++++++++++++++++++++++++ testing/electrs/12-db.rs.patch | 9 ++ testing/electrs/APKBUILD | 14 +- 4 files changed, 203 insertions(+), 3 deletions(-) create mode 100644 testing/electrs/10-rocksdb.patch create mode 100644 testing/electrs/11-rocksdb-locked.patch create mode 100644 testing/electrs/12-db.rs.patch diff --git a/testing/electrs/10-rocksdb.patch b/testing/electrs/10-rocksdb.patch new file mode 100644 index 00000000000..a23718de661 --- /dev/null +++ b/testing/electrs/10-rocksdb.patch @@ -0,0 +1,16 @@ +--- a/Cargo.toml ++++ b/Cargo.toml +@@ -40,11 +40,8 @@ + signal-hook = "0.3" + tiny_http = { version = "0.9", optional = true } + +-[dependencies.electrs-rocksdb] +-# Workaround the following issues: +-# - https://github.com/romanz/electrs/issues/403 (support building on ARM 32-bit) +-# - https://github.com/romanz/electrs/issues/469 (dynamic linking on Debian 11) +-version = "0.15.0-e2" ++[dependencies.rocksdb] ++version = "0.18.0" + default-features = false + # ZSTD is used for data compression + # Snappy is only for checking old DB diff --git a/testing/electrs/11-rocksdb-locked.patch b/testing/electrs/11-rocksdb-locked.patch new file mode 100644 index 00000000000..60bcfd0b455 --- /dev/null +++ b/testing/electrs/11-rocksdb-locked.patch @@ -0,0 +1,167 @@ +--- a/Cargo.lock ++++ b/Cargo.lock +@@ -67,13 +67,12 @@ + + [[package]] + name = "bindgen" +-version = "0.55.1" ++version = "0.59.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "75b13ce559e6433d360c26305643803cb52cfbabbc2b9c47ce04a58493dfb443" ++checksum = "2bd2a9a458e8f4304c52c43ebb0cfbd520289f8379a52e329a38afda99bf8eb8" + dependencies = [ + "bitflags", + "cexpr", +- "cfg-if 0.1.10", + "clang-sys", + "lazy_static", + "lazycell", +@@ -164,21 +163,15 @@ + + [[package]] + name = "cexpr" +-version = "0.4.0" ++version = "0.6.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f4aedb84272dbe89af497cf81375129abda4fc0a9e7c5d317498c15cc30c0d27" ++checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" + dependencies = [ + "nom", + ] + + [[package]] + name = "cfg-if" +-version = "0.1.10" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" +- +-[[package]] +-name = "cfg-if" + version = "1.0.0" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +@@ -340,7 +333,7 @@ + "configure_me_codegen", + "crossbeam-channel", + "dirs-next", +- "electrs-rocksdb", ++ "rocksdb", + "env_logger", + "fs_extra", + "log", +@@ -356,28 +349,81 @@ + ] + + [[package]] +-name = "electrs-librocksdb-sys" +-version = "6.11.4-e2" ++name = "librocksdb-sys" ++version = "0.6.1+6.28.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "07be043bbfa5d4774941c4ee29952f5e2b6e34021cbddd4aba0bd2d1ef4b2f68" ++checksum = "81bc587013734dadb7cf23468e531aa120788b87243648be42e2d3a072186291" + dependencies = [ + "bindgen", ++ "bzip2-sys", + "cc", + "glob", + "libc", ++ "libz-sys", ++ "zstd-sys", + ] + + [[package]] +-name = "electrs-rocksdb" +-version = "0.15.0-e2" ++name = "bzip2-sys" ++version = "0.1.11+1.0.8" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "6eb5ab97b934ae8e1e597dd56f096e866b267b6b46285d996b722776e8024571" ++checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" + dependencies = [ +- "electrs-librocksdb-sys", ++ "cc", + "libc", ++ "pkg-config", + ] + + [[package]] ++name = "libz-sys" ++version = "1.1.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "de5435b8549c16d423ed0c03dbaafe57cf6c3344744f1242520d59c9d8ecec66" ++dependencies = [ ++ "cc", ++ "pkg-config", ++ "vcpkg", ++] ++ ++[[package]] ++name = "zstd-sys" ++version = "1.6.3+zstd.1.5.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "fc49afa5c8d634e75761feda8c592051e7eeb4683ba827211eb0d731d3402ea8" ++dependencies = [ ++ "cc", ++ "libc", ++] ++ ++[[package]] ++name = "vcpkg" ++version = "0.2.15" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" ++ ++[[package]] ++name = "pkg-config" ++version = "0.3.24" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "58893f751c9b0412871a09abd62ecd2a00298c6c83befa223ef98c52aef40cbe" ++ ++[[package]] ++name = "minimal-lexical" ++version = "0.2.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" ++ ++[[package]] ++name = "rocksdb" ++version = "0.18.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "620f4129485ff1a7128d184bc687470c21c7951b64779ebc9cfdad3dcd920290" ++dependencies = [ ++ "libc", ++ "librocksdb-sys", ++] ++ ++[[package]] + name = "env_logger" + version = "0.9.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +@@ -618,11 +664,12 @@ + + [[package]] + name = "nom" +-version = "5.1.2" ++version = "7.1.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af" ++checksum = "1b1d11e1ef389c76fe5b81bcaf2ea32cf88b62bc494e19f493d0b30e7a930109" + dependencies = [ + "memchr", ++ "minimal-lexical", + "version_check", + ] + +@@ -1015,9 +1062,9 @@ + + [[package]] + name = "shlex" +-version = "0.1.1" ++version = "1.1.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "7fdf1b9db47230893d76faad238fd6097fd6d6a9245cd7a4d90dbd639536bbd2" ++checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3" + + [[package]] + name = "signal-hook" diff --git a/testing/electrs/12-db.rs.patch b/testing/electrs/12-db.rs.patch new file mode 100644 index 00000000000..b003631d5c9 --- /dev/null +++ b/testing/electrs/12-db.rs.patch @@ -0,0 +1,9 @@ +--- a/src/db.rs ++++ b/src/db.rs +@@ -1,5 +1,5 @@ + use anyhow::{Context, Result}; +-use electrs_rocksdb as rocksdb; ++use rocksdb; + + use std::path::Path; + use std::sync::atomic::{AtomicBool, Ordering}; diff --git a/testing/electrs/APKBUILD b/testing/electrs/APKBUILD index 93ca99977e7..0061cd822f8 100644 --- a/testing/electrs/APKBUILD +++ b/testing/electrs/APKBUILD @@ -1,13 +1,18 @@ +# Contributor: Nicolas Lorin # Maintainer: MichaƂ Adamski pkgname=electrs pkgver=0.9.5 -pkgrel=0 +pkgrel=1 pkgdesc="Efficient re-implementation of Electrum Server in Rust" url="https://github.com/romanz/electrs" license="MIT" arch="x86 x86_64 aarch64" # limited by rust/cargo and rocksdb -makedepends="cargo rocksdb-dev<6.24 clang-libs" -source="https://github.com/romanz/electrs/archive/v$pkgver/electrs-$pkgver.tar.gz" +makedepends="cargo rocksdb-dev clang-libs" +source="https://github.com/romanz/electrs/archive/v$pkgver/electrs-$pkgver.tar.gz + 10-rocksdb.patch + 11-rocksdb-locked.patch + 12-db.rs.patch + " build() { ROCKSDB_INCLUDE_DIR=/usr/include ROCKSDB_LIB_DIR=/usr/lib cargo build --all --features "metrics_process" --release --locked @@ -23,4 +28,7 @@ package() { sha512sums=" 5b04393e0c975923a8c6442bdce8648213abef49e56b062b919680d50ded4864af56d6c5512702b9307df5b826cae9fc44d522db9650bb83819baa45c3192827 electrs-0.9.5.tar.gz +485af61ccc59e987b1ce024ea02ef3917bb31a4e2cbd2bc55fe70042a1331dc5d6a884eff021db0106e9d900ac46755e71381e77ecdc3a896189597fb04b060f 10-rocksdb.patch +6509c7492bd577c96f17a61ed97422f5928ec8d0b3d317ded8f8331d45dd735152df9c4125f99ceda001484089f39e90748fa5c899198109139ebf3d4294aead 11-rocksdb-locked.patch +255f917bd0ba8fb7377676a25222528f6c6ebbfa114d3ae1fbfaafd6a68c2c849865a3eab8ff029bb7877924aa2a95dba0d39ebbd4936b6af44e990db467cc58 12-db.rs.patch "