summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-05-25 16:56:22 +0200
committerLudovic Courtès <ludo@gnu.org>2013-05-25 16:56:22 +0200
commit9aa949a4b6cb3f0501458f82cc1a33dba0130a57 (patch)
treea5126ec96f9f55a2e92eb16355d2663886afabc2
parentcf9fd501ea8ea8d37c5219f6b6438dc3dd900b97 (diff)
gnu: libsigsegv: Fix mips64el-linux-gnu (cross-)builds.
* gnu/packages/libsigsegv.scm (libsigsegv): New `arguments' field.
-rw-r--r--gnu/packages/libsigsegv.scm17
1 files changed, 17 insertions, 0 deletions
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 <asm/sigcontext\\.h>") "")))
+ ,(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