summaryrefslogtreecommitdiff
path: root/gnu/packages/tls.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/tls.scm')
-rw-r--r--gnu/packages/tls.scm68
1 files changed, 48 insertions, 20 deletions
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index 4c19ebe3a4..111942ab1f 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -354,7 +354,7 @@ required structures.")
(package
(inherit openssl)
(name "openssl")
- (version "1.1.0b")
+ (version "1.1.0c")
(source (origin
(method url-fetch)
(uri (list (string-append "ftp://ftp.openssl.org/source/"
@@ -365,7 +365,7 @@ required structures.")
(patches (search-patches "openssl-1.1.0-c-rehash-in.patch"))
(sha256
(base32
- "1xznrqvb1dbngv2k2nb6da6fdw00c01sy2i36yjdxr4vpxrf0pd4"))))
+ "1xfn5ydl14myd9wgxm4nxy5a42cpp1g12ijf3g9m4mz0l90n8hzw"))))
(outputs '("out"
"doc" ;1.3MiB of man3 pages
"static")) ; 5.5MiB of .a files
@@ -376,13 +376,42 @@ required structures.")
(delete 'patch-tests) ; These two phases are not needed by
(delete 'patch-Makefile.org) ; OpenSSL 1.1.0.
- (add-after 'configure 'patch-runpath
+ ;; Override configure phase since -rpath is now a configure option.
+ (replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
- (let ((lib (string-append (assoc-ref outputs "out") "/lib")))
- (substitute* "Makefile.shared"
- (("\\$\\$\\{SHAREDCMD\\} \\$\\$\\{SHAREDFLAGS\\}")
- (string-append "$${SHAREDCMD} $${SHAREDFLAGS}"
- " -Wl,-rpath," lib)))
+ (let* ((out (assoc-ref outputs "out"))
+ (lib (string-append out "/lib")))
+ (zero?
+ (system* "./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)
+
+ ;; 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")
+ '()))))))
+
+ ;; XXX: Duplicate this phase to make sure 'version' evaluates
+ ;; in the current scope and not the inherited one.
+ (replace '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 libressl
@@ -436,15 +465,6 @@ security, and applying best practice development processes.")
(arguments
`(#:phases
(modify-phases %standard-phases
- (add-before 'install 'disable-egg-compression
- (lambda _
- ;; Do not compress the egg.
- ;; See <http://bugs.gnu.org/20765>.
- (let ((port (open-file "setup.cfg" "a")))
- (display "\n[easy_install]\nzip_ok = 0\n"
- port)
- (close-port port)
- #t)))
(add-after 'install 'docs
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -461,7 +481,6 @@ security, and applying best practice development processes.")
("python-sphinx" ,python-sphinx)
("python-sphinxcontrib-programoutput" ,python-sphinxcontrib-programoutput)
("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme)
- ("python-setuptools" ,python-setuptools)
("texinfo" ,texinfo)))
(propagated-inputs
`(("python-ndg-httpsclient" ,python-ndg-httpsclient)
@@ -680,7 +699,7 @@ number generator")
(define-public acme-client
(package
(name "acme-client")
- (version "0.1.14")
+ (version "0.1.15")
(source (origin
(method url-fetch)
(uri (string-append "https://kristaps.bsd.lv/" name "/"
@@ -688,7 +707,7 @@ number generator")
version ".tgz"))
(sha256
(base32
- "1qq4xk41pn65m3v7nnvkmxg96pr06vz6hzdrm0vcmlp3clzpbahl"))))
+ "07p723391whrswl4rir0l1k03l457sjscnj0cfaxr8mfnkx4y3wi"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no test suite
@@ -697,7 +716,16 @@ number generator")
(string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'patch-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((pem (string-append (assoc-ref inputs "libressl")
+ "/etc/ssl/cert.pem")))
+ (substitute* "http.c"
+ (("/etc/ssl/cert.pem") pem))
+ #t)))
(delete 'configure)))) ; no './configure' script
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
(inputs
`(("libbsd" ,libbsd)
("libressl" ,libressl)))