summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-03-03 21:18:47 +0100
committerLudovic Courtès <ludo@gnu.org>2015-03-03 21:25:39 +0100
commitda699774d4d839a45daa3ae3b9189331c490b315 (patch)
tree9e0af7d4a5ffd1c2ded525ba74848dcc69ea09c6
parente343024dc46a8f513e78eec3d756b0d9f8bfd6f6 (diff)
downloadguix-da699774d4d839a45daa3ae3b9189331c490b315.tar.gz
gnu: Add search path specifications for 'SSL_CERT_FILE' and 'GIT_SSL_CAINFO'.
* gnu/packages/openssl.scm (openssl)[native-search-paths]: Add
  specification for 'SSL_CERT_FILE'.
* gnu/packages/version-control.scm (git)[native-search-paths]: Add
  specification for 'GIT_SSL_CAINFO'.
-rw-r--r--gnu/packages/openssl.scm11
-rw-r--r--gnu/packages/version-control.scm9
2 files changed, 18 insertions, 2 deletions
diff --git a/gnu/packages/openssl.scm b/gnu/packages/openssl.scm
index 90dea4956d..26a1bbb811 100644
--- a/gnu/packages/openssl.scm
+++ b/gnu/packages/openssl.scm
@@ -64,9 +64,16 @@
                "rm"))))
         %standard-phases))))
    (native-search-paths
-     (list (search-path-specification
+    ;; FIXME: These two variables must designate a single file or directory
+    ;; and are not actually "search paths."  In practice it works OK in user
+    ;; profiles because there's always just one item that matches the
+    ;; specification.
+    (list (search-path-specification
            (variable "SSL_CERT_DIR")
-           (files '("etc/ssl/certs")))))
+           (files '("etc/ssl/certs")))
+          (search-path-specification
+           (variable "SSL_CERT_FILE")
+           (files '("etc/ssl/certs/ca-certificates.crt")))))
    (synopsis "SSL/TLS implementation")
    (description
     "OpenSSL is an implementation of SSL/TLS")
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 9fc310d55d..71b3630607 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -204,6 +204,15 @@ as well as the classic centralized workflow.")
                            `("PATH" ":" prefix
                              ("$HOME/.guix-profile/libexec/git-core")))))
          %standard-phases))))
+
+   (native-search-paths
+    ;; For HTTPS access, Git needs a single-file certificate bundle, specified
+    ;; with $GIT_SSL_CAINFO.
+    ;; FIXME: This variable designates a single file; it is not a search path.
+    (list (search-path-specification
+           (variable "GIT_SSL_CAINFO")
+           (files '("etc/ssl/certs/ca-certificates.crt")))))
+
    (synopsis "Distributed version control system")
    (description
     "Git is a free distributed version control system designed to handle