From a6cf6c23f37eb0fe88398837a3d612566f37258b Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 24 May 2007 14:41:18 +0000 Subject: [PATCH] * Perl updated to 5.8.8 (NIXPKGS-56). * Fix a potential security problem in Cwd in taint mode. svn path=/nixpkgs/trunk/; revision=8751 --- pkgs/development/interpreters/perl/builder.sh | 8 +++++++- .../development/interpreters/perl/default.nix | 6 +++--- .../interpreters/perl/no-sys-dirs.patch | 20 ------------------- 3 files changed, 10 insertions(+), 24 deletions(-) diff --git a/pkgs/development/interpreters/perl/builder.sh b/pkgs/development/interpreters/perl/builder.sh index fb03cd3c679..c393cb0560b 100644 --- a/pkgs/development/interpreters/perl/builder.sh +++ b/pkgs/development/interpreters/perl/builder.sh @@ -9,10 +9,16 @@ configureScript=./Configure configureFlags="-de -Dcc=gcc -Dprefix=$out -Uinstallusrbinperl $extraflags" dontAddPrefix=1 +preBuild=preBuild +preBuild() { + # Make Cwd work on NixOS (where we don't have a /bin/pwd). + substituteInPlace lib/Cwd.pm --replace "'/bin/pwd'" "'$(type -tP pwd)'" +} + +postInstall=postInstall postInstall() { ensureDir "$out/nix-support" cp $setupHook $out/nix-support/setup-hook } -postInstall=postInstall genericBuild diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix index 317a04c96fa..b9416bcc41f 100644 --- a/pkgs/development/interpreters/perl/default.nix +++ b/pkgs/development/interpreters/perl/default.nix @@ -1,12 +1,12 @@ {stdenv, fetchurl}: stdenv.mkDerivation { - name = "perl-5.8.6"; + name = "perl-5.8.8"; builder = ./builder.sh; src = fetchurl { - url = http://nix.cs.uu.nl/dist/tarballs/perl-5.8.6.tar.bz2; - md5 = "3d030b6ff2a433840edb1a407d18dc0a"; + url = http://ftp.funet.fi/pub/CPAN/src/perl-5.8.8.tar.bz2; + sha256 = "1j8vzc6lva49mwdxkzhvm78dkxyprqs4n4057amqvsh4kh6i92l1"; }; # This patch does the following: diff --git a/pkgs/development/interpreters/perl/no-sys-dirs.patch b/pkgs/development/interpreters/perl/no-sys-dirs.patch index 76cd82e697a..48588d5a429 100644 --- a/pkgs/development/interpreters/perl/no-sys-dirs.patch +++ b/pkgs/development/interpreters/perl/no-sys-dirs.patch @@ -162,23 +162,3 @@ diff -rc perl-orig/ext/Errno/Errno_pm.PL perl-5.8.6/ext/Errno/Errno_pm.PL ) { # Some Linuxes have weird errno.hs which generate # no #file or #line directives -diff -rc perl-orig/lib/Cwd.pm perl-5.8.6/lib/Cwd.pm -*** perl-orig/lib/Cwd.pm 2004-11-01 16:42:41.000000000 +0100 ---- perl-5.8.6/lib/Cwd.pm 2005-03-10 12:52:31.000000000 +0100 -*************** -*** 292,298 **** - - # The 'natural and safe form' for UNIX (pwd may be setuid root) - sub _backtick_pwd { -! local @ENV{qw(PATH IFS CDPATH ENV BASH_ENV)}; - my $cwd = `$pwd_cmd`; - # Belt-and-suspenders in case someone said "undef $/". - local $/ = "\n"; ---- 292,298 ---- - - # The 'natural and safe form' for UNIX (pwd may be setuid root) - sub _backtick_pwd { -! local @ENV{qw(IFS CDPATH ENV BASH_ENV)}; - my $cwd = `$pwd_cmd`; - # Belt-and-suspenders in case someone said "undef $/". - local $/ = "\n";