about summary refs log tree commit diff
path: root/pkgs/build-support/fetchurl/builder.sh
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2004-03-19 16:53:04 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2004-03-19 16:53:04 +0000
commit5941f66f0e76cadbda30b3240ba00b30ea365ac7 (patch)
tree35ecc8fde93aa1dd9b5705fe5302cae77ead3860 /pkgs/build-support/fetchurl/builder.sh
parent0fd59fd7a41a47478f241b4a27c39d39f42914b9 (diff)
downloadnixlib-5941f66f0e76cadbda30b3240ba00b30ea365ac7.tar
nixlib-5941f66f0e76cadbda30b3240ba00b30ea365ac7.tar.gz
nixlib-5941f66f0e76cadbda30b3240ba00b30ea365ac7.tar.bz2
nixlib-5941f66f0e76cadbda30b3240ba00b30ea365ac7.tar.lz
nixlib-5941f66f0e76cadbda30b3240ba00b30ea365ac7.tar.xz
nixlib-5941f66f0e76cadbda30b3240ba00b30ea365ac7.tar.zst
nixlib-5941f66f0e76cadbda30b3240ba00b30ea365ac7.zip
* The stdenv setup script now defines a generic builder that allows
  builders for typical Autoconf-style to be much shorten, e.g.,

    . $stdenv/setup
    genericBuild

  The generic builder does lots of stuff automatically:

  - Unpacks source archives specified by $src or $srcs (it knows about
    gzip, bzip2, tar, zip, and unpacked source trees).
  - Determines the source tree.
  - Applies patches specified by $patches.
  - Fixes libtool not to search for libraries in /lib etc.
  - Runs `configure'.
  - Runs `make'.
  - Runs `make install'.
  - Strips debug information from static libraries.
  - Writes nested log information (in the format accepted by
    `log2xml').

  There are also lots of hooks and variables to customise the generic
  builder.  See `stdenv/generic/docs.txt'.

* Adapted the base packages (i.e., the ones used by stdenv) to use the
  generic builder.

* We now use `curl' instead of `wget' to download files in `fetchurl'.

* Neither `curl' nor `wget' are part of stdenv.  We shouldn't
  encourage people to download stuff in builders (impure!).

* Updated some packages.

* `buildinputs' is now `buildInputs' (but the old name also works).

* `findInputs' in the setup script now prevents inputs from being
  processed multiple times (which could happen, e.g., if an input was
  a propagated input of several other inputs; this caused the size
  variables like $PATH to blow up exponentially in the worst case).

* Patched GNU Make to write nested log information in the format
  accepted by `log2xml'.  Also, prior to writing the build command,
  Make now writes a line `building X' to indicate what is being
  built.  This is unfortunately often obscured by the gigantic tool
  invocations in many Makefiles.  The actual build commands are marked
  `unimportant' so that they don't clutter pages generated by
  `log2html'.


svn path=/nixpkgs/trunk/; revision=845
Diffstat (limited to 'pkgs/build-support/fetchurl/builder.sh')
-rwxr-xr-xpkgs/build-support/fetchurl/builder.sh10
1 files changed, 6 insertions, 4 deletions
diff --git a/pkgs/build-support/fetchurl/builder.sh b/pkgs/build-support/fetchurl/builder.sh
index e0f2517e3c2e..8ab2e6df9ed0 100755
--- a/pkgs/build-support/fetchurl/builder.sh
+++ b/pkgs/build-support/fetchurl/builder.sh
@@ -1,13 +1,15 @@
-#! /bin/sh
+#! /bin/sh -e
 
 . $stdenv/setup
 
-echo "downloading $url into $out..."
+header "downloading $out from $url"
 
-wget --passive-ftp "$url" -O "$out" || exit 1
+curl "$url" > "$out"
 
-actual=$(md5sum -b $out | cut -c1-32)
+actual=$(md5sum -b "$out" | cut -c1-32)
 if test "$actual" != "$md5"; then
     echo "hash is $actual, expected $md5"
     exit 1
 fi
+
+stopNext