summary refs log tree commit diff
path: root/gnu/packages/nettle.scm
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 /gnu/packages/nettle.scm
parent19afbea136ee52d928c0a3f2a7d462370af18f10 (diff)
downloadguix-1c080cb68a4c92f8b740d9daca4075f141f5b659.tar.gz
gnu: nettle: Disable ifunc method of library initialization.
* gnu/packages/nettle.scm (nettle)[arguments]: Add 'disable-ifunc-init-method'
  phase.
Diffstat (limited to 'gnu/packages/nettle.scm')
-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)))))))