summaryrefslogtreecommitdiffstats
path: root/pkgs
diff options
context:
space:
mode:
authorVladimír Čunát <v@cunat.cz>2019-05-09 08:42:07 +0200
committerVladimír Čunát <v@cunat.cz>2019-05-09 08:46:22 +0200
commit79bd4ad5794163b8a65acc86809a6603ee7c7ce7 (patch)
treefd27ca49e9222b55f354fc608f5c8d1d4a580842 /pkgs
parent9d3d5e98bc415935265d48f59f538cdda52fc3bb (diff)
stdenv, cacert: consider $NIX_SSL_CERT_FILE in hooks
Some SSL libs don't react to $SSL_CERT_FILE. That actually makes sense to me, as we add this behavior as nixpkgs-specific, so it seems "safer" to use $NIX_*.
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/data/misc/cacert/setup-hook.sh2
-rw-r--r--pkgs/development/interpreters/gauche/default.nix2
-rw-r--r--pkgs/stdenv/generic/setup.sh7
3 files changed, 8 insertions, 3 deletions
diff --git a/pkgs/data/misc/cacert/setup-hook.sh b/pkgs/data/misc/cacert/setup-hook.sh
index b704a6a919e0..e969596752f3 100644
--- a/pkgs/data/misc/cacert/setup-hook.sh
+++ b/pkgs/data/misc/cacert/setup-hook.sh
@@ -1,4 +1,6 @@
cacertHook() {
+ export NIX_SSL_CERT_FILE=@out@/etc/ssl/certs/ca-bundle.crt
+ # left for compatibility
export SSL_CERT_FILE=@out@/etc/ssl/certs/ca-bundle.crt
}
diff --git a/pkgs/development/interpreters/gauche/default.nix b/pkgs/development/interpreters/gauche/default.nix
index 5481c4e7d05a..bb3294e2097b 100644
--- a/pkgs/development/interpreters/gauche/default.nix
+++ b/pkgs/development/interpreters/gauche/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
"--with-iconv=${libiconv}"
"--with-dbm=gdbm"
"--with-zlib=${zlib}"
- "--with-ca-bundle=$SSL_CERT_FILE"
+ "--with-ca-bundle=$NIX_SSL_CERT_FILE"
# TODO: Enable slib
# Current slib in nixpkgs is specialized to Guile
# "--with-slib=${slibGuile}/lib/slib"
diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh
index 6f1a654a38ac..9cc5cd89f3b7 100644
--- a/pkgs/stdenv/generic/setup.sh
+++ b/pkgs/stdenv/generic/setup.sh
@@ -646,9 +646,12 @@ fi
export NIX_BUILD_CORES
-# Prevent OpenSSL-based applications from using certificates in
-# /etc/ssl.
+# Prevent SSL libraries from using certificates in /etc/ssl, unless set explicitly.
# Leave it in shells for convenience.
+if [ -z "${NIX_SSL_CERT_FILE:-}" ] && [ -z "${IN_NIX_SHELL:-}" ]; then
+ export NIX_SSL_CERT_FILE=/no-cert-file.crt
+fi
+# Another variant left for compatibility.
if [ -z "${SSL_CERT_FILE:-}" ] && [ -z "${IN_NIX_SHELL:-}" ]; then
export SSL_CERT_FILE=/no-cert-file.crt
fi