From 9aa949a4b6cb3f0501458f82cc1a33dba0130a57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 25 May 2013 16:56:22 +0200 Subject: [PATCH] gnu: libsigsegv: Fix mips64el-linux-gnu (cross-)builds. * gnu/packages/libsigsegv.scm (libsigsegv): New `arguments' field. --- gnu/packages/libsigsegv.scm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/gnu/packages/libsigsegv.scm b/gnu/packages/libsigsegv.scm index 12cb4ba3b4..4689b3d8b5 100644 --- a/gnu/packages/libsigsegv.scm +++ b/gnu/packages/libsigsegv.scm @@ -36,6 +36,23 @@ (build-system gnu-build-system) (home-page "http://www.gnu.org/software/libsigsegv/") (synopsis "Library for handling page faults") + (arguments + ;; 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 (alist-cons-before + 'configure 'patch-mips-old-h + (lambda _ + (substitute* "src/fault-linux-mips-old.h" + (("#include ") ""))) + ,(if (%current-target-system) + '%standard-cross-phases + '%standard-phases))) + '())) (description "GNU libsigsegv is a library for handling page faults in user mode. A page fault occurs when a program tries to access to a region of memory that is