diff --git a/pkgs/build-support/build-pecl.nix b/pkgs/build-support/build-pecl.nix index 727ed0c2197..135b68186f3 100644 --- a/pkgs/build-support/build-pecl.nix +++ b/pkgs/build-support/build-pecl.nix @@ -1,11 +1,23 @@ -{ stdenv, php, autoreconfHook }: +{ stdenv, php, autoreconfHook, fetchurl }: -args@{ name, ... }: stdenv.mkDerivation (args // { +{ name +, buildInputs ? [] +, makeFlags ? [] +, src ? fetchurl { + url = "http://pecl.php.net/get/${name}.tgz"; + inherit (args) sha256; + } +, ... +}@args: + +stdenv.mkDerivation (args // { name = "php-${name}"; - buildInputs = [ php autoreconfHook ] ++ args.buildInputs or []; + inherit src; - makeFlags = [ "EXTENSION_DIR=$(out)/lib/php/extensions" ] ++ args.makeFlags or []; + buildInputs = [ php autoreconfHook ] ++ buildInputs; + + makeFlags = [ "EXTENSION_DIR=$(out)/lib/php/extensions" ] ++ makeFlags; autoreconfPhase = "phpize"; }) diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index 39ea219cf64..6695f9d3a93 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -3,16 +3,13 @@ let self = with self; { buildPecl = import ../build-support/build-pecl.nix { inherit php; - inherit (pkgs) stdenv autoreconfHook; + inherit (pkgs) stdenv autoreconfHook fetchurl; }; memcache = buildPecl { name = "memcache-3.0.8"; - src = pkgs.fetchurl { - url = http://pecl.php.net/get/memcache-3.0.8.tgz; - sha256 = "04c35rj0cvq5ygn2jgmyvqcb0k8d03v4k642b6i37zgv7x15pbic"; - }; + sha256 = "04c35rj0cvq5ygn2jgmyvqcb0k8d03v4k642b6i37zgv7x15pbic"; configureFlags = "--with-zlib-dir=${pkgs.zlib}"; }; @@ -20,10 +17,7 @@ let self = with self; { memcached = buildPecl { name = "memcached-2.1.0"; - src = pkgs.fetchurl { - url = http://pecl.php.net/get/memcached-2.1.0.tgz; - sha256 = "1by4zhkq4mbk9ja6s0vlavv5ng8aw5apn3a1in84fkz7bc0l0jdw"; - }; + sha256 = "1by4zhkq4mbk9ja6s0vlavv5ng8aw5apn3a1in84fkz7bc0l0jdw"; configureFlags = [ "--with-zlib-dir=${pkgs.zlib}" @@ -35,26 +29,20 @@ let self = with self; { xdebug = buildPecl rec { name = "xdebug-2.2.5"; - src = pkgs.fetchurl { - url = "http://pecl.php.net/get/${name}.tgz"; - sha256 = "0vss35da615709kdvqji8pblckfvmabmj2njjjz6h8zzvj9gximd"; - }; + + sha256 = "0vss35da615709kdvqji8pblckfvmabmj2njjjz6h8zzvj9gximd"; }; apc = buildPecl rec { name = "apc-3.1.13"; - src = pkgs.fetchurl { - url = "http://pecl.php.net/get/${name}.tgz"; - sha256 = "1gcsh9iar5qa1yzpjki9bb5rivcb6yjp45lmjmp98wlyf83vmy2y"; - }; + + sha256 = "1gcsh9iar5qa1yzpjki9bb5rivcb6yjp45lmjmp98wlyf83vmy2y"; }; zmq = buildPecl rec { name = "zmq-1.1.2"; - src = pkgs.fetchurl { - url = "http://pecl.php.net/get/${name}.tgz"; - sha256 = "0ccz73p8pkda3y9p9qbr3m19m0yrf7k2bvqgbaly3ibgh9bazc69"; - }; + + sha256 = "0ccz73p8pkda3y9p9qbr3m19m0yrf7k2bvqgbaly3ibgh9bazc69"; configureFlags = [ "--with-zmq=${pkgs.zeromq2}"