diff options
author | talyz <kim.lindberger@gmail.com> | 2020-03-30 19:26:15 +0200 |
---|---|---|
committer | talyz <kim.lindberger@gmail.com> | 2020-04-05 16:44:37 +0200 |
commit | fe4d173cb2b2c8d3d3138b5d2ee2fb5f64aabbc7 (patch) | |
tree | 4d7e91d034026ba4597a5f4bc5cfc7f996bd832a /pkgs/top-level/php-packages.nix | |
parent | 716fd0e2f576c3eeea2a231a259ff67bad3f6594 (diff) | |
download | nixpkgs-fe4d173cb2b2c8d3d3138b5d2ee2fb5f64aabbc7.tar nixpkgs-fe4d173cb2b2c8d3d3138b5d2ee2fb5f64aabbc7.tar.gz nixpkgs-fe4d173cb2b2c8d3d3138b5d2ee2fb5f64aabbc7.tar.bz2 nixpkgs-fe4d173cb2b2c8d3d3138b5d2ee2fb5f64aabbc7.tar.lz nixpkgs-fe4d173cb2b2c8d3d3138b5d2ee2fb5f64aabbc7.tar.xz nixpkgs-fe4d173cb2b2c8d3d3138b5d2ee2fb5f64aabbc7.tar.zst nixpkgs-fe4d173cb2b2c8d3d3138b5d2ee2fb5f64aabbc7.zip |
php.packages: Fix and clean up external extensions
Fix extensions that were broken by the extension refactoring and remove pthreads and pinba, which had asserts which broke evaluation, were in need of refactoring and of dubious value.
Diffstat (limited to 'pkgs/top-level/php-packages.nix')
-rw-r--r-- | pkgs/top-level/php-packages.nix | 117 |
1 files changed, 35 insertions, 82 deletions
diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index 2ebc0697824..b3a3fe699c4 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -30,7 +30,7 @@ in sha256 = "0ayykd4hfvdzk7qnr5k6yq5scwf6rb2i05xscfv76q5dmkkynvfl"; - buildInputs = [ (if isPhp73 then pkgs.pcre2 else pkgs.pcre) ]; + buildInputs = if isPhp73 then [ pkgs.pcre2 ] else [ pkgs.pcre ]; doCheck = true; checkTarget = "test"; checkFlagsArray = ["REPORT_EXIT_STATUS=1" "NO_INTERACTION=1"]; @@ -72,7 +72,7 @@ in installPhase = '' mkdir -p $out/bin install -D $src $out/libexec/box/box.phar - makeWrapper ${php}/bin/php $out/bin/box \ + makeWrapper ${phpWithExtensions}/bin/php $out/bin/box \ --add-flags "-d phar.readonly=0 $out/libexec/box/box.phar" ''; @@ -100,7 +100,7 @@ in installPhase = '' mkdir -p $out/bin install -D $src $out/libexec/composer/composer.phar - makeWrapper ${php}/bin/php $out/bin/composer \ + makeWrapper ${phpWithExtensions}/bin/php $out/bin/composer \ --add-flags "$out/libexec/composer/composer.phar" \ --prefix PATH : ${pkgs.lib.makeBinPath [ pkgs.unzip ]} ''; @@ -132,7 +132,7 @@ in }; configureFlags = [ "--with-couchbase" ]; - + internalDeps = [ php.packages.exts.json ]; patches = [ (pkgs.writeText "php-couchbase.patch" '' --- a/config.m4 @@ -173,8 +173,15 @@ in "--with-event-extra" "--with-event-pthreads" ]; + + postPhpize = '' + substituteInPlace configure --replace 'as_fn_error $? "Couldn'\'''t find $phpincludedir/sockets/php_sockets.h. Please check if sockets extension installed" "$LINENO" 5' \ + ':' + ''; + nativeBuildInputs = [ pkgs.pkgconfig ]; buildInputs = with pkgs; [ openssl libevent ]; + internalDeps = [ php.packages.exts.sockets ]; meta = with pkgs.lib; { description = '' @@ -211,8 +218,12 @@ in mailparse = buildPecl { version = "3.0.3"; pname = "mailparse"; - sha256 = "00nk14jbdbln93mx3ag691avc11ff94hkadrcv5pn51c6ihsxbmz"; + + internalDeps = [ php.packages.exts.mbstring ]; + postConfigure = '' + echo "#define HAVE_MBSTRING 1" >> config.h + ''; }; maxminddb = buildPecl rec { @@ -246,6 +257,11 @@ in sha256 = "01mbh2m3kfbdvih3c8g3g9h4vdd80r0i9g2z8b3lx3mi8mmcj380"; }; + internalDeps = [ + php.packages.exts.session + ] ++ lib.optionals (lib.versionOlder php.version "7.4") [ + php.packages.exts.hash ]; + configureFlags = [ "--with-zlib-dir=${pkgs.zlib.dev}" "--with-libmemcached-dir=${pkgs.libmemcached}" @@ -312,6 +328,8 @@ in buildInputs = [ pkgs.oracle-instantclient ]; configureFlags = [ "--with-pdo-oci=instantclient,${pkgs.oracle-instantclient.lib}/lib" ]; + internalDeps = [ php.packages.exts.pdo ]; + postPatch = '' sed -i -e 's|OCISDKMANINC=`.*$|OCISDKMANINC="${pkgs.oracle-instantclient.dev}/include"|' config.m4 ''; @@ -323,6 +341,8 @@ in sha256 = "0z4vbyd851b4jr6p69l2ylk91iihndsm2qjb429pxcv8g6dqzqll"; + internalDeps = [ php.packages.exts.pdo ]; + buildInputs = [ pkgs.unixODBC ] ++ pkgs.lib.optionals pkgs.stdenv.isDarwin [ pkgs.libiconv ]; }; @@ -403,7 +423,6 @@ in }; configureFlags = [ "--with-excel" "--with-libxl-incdir=${pkgs.libxl}/include_c" "--with-libxl-libdir=${pkgs.libxl}/lib" ]; - meta.broken = true; }; phpcbf = mkDerivation rec { @@ -494,50 +513,6 @@ in }; }; - pinba = if isPhp73 then pinba73 else pinba7; - - pinba7 = assert !isPhp73; buildPecl { - version = "1.1.1"; - pname = "pinba"; - - src = pkgs.fetchFromGitHub { - owner = "tony2001"; - repo = "pinba_extension"; - rev = "RELEASE_1_1_1"; - sha256 = "1kdp7vav0y315695vhm3xifgsh6h6y6pny70xw3iai461n58khj5"; - }; - - meta = with pkgs.lib; { - description = "PHP extension for Pinba"; - longDescription = '' - Pinba is a MySQL storage engine that acts as a realtime monitoring and - statistics server for PHP using MySQL as a read-only interface. - ''; - homepage = "http://pinba.org/"; - }; - }; - - pinba73 = assert isPhp73; buildPecl { - version = "1.1.2-dev"; - pname = "pinba"; - - src = pkgs.fetchFromGitHub { - owner = "tony2001"; - repo = "pinba_extension"; - rev = "edbc313f1b4fb8407bf7d5acf63fbb0359c7fb2e"; - sha256 = "02sljqm6griw8ccqavl23f7w1hp2zflcv24lpf00k6pyrn9cwx80"; - }; - - meta = with pkgs.lib; { - description = "PHP extension for Pinba"; - longDescription = '' - Pinba is a MySQL storage engine that acts as a realtime monitoring and - statistics server for PHP using MySQL as a read-only interface. - ''; - homepage = "http://pinba.org/"; - }; - }; - protobuf = buildPecl { version = "3.11.2"; pname = "protobuf"; @@ -608,41 +583,17 @@ in }; }; - pthreads = if isPhp73 then pthreads32-dev else pthreads32; - - pthreads32 = assert (pkgs.config.php.zts or false); assert !isPhp73; buildPecl rec { - version = "3.2.0"; - pname = "pthreads"; - - src = pkgs.fetchFromGitHub { - owner = "krakjoe"; - repo = "pthreads"; - rev = "v${version}"; - sha256 = "17hypm75d4w7lvz96jb7s0s87018yzmmap0l125d5fd7abnhzfvv"; - }; - - buildInputs = with pkgs; [ pcre.dev ]; - }; - - pthreads32-dev = assert (pkgs.config.php.zts or false); assert isPhp73; buildPecl { - version = "3.2.0-dev"; - pname = "pthreads"; - - src = pkgs.fetchFromGitHub { - owner = "krakjoe"; - repo = "pthreads"; - rev = "4d1c2483ceb459ea4284db4eb06646d5715e7154"; - sha256 = "07kdxypy0bgggrfav2h1ccbv67lllbvpa3s3zsaqci0gq4fyi830"; - }; - - buildInputs = with pkgs; [ pcre2.dev ]; - }; - redis = buildPecl { version = "5.1.1"; pname = "redis"; sha256 = "1041zv91fkda73w4c3pj6zdvwjgb3q7mxg6mwnq9gisl80mrs732"; + + internalDeps = with php.packages.exts; [ + json + session + ] ++ lib.optionals (lib.versionOlder php.version "7.4") [ + hash ]; }; sqlsrv = buildPecl { @@ -665,7 +616,7 @@ in meta.broken = true; }; - v8js = assert !isPhp73; buildPecl { + v8js = buildPecl { version = "2.1.0"; pname = "v8js"; @@ -701,7 +652,7 @@ in nativeBuildInputs = [ pkgs.pkgconfig ]; }; - zmq = assert !isPhp73; buildPecl { + zmq = buildPecl { version = "1.1.3"; pname = "zmq"; @@ -712,6 +663,8 @@ in ]; nativeBuildInputs = [ pkgs.pkgconfig ]; + + meta.broken = isPhp73; }; exts = let |