summary refs log tree commit diff
path: root/pkgs/development/tools/misc
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2009-04-05 18:13:59 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2009-04-05 18:13:59 +0000
commite01be47e532ba8f8426bb676619079fcea1668f1 (patch)
tree4e2cb3b5be654611b8ba9c421961348f461142f5 /pkgs/development/tools/misc
parent723dfe4240ef2390cd6cefb5363b2b5efebd26f9 (diff)
downloadnixpkgs-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')
-rw-r--r--pkgs/development/tools/misc/automake/automake-1.10.x.nix13
-rw-r--r--pkgs/development/tools/misc/automake/automake-1.7.x.nix8
-rw-r--r--pkgs/development/tools/misc/automake/automake-1.9.x.nix21
-rw-r--r--pkgs/development/tools/misc/automake/builder.sh39
-rw-r--r--pkgs/development/tools/misc/automake/test-broken-make.patch16
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 \