nixpkgs/pkgs/build-support/fetchsvn/builder.sh
aszlig 463378f7cc
fetchsvn: Add ignoreExternals attribute.
There are some SVN repositories out there which don't have revision information
tied to externals. By using ignoreExternals, fetchsvn won't fetch these
externals anymore, so the fetch won't fail with a checksum mismatch, should
there be some changes in some of those external repositories.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2013-03-27 00:26:55 +01:00

28 lines
768 B
Bash

source $stdenv/setup
header "exporting $url (r$rev) into $out"
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
# hash of the output matters.
echo 'p' | svn export ${ignoreExternals:+--ignore-externals} \
-r "$rev" "$url" "$out"
stopNest