@ -1,4 +1,4 @@
{ config , lib , stdenv , fetchurl , buildPackages , callPackage
{ config , lib , stdenv , fetchurl , pkgs , buildPackages , callPackage
, enableThreading ? stdenv ? glibc , makeWrapper
} :
@ -23,7 +23,7 @@ let
libcLib = lib . getLib libc ;
crossCompiling = stdenv . buildPlatform != stdenv . hostPlatform ;
common = { self , buildPerl , version , sha256 }: stdenv . mkDerivation ( rec {
common = { perl , buildPerl , version , sha256 }: stdenv . mkDerivation ( rec {
inherit version ;
name = " p e r l - ${ version } " ;
@ -106,15 +106,14 @@ let
setupHook = ./setup-hook.sh ;
passthru = rec {
interpreter = " ${ self } / b i n / p e r l " ;
interpreter = " ${ perl } / b i n / p e r l " ;
libPrefix = " l i b / p e r l 5 / s i t e _ p e r l " ;
pkgs = callPackage ../../../top-level/perl-packages.nix {
perl = self ;
inherit buildPerl ;
inherit perl buildPerl ;
overrides = config . perlPackageOverrides or ( p : { } ) ; # TODO: (self: super: {}) like in python
} ;
buildEnv = callPackage ./wrapper.nix {
perl = self ;
inherit perl ;
inherit ( pkgs ) requiredPerlModules ;
} ;
withPackages = f : buildEnv . override { extraLibs = f pkgs ; } ;
@ -191,10 +190,10 @@ let
# TODO merge setup hooks
setupHook = ./setup-hook-cross.sh ;
} ) ;
in rec {
in {
# the latest Maint version
perl528 = common {
self = perl528 ;
perl = pkgs . perl528 ;
buildPerl = buildPackages . perl528 ;
version = " 5 . 2 8 . 2 " ;
sha256 = " 1 i y n p s x d y m 4 h 7 6 k g n d m n 3 y k v w x h q z 4 4 4 x v a z 8 z 2 i r s x k v m n l b 5 d a " ;
@ -202,7 +201,7 @@ in rec {
# the latest Devel version
perldevel = common {
self = perldevel ;
perl = pkgs . perldevel ;
buildPerl = buildPackages . perldevel ;
version = " 5 . 2 9 . 9 " ;
sha256 = " 0 1 7 x 3 n g h y c 5 m 8 q 1 y q n r d m a 9 6 b 3 d 5 r l f x 8 7 v v 5 m i 6 4 j q 0 r 8 k 6 z p p m " ;