~ruther/guix-local

1c080cb68a4c92f8b740d9daca4075f141f5b659 — Mark H Weaver 10 years ago 19afbea
gnu: nettle: Disable ifunc method of library initialization.

* gnu/packages/nettle.scm (nettle)[arguments]: Add 'disable-ifunc-init-method'
  phase.
1 files changed, 18 insertions(+), 5 deletions(-)

M gnu/packages/nettle.scm
M gnu/packages/nettle.scm => gnu/packages/nettle.scm +18 -5
@@ 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)))))))