summary refs log tree commit diff
path: root/pkgs/development/perl-modules
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2005-03-10 12:49:37 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2005-03-10 12:49:37 +0000
commit8a282aa46c1671252adc0c19ac40d453f743ff7d (patch)
treed90e10b042b22de4661a92d0bf436f8d3fc6a180 /pkgs/development/perl-modules
parent93e16516a7211cf8123bfc968d9db71163381896 (diff)
downloadnixpkgs-8a282aa46c1671252adc0c19ac40d453f743ff7d.tar
nixpkgs-8a282aa46c1671252adc0c19ac40d453f743ff7d.tar.gz
nixpkgs-8a282aa46c1671252adc0c19ac40d453f743ff7d.tar.bz2
nixpkgs-8a282aa46c1671252adc0c19ac40d453f743ff7d.tar.lz
nixpkgs-8a282aa46c1671252adc0c19ac40d453f743ff7d.tar.xz
nixpkgs-8a282aa46c1671252adc0c19ac40d453f743ff7d.tar.zst
nixpkgs-8a282aa46c1671252adc0c19ac40d453f743ff7d.zip
* Set PERL5LIB automatically in the Perl setup hook.
* Remove explicit setting of PERL5LIB.
* Use the generic Perl builder for the BerkeleyDB and XML::Parser
  modules.
* Prefix all names of Perl modules with `perl-' (in the generic Perl
  builder).

svn path=/nixpkgs/trunk/; revision=2365
Diffstat (limited to 'pkgs/development/perl-modules')
-rw-r--r--pkgs/development/perl-modules/BerkeleyDB/builder.sh12
-rw-r--r--pkgs/development/perl-modules/BerkeleyDB/default.nix18
-rw-r--r--pkgs/development/perl-modules/BerkeleyDB/hook.sh7
-rw-r--r--pkgs/development/perl-modules/XML-Parser/builder.sh10
-rw-r--r--pkgs/development/perl-modules/XML-Parser/default.nix13
-rw-r--r--pkgs/development/perl-modules/XML-Parser/hook.sh1
-rw-r--r--pkgs/development/perl-modules/generic/builder.sh22
-rw-r--r--pkgs/development/perl-modules/generic/default.nix1
8 files changed, 31 insertions, 53 deletions
diff --git a/pkgs/development/perl-modules/BerkeleyDB/builder.sh b/pkgs/development/perl-modules/BerkeleyDB/builder.sh
deleted file mode 100644
index e14e8c4311a..00000000000
--- a/pkgs/development/perl-modules/BerkeleyDB/builder.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-buildinputs="$perl $db4"
-. $stdenv/setup || exit 1
-
-tar xvfz $src || exit 1
-cd BerkeleyDB-* || exit 1
-
-echo "LIB = $db4/lib" > config.in
-echo "INCLUDE = $db4/include" >> config.in
-
-perl Makefile.PL || exit 1
-make || exit 1
-make install SITEPREFIX=$out PERLPREFIX=$out || exit 1
diff --git a/pkgs/development/perl-modules/BerkeleyDB/default.nix b/pkgs/development/perl-modules/BerkeleyDB/default.nix
index b4cf9f10438..0c50977f8e3 100644
--- a/pkgs/development/perl-modules/BerkeleyDB/default.nix
+++ b/pkgs/development/perl-modules/BerkeleyDB/default.nix
@@ -1,14 +1,12 @@
-{stdenv, fetchurl, perl, db4}:
+{fetchurl, perl, db4}:
 
-assert perl != null && db4 != null;
-
-stdenv.mkDerivation {
-  name = "perl-BerkeleyDB-0.25";
-  builder = ./builder.sh;
+import ../generic perl {
+  name = "BerkeleyDB-0.26";
   src = fetchurl {
-    url = ftp://ftp.cs.uu.nl/mirror/CPAN/authors/id/P/PM/PMQS/BerkeleyDB-0.25.tar.gz;
-    md5 = "fcef06232d1ccd6c2a9cd114e388ea3d";
+    url = ftp://ftp.cs.uu.nl/mirror/CPAN/authors/id/P/PM/PMQS/BerkeleyDB-0.26.tar.gz;
+    md5 = "6e9882f4e4bac48b24079d082af30e6c";
   };
-  perl = perl;
-  db4 = db4;
+  perlPreHook = ./hook.sh;
+  buildInputs = [db4];
+#  inherit db4;
 }
diff --git a/pkgs/development/perl-modules/BerkeleyDB/hook.sh b/pkgs/development/perl-modules/BerkeleyDB/hook.sh
new file mode 100644
index 00000000000..c0735d27e9f
--- /dev/null
+++ b/pkgs/development/perl-modules/BerkeleyDB/hook.sh
@@ -0,0 +1,7 @@
+oldPreConfigure=$preConfigure
+preConfigure=myPreConfigure
+myPreConfigure() {
+    echo "LIB = $db4/lib" > config.in
+    echo "INCLUDE = $db4/include" >> config.in
+    $oldPreConfigure
+}
diff --git a/pkgs/development/perl-modules/XML-Parser/builder.sh b/pkgs/development/perl-modules/XML-Parser/builder.sh
deleted file mode 100644
index b6409cd8765..00000000000
--- a/pkgs/development/perl-modules/XML-Parser/builder.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-buildinputs="$perl $expat"
-. $stdenv/setup || exit 1
-
-tar xvfz $src || exit 1
-cd XML-Parser-* || exit 1
-
-perl Makefile.PL EXPATLIBPATH=$expat/lib EXPATINCPATH=$expat/include \
-  SITEPREFIX=$out PERLPREFIX=$out || exit 1
-make || exit 1
-make install || exit 1
diff --git a/pkgs/development/perl-modules/XML-Parser/default.nix b/pkgs/development/perl-modules/XML-Parser/default.nix
index 7d8a4bbb7c4..b9adcaab706 100644
--- a/pkgs/development/perl-modules/XML-Parser/default.nix
+++ b/pkgs/development/perl-modules/XML-Parser/default.nix
@@ -1,14 +1,11 @@
-{stdenv, fetchurl, perl, expat}:
+{fetchurl, perl, expat}:
 
-assert perl != null && expat != null;
-
-stdenv.mkDerivation {
-  name = "perl-XML-Parser-2.34";
-  builder = ./builder.sh;
+import ../generic perl {
+  name = "XML-Parser-2.34";
   src = fetchurl {
     url = http://catamaran.labs.cs.uu.nl/dist/tarballs/XML-Parser-2.34.tar.gz;
     md5 = "84d9e0001fe01c14867256c3fe115899";
   };
-  perl = perl;
-  expat = expat;
+  perlPreHook = ./hook.sh;
+  inherit expat;
 }
diff --git a/pkgs/development/perl-modules/XML-Parser/hook.sh b/pkgs/development/perl-modules/XML-Parser/hook.sh
new file mode 100644
index 00000000000..44df351a222
--- /dev/null
+++ b/pkgs/development/perl-modules/XML-Parser/hook.sh
@@ -0,0 +1 @@
+makeMakerFlags="EXPATLIBPATH=$expat/lib EXPATINCPATH=$expat/include"
diff --git a/pkgs/development/perl-modules/generic/builder.sh b/pkgs/development/perl-modules/generic/builder.sh
index 389858bcfcf..3a61ba7f67d 100644
--- a/pkgs/development/perl-modules/generic/builder.sh
+++ b/pkgs/development/perl-modules/generic/builder.sh
@@ -1,19 +1,7 @@
-addInputsHook=addInputsHook
-addInputsHook() {
-    # Should be in a Perl setup hook.
-    envHooks=(${envHooks[@]} addPerlLibs)
-}
-
-addPerlLibs() {
-    PERL5LIB="$PERL5LIB${PERL5LIB:+:}$1/lib/site_perl"
-}
-
 . $stdenv/setup
 
 PERL5LIB="$PERL5LIB${PERL5LIB:+:}$out/lib/site_perl"
 
-export PERL5LIB
-
 oldIFS=$IFS
 IFS=:
 perlFlags=
@@ -21,7 +9,7 @@ for i in $PERL5LIB; do
     perlFlags="$perlFlags -I$i"
 done
 IFS=$oldIFS
-echo "$perlFlags"
+echo "Perl flags: $perlFlags"
 
 preConfigure=preConfigure
 preConfigure() {
@@ -42,4 +30,12 @@ preConfigure() {
     perl Makefile.PL PREFIX=$out $makeMakerFlags
 }
 
+if test -n "$perlPreHook"; then
+    . $perlPreHook
+fi
+
 genericBuild
+
+if test -n "$perlPostHook"; then
+    . $perlPostHook
+fi
\ No newline at end of file
diff --git a/pkgs/development/perl-modules/generic/default.nix b/pkgs/development/perl-modules/generic/default.nix
index 26cc365d9bd..2909664bf87 100644
--- a/pkgs/development/perl-modules/generic/default.nix
+++ b/pkgs/development/perl-modules/generic/default.nix
@@ -3,6 +3,7 @@ perl:
 attrs:
 
 perl.stdenv.mkDerivation (attrs // {
+  name = "perl-" + attrs.name;
   builder = ./builder.sh;
   buildInputs = [(if attrs ? buildInputs then attrs.buildInputs else []) perl];
 })