Commit Graph

49 Commits

Author SHA1 Message Date
Jörg Thalheim
eac6797380
prefer-fetch-remote: an overlay to fetch on remote builders
This is useful when running tools like NixOps or nix-review
on workstations where the upload to the builder is significantly
slower then downloading the source on the builder itself.
2019-01-18 14:41:10 +00:00
John Ericson
940c4fa3f5 treewide: Fetchers should use stdenvNoCC. 2018-01-10 11:18:44 -05:00
John Ericson
3d59b4d285 treewide: Fixed output fetch* derivations should use nativeBuildInputs 2018-01-09 20:14:46 -05:00
Fahad Sadah
60e937b8b2 build-support: tidy fetchSvn
Remove old workaround rendered unnecessary by af9db522cf
2017-12-18 15:56:53 +00:00
Robert Scott
60dcb9cc01 fetchsvn: set LC_ALL in builder to allow svn to handle unicode filenames 2017-06-04 13:41:28 +01:00
Robin Gloster
f57185db95
fetch-*: remove md5 support
fixes #4491
2017-03-20 22:23:41 +01:00
Vladimír Čunát
3ca0990da1
fetchsvn: fixup name guessing after #23851
I can't see any unfixed differences due to that PR,
at least in nix-env -qa output for the four Hydra platforms.
2017-03-19 10:55:16 +01:00
Arseniy Alekseyev
6a51b55af6 fetchSvn: Add support for --ignore-keywords flag
This is a flag that disables subversion keyword substitution.
Keyword substitution inserts metadata into the files being checked
out, and is therefore somewhat at odds with build reproducibility.

In particular, it can become a problem if you're trying to switch
between svn and a git export of the same thing (keyword substitutions
are normally not exported into git).
2017-03-13 03:43:39 +00:00
Eelco Dolstra
e3a873479e
Remove fetchMD5warn
Deprecation warnings should not be used in Nixpkgs because they spam
innocent "nix-env -qa" users with (in this case) dozens of messages
that they can't do anything about.

This also reverts commit 2ca8833383.
2016-11-30 15:14:30 +01:00
Michael Raskin
f603dc11a6 fetch*: print a trace warning about md5 deprecation 2016-10-09 16:19:04 +02:00
Profpatsch
61462c94e6 lib/fetchers.nix: factor out impure proxy vars (#18702)
Apparently everyone just copied those variables, instead of creating a
library constant for them. Some even removed the comment. -.-
2016-09-17 21:50:01 +02:00
Thomas Tuegel
63eb6fdd8a fetchsvn: correctly handle trailing slashes
`splitString` does not split on trailing separators.
2015-12-06 11:49:51 -06:00
aszlig
5e7a1cf955
build-support: Fix nix-prefetch-* on OS X.
Fixes a regression on OS X introduced by f83af95.

Don't use --tmpdir for mktemp, because that flag doesn't exist on OS X.
However, using -t is deprecated in GNU coreutils, so as suggested by
@ip1981 we're now using parameter expansion on ${TMPDIR:-/tmp} to
provide /tmp as a fallback if TMPDIR is not set and use it instead.

Also use this approach for nix-prefetch-cvs now in order to stay
consistent.

Reported-by: Vladimir Kirillov <proger@wilab.org.ua>
Tested-by: Igor Pashev <pashev.igor@gmail.com>
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-08-27 11:22:34 +02:00
aszlig
f83af95f8a
build-support: Use mktemp -d in nix-prefetch-*.
Instead of relying on $$ to not collide with an existing path.

Quoting the Bash manual about $$:

> Expands to the process ID of the shell. In a () subshell, it expands
> to the process ID of the current shell, not the subshell.

So, this is different from $BASHPID:

> Expands to the process ID of the current bash process. This differs
> from $$ under certain circumstances, such as subshells that do not
> require bash to be re-initialized.

But even $BASHPID is prone to race conditions if the process IDs wrap
around, so to be on the safe side, we're using mktemp here.

Closes #3784.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-08-25 15:28:55 +02:00
Benno Fünfstück
063efadd69 nix-prefetch-{bzr,hg,svn}: print fetched revision 2014-06-11 14:42:39 +02:00
Vladimír Čunát
161d029d7d preferLocalBuild: set to true for wrappers and fetchers 2014-02-10 21:04:17 +01:00
Michael Raskin
af9db522cf Update FLTK and TigerVNC; doesn't fix TigerVNC Xvnc build per se 2014-01-01 01:36:57 +04:00
Bjørn Forsman
2d79cc7950 fetchsvn: handle redirect(s)
Instead of failing if the server redirects us to a new URL, accept up to
2 redirects by printing 2 extra p's to subversion.
2013-11-01 22:54:13 +01:00
Shea Levy
dddf921b51 fetchsvn: Allow setting the name of the output
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-05-26 11:58:01 -04:00
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
Ludovic Courtès
69421194a5 nix-prefetch-svn: Support $NIX_PREFETCH_SVN_LEAVE_DOT_SVN.
svn path=/nixpkgs/trunk/; revision=18789
2009-12-03 15:01:54 +00:00
Nicolas Pierron
d7897d0d1a Change fetchsvn as well as nix-prefect-svn to use the repository name and
the revision number inside the derivation name.

svn path=/nixpkgs/trunk/; revision=17677
2009-10-06 13:36:52 +00:00
Ludovic Courtès
099dd7fa16 nix-prefetch-svn: Use SHA256/Base32 by default.
svn path=/nixpkgs/trunk/; revision=16322
2009-07-10 15:50:11 +00:00
Michael Raskin
754eef0250 Update fetchsvn for proxy support
svn path=/nixpkgs/trunk/; revision=15654
2009-05-19 17:07:20 +00:00
Eelco Dolstra
31d12fc641 * Don't suppress error messages.
svn path=/nixpkgs/trunk/; revision=13424
2008-11-25 18:34:46 +00:00
Eelco Dolstra
50348f5258 * fetchsvn: Nix already checks the hash, no need for the builder to do it.
svn path=/nixpkgs/trunk/; revision=10896
2008-02-29 10:30:29 +00:00
Eelco Dolstra
66738cc356 * fetchcvs: cleanup, use nix-store --add-fixed like fetchurl/svn.
Argument "url" renamed to "cvsRoot" (it's not a URL).

svn path=/nixpkgs/trunk/; revision=10889
2008-02-28 22:36:37 +00:00
Michael Raskin
41ecc6941b svn path=/nixpkgs/trunk/; revision=9861 2007-12-04 22:06:13 +00:00
Eelco Dolstra
0a355c0073 * Don't pollute /tmp.
svn path=/nixpkgs/trunk/; revision=5769
2006-07-18 12:00:38 +00:00
Eelco Dolstra
f14988b362 * Show less garbage.
svn path=/nixpkgs/trunk/; revision=5761
2006-07-17 21:27:10 +00:00
Martin Bravenboer
7478e8ef87 Added ssh support to fetchsvn
svn path=/nixpkgs/trunk/; revision=5734
2006-07-17 15:22:20 +00:00
Eelco Dolstra
f4ce796a20 * More hackery.
svn path=/nixpkgs/trunk/; revision=5351
2006-05-31 10:36:02 +00:00
Eelco Dolstra
046aeb12b0 * We no longer need the prefetch stuff.
svn path=/nixpkgs/trunk/; revision=5340
2006-05-30 12:43:45 +00:00
Eelco Dolstra
c4c224e368 * Make nix-prefetch-svn use nix-store --add-fixed (just like
nix-prefetch-url) 

svn path=/nixpkgs/trunk/; revision=5339
2006-05-30 12:42:00 +00:00
Eelco Dolstra
b8fd332dd8 * Do use readlink if available.
svn path=/nixpkgs/trunk/; revision=5252
2006-05-02 09:21:59 +00:00
Eelco Dolstra
fcbffab371 * system -> top-level.
svn path=/nixpkgs/trunk/; revision=5128
2006-03-30 09:14:50 +00:00
Eelco Dolstra
b92bd0f001 * Don't use i686-linux.nix.
svn path=/nixpkgs/trunk/; revision=5046
2006-03-15 21:35:18 +00:00
Eelco Dolstra
439e93640e * Removed readlink.
svn path=/nixpkgs/trunk/; revision=5040
2006-03-15 10:32:40 +00:00
Eelco Dolstra
07687a8514 * 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.

svn path=/nixpkgs/trunk/; revision=4377
2005-12-15 17:21:20 +00:00
Eelco Dolstra
51c111cb2e * Use a restrictive umask to prevent permission problems.
svn path=/nixpkgs/trunk/; revision=4374
2005-12-15 17:00:56 +00:00
Eelco Dolstra
82e678362f * "." -> "source".
svn path=/nixpkgs/trunk/; revision=4335
2005-12-05 14:11:09 +00:00
Eelco Dolstra
71ea4dbb8c * Fix for *non*-suid installations.
svn path=/nixpkgs/trunk/; revision=2546
2005-04-12 13:48:36 +00:00
Eelco Dolstra
ba20e223f1 * Use a hash over the entire SVN exported tree.
svn path=/nixpkgs/trunk/; revision=2279
2005-02-22 21:15:13 +00:00
Eelco Dolstra
fa88e75c45 * Use fixed-output hashes in fetchsvn.
* In nix-prefetch-svn, support setuid installations where the user has
  no write access to the Nix store.

svn path=/nixpkgs/trunk/; revision=2275
2005-02-22 16:27:28 +00:00
Eelco Dolstra
60e7948db1 * Allow a known hash to be specified.
svn path=/nixpkgs/trunk/; revision=1892
2004-12-17 11:04:18 +00:00
Eelco Dolstra
2a3f5188b5 * Option to print out the path, analogous to nix-prefetch-url.
svn path=/nixpkgs/trunk/; revision=1890
2004-12-17 10:40:00 +00:00
Eelco Dolstra
5c847a370a * fetchsvn' now requires the MD5 hash (as computed by nix-hash') of
the tree being fetched from a Subversion repository.  The revision
  number is now optional (and defaults to HEAD).

  This makes `fetchsvn' more pure.  First, a URL/revision tuple does
  not uniquely identify a file resource, since the repository itself
  might change.  Second, `svn:external' attributes can cause arbitrary
  resources to be exported.

  A script `nix-prefetch-svn' has been provided to determine the hash
  of a URL.

svn path=/nixpkgs/trunk/; revision=938
2004-04-14 10:55:33 +00:00
Eelco Dolstra
12ae5363ea * Remove trivial builders.
* Make builders unexecutable by removing the hash-bang line and
  execute permission.
* Convert calls to `derivation' to `mkDerivation'.
* Remove `system' and `stdenv' attributes from calls to
  `mkDerivation'.  These transformations were all done automatically,
  so it is quite possible I broke stuff.
* Put the `mkDerivation' function in stdenv/generic.

svn path=/nixpkgs/trunk/; revision=874
2004-03-29 17:23:01 +00:00
Eelco Dolstra
003ce6c40d * A function to fetch sources from a Subversion repository.
svn path=/nixpkgs/trunk/; revision=544
2003-11-25 17:38:48 +00:00