[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#68202] [PATCH 5/5] gnu: libsigsegv: Fix building for x86_64-linux-g
From: |
Efraim Flashner |
Subject: |
[bug#68202] [PATCH 5/5] gnu: libsigsegv: Fix building for x86_64-linux-gnux32. |
Date: |
Tue, 2 Jan 2024 09:27:36 +0200 |
* gnu/packages/libsigsegv.scm (libsigsegv)[arguments]: When building for
x86_64-linux-gnux32 add a phase to not include extra headers.
Change-Id: Ie2d23fd037ed533dacf08acf52771b7ab1d446ac
---
gnu/packages/libsigsegv.scm | 33 +++++++++++++++++----------------
1 file changed, 17 insertions(+), 16 deletions(-)
diff --git a/gnu/packages/libsigsegv.scm b/gnu/packages/libsigsegv.scm
index ebbdd2ad90..9f4b0dd88d 100644
--- a/gnu/packages/libsigsegv.scm
+++ b/gnu/packages/libsigsegv.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2018 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017, 2024 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -21,6 +21,7 @@ (define-module (gnu packages libsigsegv)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix utils)
#:use-module (guix build-system gnu))
(define-public libsigsegv
@@ -40,21 +41,21 @@ (define-public libsigsegv
(arguments
`(;; The shared library isn't built by default but some packages need it.
#:configure-flags '("--enable-shared")
-
- ;; On MIPS, work around this error:
- ;;
- ;; In file included from fault-linux-mips-old.h:18:0,
- ;; [...]
- ;;
linux-libre-headers-cross-mips64el-linux-gnu-3.3.8/include/asm/sigcontext.h:57:8:
error: redefinition of 'struct sigcontext'
- ,@(if (string-contains (or (%current-target-system) (%current-system))
- "mips64el")
- `(#:phases (modify-phases %standard-phases
- (add-before 'configure 'patch-mips-old-h
- (lambda _
- (substitute* "src/fault-linux-mips-old.h"
- (("#include <asm/sigcontext\\.h>") ""))
- #t))))
- '())))
+ ;; On some architectures 'struct sigcontext' gets redefined from
+ ;; %linux-libre-headers/include/asm/sigcontext.h
+ ,@(cond ((target-mips64el?)
+ `(#:phases (modify-phases %standard-phases
+ (add-before 'configure 'patch-mips-old-h
+ (lambda _
+ (substitute* "src/fault-linux-mips-old.h"
+ (("#include <asm/sigcontext\\.h>") "")))))))
+ ((target-x32?)
+ `(#:phases (modify-phases %standard-phases
+ (add-before 'configure 'patch-linux-x86_64-old-h
+ (lambda _
+ (substitute* "src/fault-linux-x86_64-old.h"
+ (("#include <asm/sigcontext\\.h>") "")))))))
+ (else '()))))
(description
"GNU libsigsegv is a library to handle page faults, which occur when a
program tries to access an unavailable region of memory, in user mode. By
--
Efraim Flashner <efraim@flashner.co.il> רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
- [bug#68202] [PATCH 0/5] Add support for x86_64-linux-gnux32, Efraim Flashner, 2024/01/02
- [bug#68202] [PATCH 3/5] gnu: openssl: Fix building on x86_64-linux-gnux32., Efraim Flashner, 2024/01/02
- [bug#68202] [PATCH 4/5] gnu: gmp: Fix building on x86_64-linux-gnux32., Efraim Flashner, 2024/01/02
- [bug#68202] [PATCH 5/5] gnu: libsigsegv: Fix building for x86_64-linux-gnux32.,
Efraim Flashner <=
- [bug#68202] [PATCH 2/5] gnu: Add target-x32?., Efraim Flashner, 2024/01/02
- [bug#68202] [PATCH 1/5] gnu: Add support for x86_64-linux-gnux32., Efraim Flashner, 2024/01/02
- bug#68202: [PATCH 0/5] Add support for x86_64-linux-gnux32, Efraim Flashner, 2024/01/05
- [bug#68202] [PATCH 0/5] Add support for x86_64-linux-gnux32, Ludovic Courtès, 2024/01/08