gnu: libressl: Remove search paths.

Unlike OpenSSL, LibreSSL hardcode it's certificate bundle and doesn't
allow to specify it through a environment variable.

* gnu/packages/tls.scm (libressl)[configure-flags]: Specify OpenSSL
configuration directory.
[native-search-paths]: Remove it.
* gnu/packages/ntp.scm (openntpd)[configure-flags]: Adjust CAcert
location.
This commit is contained in:
Brice Waegeneire 2021-06-11 23:14:47 +02:00
parent db87a223fe
commit 76a9bad380
No known key found for this signature in database
GPG key ID: A94903A166A18FAE
2 changed files with 23 additions and 20 deletions

View file

@ -7,6 +7,7 @@
;;; Copyright © 20182021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
;;;
;;; This file is part of GNU Guix.
;;;
@ -187,11 +188,14 @@ (define-public openntpd
"0ijsylc7a4jlpxsqa0jq1w1c7333id8pcakzl7a5749ria1xp0l5"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags `( "--with-privsep-user=ntpd"
"--localstatedir=/var"
,(string-append "--with-cacert="
(assoc-ref %build-inputs "libressl")
"/etc/ssl/cert.pem"))
`(#:configure-flags
(let* ((libressl (assoc-ref %build-inputs "libressl"))
(libressl-version ,(package-version libressl)))
(list "--with-privsep-user=ntpd"
"--localstatedir=/var"
(string-append "--with-cacert=" libressl
"/share/libressl-" libressl-version
"/cert.pem")))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'modify-install-locations

View file

@ -16,6 +16,7 @@
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2021 Solene Rapenne <solene@perso.pw>
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
;;;
;;; This file is part of GNU Guix.
;;;
@ -612,21 +613,19 @@ (define-public libressl
"0rihprcgxsydsbcqgd1952k2cfn4jmp7rlyp1c6sglfc6rdmcwd4"))))
(build-system gnu-build-system)
(arguments
;; Do as if 'getentropy' were missing: Linux kernels before 3.17 lack its
;; underlying 'getrandom' system call and ENOSYS isn't properly handled.
;; See <https://lists.gnu.org/archive/html/guix-devel/2017-04/msg00235.html>.
'(#:configure-flags '("ac_cv_func_getentropy=no"
;; Provide a TLS-enabled netcat.
"--enable-nc")))
(native-search-paths
(list (search-path-specification
(variable "SSL_CERT_DIR")
(separator #f) ;single entry
(files '("etc/ssl/certs")))
(search-path-specification
(variable "SSL_CERT_FILE")
(separator #f) ;single entry
(files '("etc/ssl/certs/ca-certificates.crt")))))
`(#:configure-flags
(list
;; Do as if 'getentropy' were missing: Linux kernels before 3.17 lack its
;; underlying 'getrandom' system call and ENOSYS isn't properly handled.
;; See <https://lists.gnu.org/archive/html/guix-devel/2017-04/msg00235.html>.
"ac_cv_func_getentropy=no"
;; FIXME It's using it's own bundled certificate, instead it should
;; behave like OpenSSL by using environment variables.
(string-append "--with-openssldir=" %output
"/share/libressl-"
,(package-version this-package))
;; Provide a TLS-enabled netcat.
"--enable-nc")))
(home-page "https://www.libressl.org/")
(synopsis "SSL/TLS implementation")
(description "LibreSSL is a version of the TLS/crypto stack, forked from