From 0afe7d5e3ec531bc8a222d435ec01bb169d0e6da Mon Sep 17 00:00:00 2001 From: tobtoht Date: Fri, 18 Jul 2025 20:53:44 +0200 Subject: [PATCH] guix: bump time-machine to 3cd1c8769c618cab07181c6a4807792a371f0b2e --- contrib/depends/hosts/freebsd.mk | 7 ++----- contrib/guix/guix-build | 7 +++++++ contrib/guix/libexec/build.sh | 9 ++++++++- contrib/guix/libexec/prelude.bash | 2 +- contrib/guix/manifest.scm | 4 ++-- contrib/guix/patches/winpthreads-remap-guix-store.patch | 8 ++++---- 6 files changed, 24 insertions(+), 13 deletions(-) diff --git a/contrib/depends/hosts/freebsd.mk b/contrib/depends/hosts/freebsd.mk index aeaccbf27..c4e0b4f4b 100644 --- a/contrib/depends/hosts/freebsd.mk +++ b/contrib/depends/hosts/freebsd.mk @@ -1,12 +1,9 @@ -clang_prog=$(shell $(SHELL) $(.SHELLFLAGS) "command -v clang") -clangxx_prog=$(shell $(SHELL) $(.SHELLFLAGS) "command -v clang++") - freebsd_CC=env -u C_INCLUDE_PATH -u CPLUS_INCLUDE_PATH \ -u OBJC_INCLUDE_PATH -u OBJCPLUS_INCLUDE_PATH -u CPATH \ - -u LIBRARY_PATH $(clang_prog) --target=$(host) --sysroot=$(host_prefix)/native -iwithsysroot/usr/include + -u LIBRARY_PATH clang --target=$(host) --sysroot=$(host_prefix)/native -iwithsysroot/usr/include freebsd_CXX=env -u C_INCLUDE_PATH -u CPLUS_INCLUDE_PATH \ -u OBJC_INCLUDE_PATH -u OBJCPLUS_INCLUDE_PATH -u CPATH \ - -u LIBRARY_PATH $(clangxx_prog) --target=$(host) -stdlib=libc++ --sysroot=$(host_prefix)/native \ + -u LIBRARY_PATH clang++ --target=$(host) -stdlib=libc++ --sysroot=$(host_prefix)/native \ -iwithsysroot/usr/include/c++/v1 -iwithsysroot/usr/include freebsd_AR=ar diff --git a/contrib/guix/guix-build b/contrib/guix/guix-build index 4e0314552..0155c8683 100755 --- a/contrib/guix/guix-build +++ b/contrib/guix/guix-build @@ -420,6 +420,12 @@ EOF # make the downloaded depends sources available to it. The sources # should have been downloaded prior to this invocation. # + # --writable-root make the container's root file system writable + # + # We symlink env and shells to conventional paths inside the build + # container to avoid patching script shebangs in various places. + # This requires a writable root file system. + # # --keep-failed keep build tree of failed builds # # When builds of the Guix environment itself (not Monero) @@ -452,6 +458,7 @@ EOF --keep-failed \ --fallback \ --link-profile \ + --writable-root \ --root="$(profiledir_for_host "${HOST}")" \ ${SUBSTITUTE_URLS:+--substitute-urls="$SUBSTITUTE_URLS"} \ ${ADDITIONAL_GUIX_COMMON_FLAGS} ${ADDITIONAL_GUIX_ENVIRONMENT_FLAGS} \ diff --git a/contrib/guix/libexec/build.sh b/contrib/guix/libexec/build.sh index 56e489c7f..d8259bf68 100644 --- a/contrib/guix/libexec/build.sh +++ b/contrib/guix/libexec/build.sh @@ -132,7 +132,7 @@ case "$HOST" in # See depends/hosts/darwin.mk for more details. ;; *android*) - export LD_LIBRARY_PATH="$(find /gnu/store -maxdepth 1 -name "*zlib*" | sort | head -n 1)/lib:$(find /gnu/store -maxdepth 1 -name "*gcc-11*-lib" | sort | head -n 1)/lib" + export LD_LIBRARY_PATH="$(find /gnu/store -maxdepth 1 -name "*zlib*" | sort | head -n 1)/lib:$(find /gnu/store -maxdepth 1 -name "*gcc-14*-lib" | sort | head -n 1)/lib" ;; *linux-gnu*) CROSS_GLIBC="$(store_path "glibc-cross-${HOST}")" @@ -327,6 +327,13 @@ mkdir -p "$DISTSRC" # checked out before starting a build. CMAKEFLAGS+=" -DMANUAL_SUBMODULES=1" + # Enabling stack traces causes a compilation issue on Linux targets. + # Gitian builds did not enable stack traces either, so this is not a + # regression. + case "$HOST" in + *linux-gnu*) CMAKEFLAGS+=" -DSTACK_TRACE=OFF" ;; + esac + # Configure this DISTSRC for $HOST # shellcheck disable=SC2086 env CFLAGS="${HOST_CFLAGS}" CXXFLAGS="${HOST_CXXFLAGS}" \ diff --git a/contrib/guix/libexec/prelude.bash b/contrib/guix/libexec/prelude.bash index 356fb2650..e57d5d566 100644 --- a/contrib/guix/libexec/prelude.bash +++ b/contrib/guix/libexec/prelude.bash @@ -58,7 +58,7 @@ fi time-machine() { # shellcheck disable=SC2086 guix time-machine --url=https://codeberg.org/guix/guix.git \ - --commit=9d09b0cf841fb657a1aec12e9bab68e00c2b493c \ + --commit=3cd1c8769c618cab07181c6a4807792a371f0b2e \ --cores="$JOBS" \ --keep-failed \ --fallback \ diff --git a/contrib/guix/manifest.scm b/contrib/guix/manifest.scm index a9f634927..324a86255 100644 --- a/contrib/guix/manifest.scm +++ b/contrib/guix/manifest.scm @@ -174,7 +174,7 @@ chain for " target " development.")) (define-public glibc-2.27 (package - (inherit glibc-2.31) + (inherit glibc-2.33) (version "2.27") (source (origin (method git-fetch) @@ -211,7 +211,7 @@ chain for " target " development.")) (("^install-others =.*$") (string-append "install-others = " out "/etc/rpc\n")))))))))) (native-inputs - (modify-inputs (package-native-inputs glibc-2.31) + (modify-inputs (package-native-inputs glibc-2.33) (delete "make") (append gnu-make-4.2))))) ;; make >= 4.4 causes an infinite loop (stdio-common) diff --git a/contrib/guix/patches/winpthreads-remap-guix-store.patch b/contrib/guix/patches/winpthreads-remap-guix-store.patch index e1f1a6eba..4530e5f3e 100644 --- a/contrib/guix/patches/winpthreads-remap-guix-store.patch +++ b/contrib/guix/patches/winpthreads-remap-guix-store.patch @@ -6,12 +6,12 @@ the package, map all guix store prefixes to something fixed, e.g. /usr. --- a/mingw-w64-libraries/winpthreads/Makefile.in +++ b/mingw-w64-libraries/winpthreads/Makefile.in -@@ -478,7 +478,7 @@ top_build_prefix = @top_build_prefix@ +@@ -465,7 +465,7 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = . tests --AM_CFLAGS = -Wall -DWIN32_LEAN_AND_MEAN $(am__append_1) -+AM_CFLAGS = -Wall -DWIN32_LEAN_AND_MEAN $(am__append_1) $(shell find /gnu/store -maxdepth 1 -mindepth 1 -type d -exec echo -n " -ffile-prefix-map={}=/usr" \;) +-AM_CFLAGS = $(am__append_1) $(am__append_3) ++AM_CFLAGS = $(am__append_1) $(am__append_3) $(shell find /gnu/store -maxdepth 1 -mindepth 1 -type d -exec echo -n " -ffile-prefix-map={}=/usr" \;) ACLOCAL_AMFLAGS = -I m4 lib_LTLIBRARIES = libwinpthread.la - include_HEADERS = include/pthread.h include/sched.h include/semaphore.h include/pthread_unistd.h include/pthread_time.h include/pthread_compat.h include/pthread_signal.h + include_HEADERS = \