2016-01-08 15:30:27 +03:00
|
|
|
{ pkgs, fetchgit, php }:
|
2014-03-24 16:37:36 +04:00
|
|
|
|
2016-01-08 15:30:27 +03:00
|
|
|
let
|
|
|
|
self = with self; {
|
|
|
|
buildPecl = import ../build-support/build-pecl.nix {
|
|
|
|
inherit php;
|
2019-06-06 22:16:58 +03:00
|
|
|
inherit (pkgs) stdenv autoreconfHook fetchurl re2c;
|
2016-01-08 15:30:27 +03:00
|
|
|
};
|
2014-03-24 16:37:36 +04:00
|
|
|
|
2019-04-24 14:04:28 +03:00
|
|
|
# Wrap mkDerivation to prepend pname with "php-" to make names consistent
|
|
|
|
# with how buildPecl does it and make the file easier to overview.
|
|
|
|
mkDerivation = { pname, ... }@args: pkgs.stdenv.mkDerivation (args // {
|
|
|
|
pname = "php-${pname}";
|
|
|
|
});
|
|
|
|
|
2018-12-10 17:33:53 +03:00
|
|
|
isPhp73 = pkgs.lib.versionAtLeast php.version "7.3";
|
|
|
|
|
2019-08-14 00:52:01 +03:00
|
|
|
apcu = buildPecl {
|
2019-04-20 17:09:05 +03:00
|
|
|
version = "5.1.17";
|
|
|
|
pname = "apcu";
|
|
|
|
|
2019-04-06 11:05:07 +03:00
|
|
|
sha256 = "14y7alvj5q17q1b544bxidavkn6i40cjbq2nv1m0k70ai5vv84bb";
|
2019-04-20 17:09:05 +03:00
|
|
|
|
2018-12-10 17:33:53 +03:00
|
|
|
buildInputs = [ (if isPhp73 then pkgs.pcre2 else pkgs.pcre) ];
|
2017-11-02 22:49:55 +03:00
|
|
|
doCheck = true;
|
|
|
|
checkTarget = "test";
|
|
|
|
checkFlagsArray = ["REPORT_EXIT_STATUS=1" "NO_INTERACTION=1"];
|
2018-11-05 19:25:52 +03:00
|
|
|
makeFlags = [ "phpincludedir=$(dev)/include" ];
|
|
|
|
outputs = [ "out" "dev" ];
|
|
|
|
};
|
|
|
|
|
2019-08-14 00:52:01 +03:00
|
|
|
apcu_bc = buildPecl {
|
2019-04-20 17:09:05 +03:00
|
|
|
version = "1.0.5";
|
|
|
|
pname = "apcu_bc";
|
|
|
|
|
2019-04-06 11:07:12 +03:00
|
|
|
sha256 = "0ma00syhk2ps9k9p02jz7rii6x3i2p986il23703zz5npd6y9n20";
|
2019-04-20 17:09:05 +03:00
|
|
|
|
2018-12-10 17:37:18 +03:00
|
|
|
buildInputs = [ apcu (if isPhp73 then pkgs.pcre2 else pkgs.pcre) ];
|
2016-01-08 15:30:27 +03:00
|
|
|
};
|
|
|
|
|
2019-08-14 00:52:01 +03:00
|
|
|
ast = buildPecl {
|
2019-08-03 17:05:24 +03:00
|
|
|
version = "1.0.3";
|
2019-04-20 17:09:05 +03:00
|
|
|
pname = "ast";
|
2017-08-25 20:26:58 +03:00
|
|
|
|
2019-08-03 17:05:24 +03:00
|
|
|
sha256 = "1sk9bkyw3ck9jgvlazxx8zl2nv6lc0gq66v1rfcby9v0zyydb7xr";
|
2017-08-25 20:26:58 +03:00
|
|
|
};
|
|
|
|
|
2019-04-24 14:04:28 +03:00
|
|
|
box = mkDerivation rec {
|
2019-04-20 16:36:12 +03:00
|
|
|
version = "2.7.5";
|
2019-04-24 14:04:28 +03:00
|
|
|
pname = "box";
|
2019-04-20 16:36:12 +03:00
|
|
|
|
|
|
|
src = pkgs.fetchurl {
|
|
|
|
url = "https://github.com/box-project/box2/releases/download/${version}/box-${version}.phar";
|
|
|
|
sha256 = "1zmxdadrv0i2l8cz7xb38gnfmfyljpsaz2nnkjzqzksdmncbgd18";
|
|
|
|
};
|
|
|
|
|
|
|
|
phases = [ "installPhase" ];
|
|
|
|
buildInputs = [ 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 pkgs.lib; {
|
|
|
|
description = "An application for building and managing Phars";
|
|
|
|
license = licenses.mit;
|
|
|
|
homepage = https://box-project.github.io/box2/;
|
|
|
|
maintainers = with maintainers; [ jtojnar ];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2019-04-24 14:04:28 +03:00
|
|
|
composer = mkDerivation rec {
|
2019-08-03 16:42:26 +03:00
|
|
|
version = "1.9.0";
|
2019-04-24 14:04:28 +03:00
|
|
|
pname = "composer";
|
2019-04-20 16:36:12 +03:00
|
|
|
|
|
|
|
src = pkgs.fetchurl {
|
|
|
|
url = "https://getcomposer.org/download/${version}/composer.phar";
|
2019-08-03 16:42:26 +03:00
|
|
|
sha256 = "0x88bin1c749ajymz2cqjx8660a3wxvndpv4xr6w3pib16fzdpy9";
|
2019-04-20 16:36:12 +03:00
|
|
|
};
|
|
|
|
|
2019-06-19 18:45:34 +03:00
|
|
|
dontUnpack = true;
|
2019-04-20 16:36:12 +03:00
|
|
|
|
|
|
|
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; [ globin offline ];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2017-08-26 01:18:52 +03:00
|
|
|
couchbase = buildPecl rec {
|
2019-06-03 22:03:22 +03:00
|
|
|
version = "2.6.1";
|
2019-04-20 17:09:05 +03:00
|
|
|
pname = "couchbase";
|
2017-08-26 01:18:52 +03:00
|
|
|
|
2017-10-25 11:26:13 +03:00
|
|
|
buildInputs = [ pkgs.libcouchbase pkgs.zlib igbinary pcs ];
|
2017-08-26 01:18:52 +03:00
|
|
|
|
|
|
|
src = pkgs.fetchFromGitHub {
|
|
|
|
owner = "couchbase";
|
|
|
|
repo = "php-couchbase";
|
|
|
|
rev = "v${version}";
|
2019-06-03 22:03:22 +03:00
|
|
|
sha256 = "0jdzgcvab1vpxai23brmmvizjjq2d2dik9aklz6bzspfb512qjd6";
|
2017-08-26 01:18:52 +03:00
|
|
|
};
|
|
|
|
|
|
|
|
configureFlags = [ "--with-couchbase" ];
|
|
|
|
|
|
|
|
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)
|
2017-10-25 11:26:13 +03:00
|
|
|
@@ -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 "${igbinary.dev}/include/ext/igbinary/igbinary.h"; then
|
|
|
|
+ igbinary_inc_path="${igbinary.dev}/include"
|
|
|
|
fi
|
|
|
|
if test "$igbinary_inc_path" = ""; then
|
|
|
|
AC_MSG_WARN([Cannot find igbinary.h])
|
2017-08-26 01:18:52 +03:00
|
|
|
'')
|
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2019-08-14 00:52:01 +03:00
|
|
|
event = buildPecl {
|
2019-08-03 16:44:03 +03:00
|
|
|
version = "2.5.3";
|
2019-05-13 22:49:16 +03:00
|
|
|
pname = "event";
|
|
|
|
|
2019-08-03 16:44:03 +03:00
|
|
|
sha256 = "12liry5ldvgwp1v1a6zgfq8w6iyyxmsdj4c71bp157nnf58cb8hb";
|
2019-05-13 22:49:16 +03:00
|
|
|
|
2019-06-06 23:32:36 +03:00
|
|
|
configureFlags = [
|
|
|
|
"--with-event-libevent-dir=${pkgs.libevent.dev}"
|
|
|
|
"--with-event-core"
|
|
|
|
"--with-event-extra"
|
|
|
|
"--with-event-pthreads"
|
|
|
|
];
|
2019-05-13 22:49:16 +03:00
|
|
|
nativeBuildInputs = [ pkgs.pkgconfig ];
|
|
|
|
buildInputs = with pkgs; [ openssl libevent ];
|
|
|
|
|
|
|
|
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/";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2019-08-14 00:52:01 +03:00
|
|
|
igbinary = buildPecl {
|
2019-04-20 17:21:20 +03:00
|
|
|
version = "3.0.1";
|
2019-04-20 17:09:05 +03:00
|
|
|
pname = "igbinary";
|
2017-10-25 11:26:13 +03:00
|
|
|
|
2019-04-20 17:21:20 +03:00
|
|
|
sha256 = "1w8jmf1qpggdvq0ndfi86n7i7cqgh1s8q6hys2lijvi37rzn0nar";
|
2017-10-25 11:26:13 +03:00
|
|
|
|
2019-04-20 17:09:05 +03:00
|
|
|
configureFlags = [ "--enable-igbinary" ];
|
2017-10-25 11:26:13 +03:00
|
|
|
makeFlags = [ "phpincludedir=$(dev)/include" ];
|
|
|
|
outputs = [ "out" "dev" ];
|
|
|
|
};
|
|
|
|
|
2019-08-14 00:52:01 +03:00
|
|
|
imagick = buildPecl {
|
2019-06-03 21:59:32 +03:00
|
|
|
version = "3.4.4";
|
2019-04-20 17:09:05 +03:00
|
|
|
pname = "imagick";
|
|
|
|
|
2019-06-03 21:59:32 +03:00
|
|
|
sha256 = "0xvhaqny1v796ywx83w7jyjyd0nrxkxf34w9zi8qc8aw8qbammcd";
|
2019-04-20 17:09:05 +03:00
|
|
|
|
2018-07-26 00:44:21 +03:00
|
|
|
configureFlags = [ "--with-imagick=${pkgs.imagemagick.dev}" ];
|
2016-10-13 23:27:52 +03:00
|
|
|
nativeBuildInputs = [ pkgs.pkgconfig ];
|
2018-12-10 17:40:37 +03:00
|
|
|
buildInputs = [ (if isPhp73 then pkgs.pcre2 else pkgs.pcre) ];
|
2016-01-08 15:30:27 +03:00
|
|
|
};
|
|
|
|
|
2019-08-14 00:52:01 +03:00
|
|
|
mailparse = buildPecl {
|
2019-07-21 23:20:35 +03:00
|
|
|
version = "3.0.3";
|
2019-04-20 17:09:05 +03:00
|
|
|
pname = "mailparse";
|
2019-04-20 16:36:12 +03:00
|
|
|
|
2019-07-21 23:20:35 +03:00
|
|
|
sha256 = "00nk14jbdbln93mx3ag691avc11ff94hkadrcv5pn51c6ihsxbmz";
|
2019-04-20 16:36:12 +03:00
|
|
|
};
|
|
|
|
|
2019-04-18 21:42:56 +03:00
|
|
|
memcached = buildPecl rec {
|
|
|
|
version = "3.1.3";
|
2019-04-20 17:09:05 +03:00
|
|
|
pname = "memcached";
|
2018-12-10 21:40:50 +03:00
|
|
|
|
|
|
|
src = fetchgit {
|
|
|
|
url = "https://github.com/php-memcached-dev/php-memcached";
|
2019-04-18 21:42:56 +03:00
|
|
|
rev = "v${version}";
|
|
|
|
sha256 = "1w9g8k7bmq3nbzskskpsr5632gh9q75nqy7nkjdzgs17klq9khjk";
|
2018-12-10 21:40:50 +03:00
|
|
|
};
|
|
|
|
|
|
|
|
configureFlags = [
|
|
|
|
"--with-zlib-dir=${pkgs.zlib.dev}"
|
|
|
|
"--with-libmemcached-dir=${pkgs.libmemcached}"
|
|
|
|
];
|
|
|
|
|
2017-09-06 01:03:42 +03:00
|
|
|
nativeBuildInputs = [ pkgs.pkgconfig ];
|
2017-09-06 00:26:13 +03:00
|
|
|
buildInputs = with pkgs; [ cyrus_sasl zlib ];
|
2016-01-08 15:30:27 +03:00
|
|
|
};
|
|
|
|
|
2019-07-26 05:45:39 +03:00
|
|
|
mongodb = buildPecl {
|
|
|
|
pname = "mongodb";
|
2019-10-30 18:52:06 +03:00
|
|
|
version = "1.6.0";
|
2019-07-26 05:45:39 +03:00
|
|
|
|
2019-10-30 18:52:06 +03:00
|
|
|
sha256 = "0bybfjs61v66bynajbd8dwjlwbz6p2gck49r3zqbxa3ja6d671l6";
|
2019-07-26 05:45:39 +03:00
|
|
|
|
|
|
|
nativeBuildInputs = [ pkgs.pkgconfig ];
|
|
|
|
buildInputs = with pkgs; [
|
|
|
|
cyrus_sasl
|
|
|
|
icu
|
|
|
|
openssl
|
|
|
|
snappy
|
|
|
|
zlib
|
|
|
|
(if isPhp73 then pcre2 else pcre)
|
|
|
|
] ++ lib.optional (pkgs.stdenv.isDarwin) pkgs.darwin.apple_sdk.frameworks.Security;
|
|
|
|
};
|
|
|
|
|
2019-08-14 00:52:01 +03:00
|
|
|
oci8 = buildPecl {
|
2019-04-20 17:23:18 +03:00
|
|
|
version = "2.2.0";
|
2019-04-20 17:09:05 +03:00
|
|
|
pname = "oci8";
|
|
|
|
|
2019-04-20 17:23:18 +03:00
|
|
|
sha256 = "0jhivxj1nkkza4h23z33y7xhffii60d7dr51h1czjk10qywl7pyd";
|
2019-06-06 22:16:58 +03:00
|
|
|
buildInputs = [ pkgs.oracle-instantclient ];
|
2019-08-21 03:55:59 +03:00
|
|
|
configureFlags = [ "--with-oci8=shared,instantclient,${pkgs.oracle-instantclient.lib}/lib" ];
|
|
|
|
|
|
|
|
postPatch = ''
|
|
|
|
sed -i -e 's|OCISDKMANINC=`.*$|OCISDKMANINC="${pkgs.oracle-instantclient.dev}/include"|' config.m4
|
|
|
|
'';
|
2018-08-04 04:58:57 +03:00
|
|
|
};
|
|
|
|
|
2019-09-30 19:08:20 +03:00
|
|
|
pcov = buildPecl {
|
|
|
|
version = "1.0.6";
|
|
|
|
pname = "pcov";
|
|
|
|
|
|
|
|
sha256 = "1psfwscrc025z8mziq69pcx60k4fbkqa5g2ia8lplb94mmarj0v1";
|
|
|
|
|
|
|
|
buildInputs = [ (if isPhp73 then pkgs.pcre2 else pkgs.pcre) ];
|
|
|
|
};
|
|
|
|
|
2019-08-14 00:52:01 +03:00
|
|
|
pcs = buildPecl {
|
2019-04-20 17:09:05 +03:00
|
|
|
version = "1.3.3";
|
|
|
|
pname = "pcs";
|
2017-08-25 23:51:23 +03:00
|
|
|
|
|
|
|
sha256 = "0d4p1gpl8gkzdiv860qzxfz250ryf0wmjgyc8qcaaqgkdyh5jy5p";
|
|
|
|
};
|
|
|
|
|
2019-08-14 00:52:01 +03:00
|
|
|
pdo_sqlsrv = buildPecl {
|
2019-04-20 17:09:05 +03:00
|
|
|
version = "5.6.1";
|
|
|
|
pname = "pdo_sqlsrv";
|
|
|
|
|
2019-04-11 19:34:49 +03:00
|
|
|
sha256 = "02ill1iqffa5fha9iz4y91823scml24ikfk8pn90jyycfwv07x6a";
|
2019-04-20 17:09:05 +03:00
|
|
|
|
2019-02-25 22:09:05 +03:00
|
|
|
buildInputs = [ pkgs.unixODBC ];
|
|
|
|
};
|
|
|
|
|
2019-04-24 14:04:28 +03:00
|
|
|
php-cs-fixer = mkDerivation rec {
|
2019-09-30 18:58:09 +03:00
|
|
|
version = "2.15.3";
|
2019-04-20 17:09:05 +03:00
|
|
|
pname = "php-cs-fixer";
|
2017-12-06 18:11:28 +03:00
|
|
|
|
|
|
|
src = pkgs.fetchurl {
|
|
|
|
url = "https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v${version}/php-cs-fixer.phar";
|
2019-09-30 18:58:09 +03:00
|
|
|
sha256 = "0hbc9y3676dd0841llgp1g7bhklfxi1cw47dcww0qmk69gjfv54c";
|
2017-12-06 18:11:28 +03:00
|
|
|
};
|
|
|
|
|
|
|
|
phases = [ "installPhase" ];
|
|
|
|
buildInputs = [ 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 ];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2019-04-24 14:04:28 +03:00
|
|
|
php-parallel-lint = mkDerivation rec {
|
2018-03-01 21:57:05 +03:00
|
|
|
version = "1.0.0";
|
2019-04-20 17:09:05 +03:00
|
|
|
pname = "php-parallel-lint";
|
2017-12-06 18:49:07 +03:00
|
|
|
|
|
|
|
src = pkgs.fetchFromGitHub {
|
|
|
|
owner = "JakubOnderka";
|
|
|
|
repo = "PHP-Parallel-Lint";
|
|
|
|
rev = "v${version}";
|
2018-03-01 21:57:05 +03:00
|
|
|
sha256 = "16nv8yyk2z3l213dg067l6di4pigg5rd8yswr5xgd18jwbys2vnw";
|
2017-12-06 18:49:07 +03:00
|
|
|
};
|
|
|
|
|
|
|
|
buildInputs = [ pkgs.makeWrapper composer 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 = "This tool 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 ];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2019-04-20 16:36:12 +03:00
|
|
|
php_excel = buildPecl rec {
|
|
|
|
version = "1.0.2";
|
2019-04-20 17:09:05 +03:00
|
|
|
pname = "php_excel";
|
2019-04-20 16:36:12 +03:00
|
|
|
phpVersion = "php7";
|
|
|
|
|
|
|
|
buildInputs = [ pkgs.libxl ];
|
|
|
|
|
|
|
|
src = pkgs.fetchurl {
|
|
|
|
url = "https://github.com/iliaal/php_excel/releases/download/Excel-1.0.2-PHP7/excel-${version}-${phpVersion}.tgz";
|
|
|
|
sha256 = "0dpvih9gpiyh1ml22zi7hi6kslkilzby00z1p8x248idylldzs2n";
|
|
|
|
};
|
|
|
|
|
|
|
|
configureFlags = [ "--with-excel" "--with-libxl-incdir=${pkgs.libxl}/include_c" "--with-libxl-libdir=${pkgs.libxl}/lib" ];
|
2019-04-20 17:13:05 +03:00
|
|
|
meta.broken = true;
|
2019-04-20 16:36:12 +03:00
|
|
|
};
|
|
|
|
|
2019-04-24 14:04:28 +03:00
|
|
|
phpcbf = mkDerivation rec {
|
2019-10-17 19:45:52 +03:00
|
|
|
version = "3.5.1";
|
2019-04-24 14:04:28 +03:00
|
|
|
pname = "phpcbf";
|
2015-10-12 12:44:48 +03:00
|
|
|
|
|
|
|
src = pkgs.fetchurl {
|
2019-04-20 16:36:12 +03:00
|
|
|
url = "https://github.com/squizlabs/PHP_CodeSniffer/releases/download/${version}/phpcbf.phar";
|
2019-10-17 19:45:52 +03:00
|
|
|
sha256 = "1b68cmdvg356s2vk5q0jkk8sizza7r7pbcl9v5s0944wi0apsj0r";
|
2015-10-12 12:44:48 +03:00
|
|
|
};
|
|
|
|
|
|
|
|
phases = [ "installPhase" ];
|
2019-04-20 16:36:12 +03:00
|
|
|
nativeBuildInputs = [ pkgs.makeWrapper ];
|
2015-10-12 12:44:48 +03:00
|
|
|
|
|
|
|
installPhase = ''
|
|
|
|
mkdir -p $out/bin
|
2019-04-20 16:36:12 +03:00
|
|
|
install -D $src $out/libexec/phpcbf/phpcbf.phar
|
|
|
|
makeWrapper ${php}/bin/php $out/bin/phpcbf \
|
|
|
|
--add-flags "$out/libexec/phpcbf/phpcbf.phar"
|
2015-10-12 12:44:48 +03:00
|
|
|
'';
|
|
|
|
|
|
|
|
meta = with pkgs.lib; {
|
2019-04-20 16:36:12 +03:00
|
|
|
description = "PHP coding standard beautifier and fixer";
|
2015-10-12 12:44:48 +03:00
|
|
|
license = licenses.bsd3;
|
|
|
|
homepage = https://squizlabs.github.io/PHP_CodeSniffer/;
|
2019-04-20 16:36:12 +03:00
|
|
|
maintainers = with maintainers; [ cmcdragonkai etu ];
|
2015-10-12 12:44:48 +03:00
|
|
|
};
|
|
|
|
};
|
2017-07-11 16:56:52 +03:00
|
|
|
|
2019-04-24 14:04:28 +03:00
|
|
|
phpcs = mkDerivation rec {
|
2019-10-17 19:46:20 +03:00
|
|
|
version = "3.5.1";
|
2019-04-24 14:04:28 +03:00
|
|
|
pname = "phpcs";
|
2017-07-11 16:56:52 +03:00
|
|
|
|
|
|
|
src = pkgs.fetchurl {
|
2019-04-20 16:36:12 +03:00
|
|
|
url = "https://github.com/squizlabs/PHP_CodeSniffer/releases/download/${version}/phpcs.phar";
|
2019-10-17 19:46:20 +03:00
|
|
|
sha256 = "060jzgd99j16xjs0n75sgp79an6n7qp6zv5lrw6700jnw67zpmn7";
|
2017-07-11 16:56:52 +03:00
|
|
|
};
|
|
|
|
|
|
|
|
phases = [ "installPhase" ];
|
2019-04-20 16:36:12 +03:00
|
|
|
buildInputs = [ pkgs.makeWrapper ];
|
2017-07-11 16:56:52 +03:00
|
|
|
|
|
|
|
installPhase = ''
|
|
|
|
mkdir -p $out/bin
|
2019-04-20 16:36:12 +03:00
|
|
|
install -D $src $out/libexec/phpcs/phpcs.phar
|
|
|
|
makeWrapper ${php}/bin/php $out/bin/phpcs \
|
|
|
|
--add-flags "$out/libexec/phpcs/phpcs.phar"
|
2017-07-11 16:56:52 +03:00
|
|
|
'';
|
|
|
|
|
|
|
|
meta = with pkgs.lib; {
|
2019-04-20 16:36:12 +03:00
|
|
|
description = "PHP coding standard tool";
|
2017-07-11 16:56:52 +03:00
|
|
|
license = licenses.bsd3;
|
|
|
|
homepage = https://squizlabs.github.io/PHP_CodeSniffer/;
|
2019-04-20 16:36:12 +03:00
|
|
|
maintainers = with maintainers; [ javaguirre etu ];
|
2017-07-11 16:56:52 +03:00
|
|
|
};
|
|
|
|
};
|
2018-06-24 23:01:04 +03:00
|
|
|
|
2019-04-24 14:04:28 +03:00
|
|
|
phpstan = mkDerivation rec {
|
2019-10-20 23:06:10 +03:00
|
|
|
version = "0.11.19";
|
2019-04-24 14:04:28 +03:00
|
|
|
pname = "phpstan";
|
2019-01-17 15:04:10 +03:00
|
|
|
|
|
|
|
src = pkgs.fetchurl {
|
|
|
|
url = "https://github.com/phpstan/phpstan/releases/download/${version}/phpstan.phar";
|
2019-10-20 23:06:10 +03:00
|
|
|
sha256 = "0b04d2x07vipx1850v3d2hga3s6ssv7g21x58dhcjrg35i1bvq71";
|
2019-01-17 15:04:10 +03:00
|
|
|
};
|
|
|
|
|
|
|
|
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 = with maintainers; [ etu ];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2019-05-13 15:19:49 +03:00
|
|
|
pinba = if isPhp73 then pinba73 else pinba7;
|
|
|
|
|
2019-08-14 00:52:01 +03:00
|
|
|
pinba7 = assert !isPhp73; buildPecl {
|
2019-05-13 15:19:49 +03:00
|
|
|
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/";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2019-08-14 00:52:01 +03:00
|
|
|
pinba73 = assert isPhp73; buildPecl {
|
2019-05-13 15:19:49 +03:00
|
|
|
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/";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2019-08-14 00:52:01 +03:00
|
|
|
protobuf = buildPecl {
|
2019-08-03 17:11:46 +03:00
|
|
|
version = "3.9.0";
|
2019-05-13 22:55:49 +03:00
|
|
|
pname = "protobuf";
|
|
|
|
|
2019-08-03 17:11:46 +03:00
|
|
|
sha256 = "1pyfxrfdbzzg5al4byyazdrvy7yad13zwq7papbb2d8gkvc3f3kh";
|
2019-05-13 22:55:49 +03:00
|
|
|
|
|
|
|
buildInputs = with pkgs; [ (if isPhp73 then pcre2 else pcre) ];
|
|
|
|
|
|
|
|
meta = with pkgs.lib; {
|
|
|
|
description = ''
|
|
|
|
Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data.
|
|
|
|
'';
|
|
|
|
license = licenses.bsd3;
|
|
|
|
homepage = "https://developers.google.com/protocol-buffers/";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2019-09-30 19:20:28 +03:00
|
|
|
psalm = mkDerivation rec {
|
|
|
|
version = "3.5.3";
|
|
|
|
pname = "psalm";
|
|
|
|
|
|
|
|
src = pkgs.fetchurl {
|
|
|
|
url = "https://github.com/vimeo/psalm/releases/download/${version}/psalm.phar";
|
|
|
|
sha256 = "1n5pfzln82wzk1qa40c436lhbin1g06lfdk89q720yzrrs07r8sw";
|
|
|
|
};
|
|
|
|
|
|
|
|
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;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2019-04-24 14:04:28 +03:00
|
|
|
psysh = mkDerivation rec {
|
2019-04-20 17:26:56 +03:00
|
|
|
version = "0.9.9";
|
2019-04-24 14:04:28 +03:00
|
|
|
pname = "psysh";
|
2018-06-24 23:01:04 +03:00
|
|
|
|
|
|
|
src = pkgs.fetchurl {
|
|
|
|
url = "https://github.com/bobthecow/psysh/releases/download/v${version}/psysh-v${version}.tar.gz";
|
2019-04-20 17:26:56 +03:00
|
|
|
sha256 = "0knbib0afwq2z5fc639ns43x8pi3kmp85y13bkcl00dhvf46yinw";
|
2018-06-24 23:01:04 +03:00
|
|
|
};
|
|
|
|
|
|
|
|
phases = [ "installPhase" ];
|
|
|
|
nativeBuildInputs = [ pkgs.makeWrapper ];
|
|
|
|
|
|
|
|
installPhase = ''
|
|
|
|
mkdir -p $out/bin
|
|
|
|
tar -xzf $src -C $out/bin
|
2019-04-20 17:26:56 +03:00
|
|
|
chmod +x $out/bin/psysh
|
2018-06-24 23:01:04 +03:00
|
|
|
wrapProgram $out/bin/psysh
|
|
|
|
'';
|
|
|
|
|
|
|
|
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 ];
|
|
|
|
};
|
|
|
|
};
|
2019-04-20 16:36:12 +03:00
|
|
|
|
2019-08-03 17:23:14 +03:00
|
|
|
pthreads = if isPhp73 then pthreads32-dev else pthreads32;
|
|
|
|
|
|
|
|
pthreads32 = assert (pkgs.config.php.zts or false); assert !isPhp73; buildPecl rec {
|
2019-08-03 17:19:40 +03:00
|
|
|
version = "3.2.0";
|
2019-04-20 17:09:05 +03:00
|
|
|
pname = "pthreads";
|
|
|
|
|
2019-08-03 17:19:40 +03:00
|
|
|
src = pkgs.fetchFromGitHub {
|
|
|
|
owner = "krakjoe";
|
|
|
|
repo = "pthreads";
|
|
|
|
rev = "v${version}";
|
|
|
|
sha256 = "17hypm75d4w7lvz96jb7s0s87018yzmmap0l125d5fd7abnhzfvv";
|
|
|
|
};
|
2019-04-20 17:09:05 +03:00
|
|
|
|
2019-08-03 17:19:40 +03:00
|
|
|
buildInputs = with pkgs; [ pcre.dev ];
|
2019-04-20 16:36:12 +03:00
|
|
|
};
|
|
|
|
|
2019-08-14 00:52:01 +03:00
|
|
|
pthreads32-dev = assert (pkgs.config.php.zts or false); assert isPhp73; buildPecl {
|
2019-08-03 17:23:14 +03:00
|
|
|
version = "3.2.0-dev";
|
|
|
|
pname = "pthreads";
|
|
|
|
|
|
|
|
src = pkgs.fetchFromGitHub {
|
|
|
|
owner = "krakjoe";
|
|
|
|
repo = "pthreads";
|
|
|
|
rev = "4d1c2483ceb459ea4284db4eb06646d5715e7154";
|
|
|
|
sha256 = "07kdxypy0bgggrfav2h1ccbv67lllbvpa3s3zsaqci0gq4fyi830";
|
|
|
|
};
|
|
|
|
|
|
|
|
buildInputs = with pkgs; [ pcre2.dev ];
|
|
|
|
};
|
|
|
|
|
2019-08-14 00:52:01 +03:00
|
|
|
redis = buildPecl {
|
2019-08-03 17:25:46 +03:00
|
|
|
version = "5.0.2";
|
2019-04-20 17:09:05 +03:00
|
|
|
pname = "redis";
|
|
|
|
|
2019-08-03 17:25:46 +03:00
|
|
|
sha256 = "0b5pw17lzqknhijfymksvf8fm1zilppr97ypb31n599jw3mxf62f";
|
2019-04-20 16:36:12 +03:00
|
|
|
};
|
|
|
|
|
2019-08-14 00:52:01 +03:00
|
|
|
sqlsrv = buildPecl {
|
2019-04-20 17:09:05 +03:00
|
|
|
version = "5.6.1";
|
|
|
|
pname = "sqlsrv";
|
|
|
|
|
2019-04-20 16:36:12 +03:00
|
|
|
sha256 = "0ial621zxn9zvjh7k1h755sm2lc9aafc389yxksqcxcmm7kqmd0a";
|
2019-04-20 17:09:05 +03:00
|
|
|
|
2019-04-20 16:36:12 +03:00
|
|
|
buildInputs = [ pkgs.unixODBC ];
|
|
|
|
};
|
|
|
|
|
2019-08-14 00:52:01 +03:00
|
|
|
v8 = buildPecl {
|
2019-04-20 16:36:12 +03:00
|
|
|
version = "0.2.2";
|
2019-04-20 17:09:05 +03:00
|
|
|
pname = "v8";
|
2019-04-20 16:36:12 +03:00
|
|
|
|
|
|
|
sha256 = "103nys7zkpi1hifqp9miyl0m1mn07xqshw3sapyz365nb35g5q71";
|
|
|
|
|
|
|
|
buildInputs = [ pkgs.v8_6_x ];
|
|
|
|
configureFlags = [ "--with-v8=${pkgs.v8_6_x}" ];
|
2019-04-20 17:13:56 +03:00
|
|
|
meta.broken = true;
|
2019-04-20 16:36:12 +03:00
|
|
|
};
|
|
|
|
|
2019-08-14 00:52:01 +03:00
|
|
|
v8js = assert !isPhp73; buildPecl {
|
2019-04-20 16:36:12 +03:00
|
|
|
version = "2.1.0";
|
2019-04-20 17:09:05 +03:00
|
|
|
pname = "v8js";
|
2019-04-20 16:36:12 +03:00
|
|
|
|
|
|
|
sha256 = "0g63dyhhicngbgqg34wl91nm3556vzdgkq19gy52gvmqj47rj6rg";
|
|
|
|
|
|
|
|
buildInputs = [ pkgs.v8_6_x ];
|
|
|
|
configureFlags = [ "--with-v8js=${pkgs.v8_6_x}" ];
|
2019-04-20 17:14:17 +03:00
|
|
|
meta.broken = true;
|
2019-04-20 16:36:12 +03:00
|
|
|
};
|
|
|
|
|
2019-08-14 00:52:01 +03:00
|
|
|
xdebug = buildPecl {
|
2019-04-20 16:36:12 +03:00
|
|
|
version = "2.7.1";
|
2019-04-20 17:09:05 +03:00
|
|
|
pname = "xdebug";
|
2019-04-20 16:36:12 +03:00
|
|
|
|
|
|
|
sha256 = "1hr4gy87a3gp682ggwp831xk1fxasil9wan8cxv23q3m752x3sdp";
|
|
|
|
|
|
|
|
doCheck = true;
|
|
|
|
checkTarget = "test";
|
|
|
|
};
|
|
|
|
|
2019-08-14 00:52:01 +03:00
|
|
|
yaml = buildPecl {
|
2019-04-20 17:09:05 +03:00
|
|
|
version = "2.0.4";
|
|
|
|
pname = "yaml";
|
2019-04-20 16:36:12 +03:00
|
|
|
|
|
|
|
sha256 = "1036zhc5yskdfymyk8jhwc34kvkvsn5kaf50336153v4dqwb11lp";
|
|
|
|
|
|
|
|
configureFlags = [
|
|
|
|
"--with-yaml=${pkgs.libyaml}"
|
|
|
|
];
|
|
|
|
|
|
|
|
nativeBuildInputs = [ pkgs.pkgconfig ];
|
|
|
|
};
|
|
|
|
|
2019-08-14 00:52:01 +03:00
|
|
|
zmq = assert !isPhp73; buildPecl {
|
2019-04-20 17:09:05 +03:00
|
|
|
version = "1.1.3";
|
|
|
|
pname = "zmq";
|
2019-04-20 16:36:12 +03:00
|
|
|
|
|
|
|
sha256 = "1kj487vllqj9720vlhfsmv32hs2dy2agp6176mav6ldx31c3g4n4";
|
|
|
|
|
|
|
|
configureFlags = [
|
|
|
|
"--with-zmq=${pkgs.zeromq}"
|
|
|
|
];
|
|
|
|
|
|
|
|
nativeBuildInputs = [ pkgs.pkgconfig ];
|
|
|
|
};
|
2014-03-24 16:37:36 +04:00
|
|
|
}; in self
|