diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2005-07-13T17·39+0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2005-07-13T17·39+0000 |
commit | a5ceb5bc0b2d7fd796cb49e29d45bf568dc0df2f (patch) | |
tree | de5311006e3664c797e060d7953537a045555392 /scripts/nix-build.in | |
parent | d4879b4dfe05708eb174129141299fb343ceb946 (diff) |
* nix-build: default to `./default.nix' if no paths are specified.
So when using Nix as a build tool, you can just say `nix-build' and it will build the top-level derivation defined in `default.nix'.
Diffstat (limited to 'scripts/nix-build.in')
-rw-r--r-- | scripts/nix-build.in | 66 |
1 files changed, 38 insertions, 28 deletions
diff --git a/scripts/nix-build.in b/scripts/nix-build.in index 4c420dadf1f7..cb7137a47bc3 100644 --- a/scripts/nix-build.in +++ b/scripts/nix-build.in @@ -2,11 +2,6 @@ nixExpr=$1 -if test -z "$nixExpr"; then - echo "syntax: $0 NIX-EXPR..." >&2 - exit 1 -fi - extraArgs= addDrvLink=0 addOutLink=1 @@ -16,9 +11,15 @@ trap 'rm -f ./.nix-build-tmp-*' EXIT # Process the arguments. +exprs= for i in "$@"; do case "$i" in - + + --help) + echo "syntax: $0 [NIX-EXPR...]" >&2 + exit 0 + ;; + --add-drv-link) addDrvLink=1 ;; @@ -32,28 +33,37 @@ for i in "$@"; do ;; *) - # Instantiate the Nix expression. - prefix= - if test "$addDrvLink" = 0; then prefix=.nix-build-tmp-; fi - storeExprs=$(@bindir@/nix-instantiate \ - --add-root ./${prefix}derivation --indirect \ - "$i") - - for j in $storeExprs; do - echo "store expression is $(readlink "$j")" >&2 - done - - # Build the resulting store derivation. - prefix= - if test "$addOutLink" = 0; then prefix=.nix-build-tmp-; fi - outPaths=$(@bindir@/nix-store \ - --add-root ./${prefix}result --indirect \ - -rv $extraArgs $storeExprs) - - for j in $outPaths; do - echo "$(readlink "$j")" - done - + exprs="$exprs $i" ;; esac done + +if test -z "$exprs"; then + exprs="./default.nix" +fi + +# Process the specified Nix expressions. +for i in $exprs; do + + # Instantiate the Nix expression. + prefix= + if test "$addDrvLink" = 0; then prefix=.nix-build-tmp-; fi + storeExprs=$(@bindir@/nix-instantiate \ + --add-root ./${prefix}derivation --indirect \ + "$i") + + for j in $storeExprs; do + echo "store expression is $(readlink "$j")" >&2 + done + + # Build the resulting store derivation. + prefix= + if test "$addOutLink" = 0; then prefix=.nix-build-tmp-; fi + outPaths=$(@bindir@/nix-store \ + --add-root ./${prefix}result --indirect \ + -rv $extraArgs $storeExprs) + + for j in $outPaths; do + echo "$(readlink "$j")" + done +done |