about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/build-support/build-pecl.nix9
-rw-r--r--pkgs/top-level/all-packages.nix4
-rw-r--r--pkgs/top-level/php-packages.nix19
3 files changed, 32 insertions, 0 deletions
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