diff options
author | Michael Raskin <7c6f434c@mail.ru> | 2009-05-19 17:07:20 +0000 |
---|---|---|
committer | Michael Raskin <7c6f434c@mail.ru> | 2009-05-19 17:07:20 +0000 |
commit | 754eef0250ec928fc447c84030f0c74f350df7e8 (patch) | |
tree | 851c18dc53e744d14a37127471295402bf035592 | |
parent | b9d560d30ef5c245224f2700ee80b5740f532465 (diff) | |
download | nixlib-754eef0250ec928fc447c84030f0c74f350df7e8.tar nixlib-754eef0250ec928fc447c84030f0c74f350df7e8.tar.gz nixlib-754eef0250ec928fc447c84030f0c74f350df7e8.tar.bz2 nixlib-754eef0250ec928fc447c84030f0c74f350df7e8.tar.lz nixlib-754eef0250ec928fc447c84030f0c74f350df7e8.tar.xz nixlib-754eef0250ec928fc447c84030f0c74f350df7e8.tar.zst nixlib-754eef0250ec928fc447c84030f0c74f350df7e8.zip |
Update fetchsvn for proxy support
svn path=/nixpkgs/trunk/; revision=15654
-rw-r--r-- | pkgs/build-support/fetchsvn/builder.sh | 12 | ||||
-rw-r--r-- | pkgs/build-support/fetchsvn/default.nix | 8 |
2 files changed, 20 insertions, 0 deletions
diff --git a/pkgs/build-support/fetchsvn/builder.sh b/pkgs/build-support/fetchsvn/builder.sh index 6ee0e82aca01..09358aa694bc 100644 --- a/pkgs/build-support/fetchsvn/builder.sh +++ b/pkgs/build-support/fetchsvn/builder.sh @@ -6,6 +6,18 @@ if test "$sshSupport"; then export SVN_SSH="$openssh/bin/ssh" fi +if test -n "$http_proxy"; then + # Configure proxy + mkdir .subversion + proxy="${http_proxy#*://}" + + echo '[global]' > .subversion/servers + echo "http-proxy-host = ${proxy%:*}" >> .subversion/servers + echo "http-proxy-port = ${proxy##*:}" >> .subversion/servers + + export HOME="$PWD" +fi; + # Pipe the "p" character into Subversion to force it to accept the # server's certificate. This is perfectly safe: we don't care # whether the server is being spoofed --- only the cryptographic diff --git a/pkgs/build-support/fetchsvn/default.nix b/pkgs/build-support/fetchsvn/default.nix index 7775e392af43..5a5f7533e7f7 100644 --- a/pkgs/build-support/fetchsvn/default.nix +++ b/pkgs/build-support/fetchsvn/default.nix @@ -11,4 +11,12 @@ stdenv.mkDerivation { outputHash = if sha256 == "" then md5 else sha256; inherit url rev sshSupport openssh; + + impureEnvVars = [ + # We borrow these environment variables from the caller to allow + # easy proxy configuration. This is impure, but a fixed-output + # derivation like fetchurl is allowed to do so since its result is + # by definition pure. + "http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy" + ]; } |