diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2009-04-05 18:13:59 +0000 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2009-04-05 18:13:59 +0000 |
commit | e01be47e532ba8f8426bb676619079fcea1668f1 (patch) | |
tree | 4e2cb3b5be654611b8ba9c421961348f461142f5 /pkgs/development/tools/misc | |
parent | 723dfe4240ef2390cd6cefb5363b2b5efebd26f9 (diff) | |
download | nixpkgs-e01be47e532ba8f8426bb676619079fcea1668f1.tar nixpkgs-e01be47e532ba8f8426bb676619079fcea1668f1.tar.gz nixpkgs-e01be47e532ba8f8426bb676619079fcea1668f1.tar.bz2 nixpkgs-e01be47e532ba8f8426bb676619079fcea1668f1.tar.lz nixpkgs-e01be47e532ba8f8426bb676619079fcea1668f1.tar.xz nixpkgs-e01be47e532ba8f8426bb676619079fcea1668f1.tar.zst nixpkgs-e01be47e532ba8f8426bb676619079fcea1668f1.zip |
* aclocal wrapper: skip directories in ACLOCAL_PATH that don't exist,
otherwise aclocal barfs. Updated the builder to use makeWrapper * Made Automake 1.10 the default. * Fixed `make check' in Automake by turning off indented logging in Make (there is a flag for that now). * Disabled the `make check' in Automake by default because it takes a REALLY long time (e.g. more than 2 hours on Cygwin, 50 minutes on Darwin, 25 minutes on Linux) which is a lot for a package that otherwise takes 10 seconds to build. We can add a Hydra job with doCheck enabled to do regression testing. * make-wrapper: allow --run commands to add additional flags to the invocation of the wrapped program. An example is the aclocal wrapper: it adds additional -I ... flags. * make-wrapper: call the wrapped program .foo-wrapped instead of .wrapped-foo to make it easier to tell programs apart in `ps' output. svn path=/nixpkgs/branches/stdenv-updates/; revision=14885
Diffstat (limited to 'pkgs/development/tools/misc')
5 files changed, 41 insertions, 56 deletions
diff --git a/pkgs/development/tools/misc/automake/automake-1.10.x.nix b/pkgs/development/tools/misc/automake/automake-1.10.x.nix index 10aecf7c678..5296f0cbec3 100644 --- a/pkgs/development/tools/misc/automake/automake-1.10.x.nix +++ b/pkgs/development/tools/misc/automake/automake-1.10.x.nix @@ -1,9 +1,10 @@ -{stdenv, fetchurl, perl, autoconf}: +{stdenv, fetchurl, perl, autoconf, makeWrapper, doCheck ? false}: stdenv.mkDerivation rec { name = "automake-1.10.2"; builder = ./builder.sh; + setupHook = ./setup-hook.sh; src = fetchurl { @@ -11,12 +12,14 @@ stdenv.mkDerivation rec { sha256 = "03v4gsvi71nhqvnxxbhkrksdg5icrn8yda021852njfragzck2n3"; }; - patches = [ ./test-broken-make.patch ]; - - buildInputs = [perl autoconf]; + buildInputs = [perl autoconf makeWrapper]; - doCheck = true; + inherit doCheck; + # Disable indented log output from Make, otherwise "make.test" will + # fail. + preCheck = "unset NIX_INDENT_MAKE"; + # Don't fixup "#! /bin/sh" in Libtool, otherwise it will use the # "fixed" path in generated files! dontPatchShebangs = true; diff --git a/pkgs/development/tools/misc/automake/automake-1.7.x.nix b/pkgs/development/tools/misc/automake/automake-1.7.x.nix index fc34ef8e3aa..e0d8e516d3b 100644 --- a/pkgs/development/tools/misc/automake/automake-1.7.x.nix +++ b/pkgs/development/tools/misc/automake/automake-1.7.x.nix @@ -1,14 +1,16 @@ -{stdenv, fetchurl, perl, autoconf}: +{stdenv, fetchurl, perl, autoconf, makeWrapper}: stdenv.mkDerivation { name = "automake-1.7.9"; + builder = ./builder.sh; - setupHook = ./setup-hook.sh; + src = fetchurl { url = http://nixos.org/tarballs/automake-1.7.9.tar.bz2; md5 = "571fd0b0598eb2a27dcf68adcfddfacb"; }; - buildInputs = [perl autoconf]; + + buildInputs = [perl autoconf makeWrapper]; # Don't fixup "#! /bin/sh" in Libtool, otherwise it will use the # "fixed" path in generated files! diff --git a/pkgs/development/tools/misc/automake/automake-1.9.x.nix b/pkgs/development/tools/misc/automake/automake-1.9.x.nix index ccc2c6baac6..5ca279d23ad 100644 --- a/pkgs/development/tools/misc/automake/automake-1.9.x.nix +++ b/pkgs/development/tools/misc/automake/automake-1.9.x.nix @@ -1,16 +1,33 @@ -{stdenv, fetchurl, perl, autoconf}: +{stdenv, fetchurl, perl, autoconf, makeWrapper}: stdenv.mkDerivation { name = "automake-1.9.6"; + builder = ./builder.sh; + setupHook = ./setup-hook.sh; + src = fetchurl { url = ftp://ftp.gnu.org/gnu/automake/automake-1.9.6.tar.gz; md5 = "c60f77a42f103606981d456f1615f5b4"; }; - buildInputs = [perl autoconf]; + + buildInputs = [perl autoconf makeWrapper]; # Don't fixup "#! /bin/sh" in Libtool, otherwise it will use the # "fixed" path in generated files! dontPatchShebangs = true; + + meta = { + homepage = http://www.gnu.org/software/automake/; + description = "GNU Automake, a GNU standard-compliant makefile generator"; + + longDescription = '' + GNU Automake is a tool for automatically generating + `Makefile.in' files compliant with the GNU Coding + Standards. Automake requires the use of Autoconf. + ''; + + license = "GPLv2+"; + }; } diff --git a/pkgs/development/tools/misc/automake/builder.sh b/pkgs/development/tools/misc/automake/builder.sh index 0f5e955f880..6b0cd7e4fa2 100644 --- a/pkgs/development/tools/misc/automake/builder.sh +++ b/pkgs/development/tools/misc/automake/builder.sh @@ -2,46 +2,25 @@ source $stdenv/setup postInstall() { - # Create a wrapper around `aclocal' that converts every element in # `ACLOCAL_PATH' into a `-I dir' option. This way `aclocal' # becomes modular; M4 macros do not need to be stored in a single # global directory, while callers of `aclocal' do not need to pass # `-I' options explicitly. - mv $out/bin/aclocal $out/bin/_tmp - - for i in $out/bin/aclocal*; do - rm $i - ln -s aclocal $i - done - - cat > $out/bin/aclocal <<EOF -#! $SHELL -e - -oldIFS=\$IFS + for prog in $out/bin/aclocal*; do + wrapProgram $prog --run \ + ' +oldIFS=$IFS IFS=: -extra= -for i in \$ACLOCAL_PATH; do - if test -n "\$i"; then - extra="\$extra -I \$i" +for dir in $ACLOCAL_PATH; do + if test -n "$dir" -a -d "$dir"; then + extraFlagsArray=("${extraFlagsArray[@]}" "-I" "$dir") fi done -IFS=\$oldIFS - -exec $out/bin/aclocal-orig \${extra[@]} "\$@" -EOF - chmod +x $out/bin/aclocal - mv $out/bin/_tmp $out/bin/aclocal-orig - - - # Automatically let `ACLOCAL_PATH' include all build inputs that - # have a `.../share/aclocal' directory. - test -x $out/nix-support || mkdir $out/nix-support - cp -p $setupHook $out/nix-support/setup-hook - +IFS=$oldIFS' + done } -postInstall=postInstall genericBuild diff --git a/pkgs/development/tools/misc/automake/test-broken-make.patch b/pkgs/development/tools/misc/automake/test-broken-make.patch deleted file mode 100644 index b10754fe0d2..00000000000 --- a/pkgs/development/tools/misc/automake/test-broken-make.patch +++ /dev/null @@ -1,16 +0,0 @@ -The version of GNU Make in Nixpkgs is "broken" in the sense that it -produces additional output, making `AM_MAKE_INCLUDE' (tested by `make.test') -fail. Thus, we just disable `make.test' for now. - -See http://article.gmane.org/gmane.comp.sysutils.automake.bugs/4234 . - ---- automake-1.10/tests/Makefile.in 2006-10-15 19:25:25.000000000 +0200 -+++ automake-1.10/tests/Makefile.in 2008-07-02 16:40:35.000000000 +0200 -@@ -482,7 +482,6 @@ ltdeps.test \ - ltlibobjs.test \ - ltlibsrc.test \ - maintclean.test \ --make.test \ - makej.test \ - makevars.test \ - man.test \ |