diff --git a/pkgs/development/interpreters/perl/builder.sh b/pkgs/development/interpreters/perl/builder.sh index c1d35465d0b..037b91a4fac 100644 --- a/pkgs/development/interpreters/perl/builder.sh +++ b/pkgs/development/interpreters/perl/builder.sh @@ -1,31 +1,30 @@ -buildinputs="$patch" . $stdenv/setup -tar xvfz $src -cd perl-* - -# Perl's Configure messes with PATH. We can't have that, so we patch it. -# Yeah, this is an ugly hack. -if test "$NIX_ENFORCE_PURITY" = "1" -a -n "$NIX_STORE"; then - cat Configure | \ - grep -v '^paths=' | \ - grep -v '^locincpth=' | \ - grep -v '^xlibpth=' | \ - grep -v '^glibpth=' | \ - grep -v '^loclibpth=' | \ - grep -v '^locincpth=' | \ - cat > Configure.tmp - mv Configure.tmp Configure - chmod +x Configure -fi - -patch -p1 < $srcPatch +postUnpack=postUnpack +postUnpack() { + # Perl's Configure messes with PATH. We can't have that, so we + # patch it. Yeah, this is an ugly hack. + if test "$NIX_ENFORCE_PURITY" = "1" -a -n "$NIX_STORE"; then + cat Configure | \ + grep -v '^paths=' | \ + grep -v '^locincpth=' | \ + grep -v '^xlibpth=' | \ + grep -v '^glibpth=' | \ + grep -v '^loclibpth=' | \ + grep -v '^locincpth=' | \ + cat > Configure.tmp + mv Configure.tmp Configure + chmod +x Configure + fi +} if test "$NIX_ENFORCE_PURITY" = "1" -a -n "$NIX_STORE"; then GLIBC=$(cat $NIX_GCC/nix-support/orig-glibc) extraflags="-Dlocincpth=$GLIBC/include -Dloclibpth=$GLIBC/lib" fi -./Configure -de -Dcc=gcc -Dprefix=$out -Uinstallusrbinperl $extraflags -make -make install +configureScript=./Configure +configureFlags="-de -Dcc=gcc -Dprefix=$out -Uinstallusrbinperl $extraflags" +dontAddPrefix=1 + +genericBuild \ No newline at end of file diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix index da3d53abe5f..800430d216f 100644 --- a/pkgs/development/interpreters/perl/default.nix +++ b/pkgs/development/interpreters/perl/default.nix @@ -1,12 +1,12 @@ -{stdenv, fetchurl, patch}: +{stdenv, fetchurl}: stdenv.mkDerivation { - name = "perl-5.8.3"; + name = "perl-5.8.5"; builder = ./builder.sh; src = fetchurl { - url = ftp://ftp.cs.uu.nl/mirror/CPAN/src/5.0/perl-5.8.3.tar.gz; - md5 = "6d2b389f8c6424b7af303f417947714f"; + url = ftp://ftp.cs.uu.nl/mirror/CPAN/src/5.0/perl-5.8.5.tar.gz; + md5 = "49baa8d7d29b4a9713c06edeb81e6b1b"; }; # This patch does the following: @@ -15,8 +15,5 @@ stdenv.mkDerivation { # !!! what are the security implications of this? # 2) Force the use of , not /usr/include/errno.h, on Linux # systems. (This actually appears to be due to a bug in Perl.) - - srcPatch = ./patch; - - inherit patch; + patches = [./no-sys-dirs.patch]; } diff --git a/pkgs/development/interpreters/perl/patch b/pkgs/development/interpreters/perl/no-sys-dirs.patch similarity index 100% rename from pkgs/development/interpreters/perl/patch rename to pkgs/development/interpreters/perl/no-sys-dirs.patch