diff --git a/pkgs/build-support/build-pecl.nix b/pkgs/build-support/build-pecl.nix new file mode 100644 index 000000000000..d84497e8019c --- /dev/null +++ b/pkgs/build-support/build-pecl.nix @@ -0,0 +1,9 @@ +{ stdenv, php, autoreconfHook }: + +args: stdenv.mkDerivation (args // { + buildInputs = [ php autoreconfHook ] ++ args.buildInputs or []; + + makeFlags = [ "EXTENSION_DIR=$(out)/lib/php/extensions" ] ++ args.makeFlags or []; + + autoreconfPhase = "phpize"; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c0360a87ac56..7e81a39ec083 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3267,6 +3267,10 @@ let php = php54; + phpPackages = import ./php-packages.nix { + inherit php pkgs; + }; + php53 = callPackage ../development/interpreters/php/5.3.nix { }; php54 = callPackage ../development/interpreters/php/5.4.nix { }; diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix new file mode 100644 index 000000000000..e26ec8c9eb8c --- /dev/null +++ b/pkgs/top-level/php-packages.nix @@ -0,0 +1,19 @@ +{ pkgs, php }: + +let self = with self; { + buildPecl = import ../build-support/build-pecl.nix { + inherit php; + inherit (pkgs) stdenv autoreconfHook; + }; + + memcache = buildPecl { + name = "memcache-3.0.8"; + + src = pkgs.fetchurl { + url = http://pecl.php.net/get/memcache-3.0.8.tgz; + sha256 = "04c35rj0cvq5ygn2jgmyvqcb0k8d03v4k642b6i37zgv7x15pbic"; + }; + + configureFlags = "--with-zlib-dir=${pkgs.zlib}"; + }; +}; in self