diff options
author | Alyssa Ross <hi@alyssa.is> | 2021-08-04 10:43:07 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2021-08-04 10:43:07 +0000 |
commit | 62614cbef7da005c1eda8c9400160f6bcd6546b8 (patch) | |
tree | c2630f69080637987b68acb1ee8676d2681fe304 /pkgs/development/php-packages | |
parent | d9c82ed3044c72cecf01c6ea042489d30914577c (diff) | |
parent | e24069138dfec3ef94f211f1da005bb5395adc11 (diff) | |
download | nixpkgs-62614cbef7da005c1eda8c9400160f6bcd6546b8.tar nixpkgs-62614cbef7da005c1eda8c9400160f6bcd6546b8.tar.gz nixpkgs-62614cbef7da005c1eda8c9400160f6bcd6546b8.tar.bz2 nixpkgs-62614cbef7da005c1eda8c9400160f6bcd6546b8.tar.lz nixpkgs-62614cbef7da005c1eda8c9400160f6bcd6546b8.tar.xz nixpkgs-62614cbef7da005c1eda8c9400160f6bcd6546b8.tar.zst nixpkgs-62614cbef7da005c1eda8c9400160f6bcd6546b8.zip |
Merge branch 'nixpkgs-update' into master
Diffstat (limited to 'pkgs/development/php-packages')
38 files changed, 1000 insertions, 0 deletions
diff --git a/pkgs/development/php-packages/apcu/default.nix b/pkgs/development/php-packages/apcu/default.nix new file mode 100644 index 00000000000..0cfc7b4b44f --- /dev/null +++ b/pkgs/development/php-packages/apcu/default.nix @@ -0,0 +1,22 @@ +{ buildPecl, lib, pcre2 }: + +buildPecl { + pname = "apcu"; + + version = "5.1.20"; + sha256 = "sha256-uZ1A+v7Ab00TL87lPnUm3b/B0EHqbgThc4nfrSj5w5A="; + + buildInputs = [ pcre2 ]; + doCheck = true; + checkTarget = "test"; + checkFlagsArray = [ "REPORT_EXIT_STATUS=1" "NO_INTERACTION=1" ]; + makeFlags = [ "phpincludedir=$(dev)/include" ]; + outputs = [ "out" "dev" ]; + + meta = with lib; { + description = "Userland cache for PHP"; + license = licenses.php301; + homepage = "https://pecl.php.net/package/APCu"; + maintainers = teams.php.members; + }; +} diff --git a/pkgs/development/php-packages/apcu_bc/default.nix b/pkgs/development/php-packages/apcu_bc/default.nix new file mode 100644 index 00000000000..e487a075dbd --- /dev/null +++ b/pkgs/development/php-packages/apcu_bc/default.nix @@ -0,0 +1,24 @@ +{ buildPecl, lib, pcre2, php }: + +buildPecl { + pname = "apcu_bc"; + + version = "1.0.5"; + sha256 = "0ma00syhk2ps9k9p02jz7rii6x3i2p986il23703zz5npd6y9n20"; + + peclDeps = [ php.extensions.apcu ]; + + buildInputs = [ pcre2 ]; + + postInstall = '' + mv $out/lib/php/extensions/apc.so $out/lib/php/extensions/apcu_bc.so + ''; + + meta = with lib; { + description = "APCu Backwards Compatibility Module"; + license = licenses.php301; + homepage = "https://pecl.php.net/package/apcu_bc"; + maintainers = teams.php.members; + broken = versionAtLeast php.version "8"; + }; +} diff --git a/pkgs/development/php-packages/ast/default.nix b/pkgs/development/php-packages/ast/default.nix new file mode 100644 index 00000000000..65e734e9254 --- /dev/null +++ b/pkgs/development/php-packages/ast/default.nix @@ -0,0 +1,15 @@ +{ buildPecl, lib }: + +buildPecl { + pname = "ast"; + + version = "1.0.12"; + sha256 = "1mcfx989yrakixlsx2d8v6kyxawfwhig4mra9ccpjasfhad0d31x"; + + meta = with lib; { + description = "Exposes the abstract syntax tree generated by PHP"; + license = licenses.bsd3; + homepage = "https://pecl.php.net/package/ast"; + maintainers = teams.php.members; + }; +} diff --git a/pkgs/development/php-packages/box/default.nix b/pkgs/development/php-packages/box/default.nix new file mode 100644 index 00000000000..8ff61920ac8 --- /dev/null +++ b/pkgs/development/php-packages/box/default.nix @@ -0,0 +1,30 @@ +{ mkDerivation, fetchurl, makeWrapper, lib, php }: +let + pname = "box"; + version = "2.7.5"; +in +mkDerivation { + inherit pname version; + + src = fetchurl { + url = "https://github.com/box-project/box2/releases/download/${version}/box-${version}.phar"; + sha256 = "1zmxdadrv0i2l8cz7xb38gnfmfyljpsaz2nnkjzqzksdmncbgd18"; + }; + + phases = [ "installPhase" ]; + nativeBuildInputs = [ makeWrapper ]; + + installPhase = '' + mkdir -p $out/bin + install -D $src $out/libexec/box/box.phar + makeWrapper ${php}/bin/php $out/bin/box \ + --add-flags "-d phar.readonly=0 $out/libexec/box/box.phar" + ''; + + meta = with lib; { + description = "An application for building and managing Phars"; + license = licenses.mit; + homepage = "https://box-project.github.io/box2/"; + maintainers = with maintainers; [ jtojnar ] ++ teams.php.members; + }; +} diff --git a/pkgs/development/php-packages/composer/default.nix b/pkgs/development/php-packages/composer/default.nix new file mode 100644 index 00000000000..15dd3f5bc59 --- /dev/null +++ b/pkgs/development/php-packages/composer/default.nix @@ -0,0 +1,35 @@ +{ mkDerivation, fetchurl, makeWrapper, unzip, lib, php }: +let + pname = "composer"; + version = "2.1.5"; +in +mkDerivation { + inherit pname version; + + src = fetchurl { + url = "https://getcomposer.org/download/${version}/composer.phar"; + sha256 = "1v4hjwbv1y5jvj91i2fj8bvmfsymp9ls8h231zd85svfqdy5b5dy"; + }; + + dontUnpack = true; + + nativeBuildInputs = [ makeWrapper ]; + + installPhase = '' + runHook preInstall + mkdir -p $out/bin + install -D $src $out/libexec/composer/composer.phar + makeWrapper ${php}/bin/php $out/bin/composer \ + --add-flags "$out/libexec/composer/composer.phar" \ + --prefix PATH : ${lib.makeBinPath [ unzip ]} + runHook postInstall + ''; + + meta = with lib; { + description = "Dependency Manager for PHP"; + license = licenses.mit; + homepage = "https://getcomposer.org/"; + changelog = "https://github.com/composer/composer/releases/tag/${version}"; + maintainers = with maintainers; [ offline ] ++ teams.php.members; + }; +} diff --git a/pkgs/development/php-packages/couchbase/default.nix b/pkgs/development/php-packages/couchbase/default.nix new file mode 100644 index 00000000000..7e72af65a30 --- /dev/null +++ b/pkgs/development/php-packages/couchbase/default.nix @@ -0,0 +1,34 @@ +{ lib, buildPecl, fetchFromGitHub, writeText, libcouchbase, zlib, php, substituteAll }: +let + pname = "couchbase"; + version = "3.1.2"; +in +buildPecl { + inherit pname version; + + src = fetchFromGitHub { + owner = "couchbase"; + repo = "php-couchbase"; + rev = "v${version}"; + sha256 = "0zm2jm5lzjjqlhkiivm4v5gr4286pwqaf5nar1ga816hhwnyhj42"; + }; + + configureFlags = [ "--with-couchbase" ]; + + buildInputs = [ libcouchbase zlib ]; + internalDeps = lib.optionals (lib.versionOlder php.version "8.0") [ php.extensions.json ]; + + patches = [ + (substituteAll { + src = ./libcouchbase.patch; + inherit libcouchbase; + }) + ]; + + meta = with lib; { + description = "Couchbase Server PHP extension"; + license = licenses.asl20; + homepage = "https://docs.couchbase.com/php-sdk/current/project-docs/sdk-release-notes.html"; + maintainers = teams.php.members; + }; +} diff --git a/pkgs/development/php-packages/couchbase/libcouchbase.patch b/pkgs/development/php-packages/couchbase/libcouchbase.patch new file mode 100644 index 00000000000..cd08da781a2 --- /dev/null +++ b/pkgs/development/php-packages/couchbase/libcouchbase.patch @@ -0,0 +1,11 @@ +--- a/config.m4 ++++ b/config.m4 +@@ -28,7 +28,7 @@ if test "$PHP_COUCHBASE" != "no"; then + + dnl fallback on standard directory + else +- for i in /usr/local /usr; do ++ for i in @libcouchbase@; do + if test -r $i/include/libcouchbase/couchbase.h; then + LIBCOUCHBASE_DIR=$i + AC_MSG_RESULT(found in $i) diff --git a/pkgs/development/php-packages/deployer/default.nix b/pkgs/development/php-packages/deployer/default.nix new file mode 100644 index 00000000000..7679fb5ea51 --- /dev/null +++ b/pkgs/development/php-packages/deployer/default.nix @@ -0,0 +1,33 @@ +{ mkDerivation, fetchurl, makeWrapper, installShellFiles, lib, php }: + +mkDerivation rec { + pname = "deployer"; + version = "6.8.0"; + + src = fetchurl { + url = "https://deployer.org/releases/v${version}/${pname}.phar"; + sha256 = "09mxwfa7yszsiljbkxpsd4sghqngl08cn18v4g1fbsxp3ib3kxi5"; + }; + + dontUnpack = true; + + nativeBuildInputs = [ makeWrapper installShellFiles ]; + + installPhase = '' + mkdir -p $out/bin + install -D $src $out/libexec/deployer/deployer.phar + makeWrapper ${php}/bin/php $out/bin/dep --add-flags "$out/libexec/deployer/deployer.phar" + + # fish support currently broken: https://github.com/deployphp/deployer/issues/2527 + installShellCompletion --cmd dep \ + --bash <($out/bin/dep autocomplete --install) \ + --zsh <($out/bin/dep autocomplete --install) + ''; + + meta = with lib; { + description = "A deployment tool for PHP"; + license = licenses.mit; + homepage = "https://deployer.org/"; + maintainers = with maintainers; teams.php.members; + }; +} diff --git a/pkgs/development/php-packages/event/default.nix b/pkgs/development/php-packages/event/default.nix new file mode 100644 index 00000000000..ed23bcc4b0b --- /dev/null +++ b/pkgs/development/php-packages/event/default.nix @@ -0,0 +1,34 @@ +{ buildPecl, lib, php, pkg-config, openssl, libevent }: +buildPecl { + pname = "event"; + + version = "3.0.5"; + sha256 = "0q5a83mcl97cyry5rd85j5xsjvflnki6s5cm56igjm0szxvgj39c"; + + configureFlags = [ + "--with-event-libevent-dir=${libevent.dev}" + "--with-event-core" + "--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 = [ pkg-config ]; + buildInputs = [ openssl libevent ]; + internalDeps = [ php.extensions.sockets ]; + + meta = with lib; { + description = '' + This is an extension to efficiently schedule I/O, time and signal based + events using the best I/O notification mechanism available for specific platform. + ''; + license = licenses.php301; + homepage = "https://bitbucket.org/osmanov/pecl-event/"; + maintainers = teams.php.members; + }; +} diff --git a/pkgs/development/php-packages/igbinary/default.nix b/pkgs/development/php-packages/igbinary/default.nix new file mode 100644 index 00000000000..258b0debbae --- /dev/null +++ b/pkgs/development/php-packages/igbinary/default.nix @@ -0,0 +1,19 @@ +{ buildPecl, lib }: + +buildPecl { + pname = "igbinary"; + + version = "3.2.3"; + sha256 = "1ffaqhckkk1qr5dk1fl7f8dm2w4lj4gqrgazzmc67acsdmp7z5f0"; + + configureFlags = [ "--enable-igbinary" ]; + makeFlags = [ "phpincludedir=$(dev)/include" ]; + outputs = [ "out" "dev" ]; + + meta = with lib; { + description = "Binary serialization for PHP"; + license = licenses.bsd3; + homepage = "https://github.com/igbinary/igbinary/"; + maintainers = teams.php.members; + }; +} diff --git a/pkgs/development/php-packages/imagick/default.nix b/pkgs/development/php-packages/imagick/default.nix new file mode 100644 index 00000000000..7da324b2e1a --- /dev/null +++ b/pkgs/development/php-packages/imagick/default.nix @@ -0,0 +1,19 @@ +{ buildPecl, lib, imagemagick, pkg-config, pcre2 }: + +buildPecl { + pname = "imagick"; + + version = "3.5.0"; + sha256 = "0afjyll6rr79am6d1p041bl4dj44hp9z4gzmlhrkvkdsdz1vfpbr"; + + configureFlags = [ "--with-imagick=${imagemagick.dev}" ]; + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ pcre2 ]; + + meta = with lib; { + description = "Imagick is a native php extension to create and modify images using the ImageMagick API"; + license = licenses.php301; + homepage = "https://pecl.php.net/package/imagick"; + maintainers = teams.php.members; + }; +} diff --git a/pkgs/development/php-packages/mailparse/default.nix b/pkgs/development/php-packages/mailparse/default.nix new file mode 100644 index 00000000000..1981b3d6aea --- /dev/null +++ b/pkgs/development/php-packages/mailparse/default.nix @@ -0,0 +1,20 @@ +{ buildPecl, lib, php }: + +buildPecl { + pname = "mailparse"; + + version = "3.1.1"; + sha256 = "02nfjbgyjbr48rw6r46gd713hkxh7nghg2rcbr726zhzz182c3y7"; + + internalDeps = [ php.extensions.mbstring ]; + postConfigure = '' + echo "#define HAVE_MBSTRING 1" >> config.h + ''; + + meta = with lib; { + description = "Mailparse is an extension for parsing and working with email messages"; + license = licenses.php301; + homepage = "https://pecl.php.net/package/mailparse"; + maintainers = lib.teams.php.members; + }; +} diff --git a/pkgs/development/php-packages/maxminddb/default.nix b/pkgs/development/php-packages/maxminddb/default.nix new file mode 100644 index 00000000000..eae232b6c01 --- /dev/null +++ b/pkgs/development/php-packages/maxminddb/default.nix @@ -0,0 +1,25 @@ +{ buildPecl, lib, fetchFromGitHub, libmaxminddb }: +let + pname = "maxminddb"; + version = "1.10.1"; +in +buildPecl { + inherit pname version; + + src = fetchFromGitHub { + owner = "maxmind"; + repo = "MaxMind-DB-Reader-php"; + rev = "v${version}"; + sha256 = "1m5y733x4ykldi1pym54mdahfwfnwy2r1n6fnndwi8jz9px9pa5k"; + }; + + buildInputs = [ libmaxminddb ]; + sourceRoot = "source/ext"; + + meta = with lib; { + description = "C extension that is a drop-in replacement for MaxMind\\Db\\Reader"; + license = with licenses; [ asl20 ]; + homepage = "https://github.com/maxmind/MaxMind-DB-Reader-php"; + maintainers = with maintainers; [ ajs124 das_j ] ++ teams.php.members; + }; +} diff --git a/pkgs/development/php-packages/memcached/default.nix b/pkgs/development/php-packages/memcached/default.nix new file mode 100644 index 00000000000..0aea58572cb --- /dev/null +++ b/pkgs/development/php-packages/memcached/default.nix @@ -0,0 +1,35 @@ +{ buildPecl, lib, fetchgit, php, cyrus_sasl, zlib, pkg-config, libmemcached }: +let + pname = "memcached"; + version = "3.1.5"; +in +buildPecl { + inherit pname version; + + src = fetchgit { + url = "https://github.com/php-memcached-dev/php-memcached"; + rev = "v${version}"; + sha256 = "01mbh2m3kfbdvih3c8g3g9h4vdd80r0i9g2z8b3lx3mi8mmcj380"; + }; + + internalDeps = [ + php.extensions.session + ] ++ lib.optionals (lib.versionOlder php.version "7.4") [ + php.extensions.hash + ]; + + configureFlags = [ + "--with-zlib-dir=${zlib.dev}" + "--with-libmemcached-dir=${libmemcached}" + ]; + + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ cyrus_sasl zlib ]; + + meta = with lib; { + description = "PHP extension for interfacing with memcached via libmemcached library"; + license = licenses.php301; + homepage = "https://github.com/php-memcached-dev/php-memcached"; + maintainers = teams.php.members; + }; +} diff --git a/pkgs/development/php-packages/mongodb/default.nix b/pkgs/development/php-packages/mongodb/default.nix new file mode 100644 index 00000000000..b65862750e7 --- /dev/null +++ b/pkgs/development/php-packages/mongodb/default.nix @@ -0,0 +1,36 @@ +{ stdenv +, buildPecl +, lib +, pcre2 +, pkg-config +, cyrus_sasl +, icu64 +, openssl +, snappy +, zlib +, darwin +}: + +buildPecl { + pname = "mongodb"; + + version = "1.9.1"; + sha256 = "1mzyssy2a89grw7rwmh0x22lql377nmnqlcv9piam1c32qiwxlg9"; + + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ + cyrus_sasl + icu64 + openssl + snappy + zlib + pcre2 + ] ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security; + + meta = with lib; { + description = "MongoDB driver for PHP"; + license = licenses.asl20; + homepage = "https://docs.mongodb.com/drivers/php/"; + maintainers = teams.php.members; + }; +} diff --git a/pkgs/development/php-packages/oci8/default.nix b/pkgs/development/php-packages/oci8/default.nix new file mode 100644 index 00000000000..eb65b5a27cd --- /dev/null +++ b/pkgs/development/php-packages/oci8/default.nix @@ -0,0 +1,20 @@ +{ buildPecl, lib, version, sha256, oracle-instantclient }: +buildPecl { + pname = "oci8"; + + inherit version sha256; + + buildInputs = [ oracle-instantclient ]; + configureFlags = [ "--with-oci8=shared,instantclient,${oracle-instantclient.lib}/lib" ]; + + postPatch = '' + sed -i -e 's|OCISDKMANINC=`.*$|OCISDKMANINC="${oracle-instantclient.dev}/include"|' config.m4 + ''; + + meta = with lib; { + description = "Extension for Oracle Database"; + license = licenses.php301; + homepage = "https://pecl.php.net/package/oci8"; + maintainers = teams.php.members; + }; +} diff --git a/pkgs/development/php-packages/pcov/default.nix b/pkgs/development/php-packages/pcov/default.nix new file mode 100644 index 00000000000..f0e3e75c71c --- /dev/null +++ b/pkgs/development/php-packages/pcov/default.nix @@ -0,0 +1,17 @@ +{ buildPecl, lib, pcre2 }: + +buildPecl { + pname = "pcov"; + + version = "1.0.9"; + sha256 = "0q2ig5lxzpwz3qgr05wcyh5jzhfxlygkv6nj6jagkhiialng2710"; + + buildInputs = [ pcre2 ]; + + meta = with lib; { + description = "A self contained php-code-coverage compatible driver for PHP."; + license = licenses.php301; + homepage = "https://github.com/krakjoe/pcov"; + maintainers = teams.php.members; + }; +} diff --git a/pkgs/development/php-packages/pdlib/default.nix b/pkgs/development/php-packages/pdlib/default.nix new file mode 100644 index 00000000000..5a1e431d52d --- /dev/null +++ b/pkgs/development/php-packages/pdlib/default.nix @@ -0,0 +1,25 @@ +{ buildPecl, fetchFromGitHub, lib, pkg-config, dlib }: +let + pname = "pdlib"; + version = "1.0.2"; +in +buildPecl { + inherit pname version; + + src = fetchFromGitHub { + owner = "goodspb"; + repo = "pdlib"; + rev = "v${version}"; + sha256 = "0qnmqwlw5vb2rvliap4iz9val6mal4qqixcw69pwskdw5jka6v5i"; + }; + + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ (dlib.override { guiSupport = true; }) ]; + + meta = with lib; { + description = "A PHP extension for Dlib"; + license = with licenses; [ mit ]; + homepage = "https://github.com/goodspb/pdlib"; + maintainers = lib.teams.php.members; + }; +} diff --git a/pkgs/development/php-packages/pdo_sqlsrv/default.nix b/pkgs/development/php-packages/pdo_sqlsrv/default.nix new file mode 100644 index 00000000000..ab7e6e71fea --- /dev/null +++ b/pkgs/development/php-packages/pdo_sqlsrv/default.nix @@ -0,0 +1,19 @@ +{ stdenv, buildPecl, lib, libiconv, unixODBC, php }: + +buildPecl { + pname = "pdo_sqlsrv"; + + version = "5.9.0"; + sha256 = "0n4cnkldvyp1lrpj18ky2ii2dcaa51dsmh8cspixm7w76dxl3khg"; + + internalDeps = [ php.extensions.pdo ]; + + buildInputs = [ unixODBC ] ++ lib.optionals stdenv.isDarwin [ libiconv ]; + + meta = with lib; { + description = "Microsoft Drivers for PHP for SQL Server"; + license = licenses.mit; + homepage = "https://github.com/Microsoft/msphpsql"; + maintainers = teams.php.members; + }; +} diff --git a/pkgs/development/php-packages/php-cs-fixer/default.nix b/pkgs/development/php-packages/php-cs-fixer/default.nix new file mode 100644 index 00000000000..0c76ff56a60 --- /dev/null +++ b/pkgs/development/php-packages/php-cs-fixer/default.nix @@ -0,0 +1,30 @@ +{ mkDerivation, fetchurl, makeWrapper, lib, php }: +let + pname = "php-cs-fixer"; + version = "3.0.0"; +in +mkDerivation { + inherit pname version; + + src = fetchurl { + url = "https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v${version}/php-cs-fixer.phar"; + sha256 = "141rkcr0wbsqnc4s5vg4bk4dmxwigwxa3j0vi5c42b5k1lq3sgwr"; + }; + + phases = [ "installPhase" ]; + nativeBuildInputs = [ makeWrapper ]; + + installPhase = '' + mkdir -p $out/bin + install -D $src $out/libexec/php-cs-fixer/php-cs-fixer.phar + makeWrapper ${php}/bin/php $out/bin/php-cs-fixer \ + --add-flags "$out/libexec/php-cs-fixer/php-cs-fixer.phar" + ''; + + meta = with lib; { + description = "A tool to automatically fix PHP coding standards issues"; + license = licenses.mit; + homepage = "http://cs.sensiolabs.org/"; + maintainers = with maintainers; [ jtojnar ] ++ teams.php.members; + }; +} diff --git a/pkgs/development/php-packages/php-parallel-lint/default.nix b/pkgs/development/php-packages/php-parallel-lint/default.nix new file mode 100644 index 00000000000..50fd23540ee --- /dev/null +++ b/pkgs/development/php-packages/php-parallel-lint/default.nix @@ -0,0 +1,40 @@ +{ mkDerivation, fetchFromGitHub, makeWrapper, lib, php }: +let + pname = "php-parallel-lint"; + version = "1.0.0"; +in +mkDerivation { + inherit pname version; + + src = fetchFromGitHub { + owner = "JakubOnderka"; + repo = "PHP-Parallel-Lint"; + rev = "v${version}"; + sha256 = "16nv8yyk2z3l213dg067l6di4pigg5rd8yswr5xgd18jwbys2vnw"; + }; + + nativeBuildInputs = [ + makeWrapper + php.packages.composer + php.packages.box + ]; + + buildPhase = '' + composer dump-autoload + box build + ''; + + installPhase = '' + mkdir -p $out/bin + install -D parallel-lint.phar $out/libexec/php-parallel-lint/php-parallel-lint.phar + makeWrapper ${php}/bin/php $out/bin/php-parallel-lint \ + --add-flags "$out/libexec/php-parallel-lint/php-parallel-lint.phar" + ''; + + meta = with lib; { + description = "Tool to check syntax of PHP files faster than serial check with fancier output"; + license = licenses.bsd2; + homepage = "https://github.com/JakubOnderka/PHP-Parallel-Lint"; + maintainers = with maintainers; [ jtojnar ] ++ teams.php.members; + }; +} diff --git a/pkgs/development/php-packages/php_excel/default.nix b/pkgs/development/php-packages/php_excel/default.nix new file mode 100644 index 00000000000..0930926a06e --- /dev/null +++ b/pkgs/development/php-packages/php_excel/default.nix @@ -0,0 +1,30 @@ +{ buildPecl, fetchurl, lib, libxl, php }: +let + pname = "php_excel"; + phpVersion = "php7"; + version = "1.0.2"; +in +buildPecl { + inherit pname version; + + src = fetchurl { + url = "https://github.com/iliaal/php_excel/releases/download/Excel-1.0.2-PHP7/excel-${version}-${phpVersion}.tgz"; + sha256 = "0dpvih9gpiyh1ml22zi7hi6kslkilzby00z1p8x248idylldzs2n"; + }; + + buildInputs = [ libxl ]; + + configureFlags = [ + "--with-excel" + "--with-libxl-incdir=${libxl}/include_c" + "--with-libxl-libdir=${libxl}/lib" + ]; + + meta = with lib; { + description = "PHP Extension interface to the Excel writing/reading library"; + license = licenses.php301; + homepage = "https://github.com/iliaal/php_excel"; + maintainers = lib.teams.php.members; + broken = lib.versionAtLeast php.version "8.0"; + }; +} diff --git a/pkgs/development/php-packages/phpcbf/default.nix b/pkgs/development/php-packages/phpcbf/default.nix new file mode 100644 index 00000000000..caf3b515aab --- /dev/null +++ b/pkgs/development/php-packages/phpcbf/default.nix @@ -0,0 +1,30 @@ +{ mkDerivation, fetchurl, lib, php, makeWrapper }: +let + pname = "phpcbf"; + version = "3.6.0"; +in +mkDerivation { + inherit pname version; + + src = fetchurl { + url = "https://github.com/squizlabs/PHP_CodeSniffer/releases/download/${version}/phpcbf.phar"; + sha256 = "04wb1imm4934mpy2hxcmqh4cn7md1vwmfii39p6mby809325b5z1"; + }; + + phases = [ "installPhase" ]; + nativeBuildInputs = [ makeWrapper ]; + + installPhase = '' + mkdir -p $out/bin + install -D $src $out/libexec/phpcbf/phpcbf.phar + makeWrapper ${php}/bin/php $out/bin/phpcbf \ + --add-flags "$out/libexec/phpcbf/phpcbf.phar" + ''; + + meta = with lib; { + description = "PHP coding standard beautifier and fixer"; + license = licenses.bsd3; + homepage = "https://squizlabs.github.io/PHP_CodeSniffer/"; + maintainers = with maintainers; [ cmcdragonkai ] ++ teams.php.members; + }; +} diff --git a/pkgs/development/php-packages/phpcs/default.nix b/pkgs/development/php-packages/phpcs/default.nix new file mode 100644 index 00000000000..87433066ea9 --- /dev/null +++ b/pkgs/development/php-packages/phpcs/default.nix @@ -0,0 +1,30 @@ +{ mkDerivation, fetchurl, makeWrapper, lib, php }: +let + pname = "phpcs"; + version = "3.6.0"; +in +mkDerivation { + inherit pname version; + + src = fetchurl { + url = "https://github.com/squizlabs/PHP_CodeSniffer/releases/download/${version}/phpcs.phar"; + sha256 = "0sdi78hrwd3r5p1b38qmp89m41kfszh2qn4n5zhq2dmhsjdhjziz"; + }; + + phases = [ "installPhase" ]; + nativeBuildInputs = [ makeWrapper ]; + + installPhase = '' + mkdir -p $out/bin + install -D $src $out/libexec/phpcs/phpcs.phar + makeWrapper ${php}/bin/php $out/bin/phpcs \ + --add-flags "$out/libexec/phpcs/phpcs.phar" + ''; + + meta = with lib; { + description = "PHP coding standard tool"; + license = licenses.bsd3; + homepage = "https://squizlabs.github.io/PHP_CodeSniffer/"; + maintainers = with maintainers; [ javaguirre ] ++ teams.php.members; + }; +} diff --git a/pkgs/development/php-packages/phpmd/default.nix b/pkgs/development/php-packages/phpmd/default.nix new file mode 100644 index 00000000000..bf6979f88ea --- /dev/null +++ b/pkgs/development/php-packages/phpmd/default.nix @@ -0,0 +1,31 @@ +{ mkDerivation, fetchurl, makeWrapper, lib, php }: +let + pname = "phpmd"; + version = "2.8.2"; +in +mkDerivation { + inherit pname version; + + src = fetchurl { + url = "https://github.com/phpmd/phpmd/releases/download/${version}/phpmd.phar"; + sha256 = "1i8qgzxniw5d8zjpypalm384y7qfczapfq70xmg129laq6xiqlqb"; + }; + + phases = [ "installPhase" ]; + nativeBuildInputs = [ makeWrapper ]; + + installPhase = '' + mkdir -p $out/bin + install -D $src $out/libexec/phpmd/phpmd.phar + makeWrapper ${php}/bin/php $out/bin/phpmd \ + --add-flags "$out/libexec/phpmd/phpmd.phar" + ''; + + meta = with lib; { + description = "PHP code quality analyzer"; + license = licenses.bsd3; + homepage = "https://phpmd.org/"; + maintainers = teams.php.members; + broken = versionAtLeast php.version "7.4"; + }; +} diff --git a/pkgs/development/php-packages/phpstan/default.nix b/pkgs/development/php-packages/phpstan/default.nix new file mode 100644 index 00000000000..048ae71ff29 --- /dev/null +++ b/pkgs/development/php-packages/phpstan/default.nix @@ -0,0 +1,37 @@ +{ mkDerivation, fetchurl, makeWrapper, lib, php }: +let + pname = "phpstan"; + version = "0.12.90"; +in +mkDerivation { + inherit pname version; + + src = fetchurl { + url = "https://github.com/phpstan/phpstan/releases/download/${version}/phpstan.phar"; + sha256 = "0f8858w9b421s3dfz8a56g0mik4zyi1lp88lijw4zs2d94dcdl9s"; + }; + + phases = [ "installPhase" ]; + nativeBuildInputs = [ makeWrapper ]; + + installPhase = '' + mkdir -p $out/bin + install -D $src $out/libexec/phpstan/phpstan.phar + makeWrapper ${php}/bin/php $out/bin/phpstan \ + --add-flags "$out/libexec/phpstan/phpstan.phar" + ''; + + meta = with lib; { + description = "PHP Static Analysis Tool"; + longDescription = '' + PHPStan focuses on finding errors in your code without actually + running it. It catches whole classes of bugs even before you write + tests for the code. It moves PHP closer to compiled languages in the + sense that the correctness of each line of the code can be checked + before you run the actual line. + ''; + license = licenses.mit; + homepage = "https://github.com/phpstan/phpstan"; + maintainers = teams.php.members; + }; +} diff --git a/pkgs/development/php-packages/pinba/default.nix b/pkgs/development/php-packages/pinba/default.nix new file mode 100644 index 00000000000..1649da7c654 --- /dev/null +++ b/pkgs/development/php-packages/pinba/default.nix @@ -0,0 +1,24 @@ +{ buildPecl, lib, fetchFromGitHub }: + +buildPecl { + pname = "pinba"; + version = "1.1.2"; + + src = fetchFromGitHub { + owner = "tony2001"; + repo = "pinba_extension"; + rev = "RELEASE_1_1_2"; + sha256 = "0wqcqq6sb51wiawa37hbd1h9dbvmyyndzdvz87xqji7lpr9vn8jy"; + }; + + meta = with 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. + ''; + license = licenses.lgpl2Plus; + homepage = "http://pinba.org/"; + maintainers = teams.php.members; + }; +} diff --git a/pkgs/development/php-packages/protobuf/default.nix b/pkgs/development/php-packages/protobuf/default.nix new file mode 100644 index 00000000000..87007b1ea12 --- /dev/null +++ b/pkgs/development/php-packages/protobuf/default.nix @@ -0,0 +1,19 @@ +{ buildPecl, lib, pcre2 }: + +buildPecl { + pname = "protobuf"; + + version = "3.17.3"; + sha256 = "05nn6ps271vwrbr9w08lyyzsszabnqhz1x0vbblg0q8y2xrmb6dl"; + + buildInputs = [ pcre2 ]; + + meta = with lib; { + description = '' + Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data. + ''; + license = licenses.bsd3; + homepage = "https://developers.google.com/protocol-buffers/"; + maintainers = teams.php.members; + }; +} diff --git a/pkgs/development/php-packages/psalm/default.nix b/pkgs/development/php-packages/psalm/default.nix new file mode 100644 index 00000000000..b5c5550806f --- /dev/null +++ b/pkgs/development/php-packages/psalm/default.nix @@ -0,0 +1,30 @@ +{ mkDerivation, fetchurl, makeWrapper, lib, php }: +let + pname = "psalm"; + version = "4.7.3"; +in +mkDerivation { + inherit pname version; + + src = fetchurl { + url = "https://github.com/vimeo/psalm/releases/download/${version}/psalm.phar"; + sha256 = "0d8gxkpm4rc00a8br5wzjpglkwx95kr15s4z3cvxyf6iik1j5r47"; + }; + + phases = [ "installPhase" ]; + nativeBuildInputs = [ makeWrapper ]; + + installPhase = '' + mkdir -p $out/bin + install -D $src $out/libexec/psalm/psalm.phar + makeWrapper ${php}/bin/php $out/bin/psalm \ + --add-flags "$out/libexec/psalm/psalm.phar" + ''; + + meta = with lib; { + description = "A static analysis tool for finding errors in PHP applications"; + license = licenses.mit; + homepage = "https://github.com/vimeo/psalm"; + maintainers = teams.php.members; + }; +} diff --git a/pkgs/development/php-packages/psysh/default.nix b/pkgs/development/php-packages/psysh/default.nix new file mode 100644 index 00000000000..c12eb6b4585 --- /dev/null +++ b/pkgs/development/php-packages/psysh/default.nix @@ -0,0 +1,30 @@ +{ mkDerivation, fetchurl, makeWrapper, lib, php }: +let + pname = "psysh"; + version = "0.10.8"; +in +mkDerivation { + inherit pname version; + + src = fetchurl { + url = "https://github.com/bobthecow/psysh/releases/download/v${version}/psysh-v${version}.tar.gz"; + sha256 = "sha256-6opSBKR5eI5HlaJy4A94JrxYfUtCCNVlyntmLZbWfOE="; + }; + + phases = [ "installPhase" ]; + nativeBuildInputs = [ makeWrapper ]; + + installPhase = '' + mkdir -p $out/bin + tar -xzf $src -C $out/bin + chmod +x $out/bin/psysh + wrapProgram $out/bin/psysh --prefix PATH : "${lib.makeBinPath [ php ]}" + ''; + + meta = with lib; { + description = "PsySH is a runtime developer console, interactive debugger and REPL for PHP."; + license = licenses.mit; + homepage = "https://psysh.org/"; + maintainers = with maintainers; [ caugner ] ++ teams.php.members; + }; +} diff --git a/pkgs/development/php-packages/rdkafka/default.nix b/pkgs/development/php-packages/rdkafka/default.nix new file mode 100644 index 00000000000..1b963a01ad5 --- /dev/null +++ b/pkgs/development/php-packages/rdkafka/default.nix @@ -0,0 +1,22 @@ +{ buildPecl, lib, rdkafka, pcre2 }: + +buildPecl { + pname = "rdkafka"; + + version = "5.0.0"; + sha256 = "sha256-Qy+6rkPczhdxFbDhcuzmUTLMPUXYZ0HaheDBhkh4FXs="; + + buildInputs = [ rdkafka pcre2 ]; + + postPhpize = '' + substituteInPlace configure \ + --replace 'SEARCH_PATH="/usr/local /usr"' 'SEARCH_PATH=${rdkafka}' + ''; + + meta = with lib; { + description = "Kafka client based on librdkafka"; + license = licenses.mit; + homepage = "https://github.com/arnaud-lb/php-rdkafka"; + maintainers = teams.php.members; + }; +} diff --git a/pkgs/development/php-packages/redis/default.nix b/pkgs/development/php-packages/redis/default.nix new file mode 100644 index 00000000000..56e8a0a1fae --- /dev/null +++ b/pkgs/development/php-packages/redis/default.nix @@ -0,0 +1,23 @@ +{ buildPecl, lib, php }: + +buildPecl { + pname = "redis"; + + version = "5.3.4"; + sha256 = "1k5l7xxb06rlwq9jbmbbr03pc74d75vgv7h5bqjkbwan6dphafab"; + + internalDeps = with php.extensions; [ + session + ] ++ lib.optionals (lib.versionOlder php.version "8.0") [ + json + ] ++ lib.optionals (lib.versionOlder php.version "7.4") [ + hash + ]; + + meta = with lib; { + description = "PHP extension for interfacing with Redis"; + license = licenses.php301; + homepage = "https://github.com/phpredis/phpredis/"; + maintainers = teams.php.members; + }; +} diff --git a/pkgs/development/php-packages/smbclient/default.nix b/pkgs/development/php-packages/smbclient/default.nix new file mode 100644 index 00000000000..65cfad9ea3a --- /dev/null +++ b/pkgs/development/php-packages/smbclient/default.nix @@ -0,0 +1,19 @@ +{ buildPecl, lib, samba, pkg-config }: +buildPecl { + pname = "smbclient"; + version = "1.0.6"; + sha256 = "sha256-ZsQzdDt6NLRWBsA75om9zkxSvB6zBsvvPhXJZrX/KNc="; + + # TODO: remove this when upstream merges a fix - https://github.com/eduardok/libsmbclient-php/pull/66 + LIBSMBCLIENT_INCDIR = "${samba.dev}/include/samba-4.0"; + + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ samba ]; + + meta = with lib; { + description = "PHP wrapper for libsmbclient"; + license = licenses.bsd2; + homepage = "https://github.com/eduardok/libsmbclient-php"; + maintainers = teams.php.members; + }; +} diff --git a/pkgs/development/php-packages/snuffleupagus/default.nix b/pkgs/development/php-packages/snuffleupagus/default.nix new file mode 100644 index 00000000000..4318a49a8aa --- /dev/null +++ b/pkgs/development/php-packages/snuffleupagus/default.nix @@ -0,0 +1,53 @@ +{ buildPecl +, lib +, php +, fetchFromGitHub +, pcre2 +, fetchpatch +}: + +buildPecl rec { + pname = "snuffleupagus"; + version = "0.7.0"; + src = fetchFromGitHub { + owner = "jvoisin"; + repo = pname; + rev = "v${version}"; + sha256 = "1la6wa9xznc110b7isiy502x71mkvhisq6m8llhczpq4rs4nbcw2"; + }; + + buildInputs = [ + pcre2 + ]; + + internalDeps = with php.extensions; [ + session + ] ++ lib.optionals (lib.versionOlder php.version "7.4") [ + hash + ]; + + patches = [ + (fetchpatch { + url = "https://github.com/jvoisin/snuffleupagus/commit/3c528d9d03cec872382a6f400b5701a8fbfd59b4.patch"; + sha256 = "0lnj4xcl867f477mha697d1py1nwxhl18dvvg40qgflpdbywlzns"; + stripLen = 1; + }) + ]; + + sourceRoot = "source/src"; + + configureFlags = [ + "--enable-snuffleupagus" + ]; + + postPhpize = '' + ./configure --enable-snuffleupagus + ''; + + meta = with lib; { + description = "Security module for php7 and php8 - Killing bugclasses and virtual-patching the rest!"; + license = licenses.lgpl3Only; + homepage = "https://github.com/jvoisin/snuffleupagus"; + maintainers = teams.php.members ++ [ maintainers.zupo ]; + }; +} diff --git a/pkgs/development/php-packages/sqlsrv/default.nix b/pkgs/development/php-packages/sqlsrv/default.nix new file mode 100644 index 00000000000..37ff1cb187e --- /dev/null +++ b/pkgs/development/php-packages/sqlsrv/default.nix @@ -0,0 +1,19 @@ +{ stdenv, buildPecl, lib, unixODBC, libiconv }: + +buildPecl { + pname = "sqlsrv"; + + version = "5.9.0"; + sha256 = "1css440b4qrbblmcswd5wdr2v1rjxlj2iicbmvjq9fg81028w40a"; + + buildInputs = [ + unixODBC + ] ++ lib.optionals stdenv.isDarwin [ libiconv ]; + + meta = with lib; { + description = "Microsoft Drivers for PHP for SQL Server"; + license = licenses.mit; + homepage = "https://github.com/Microsoft/msphpsql"; + maintainers = teams.php.members; + }; +} diff --git a/pkgs/development/php-packages/swoole/default.nix b/pkgs/development/php-packages/swoole/default.nix new file mode 100644 index 00000000000..c9ec1b3938f --- /dev/null +++ b/pkgs/development/php-packages/swoole/default.nix @@ -0,0 +1,21 @@ +{ lib, buildPecl, php, valgrind, pcre2 }: + +buildPecl { + pname = "swoole"; + + version = "4.6.7"; + sha256 = "107wp403z8skkqrcm240vyyy6wqx5a4v2bqhlshlknyi14r2v165"; + + buildInputs = [ valgrind pcre2 ]; + internalDeps = lib.optionals (lib.versionOlder php.version "7.4") [ php.extensions.hash ]; + + doCheck = true; + checkTarget = "tests"; + + meta = with lib; { + description = "Coroutine-based concurrency library for PHP"; + license = licenses.asl20; + homepage = "https://www.swoole.co.uk/"; + maintainers = teams.php.members; + }; +} diff --git a/pkgs/development/php-packages/xdebug/default.nix b/pkgs/development/php-packages/xdebug/default.nix new file mode 100644 index 00000000000..43387380dda --- /dev/null +++ b/pkgs/development/php-packages/xdebug/default.nix @@ -0,0 +1,20 @@ +{ buildPecl, lib }: + +buildPecl { + pname = "xdebug"; + + version = "3.0.4"; + sha256 = "1bvjmnx9bcfq4ikp02kiqg0f7ccgx4mkmz5d7g6v0d263x4r0wmj"; + + doCheck = true; + checkTarget = "test"; + + zendExtension = true; + + meta = with lib; { + description = "Provides functions for function traces and profiling"; + license = licenses.php301; + homepage = "https://xdebug.org/"; + maintainers = teams.php.members; + }; +} diff --git a/pkgs/development/php-packages/yaml/default.nix b/pkgs/development/php-packages/yaml/default.nix new file mode 100644 index 00000000000..ef58b315fae --- /dev/null +++ b/pkgs/development/php-packages/yaml/default.nix @@ -0,0 +1,19 @@ +{ buildPecl, lib, pkg-config, libyaml }: + +buildPecl { + pname = "yaml"; + + version = "2.2.1"; + sha256 = "sha256-4XrQTnUuJf0Jm93S350m3+8YPI0AxBebydei4cl9eBk="; + + configureFlags = [ "--with-yaml=${libyaml}" ]; + + nativeBuildInputs = [ pkg-config ]; + + meta = with lib; { + description = "YAML-1.1 parser and emitter"; + license = licenses.mit; + homepage = "http://bd808.com/pecl-file_formats-yaml/"; + maintainers = teams.php.members; + }; +} |