me
/
guix
Archived
1
0
Fork 0

gnu: OpenSSL: Fix version number in build configuration.

Fixes <https://bugs.gnu.org/47108>.

This is a followup to commit 4a8b529ce1.

* gnu/packages/tls.scm (openssl/fixed)[arguments]: New field.
master
Leo Famulari 2021-03-12 14:16:21 -05:00
parent 35b3ab8e57
commit a39faf1abd
No known key found for this signature in database
GPG Key ID: 2646FA30BACA7F08
1 changed files with 98 additions and 1 deletions

View File

@ -436,7 +436,104 @@ required structures.")
(patches (search-patches "openssl-1.1-c-rehash-in.patch"))
(sha256
(base32
"1gw17520vh13izy1xf5q0a2fqgcayymjjj5bk0dlkxndfnszrwma"))))))
"1gw17520vh13izy1xf5q0a2fqgcayymjjj5bk0dlkxndfnszrwma"))))
(arguments
`(#:parallel-tests? #f
#:test-target "test"
;; Changes to OpenSSL sometimes cause Perl to "sneak in" to the closure,
;; so we explicitly disallow it here.
#:disallowed-references ,(list (canonical-package perl))
#:phases
(modify-phases %standard-phases
,@(if (%current-target-system)
'((add-before
'configure 'set-cross-compile
(lambda* (#:key target outputs #:allow-other-keys)
(setenv "CROSS_COMPILE" (string-append target "-"))
(setenv "CONFIGURE_TARGET_ARCH"
(cond
((string-prefix? "i586" target)
"hurd-x86")
((string-prefix? "i686" target)
"linux-x86")
((string-prefix? "x86_64" target)
"linux-x86_64")
((string-prefix? "mips64el" target)
"linux-mips64")
((string-prefix? "arm" target)
"linux-armv4")
((string-prefix? "aarch64" target)
"linux-aarch64")
((string-prefix? "powerpc64le" target)
"linux-ppc64le")
((string-prefix? "powerpc64" target)
"linux-ppc64")
((string-prefix? "powerpc" target)
"linux-ppc")))
#t)))
'())
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(lib (string-append out "/lib")))
;; It's not a shebang so patch-source-shebangs misses it.
(substitute* "config"
(("/usr/bin/env")
(string-append (assoc-ref %build-inputs "coreutils")
"/bin/env")))
(invoke ,@(if (%current-target-system)
'("./Configure")
'("./config"))
"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-" ,version)
(string-append "--prefix=" out)
(string-append "-Wl,-rpath," lib)
,@(if (%current-target-system)
'((getenv "CONFIGURE_TARGET_ARCH"))
'())))))
(add-after 'install 'move-static-libraries
(lambda* (#:key outputs #:allow-other-keys)
;; Move static libraries to the "static" output.
(let* ((out (assoc-ref outputs "out"))
(lib (string-append out "/lib"))
(static (assoc-ref outputs "static"))
(slib (string-append static "/lib")))
(for-each (lambda (file)
(install-file file slib)
(delete-file file))
(find-files lib "\\.a$"))
#t)))
(add-after 'install 'move-extra-documentation
(lambda* (#:key outputs #:allow-other-keys)
;; Move man3 pages and full HTML documentation to "doc".
(let* ((out (assoc-ref outputs "out"))
(man3 (string-append out "/share/man/man3"))
(html (string-append out "/share/doc/openssl"))
(doc (assoc-ref outputs "doc"))
(man-target (string-append doc "/share/man/man3"))
(html-target (string-append doc "/share/doc/openssl")))
(copy-recursively man3 man-target)
(delete-file-recursively man3)
(copy-recursively html html-target)
(delete-file-recursively html)
#t)))
(add-after
'install 'remove-miscellany
(lambda* (#:key outputs #:allow-other-keys)
;; The 'misc' directory contains random undocumented shell and Perl
;; scripts. Remove them to avoid retaining a reference on Perl.
(let ((out (assoc-ref outputs "out")))
(delete-file-recursively (string-append out "/share/openssl-"
,version "/misc"))
#t))))))))
(define-public openssl-1.0
(package