unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Efraim Flashner <efraim@flashner.co.il>
To: 68202@debbugs.gnu.org
Cc: Efraim Flashner <efraim@flashner.co.il>
Subject: [bug#68202] [PATCH 5/5] gnu: libsigsegv: Fix building for x86_64-linux-gnux32.
Date: Tue,  2 Jan 2024 09:27:36 +0200	[thread overview]
Message-ID: <8e2a3ae4b8c3088d7c6d857e88b3dd394afb57c6.1704179455.git.efraim@flashner.co.il> (raw)
In-Reply-To: <cover.1704179455.git.efraim@flashner.co.il>

* 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





  parent reply	other threads:[~2024-01-02  7:29 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-02  7:26 [bug#68202] [PATCH 0/5] Add support for x86_64-linux-gnux32 Efraim Flashner
2024-01-02  7:27 ` [bug#68202] [PATCH 1/5] gnu: " Efraim Flashner
2024-01-02  7:27 ` [bug#68202] [PATCH 2/5] gnu: Add target-x32? Efraim Flashner
2024-01-08  9:20   ` Simon Tournier
2024-01-08 10:05     ` Efraim Flashner
2024-01-02  7:27 ` [bug#68202] [PATCH 3/5] gnu: openssl: Fix building on x86_64-linux-gnux32 Efraim Flashner
2024-01-02  7:27 ` [bug#68202] [PATCH 4/5] gnu: gmp: " Efraim Flashner
2024-01-02  7:27 ` Efraim Flashner [this message]
2024-01-03  8:43   ` [bug#68202] [PATCH 5/5] gnu: libsigsegv: Fix building for x86_64-linux-gnux32 Mathieu Othacehe
2024-01-03  8:53     ` Efraim Flashner
2024-01-05 11:22 ` bug#68202: [PATCH 0/5] Add support " Efraim Flashner
2024-01-08 17:14 ` [bug#68202] " Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8e2a3ae4b8c3088d7c6d857e88b3dd394afb57c6.1704179455.git.efraim@flashner.co.il \
    --to=efraim@flashner.co.il \
    --cc=68202@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).