diff options
author | Mark H Weaver <mhw@netris.org> | 2016-03-02 01:51:47 -0500 |
---|---|---|
committer | Mark H Weaver <mhw@netris.org> | 2016-03-02 01:58:42 -0500 |
commit | ed742bc4b4f25e5baff80c1f8529c20b6d98b513 (patch) | |
tree | 7ac9a4f031b382bc8c3205a1fd77b8dd4e634a8e /gnu | |
parent | eb8065cd279b453d6bd696604e3b85357e9cb0ff (diff) | |
download | guix-ed742bc4b4f25e5baff80c1f8529c20b6d98b513.tar guix-ed742bc4b4f25e5baff80c1f8529c20b6d98b513.tar.gz |
gnu: openssl: Enable ssl2 at build time to ensure ABI compatible graft.
Fixes <https://debbugs.gnu.org/22876>
Reported by Christopher Allan Webber <cwebber@dustycloud.org>.
* gnu/packages/tls.scm (openssl-1.0.2g)[arguments]: Override the inherited
'configure' phase to add "enable-ssl2" as an argument to ./config.
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/tls.scm | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 11a59db95e..e942bb30bc 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -301,7 +301,41 @@ required structures.") "0cxajjayi859czi545ddafi24m9nwsnjsw4q82zrmqvwj2rv315p")) (patches (map search-patch '("openssl-runpath.patch" - "openssl-c-rehash-in.patch")))))))) + "openssl-c-rehash-in.patch")))))) + (arguments + (substitute-keyword-arguments (package-arguments openssl) + ((#:phases phases) + `(modify-phases ,phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (zero? + (system* + "./config" + + ;; XXX TEMPORARY, FOR GRAFTING ONLY + ;; Enable ssl2 code to preserve + ;; ABI compatibility with 1.0.2f + "enable-ssl2" + + "shared" ;build shared libraries + "--libdir=lib" + + ;; The default for this catch-all directory is + ;; PREFIX/ssl. Change that to something more + ;; conventional. + (string-append "--openssldir=" out + "/share/openssl-" ,(package-version openssl)) + + (string-append "--prefix=" out) + + ;; XXX FIXME: Work around a code generation bug in GCC + ;; 4.9.3 on ARM when compiled with -mfpu=neon. See: + ;; <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66917> + ,@(if (and (not (%current-target-system)) + (string-prefix? "armhf" (%current-system))) + '("-mfpu=vfpv3") + '())))))))))))) (define-public libressl (package |