~ruther/guix-local

ed742bc4b4f25e5baff80c1f8529c20b6d98b513 — Mark H Weaver 10 years ago eb8065c
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.
1 files changed, 35 insertions(+), 1 deletions(-)

M gnu/packages/tls.scm
M gnu/packages/tls.scm => gnu/packages/tls.scm +35 -1
@@ 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