gnu: nettle: Disable ifunc method of library initialization.

* gnu/packages/nettle.scm (nettle)[arguments]: Add 'disable-ifunc-init-method'
  phase.
This commit is contained in:
Mark H Weaver 2015-06-23 10:08:30 -04:00
parent 19afbea136
commit 1c080cb68a
1 changed files with 18 additions and 5 deletions

View File

@ -68,8 +68,21 @@ themselves.")
(base32 (base32
"0k1x57zviysvi91lkk66cg8v819vywm5g5yqs22wppfqcifx5m2z")))) "0k1x57zviysvi91lkk66cg8v819vywm5g5yqs22wppfqcifx5m2z"))))
(arguments (arguments
(substitute-keyword-arguments (package-arguments nettle-2) `(#:phases
((#:configure-flags flags) (modify-phases %standard-phases
;; Build "fat" binaries where the right implementation is chosen at (add-after
;; run time based on CPU features (starting from 3.1.) 'configure 'disable-ifunc-init-method
`(cons "--enable-fat" ,flags)))))) (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)))))))