guix: patch /gnu/store paths out of winpthreads

At the same time, align the docs for all patches that do the same thing.
This commit is contained in:
fanquake committed 2024-07-26 09:30:47 +01:00
1 parent 1e8d689e01
commit cbeb2c20e1
3 files changed
+28 -12

No files matched your search

+6 -2
View File
@@ -128,13 +128,17 @@ desirable for building Bitcoin Core release binaries."
(package-with-extra-patches binutils (package-with-extra-patches binutils
(search-our-patches "binutils-unaligned-default.patch"))) (search-our-patches "binutils-unaligned-default.patch")))
(define (winpthreads-patches mingw-w64-x86_64-winpthreads)
(package-with-extra-patches mingw-w64-x86_64-winpthreads
(search-our-patches "winpthreads-remap-guix-store.patch")))
(define (make-mingw-pthreads-cross-toolchain target) (define (make-mingw-pthreads-cross-toolchain target)
"Create a cross-compilation toolchain package for TARGET" "Create a cross-compilation toolchain package for TARGET"
(let* ((xbinutils (binutils-mingw-patches (cross-binutils target))) (let* ((xbinutils (binutils-mingw-patches (cross-binutils target)))
(machine (substring target 0 (string-index target #\-))) (machine (substring target 0 (string-index target #\-)))
(pthreads-xlibc (make-mingw-w64 machine (pthreads-xlibc (winpthreads-patches (make-mingw-w64 machine
#:xgcc (cross-gcc target #:xgcc (gcc-mingw-patches base-gcc)) #:xgcc (cross-gcc target #:xgcc (gcc-mingw-patches base-gcc))
#:with-winpthreads? #t)) #:with-winpthreads? #t)))
(pthreads-xgcc (cross-gcc target (pthreads-xgcc (cross-gcc target
#:xgcc (gcc-mingw-patches mingw-w64-base-gcc) #:xgcc (gcc-mingw-patches mingw-w64-base-gcc)
#:xbinutils xbinutils #:xbinutils xbinutils
@@ -1,14 +1,9 @@
From aad25427e74f387412e8bc9a9d7bbc6c496c792f Mon Sep 17 00:00:00 2001 Without ffile-prefix-map, the debug symbols will contain paths for the
From: Andrew Chow <achow101-github@achow101.com> guix store which will include the hashes of each package. However, the
Date: Wed, 6 Jul 2022 16:49:41 -0400 hash for the same package will differ when on different architectures.
Subject: [PATCH] guix: remap guix store paths to /usr In order to be reproducible regardless of the architecture used to build
the package, map all guix store prefixes to something fixed, e.g. /usr.
---
libgcc/Makefile.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libgcc/Makefile.in b/libgcc/Makefile.in
index 851e7657d07..476c2becd1c 100644
--- a/libgcc/Makefile.in --- a/libgcc/Makefile.in
+++ b/libgcc/Makefile.in +++ b/libgcc/Makefile.in
@@ -854,7 +854,7 @@ endif @@ -854,7 +854,7 @@ endif
@@ -0,0 +1,17 @@
Without ffile-prefix-map, the debug symbols will contain paths for the
guix store which will include the hashes of each package. However, the
hash for the same package will differ when on different architectures.
In order to be reproducible regardless of the architecture used to build
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@
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" \;)
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