diff --git a/chronik/CMakeLists.txt b/chronik/CMakeLists.txt --- a/chronik/CMakeLists.txt +++ b/chronik/CMakeLists.txt @@ -92,8 +92,10 @@ MANIFEST_PATH "chronik-lib/Cargo.toml" FLAGS ${CHRONIK_CARGO_FLAGS} + -vv # Ultra verbose output, only for debugging ${CHRONIK_FEATURE_FLAGS} ) +corrosion_set_env_vars(chronik-lib "LD_LIBRARY_PATH=$ENV{LD_LIBRARY_PATH}:$ENV{CMAKE_NATIVE_LIBRARY_PATH}") set(Rust_TRIPLE "${Rust_CARGO_TARGET_ARCH}" diff --git a/contrib/guix/guix-build b/contrib/guix/guix-build --- a/contrib/guix/guix-build +++ b/contrib/guix/guix-build @@ -426,6 +426,8 @@ time-machine shell --manifest="${PWD}/contrib/guix/manifest.scm" \ --container \ --pure \ + --network \ + --emulate-fhs \ --no-cwd \ --share="$PWD"=/bitcoin \ --share="$OUTDIR_BASE"=/outdir-base \ diff --git a/contrib/guix/libexec/build.sh b/contrib/guix/libexec/build.sh --- a/contrib/guix/libexec/build.sh +++ b/contrib/guix/libexec/build.sh @@ -62,6 +62,8 @@ # includes/libs NATIVE_GCC="$(store_path gcc-toolchain)" NATIVE_GCC_STATIC="$(store_path gcc-toolchain static)" +NATIVE_GCC_LIB="$(store_path gcc lib)" +NATIVE_CLANG="$(store_path clang)" unset LIBRARY_PATH unset CPATH @@ -70,7 +72,7 @@ unset OBJC_INCLUDE_PATH unset OBJCPLUS_INCLUDE_PATH -export LIBRARY_PATH="${NATIVE_GCC}/lib:${NATIVE_GCC_STATIC}/lib" +export LIBRARY_PATH="${NATIVE_GCC}/lib:${NATIVE_GCC_STATIC}/lib:${NATIVE_GCC_LIB}/lib:${NATIVE_CLANG}/lib" export C_INCLUDE_PATH="${NATIVE_GCC}/include" export CPLUS_INCLUDE_PATH="${NATIVE_GCC}/include/c++:${NATIVE_GCC}/include" export OBJC_INCLUDE_PATH="${NATIVE_GCC}/include" @@ -226,6 +228,12 @@ ;; esac +# TODO Pin a version and check the sha256sum +curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain=1.72.0 +# shellcheck disable=SC1091 +source "$HOME/.cargo/env" +rustup target add "aarch64-unknown-linux-gnu" + mkdir -p source_package pushd source_package rm -f CMakeCache.txt @@ -301,7 +309,7 @@ # binary tarballs. INSTALLPATH=$(pwd)/installed/${DISTNAME} mkdir -p "${INSTALLPATH}" - + export CMAKE_NATIVE_LIBRARY_PATH="${LIBRARY_PATH}" cmake -GNinja .. \ -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} \ -DCLIENT_VERSION_IS_RELEASE=ON \ @@ -312,6 +320,7 @@ -DCMAKE_C_FLAGS="${HOST_CFLAGS}" \ -DCMAKE_CXX_FLAGS="${HOST_CXXFLAGS}" \ -DCMAKE_EXE_LINKER_FLAGS="${HOST_LDFLAGS}" \ + -DBUILD_BITCOIN_CHRONIK=ON \ "${CMAKE_EXTRA_OPTIONS[@]}" # Build Bitcoin ABC diff --git a/contrib/guix/libexec/prelude.bash b/contrib/guix/libexec/prelude.bash --- a/contrib/guix/libexec/prelude.bash +++ b/contrib/guix/libexec/prelude.bash @@ -51,7 +51,7 @@ time-machine() { # shellcheck disable=SC2086 guix time-machine --url=https://git.savannah.gnu.org/git/guix.git \ - --commit=160f78a4d92205df986ed9efcce7d3aac188cb24 \ + --commit=77386bdbfe6b0c649c05ab37f08051d1ab3e5074 \ --cores="$JOBS" \ --keep-failed \ --fallback \ diff --git a/contrib/guix/manifest.scm b/contrib/guix/manifest.scm --- a/contrib/guix/manifest.scm +++ b/contrib/guix/manifest.scm @@ -8,6 +8,7 @@ (gnu packages commencement) (gnu packages compression) (gnu packages cross-base) + (gnu packages curl) (gnu packages file) (gnu packages gawk) (gnu packages gcc) @@ -581,6 +582,7 @@ bzip2 gzip xz + zlib ;; Build tools cmake-minimal ninja @@ -593,13 +595,17 @@ ;; Native GCC 10 toolchain gcc-toolchain-10 (list gcc-toolchain-10 "static") + (list gcc "lib") ;; Scripting python-minimal ;; (3.10) perl ;; Git git-minimal ;; Tests - python-lief) + python-lief + ;; Web + curl + nss-certs) (let ((target (getenv "HOST"))) (cond ((string-suffix? "-mingw32" target) ;; Windows @@ -609,7 +615,7 @@ nss-certs osslsigncode)) ((string-contains target "-linux-") - (list (make-bitcoin-cross-toolchain target))) + (list clang-10 (make-bitcoin-cross-toolchain target))) ((string-contains target "darwin") (list clang-toolchain-10 binutils xorriso python-signapple)) (else '())))))