Commit graph

8 commits

Author SHA1 Message Date
Maximilian Bosch
8bc5104a6e
treewide: refactor .attrs.sh detection
When specifying the `builder` attribute in `stdenv.mkDerivation`, this
will be effectively transformed into

    builtins.derivation {
      builder = stdenv.shell;
      args = [ "-e" builder ];
    }

This also means that `default-builder.sh` is never sourced and as a
result it's not guaranteed that `$NIX_ATTRS_SH_FILE` is set to a correct
location[1].

Also, we need to source `.attrs.sh` to source `$stdenv`. So, the
following is done now:

* If `$NIX_ATTRS_SH_FILE` points to a correct location, then use it.
  Directly using `.attrs.sh` is problematic for `nix-shell(1)` usage
  (see previous commit for more context), so prefer the environment
  variable if possible.

* Otherwise, if `.attrs.sh` exists, then use it. See [1] for when this
  can happen.

* If neither applies, it can be assumed that `__structuredAttrs` is
  turned off and thus nothing needs to be done.

[1] It's possible that it doesn't exist at all - in case of Nix 2.3 or
    it can point to a wrong location on older Nix versions with a bug in
    `__structuredAttrs`.
2023-10-04 18:36:57 +02:00
Mario Rodas
b82b2b5303 fetchbzr: set cache directory to tmpdir
Breezy >3.3 writes the connections information to a cache directory,
which fails on sandbox.
2023-03-01 04:20:00 +00:00
Artturin
fe1c7a1945 treewide: remove usages of header and stopNest
they're obsolete
2023-01-16 00:08:12 +02:00
Artturin
c01f509e44 treewide: source .attrs in builders
if theres a source $stdenv then this is needed

for structuredAttrs
2022-12-08 21:09:02 +02:00
Joerg Thalheim
cdf059f797 fetchbzr: do not write logs to non-existing home 2017-10-30 21:51:22 +00:00
Benno Fünfstück
e10001042d fetchbzr, fetchdarcs, fetchhg: use rev attr
This makes it match the behaviour of fetchgit and fetchsvn, so it's
easier to write scripts that support all of them.
2014-06-28 21:06:10 +02:00
Michael Ashton
8c63762d64 - fetchbzr and nix-prefetch-bzr now only export, instead of cloning
- The option for cloning in nix-prefetch-bzr is removed
- ssl certificates are now ignored by fetchbzr

This means that no .bzr directory is downloaded.  Without this change, the
hash of the result is unpredictable, probably because of timestamping in the
.bzr directory.

Currently, the only package using fetchbzr is kicad.
2013-03-31 19:16:18 -07:00
Ludovic Courtès
9383cd0a48 Add `fetchbzr', to retrieve remote Bazaar repositories.
svn path=/nixpkgs/trunk/; revision=12924
2008-09-26 08:57:51 +00:00