nixpkgs/pkgs/development/interpreters
talyz 2ba7926959
php.buildEnv: Provide a list of currently enabled extensions
Rework withExtensions / buildEnv to handle currently enabled
extensions better and make them compatible with override. They now
accept a function with the named arguments enabled and all, where
enabled is a list of currently enabled extensions and all is the set
of all extensions. This gives us several nice properties:

 - You always get the right version of the list of currently enabled
   extensions

 - Invocations chain

 - It works well with overridden PHP packages - you always get the
   correct versions of extensions

As a contrived example of what's possible, you can add ImageMagick,
then override the version and disable fpm, then disable cgi, and
lastly remove the zip extension like this:

{ pkgs ? (import <nixpkgs>) {} }:
with pkgs;

let
  phpWithImagick = php74.withExtensions ({ all, enabled }: enabled ++ [ all.imagick ]);

  phpWithImagickWithoutFpm743 = phpWithImagick.override {
    version = "7.4.3";
    sha256 = "wVF7pJV4+y3MZMc6Ptx21PxQfEp6xjmYFYTMfTtMbRQ=";
    fpmSupport = false;
  };

  phpWithImagickWithoutFpmZip743 = phpWithImagickWithoutFpm743.withExtensions (
    { enabled, all }:
      lib.filter (e: e != all.zip) enabled);

  phpWithImagickWithoutFpmZipCgi743 = phpWithImagickWithoutFpmZip743.override {
    cgiSupport = false;
  };
in
  phpWithImagickWithoutFpmZipCgi743
2020-04-26 16:43:05 +02:00
..
acl2 treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
angelscript angelscript: 2.33.0 -> 2.34.0 2019-10-06 17:46:34 -07:00
bats treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
ceptre treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
chibi treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
clips treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
clisp treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
clojure treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
clojurescript/lumo treewide: quoted urls for RFC45, only the rebuilds 2020-04-05 10:17:15 -04:00
dart treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
dhall Upate buildDhallPackage to use default version of Dhall 2020-04-11 09:07:58 -07:00
duktape treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
eff treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
elixir treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
erlang treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
evcxr evcxr: 0.5.0 -> 0.5.1 2020-04-17 00:28:12 +02:00
falcon treewide: remove redundant rec 2019-08-28 11:07:32 +00:00
gauche treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
gnu-apl treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
groovy groovy: 3.0.0 -> 3.0.2 2020-04-07 12:24:19 -07:00
gtk-server gtk-server: 2.3.1 -> 2.4.5 2019-12-15 13:31:53 -08:00
guile treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
hugs treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
hy hy: use python2, build fails with 3 2019-11-13 16:27:38 +01:00
icon-lang treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
io treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
j j: 807 -> 901 2020-04-20 06:27:20 +10:00
janet janet: 1.7.0 -> 1.8.1 2020-04-01 13:24:36 +00:00
jimtcl treewide: NIX_*_FLAGS -> string 2019-12-31 00:15:46 +01:00
joker joker: 0.14.2 -> 0.15.0 2020-04-05 22:01:56 +00:00
jruby jruby: 9.2.11.0 -> 9.2.11.1 2020-04-05 22:06:39 +00:00
jython jython: 2.7.2b2 -> 2.7.2b3 2020-02-23 13:41:27 -08:00
kona treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
lfe lfe: 1.2.1 -> 1.3 2020-02-10 20:03:47 +01:00
lolcode treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
love treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
lua-5 treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
luajit treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
lush treewide: Get rid of libGLU_combined 2019-11-18 20:10:43 +00:00
maude treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
metamath treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
micropython micropython: init at 1.12 2020-01-03 10:57:55 +01:00
mujs treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
nix-exec treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
octave blas,lapack: use isILP64 instead of is64bit 2020-04-20 16:02:43 -05:00
perl Merge branch 'master' into staging-next 2020-04-13 18:50:35 +02:00
php php.buildEnv: Provide a list of currently enabled extensions 2020-04-26 16:43:05 +02:00
picoc treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
picolisp treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
pixie treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
proglodyte-wasm treewide: mark some broken packages as broken 2019-10-08 17:14:26 +02:00
pure pure: mark as broken 2020-01-30 18:35:30 -05:00
pyrex treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
python python2: 2.7.17 -> 2.7.18 2020-04-21 11:21:39 +02:00
qnial treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
quickjs treewide: Remove myself from maintainers on some packages (#78027) 2020-01-19 12:18:34 -05:00
racket racket: use --enable-useprefix configure flag. 2020-04-16 09:49:21 -07:00
rakudo treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
rascal treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
rebol treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
red treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
regina treewide: name -> pname (easy cases) (#66585) 2019-08-15 13:41:18 +01:00
renpy treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
ruby treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
scheme48 treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
scsh treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
self treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
spidermonkey treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
supercollider supercollider: 3.10.4 -> 3.11.0 2020-04-13 00:42:34 -07:00
tcl treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
tinyscheme treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
unicon-lang treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
wasmer wasmer: 0.13.0 -> 0.16.2 2020-03-12 19:06:47 +01:00
wasmtime wasmtime-0.12.0: fix cargoSha256 2020-04-18 21:30:29 +02:00