aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2015-06-23 10:08:30 -0400
committerMark H Weaver <mhw@netris.org>2015-06-25 16:47:59 -0400
commit1c080cb68a4c92f8b740d9daca4075f141f5b659 (patch)
treedca7a1aa85cb32d77e7abdbfe946c5657261bcae
parent19afbea136ee52d928c0a3f2a7d462370af18f10 (diff)
downloadgnu-guix-1c080cb68a4c92f8b740d9daca4075f141f5b659.tar
gnu-guix-1c080cb68a4c92f8b740d9daca4075f141f5b659.tar.gz
gnu: nettle: Disable ifunc method of library initialization.
* gnu/packages/nettle.scm (nettle)[arguments]: Add 'disable-ifunc-init-method' phase.
-rw-r--r--gnu/packages/nettle.scm23
1 files changed, 18 insertions, 5 deletions
diff --git a/gnu/packages/nettle.scm b/gnu/packages/nettle.scm
index 77c5080c0a..b20ddfad26 100644
--- a/gnu/packages/nettle.scm
+++ b/gnu/packages/nettle.scm
@@ -68,8 +68,21 @@ themselves.")
(base32
"0k1x57zviysvi91lkk66cg8v819vywm5g5yqs22wppfqcifx5m2z"))))
(arguments
- (substitute-keyword-arguments (package-arguments nettle-2)
- ((#:configure-flags flags)
- ;; Build "fat" binaries where the right implementation is chosen at
- ;; run time based on CPU features (starting from 3.1.)
- `(cons "--enable-fat" ,flags))))))
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after
+ 'configure 'disable-ifunc-init-method
+ (lambda _
+ ;; Work around problems with the ifunc initialization method in
+ ;; nettle. For details, see
+ ;; <http://lists.lysator.liu.se/pipermail/nettle-bugs/2015/003389.html>
+ ;; and <https://sourceware.org/ml/libc-help/2015-06/msg00010.html>.
+ (substitute* "config.h"
+ (("#define HAVE_LINK_IFUNC 1")
+ "/* #undef HAVE_LINK_IFUNC */"))
+ #t)))
+ ,@(substitute-keyword-arguments (package-arguments nettle-2)
+ ((#:configure-flags flags)
+ ;; Build "fat" binaries where the right implementation is chosen
+ ;; at run time based on CPU features (starting from 3.1.)
+ `(cons "--enable-fat" ,flags)))))))