diff options
Diffstat (limited to 'pkgs/development/interpreters/perl/default.nix')
-rw-r--r-- | pkgs/development/interpreters/perl/default.nix | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix index 9adc72f941a2..e03777b0fb35 100644 --- a/pkgs/development/interpreters/perl/default.nix +++ b/pkgs/development/interpreters/perl/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, buildPackages +{ config, lib, stdenv, fetchurl, buildPackages, callPackage , enableThreading ? stdenv ? glibc, makeWrapper }: @@ -22,7 +22,8 @@ let libcInc = lib.getDev libc; libcLib = lib.getLib libc; crossCompiling = stdenv.buildPlatform != stdenv.hostPlatform; - common = { version, sha256 }: stdenv.mkDerivation (rec { + + common = { self, version, sha256 }: stdenv.mkDerivation (rec { inherit version; name = "perl-${version}"; @@ -104,7 +105,19 @@ let setupHook = ./setup-hook.sh; - passthru.libPrefix = "lib/perl5/site_perl"; + passthru = rec { + interpreter = "${self}/bin/perl"; + libPrefix = "lib/perl5/site_perl"; + pkgs = callPackage ../../../top-level/perl-packages.nix { + perl = self; + overrides = config.perlPackageOverrides or (p: {}); # TODO: (self: super: {}) like in python + }; + buildEnv = callPackage ./wrapper.nix { + perl = self; + inherit (pkgs) requiredPerlModules; + }; + withPackages = f: buildEnv.override { extraLibs = f pkgs; }; + }; doCheck = false; # some tests fail, expensive @@ -179,12 +192,14 @@ let in rec { # the latest Maint version perl528 = common { + self = perl528; version = "5.28.1"; sha256 = "0iy3as4hnbjfyws4in3j9d6zhhjxgl5m95i5n9jy2bnzcpz8bgry"; }; # the latest Devel version perldevel = common { + self = perldevel; version = "5.29.9"; sha256 = "017x3nghyc5m8q1yqnrdma96b3d5rlfx87vv5mi64jq0r8k6zppm"; }; |