diff options
Diffstat (limited to 'nixpkgs/pkgs/development/php-packages')
35 files changed, 881 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/php-packages/apcu/default.nix b/nixpkgs/pkgs/development/php-packages/apcu/default.nix new file mode 100644 index 000000000000..04b611fd598f --- /dev/null +++ b/nixpkgs/pkgs/development/php-packages/apcu/default.nix @@ -0,0 +1,17 @@ +{ buildPecl, lib, pcre' }: + +buildPecl { + pname = "apcu"; + + version = "5.1.19"; + sha256 = "1q3c4y9jqh1yz5vps2iiz2x04vn0y1g5ibxg1x8zp7n7sncvqzw3"; + + buildInputs = [ pcre' ]; + doCheck = true; + checkTarget = "test"; + checkFlagsArray = [ "REPORT_EXIT_STATUS=1" "NO_INTERACTION=1" ]; + makeFlags = [ "phpincludedir=$(dev)/include" ]; + outputs = [ "out" "dev" ]; + + meta.maintainers = lib.teams.php.members; +} diff --git a/nixpkgs/pkgs/development/php-packages/apcu_bc/default.nix b/nixpkgs/pkgs/development/php-packages/apcu_bc/default.nix new file mode 100644 index 000000000000..132a25a2df4c --- /dev/null +++ b/nixpkgs/pkgs/development/php-packages/apcu_bc/default.nix @@ -0,0 +1,18 @@ +{ buildPecl, lib, pcre', php }: + +buildPecl { + pname = "apcu_bc"; + + version = "1.0.5"; + sha256 = "0ma00syhk2ps9k9p02jz7rii6x3i2p986il23703zz5npd6y9n20"; + + peclDeps = [ php.extensions.apcu ]; + + buildInputs = [ pcre' ]; + + postInstall = '' + mv $out/lib/php/extensions/apc.so $out/lib/php/extensions/apcu_bc.so + ''; + + meta.maintainers = lib.teams.php.members; +} diff --git a/nixpkgs/pkgs/development/php-packages/ast/default.nix b/nixpkgs/pkgs/development/php-packages/ast/default.nix new file mode 100644 index 000000000000..fb609b9f04f2 --- /dev/null +++ b/nixpkgs/pkgs/development/php-packages/ast/default.nix @@ -0,0 +1,10 @@ +{ buildPecl, lib }: + +buildPecl { + pname = "ast"; + + version = "1.0.10"; + sha256 = "13s5r1szd80g1mqickghdd38mvjkwss221322mmbrykcfgp4fs30"; + + meta.maintainers = lib.teams.php.members; +} diff --git a/nixpkgs/pkgs/development/php-packages/box/default.nix b/nixpkgs/pkgs/development/php-packages/box/default.nix new file mode 100644 index 000000000000..8d6bba3e460c --- /dev/null +++ b/nixpkgs/pkgs/development/php-packages/box/default.nix @@ -0,0 +1,30 @@ +{ mkDerivation, fetchurl, pkgs, 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 = [ pkgs.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/nixpkgs/pkgs/development/php-packages/composer/2.0.nix b/nixpkgs/pkgs/development/php-packages/composer/2.0.nix new file mode 100644 index 000000000000..4ff982bf8d2d --- /dev/null +++ b/nixpkgs/pkgs/development/php-packages/composer/2.0.nix @@ -0,0 +1,32 @@ +{ mkDerivation, fetchurl, pkgs, lib, php }: +let + pname = "composer"; + version = "2.0.8"; +in +mkDerivation { + inherit pname version; + + src = fetchurl { + url = "https://getcomposer.org/download/${version}/composer.phar"; + sha256 = "0f0msrqrszhwj7ki9y5wrlwglwanmdcc132l7kz0wvj45gaz0890"; + }; + + dontUnpack = true; + + nativeBuildInputs = [ pkgs.makeWrapper ]; + + installPhase = '' + 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 : ${pkgs.lib.makeBinPath [ pkgs.unzip ]} + ''; + + meta = with pkgs.lib; { + description = "Dependency Manager for PHP"; + license = licenses.mit; + homepage = "https://getcomposer.org/"; + maintainers = with maintainers; [ offline ] ++ teams.php.members; + }; +} diff --git a/nixpkgs/pkgs/development/php-packages/composer/default.nix b/nixpkgs/pkgs/development/php-packages/composer/default.nix new file mode 100644 index 000000000000..37c983507ce3 --- /dev/null +++ b/nixpkgs/pkgs/development/php-packages/composer/default.nix @@ -0,0 +1,32 @@ +{ mkDerivation, fetchurl, pkgs, lib, php }: +let + pname = "composer"; + version = "1.10.15"; +in +mkDerivation { + inherit pname version; + + src = fetchurl { + url = "https://getcomposer.org/download/${version}/composer.phar"; + sha256 = "1shsxsrc2kq74s1jbq3njn9wzidcz7ak66n9vyz8z8d0hqpg37d6"; + }; + + dontUnpack = true; + + nativeBuildInputs = [ pkgs.makeWrapper ]; + + installPhase = '' + 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 : ${pkgs.lib.makeBinPath [ pkgs.unzip ]} + ''; + + meta = with pkgs.lib; { + description = "Dependency Manager for PHP"; + license = licenses.mit; + homepage = "https://getcomposer.org/"; + maintainers = with maintainers; [ offline ] ++ teams.php.members; + }; +} diff --git a/nixpkgs/pkgs/development/php-packages/couchbase/default.nix b/nixpkgs/pkgs/development/php-packages/couchbase/default.nix new file mode 100644 index 000000000000..4ec718469197 --- /dev/null +++ b/nixpkgs/pkgs/development/php-packages/couchbase/default.nix @@ -0,0 +1,49 @@ +{ buildPecl, lib, pkgs, php }: +let + pname = "couchbase"; + version = "2.6.2"; +in +buildPecl { + inherit pname version; + + src = pkgs.fetchFromGitHub { + owner = "couchbase"; + repo = "php-couchbase"; + rev = "v${version}"; + sha256 = "0ymrymnz91qg9b2ns044qg46wc65dffhxx402wpx1b5cj2vr4ma3"; + }; + + configureFlags = [ "--with-couchbase" ]; + broken = lib.versionAtLeast php.version "8.0"; + + buildInputs = with pkgs; [ libcouchbase zlib ]; + internalDeps = [] ++ lib.optionals (lib.versionOlder php.version "8.0") [ php.extensions.json ]; + peclDeps = [ php.extensions.igbinary ]; + + patches = [ + (pkgs.writeText "php-couchbase.patch" '' + --- a/config.m4 + +++ b/config.m4 + @@ -9,7 +9,7 @@ if test "$PHP_COUCHBASE" != "no"; then + LIBCOUCHBASE_DIR=$PHP_COUCHBASE + else + AC_MSG_CHECKING(for libcouchbase in default path) + - for i in /usr/local /usr; do + + for i in ${pkgs.libcouchbase}; do + if test -r $i/include/libcouchbase/couchbase.h; then + LIBCOUCHBASE_DIR=$i + AC_MSG_RESULT(found in $i) + @@ -154,6 +154,8 @@ COUCHBASE_FILES=" \ + igbinary_inc_path="$phpincludedir" + elif test -f "$phpincludedir/ext/igbinary/igbinary.h"; then + igbinary_inc_path="$phpincludedir" + + elif test -f "${php.extensions.igbinary.dev}/include/ext/igbinary/igbinary.h"; then + + igbinary_inc_path="${php.extensions.igbinary.dev}/include" + fi + if test "$igbinary_inc_path" = ""; then + AC_MSG_WARN([Cannot find igbinary.h]) + '') + ]; + + meta.maintainers = lib.teams.php.members; +} diff --git a/nixpkgs/pkgs/development/php-packages/event/default.nix b/nixpkgs/pkgs/development/php-packages/event/default.nix new file mode 100644 index 000000000000..940150ac9867 --- /dev/null +++ b/nixpkgs/pkgs/development/php-packages/event/default.nix @@ -0,0 +1,34 @@ +{ buildPecl, lib, pkgs, php }: +buildPecl { + pname = "event"; + + version = "3.0.2"; + sha256 = "1ws4l014z52vb23xbsfj6viwkf7fmh462af639xgbp0n6syf77dq"; + + configureFlags = [ + "--with-event-libevent-dir=${pkgs.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 = [ pkgs.pkg-config ]; + buildInputs = with pkgs; [ openssl libevent ]; + internalDeps = [ php.extensions.sockets ]; + + meta = with pkgs.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/nixpkgs/pkgs/development/php-packages/igbinary/default.nix b/nixpkgs/pkgs/development/php-packages/igbinary/default.nix new file mode 100644 index 000000000000..7a321cc90b4e --- /dev/null +++ b/nixpkgs/pkgs/development/php-packages/igbinary/default.nix @@ -0,0 +1,14 @@ +{ buildPecl, lib }: + +buildPecl { + pname = "igbinary"; + + version = "3.2.1"; + sha256 = "sha256-YBYgz/07PlWWIAmcBWm4xCR/Ap7BitwCBr8m+ONXU9s="; + + configureFlags = [ "--enable-igbinary" ]; + makeFlags = [ "phpincludedir=$(dev)/include" ]; + outputs = [ "out" "dev" ]; + + meta.maintainers = lib.teams.php.members; +} diff --git a/nixpkgs/pkgs/development/php-packages/imagick/default.nix b/nixpkgs/pkgs/development/php-packages/imagick/default.nix new file mode 100644 index 000000000000..f697b44affd6 --- /dev/null +++ b/nixpkgs/pkgs/development/php-packages/imagick/default.nix @@ -0,0 +1,27 @@ +{ buildPecl, fetchpatch, lib, pkgs, pcre' }: + +buildPecl { + pname = "imagick"; + + version = "3.4.4"; + sha256 = "0xvhaqny1v796ywx83w7jyjyd0nrxkxf34w9zi8qc8aw8qbammcd"; + + patches = [ + # Fix compatibility with PHP 8. + (fetchpatch { + url = "https://github.com/Imagick/imagick/pull/336.patch"; + sha256 = "nuRdh02qaMx0s/5OzlfWjyYgZG1zgrYnAjsZ/UVIrUM="; + }) + # Fix detection of ImageMagick 7. + (fetchpatch { + url = "https://github.com/Imagick/imagick/commit/09551fbf38c16cdaf4ade7c08744501cd82d2747.patch"; + sha256 = "qUeQHP08kKOzuQdEpR8RSZ18Yhi0U9z24KwQcAx1UVg="; + }) + ]; + + configureFlags = [ "--with-imagick=${pkgs.imagemagick7.dev}" ]; + nativeBuildInputs = [ pkgs.pkg-config ]; + buildInputs = [ pcre' ]; + + meta.maintainers = lib.teams.php.members; +} diff --git a/nixpkgs/pkgs/development/php-packages/mailparse/default.nix b/nixpkgs/pkgs/development/php-packages/mailparse/default.nix new file mode 100644 index 000000000000..820bbbdbad6b --- /dev/null +++ b/nixpkgs/pkgs/development/php-packages/mailparse/default.nix @@ -0,0 +1,15 @@ +{ 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.maintainers = lib.teams.php.members; +} diff --git a/nixpkgs/pkgs/development/php-packages/maxminddb/default.nix b/nixpkgs/pkgs/development/php-packages/maxminddb/default.nix new file mode 100644 index 000000000000..2533a6ef06db --- /dev/null +++ b/nixpkgs/pkgs/development/php-packages/maxminddb/default.nix @@ -0,0 +1,24 @@ +{ buildPecl, lib, pkgs }: +let + pname = "maxminddb"; + version = "1.9.0"; +in +buildPecl { + inherit pname version; + + src = pkgs.fetchFromGitHub { + owner = "maxmind"; + repo = "MaxMind-DB-Reader-php"; + rev = "v${version}"; + sha256 = "sha256-sNG2FhnxzbHA4Lmzj97al1WFwSU70Mr1R2i5ygF1L6Y="; + }; + + buildInputs = [ pkgs.libmaxminddb ]; + sourceRoot = "source/ext"; + + meta = with pkgs.lib; { + description = "C extension that is a drop-in replacement for MaxMind\\Db\\Reader"; + license = with licenses; [ asl20 ]; + maintainers = with maintainers; [ ajs124 das_j ] ++ teams.php.members; + }; +} diff --git a/nixpkgs/pkgs/development/php-packages/memcached/default.nix b/nixpkgs/pkgs/development/php-packages/memcached/default.nix new file mode 100644 index 000000000000..3eb1da463b9f --- /dev/null +++ b/nixpkgs/pkgs/development/php-packages/memcached/default.nix @@ -0,0 +1,30 @@ +{ buildPecl, lib, fetchgit, php, pkgs }: +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=${pkgs.zlib.dev}" + "--with-libmemcached-dir=${pkgs.libmemcached}" + ]; + + nativeBuildInputs = [ pkgs.pkg-config ]; + buildInputs = with pkgs; [ cyrus_sasl zlib ]; + + meta.maintainers = lib.teams.php.members; +} diff --git a/nixpkgs/pkgs/development/php-packages/mongodb/default.nix b/nixpkgs/pkgs/development/php-packages/mongodb/default.nix new file mode 100644 index 000000000000..18bb515d15e1 --- /dev/null +++ b/nixpkgs/pkgs/development/php-packages/mongodb/default.nix @@ -0,0 +1,20 @@ +{ buildPecl, lib, pkgs, pcre' }: + +buildPecl { + pname = "mongodb"; + + version = "1.9.0"; + sha256 = "16mbw3p80qxsj86nmjbfch8wv6jaq8wbz4rlpmixvhj9nwbp37hs"; + + nativeBuildInputs = [ pkgs.pkg-config ]; + buildInputs = with pkgs; [ + cyrus_sasl + icu64 + openssl + snappy + zlib + pcre' + ] ++ lib.optional (pkgs.stdenv.isDarwin) pkgs.darwin.apple_sdk.frameworks.Security; + + meta.maintainers = lib.teams.php.members; +} diff --git a/nixpkgs/pkgs/development/php-packages/oci8/default.nix b/nixpkgs/pkgs/development/php-packages/oci8/default.nix new file mode 100644 index 000000000000..697ad6740200 --- /dev/null +++ b/nixpkgs/pkgs/development/php-packages/oci8/default.nix @@ -0,0 +1,15 @@ +{ buildPecl, lib, pkgs, version, sha256 }: +buildPecl { + pname = "oci8"; + + inherit version sha256; + + buildInputs = [ pkgs.oracle-instantclient ]; + configureFlags = [ "--with-oci8=shared,instantclient,${pkgs.oracle-instantclient.lib}/lib" ]; + + postPatch = '' + sed -i -e 's|OCISDKMANINC=`.*$|OCISDKMANINC="${pkgs.oracle-instantclient.dev}/include"|' config.m4 + ''; + + meta.maintainers = lib.teams.php.members; +} diff --git a/nixpkgs/pkgs/development/php-packages/pcov/default.nix b/nixpkgs/pkgs/development/php-packages/pcov/default.nix new file mode 100644 index 000000000000..84fbc4f7a469 --- /dev/null +++ b/nixpkgs/pkgs/development/php-packages/pcov/default.nix @@ -0,0 +1,12 @@ +{ buildPecl, lib, pcre' }: + +buildPecl { + pname = "pcov"; + + version = "1.0.6"; + sha256 = "1psfwscrc025z8mziq69pcx60k4fbkqa5g2ia8lplb94mmarj0v1"; + + buildInputs = [ pcre' ]; + + meta.maintainers = lib.teams.php.members; +} diff --git a/nixpkgs/pkgs/development/php-packages/pdlib/default.nix b/nixpkgs/pkgs/development/php-packages/pdlib/default.nix new file mode 100644 index 000000000000..830519467017 --- /dev/null +++ b/nixpkgs/pkgs/development/php-packages/pdlib/default.nix @@ -0,0 +1,24 @@ +{ buildPecl, lib, pkgs }: +let + pname = "pdlib"; + version = "1.0.2"; +in +buildPecl { + inherit pname version; + + src = pkgs.fetchFromGitHub { + owner = "goodspb"; + repo = "pdlib"; + rev = "v${version}"; + sha256 = "0qnmqwlw5vb2rvliap4iz9val6mal4qqixcw69pwskdw5jka6v5i"; + }; + + nativeBuildInputs = [ pkgs.pkg-config ]; + buildInputs = [ (pkgs.dlib.override { guiSupport = true; }) ]; + + meta = with lib; { + description = "A PHP extension for Dlib"; + license = with licenses; [ mit ]; + maintainers = lib.teams.php.members; + }; +} diff --git a/nixpkgs/pkgs/development/php-packages/pdo_sqlsrv/default.nix b/nixpkgs/pkgs/development/php-packages/pdo_sqlsrv/default.nix new file mode 100644 index 000000000000..46da30248097 --- /dev/null +++ b/nixpkgs/pkgs/development/php-packages/pdo_sqlsrv/default.nix @@ -0,0 +1,14 @@ +{ buildPecl, lib, pkgs, php }: + +buildPecl { + pname = "pdo_sqlsrv"; + + version = "5.8.1"; + sha256 = "06ba4x34fgs092qq9w62y2afsm1nyasqiprirk4951ax9v5vcir0"; + + internalDeps = [ php.extensions.pdo ]; + + buildInputs = [ pkgs.unixODBC ] ++ pkgs.lib.optionals pkgs.stdenv.isDarwin [ pkgs.libiconv ]; + + meta.maintainers = lib.teams.php.members; +} diff --git a/nixpkgs/pkgs/development/php-packages/php-cs-fixer/default.nix b/nixpkgs/pkgs/development/php-packages/php-cs-fixer/default.nix new file mode 100644 index 000000000000..1ed33e7bb5e8 --- /dev/null +++ b/nixpkgs/pkgs/development/php-packages/php-cs-fixer/default.nix @@ -0,0 +1,30 @@ +{ mkDerivation, fetchurl, pkgs, lib, php }: +let + pname = "php-cs-fixer"; + version = "2.18.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 = "sha256-euvk/Rs6fZIJVWprzKiTVNPlGOsCN6t58DzvwYh3wDA="; + }; + + phases = [ "installPhase" ]; + nativeBuildInputs = [ pkgs.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 pkgs.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/nixpkgs/pkgs/development/php-packages/php-parallel-lint/default.nix b/nixpkgs/pkgs/development/php-packages/php-parallel-lint/default.nix new file mode 100644 index 000000000000..f479581fb2ee --- /dev/null +++ b/nixpkgs/pkgs/development/php-packages/php-parallel-lint/default.nix @@ -0,0 +1,40 @@ +{ mkDerivation, fetchFromGitHub, pkgs, 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 = [ + pkgs.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 pkgs.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/nixpkgs/pkgs/development/php-packages/php_excel/default.nix b/nixpkgs/pkgs/development/php-packages/php_excel/default.nix new file mode 100644 index 000000000000..ab6d193fcd4d --- /dev/null +++ b/nixpkgs/pkgs/development/php-packages/php_excel/default.nix @@ -0,0 +1,24 @@ +{ buildPecl, fetchurl, lib, pkgs }: +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 = with pkgs; [ libxl ]; + + configureFlags = [ + "--with-excel" + "--with-libxl-incdir=${pkgs.libxl}/include_c" + "--with-libxl-libdir=${pkgs.libxl}/lib" + ]; + + meta.maintainers = lib.teams.php.members; +} diff --git a/nixpkgs/pkgs/development/php-packages/phpcbf/default.nix b/nixpkgs/pkgs/development/php-packages/phpcbf/default.nix new file mode 100644 index 000000000000..b58ba42a5d04 --- /dev/null +++ b/nixpkgs/pkgs/development/php-packages/phpcbf/default.nix @@ -0,0 +1,30 @@ +{ mkDerivation, fetchurl, pkgs, lib, php }: +let + pname = "phpcbf"; + version = "3.5.8"; +in +mkDerivation { + inherit pname version; + + src = fetchurl { + url = "https://github.com/squizlabs/PHP_CodeSniffer/releases/download/${version}/phpcbf.phar"; + sha256 = "15ci30yvw3p9zlmzsk9s4mxzb3wax3gl9p55slhf1bzwn1xxwyb0"; + }; + + phases = [ "installPhase" ]; + nativeBuildInputs = [ pkgs.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 pkgs.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/nixpkgs/pkgs/development/php-packages/phpcs/default.nix b/nixpkgs/pkgs/development/php-packages/phpcs/default.nix new file mode 100644 index 000000000000..0e8557c04eb7 --- /dev/null +++ b/nixpkgs/pkgs/development/php-packages/phpcs/default.nix @@ -0,0 +1,30 @@ +{ mkDerivation, fetchurl, pkgs, lib, php }: +let + pname = "phpcs"; + version = "3.5.8"; +in +mkDerivation { + inherit pname version; + + src = fetchurl { + url = "https://github.com/squizlabs/PHP_CodeSniffer/releases/download/${version}/phpcs.phar"; + sha256 = "037mdnpbgd9xaj556pf14h02a4a6f5zzdg58p2z1sivxcygf8aka"; + }; + + phases = [ "installPhase" ]; + nativeBuildInputs = [ pkgs.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 pkgs.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/nixpkgs/pkgs/development/php-packages/phpmd/default.nix b/nixpkgs/pkgs/development/php-packages/phpmd/default.nix new file mode 100644 index 000000000000..fd7390498ba3 --- /dev/null +++ b/nixpkgs/pkgs/development/php-packages/phpmd/default.nix @@ -0,0 +1,33 @@ +{ mkDerivation, fetchurl, pkgs, lib, php }: +let + pname = "phpmd"; + version = "2.8.2"; + + isPhp74 = lib.versionAtLeast php.version "7.4"; +in +mkDerivation { + inherit pname version; + + src = pkgs.fetchurl { + url = "https://github.com/phpmd/phpmd/releases/download/${version}/phpmd.phar"; + sha256 = "1i8qgzxniw5d8zjpypalm384y7qfczapfq70xmg129laq6xiqlqb"; + }; + + phases = [ "installPhase" ]; + nativeBuildInputs = [ pkgs.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 pkgs.lib; { + description = "PHP code quality analyzer"; + license = licenses.bsd3; + homepage = "https://phpmd.org/"; + maintainers = teams.php.members; + broken = !isPhp74; + }; +} diff --git a/nixpkgs/pkgs/development/php-packages/phpstan/default.nix b/nixpkgs/pkgs/development/php-packages/phpstan/default.nix new file mode 100644 index 000000000000..c363150babcf --- /dev/null +++ b/nixpkgs/pkgs/development/php-packages/phpstan/default.nix @@ -0,0 +1,37 @@ +{ mkDerivation, fetchurl, pkgs, lib, php }: +let + pname = "phpstan"; + version = "0.12.68"; +in +mkDerivation { + inherit pname version; + + src = pkgs.fetchurl { + url = "https://github.com/phpstan/phpstan/releases/download/${version}/phpstan.phar"; + sha256 = "sha256-qplQi12ecZjtaM8XawiO+qSwEdTXByrxWZLf3N7gfNc="; + }; + + phases = [ "installPhase" ]; + nativeBuildInputs = [ pkgs.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 pkgs.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/nixpkgs/pkgs/development/php-packages/pinba/default.nix b/nixpkgs/pkgs/development/php-packages/pinba/default.nix new file mode 100644 index 000000000000..0880c2a46e21 --- /dev/null +++ b/nixpkgs/pkgs/development/php-packages/pinba/default.nix @@ -0,0 +1,32 @@ +{ buildPecl, lib, fetchFromGitHub, php }: +let + pname = "pinba"; + + isPhp73 = lib.versionAtLeast php.version "7.3"; + + version = if isPhp73 then "1.1.2-dev" else "1.1.1"; + + src = fetchFromGitHub ({ + owner = "tony2001"; + repo = "pinba_extension"; + } // (if (isPhp73) then { + rev = "edbc313f1b4fb8407bf7d5acf63fbb0359c7fb2e"; + sha256 = "02sljqm6griw8ccqavl23f7w1hp2zflcv24lpf00k6pyrn9cwx80"; + } else { + rev = "RELEASE_1_1_1"; + sha256 = "1kdp7vav0y315695vhm3xifgsh6h6y6pny70xw3iai461n58khj5"; + })); +in +buildPecl { + inherit pname version src; + + 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. + ''; + homepage = "http://pinba.org/"; + maintainers = teams.php.members; + }; +} diff --git a/nixpkgs/pkgs/development/php-packages/protobuf/default.nix b/nixpkgs/pkgs/development/php-packages/protobuf/default.nix new file mode 100644 index 000000000000..e2ef068120d7 --- /dev/null +++ b/nixpkgs/pkgs/development/php-packages/protobuf/default.nix @@ -0,0 +1,36 @@ +{ buildPecl, lib, pcre', fetchpatch }: + +buildPecl { + pname = "protobuf"; + + version = "3.14.0"; + sha256 = "1ldc4s28hq61cfg8l4c06pgicj0ng7k37f28a0dnnbs7xkr7cibd"; + + buildInputs = [ pcre' ]; + + patches = [ + # TODO: remove with next update + (fetchpatch { + url = "https://github.com/protocolbuffers/protobuf/commit/823f351448f7c432bed40b89ee3309e0a94c1855.patch"; + sha256 = "sha256-ozHtO8s9zvmh/+wBEge3Yn3n0pbpR3dAojJcuAg/G3s="; + stripLen = 4; + includes = [ + "array.c" + "def.c" + "map.c" + "message.c" + "protobuf.h" + "wkt.inc" + ]; + }) + ]; + + 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/nixpkgs/pkgs/development/php-packages/psalm/default.nix b/nixpkgs/pkgs/development/php-packages/psalm/default.nix new file mode 100644 index 000000000000..1de01d1d09d1 --- /dev/null +++ b/nixpkgs/pkgs/development/php-packages/psalm/default.nix @@ -0,0 +1,30 @@ +{ mkDerivation, fetchurl, pkgs, lib, php }: +let + pname = "psalm"; + version = "4.4.1"; +in +mkDerivation { + inherit pname version; + + src = fetchurl { + url = "https://github.com/vimeo/psalm/releases/download/${version}/psalm.phar"; + sha256 = "sha256-4hqgAPflzNmeQQaxQATpWYBB5Pz7jKu8Vlw3BiMyhtw="; + }; + + phases = [ "installPhase" ]; + nativeBuildInputs = [ pkgs.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 pkgs.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/nixpkgs/pkgs/development/php-packages/psysh/default.nix b/nixpkgs/pkgs/development/php-packages/psysh/default.nix new file mode 100644 index 000000000000..4c5f703d025f --- /dev/null +++ b/nixpkgs/pkgs/development/php-packages/psysh/default.nix @@ -0,0 +1,30 @@ +{ mkDerivation, fetchurl, pkgs, lib, php }: +let + pname = "psysh"; + version = "0.10.4"; +in +mkDerivation { + inherit pname version; + + src = fetchurl { + url = "https://github.com/bobthecow/psysh/releases/download/v${version}/psysh-v${version}.tar.gz"; + sha256 = "005xh5rz12bsy9yvzzr69zpr0p7v4sh6cafhpinpfrvbwfq068f1"; + }; + + phases = [ "installPhase" ]; + nativeBuildInputs = [ pkgs.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 pkgs.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/nixpkgs/pkgs/development/php-packages/pthreads/default.nix b/nixpkgs/pkgs/development/php-packages/pthreads/default.nix new file mode 100644 index 000000000000..31b32e82967d --- /dev/null +++ b/nixpkgs/pkgs/development/php-packages/pthreads/default.nix @@ -0,0 +1,28 @@ +{ buildPecl, lib, fetchFromGitHub, php, pcre' }: +let + pname = "pthreads"; + + isPhp73 = lib.versionAtLeast php.version "7.3"; + isPhp74 = lib.versionAtLeast php.version "7.4"; + + version = if isPhp73 then "3.2.0-dev" else "3.2.0"; + + src = fetchFromGitHub ({ + owner = "krakjoe"; + repo = "pthreads"; + } // (if (isPhp73) then { + rev = "4d1c2483ceb459ea4284db4eb06646d5715e7154"; + sha256 = "07kdxypy0bgggrfav2h1ccbv67lllbvpa3s3zsaqci0gq4fyi830"; + } else { + rev = "v3.2.0"; + sha256 = "17hypm75d4w7lvz96jb7s0s87018yzmmap0l125d5fd7abnhzfvv"; + })); +in +buildPecl { + inherit pname version src; + + buildInputs = [ pcre'.dev ]; + + meta.broken = isPhp74; + meta.maintainers = lib.teams.php.members; +} diff --git a/nixpkgs/pkgs/development/php-packages/rdkafka/default.nix b/nixpkgs/pkgs/development/php-packages/rdkafka/default.nix new file mode 100644 index 000000000000..e5bdc2a22984 --- /dev/null +++ b/nixpkgs/pkgs/development/php-packages/rdkafka/default.nix @@ -0,0 +1,21 @@ +{ buildPecl, lib, pkgs, pcre' }: + +buildPecl { + pname = "rdkafka"; + + version = "5.0.0"; + sha256 = "sha256-Qy+6rkPczhdxFbDhcuzmUTLMPUXYZ0HaheDBhkh4FXs="; + + buildInputs = [ pkgs.rdkafka pcre' ]; + + postPhpize = '' + substituteInPlace configure \ + --replace 'SEARCH_PATH="/usr/local /usr"' 'SEARCH_PATH=${pkgs.rdkafka}' + ''; + + meta = with lib; { + description = "Kafka client based on librdkafka"; + homepage = "https://github.com/arnaud-lb/php-rdkafka"; + maintainers = teams.php.members; + }; +} diff --git a/nixpkgs/pkgs/development/php-packages/redis/default.nix b/nixpkgs/pkgs/development/php-packages/redis/default.nix new file mode 100644 index 000000000000..a61ae1194ffb --- /dev/null +++ b/nixpkgs/pkgs/development/php-packages/redis/default.nix @@ -0,0 +1,18 @@ +{ buildPecl, lib, php }: + +buildPecl { + pname = "redis"; + + version = "5.3.2"; + sha256 = "1cfsbxf3q3im0cmalgk76jpz581zr92z03c1viy93jxb53k2vsgl"; + + internalDeps = with php.extensions; [ + session + ] ++ lib.optionals (lib.versionOlder php.version "8.0") [ + json + ] ++ lib.optionals (lib.versionOlder php.version "7.4") [ + hash + ]; + + meta.maintainers = lib.teams.php.members; +} diff --git a/nixpkgs/pkgs/development/php-packages/sqlsrv/default.nix b/nixpkgs/pkgs/development/php-packages/sqlsrv/default.nix new file mode 100644 index 000000000000..341152277cae --- /dev/null +++ b/nixpkgs/pkgs/development/php-packages/sqlsrv/default.nix @@ -0,0 +1,16 @@ +{ buildPecl, lib, pkgs }: + +buildPecl { + pname = "sqlsrv"; + + version = "5.8.1"; + sha256 = "0c9a6ghch2537vi0274vx0mn6nb1xg2qv7nprnf3xdfqi5ww1i9r"; + + buildInputs = [ + pkgs.unixODBC + ] ++ pkgs.lib.optionals pkgs.stdenv.isDarwin [ + pkgs.libiconv + ]; + + meta.maintainers = lib.teams.php.members; +} diff --git a/nixpkgs/pkgs/development/php-packages/xdebug/default.nix b/nixpkgs/pkgs/development/php-packages/xdebug/default.nix new file mode 100644 index 000000000000..780bb8c9086b --- /dev/null +++ b/nixpkgs/pkgs/development/php-packages/xdebug/default.nix @@ -0,0 +1,15 @@ +{ buildPecl, lib }: + +buildPecl { + pname = "xdebug"; + + version = "3.0.2"; + sha256 = "05sfgkw55ym7mg0b54l9x3i9598kf2bkp4z3sdl1hd31q3g4cv89"; + + doCheck = true; + checkTarget = "test"; + + zendExtension = true; + + meta.maintainers = lib.teams.php.members; +} diff --git a/nixpkgs/pkgs/development/php-packages/yaml/default.nix b/nixpkgs/pkgs/development/php-packages/yaml/default.nix new file mode 100644 index 000000000000..40e5a859f9e4 --- /dev/null +++ b/nixpkgs/pkgs/development/php-packages/yaml/default.nix @@ -0,0 +1,14 @@ +{ buildPecl, lib, pkgs }: + +buildPecl { + pname = "yaml"; + + version = "2.2.1"; + sha256 = "sha256-4XrQTnUuJf0Jm93S350m3+8YPI0AxBebydei4cl9eBk="; + + configureFlags = [ "--with-yaml=${pkgs.libyaml}" ]; + + nativeBuildInputs = [ pkgs.pkg-config ]; + + meta.maintainers = lib.teams.php.members; +} |