Commit Graph

6 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
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
Eelco Dolstra
82e678362f * "." -> "source".
svn path=/nixpkgs/trunk/; revision=4335
2005-12-05 14:11:09 +00:00
Eelco Visser
103f769310 - Some recent StrategoXT distributions
- Build ocaml with x11 support 


svn path=/nixpkgs/trunk/; revision=1190
2004-07-28 11:16:25 +00:00
Eelco Visser
4e0ab72b67 Nix expression for ocaml compiler.
- The package has a non-standard build interface;
  fixed with hooks for genericBuild
- The graph library requires x11 and the configure
  script looks in absolute directory paths to find
  X11. Fixed by using patched configure script from
  which the absolute paths have been removed. As
  a consequence the graph library is not build until
  we have X11 support in Nix.


svn path=/nixpkgs/trunk/; revision=1188
2004-07-28 10:08:31 +00:00
Eelco Visser
be48aa538b - O'Caml compiler for Object CaML
- hevea is an interpreter for latex producing html

svn path=/nixpkgs/trunk/; revision=1171
2004-07-16 22:58:15 +00:00