uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead

https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948
this can do it nicely.

Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
Anton Arapov 2021-04-03 12:58:10 +02:00 committed by Alan Daniels
commit 56de2bcd43
30691 changed files with 3076956 additions and 0 deletions

View file

@ -0,0 +1,19 @@
{ buildPecl, lib, rabbitmq-c }:
buildPecl {
pname = "amqp";
version = "1.11.0beta";
sha256 = "sha256-HbVLN6fg2htYZgAFw+IhYHP+XN8j7cTLG6S0YHHOC14=";
buildInputs = [ rabbitmq-c ];
AMQP_DIR = rabbitmq-c;
meta = with lib; {
description = "PHP extension to communicate with any AMQP compliant server";
license = licenses.php301;
homepage = "https://github.com/php-amqp/php-amqp";
maintainers = teams.php.members;
};
}

View file

@ -0,0 +1,22 @@
{ buildPecl, lib, pcre2 }:
buildPecl {
pname = "apcu";
version = "5.1.21";
sha256 = "sha256-EDNTBEhpbufK3shQUPbfUTX7EzAHLvKnRWk5Ks/s+8E=";
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;
};
}

View file

@ -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";
};
}

View file

@ -0,0 +1,15 @@
{ buildPecl, lib }:
buildPecl {
pname = "ast";
version = "1.0.16";
sha256 = "sha256-Rb2jS3gMRmHOd89lzYpQT7VlJtS0Vu3Ml9eRyG84ec4=";
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;
};
}

View file

@ -0,0 +1,33 @@
{ mkDerivation, fetchurl, makeWrapper, lib, php }:
let
pname = "box";
version = "3.16.0";
in
mkDerivation {
inherit pname version;
src = fetchurl {
url = "https://github.com/box-project/box/releases/download/${version}/box.phar";
sha256 = "sha256-9QjijzCdfpWjGb3NXxPc+7GOuRy3psrJtpvHeZ14vfk=";
};
dontUnpack = true;
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall
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"
runHook postInstall
'';
meta = with lib; {
description = "An application for building and managing Phars";
license = licenses.mit;
homepage = "https://github.com/box-project/box";
maintainers = with maintainers; [ jtojnar ] ++ teams.php.members;
};
}

View file

@ -0,0 +1,35 @@
{ mkDerivation, fetchurl, makeWrapper, unzip, lib, php }:
let
pname = "composer";
version = "2.3.5";
in
mkDerivation {
inherit pname version;
src = fetchurl {
url = "https://getcomposer.org/download/${version}/composer.phar";
sha256 = "sha256-OztaiZwGpGrsKAcnvfUKrRQzT2vEBDbqdrB7ZQhw2PQ=";
};
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;
};
}

View file

@ -0,0 +1,34 @@
{ lib, buildPecl, fetchFromGitHub, writeText, libcouchbase, zlib, php, substituteAll }:
let
pname = "couchbase";
version = "3.2.2";
in
buildPecl {
inherit pname version;
src = fetchFromGitHub {
owner = "couchbase";
repo = "php-couchbase";
rev = "v${version}";
sha256 = "sha256-JpzLR4NcyShl2VTivj+15iAsTTsZmdMIdZYc3dLCbIA=";
};
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;
};
}

View file

@ -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)

View file

@ -0,0 +1,22 @@
{ buildPecl, curl, fetchFromGitHub, lib, pcre2 }:
buildPecl rec {
pname = "ddtrace";
version = "0.70.0";
src = fetchFromGitHub {
owner = "DataDog";
repo = "dd-trace-php";
rev = "${version}";
sha256 = "sha256-AYRBzE0Detg/IHXYutZUfPRMtfthxdkSjqD0M+VcTpY=";
};
buildInputs = [ curl pcre2 ];
meta = with lib; {
description = "Datadog Tracing PHP Client";
homepage = "https://github.com/DataDog/dd-trace-php";
license = licenses.apsl20;
maintainers = teams.php.members;
};
}

View file

@ -0,0 +1,35 @@
{ 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 = ''
runHook preInstall
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)
runHook postInstall
'';
meta = with lib; {
description = "A deployment tool for PHP";
license = licenses.mit;
homepage = "https://deployer.org/";
maintainers = with maintainers; teams.php.members;
};
}

View file

@ -0,0 +1,19 @@
{ buildPecl, lib, pcre2, php }:
buildPecl {
pname = "ds";
version = "1.4.0";
sha256 = "1vwk5d27zd746767l8cvbcdr8r70v74vw0im38mlw1g85mc31fd9";
buildInputs = [ pcre2 ];
internalDeps = lib.optionals (lib.versionOlder php.version "8.0") [ php.extensions.json ];
meta = with lib; {
description = "An extension providing efficient data structures for PHP";
license = licenses.mit;
homepage = "https://github.com/php-ds/ext-ds";
maintainers = teams.php.members;
};
}

View file

@ -0,0 +1,34 @@
{ buildPecl, lib, php, pkg-config, openssl, libevent }:
buildPecl {
pname = "event";
version = "3.0.6";
sha256 = "sha256-BN43wydPQBCVla29YoPqKSVihSZCkLAIgDZb+CNQecw=";
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;
};
}

View file

@ -0,0 +1,37 @@
{ buildPecl, lib, gpgme, file, gnupg }:
buildPecl {
pname = "gnupg";
version = "1.5.1";
sha256 = "sha256-qZBvRlqyNDyy8xJ+4gnHJ2Ajh0XDSHjZu8FXZIYhklI=";
buildInputs = [ gpgme ];
checkInputs = [ gnupg ];
postPhpize = ''
substituteInPlace configure \
--replace '/usr/bin/file' '${file}/bin/file' \
--replace 'SEARCH_PATH="/usr/local /usr /opt"' 'SEARCH_PATH="${gpgme.dev}"'
'';
postConfigure = with lib; ''
substituteInPlace Makefile \
--replace 'run-tests.php' 'run-tests.php -q --offline'
substituteInPlace tests/gnupg_res_init_file_name.phpt \
--replace '/usr/bin/gpg' '${gnupg}/bin/gpg' \
--replace 'string(12)' 'string(${toString (stringLength "${gnupg}/bin/gpg")})'
substituteInPlace tests/gnupg_oo_init_file_name.phpt \
--replace '/usr/bin/gpg' '${gnupg}/bin/gpg' \
--replace 'string(12)' 'string(${toString (stringLength "${gnupg}/bin/gpg")})'
'';
doCheck = true;
meta = with lib; {
description = "PHP wrapper for GpgME library that provides access to GnuPG";
license = licenses.bsd3;
homepage = "https://pecl.php.net/package/gnupg";
maintainers = with maintainers; [ taikx4 ] ++ teams.php.members;
};
}

View file

@ -0,0 +1,20 @@
{ buildPecl, zlib, lib }:
buildPecl {
pname = "grpc";
version = "1.45.0";
sha256 = "sha256-SPnECBZ80sXfXYiVJjGfOsSxZBBZnasO9pPu9Q5klIg";
doCheck = true;
checkTarget = "test";
nativeBuildInputs = [ zlib ];
meta = with lib; {
description = "A high performance, open source, general RPC framework that puts mobile and HTTP/2 first.";
license = licenses.asl20;
homepage = "https://github.com/grpc/grpc/tree/master/src/php/ext/grpc";
maintainers = teams.php.members;
};
}

View file

@ -0,0 +1,31 @@
{ mkDerivation, fetchurl, makeWrapper, lib, php }:
mkDerivation rec {
pname = "grumphp";
version = "1.8.1";
src = fetchurl {
url = "https://github.com/phpro/${pname}/releases/download/v${version}/${pname}.phar";
sha256 = "sha256-3XPMyH2F3ZfRr8DmvlBY3Z6uolhaRraQxwKIskIwPq8=";
};
dontUnpack = true;
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
install -D $src $out/libexec/${pname}/grumphp.phar
makeWrapper ${php}/bin/php $out/bin/grumphp \
--add-flags "$out/libexec/${pname}/grumphp.phar"
runHook postInstall
'';
meta = with lib; {
broken = versionOlder php.version "8.0";
description = "A PHP code-quality tool";
homepage = "https://github.com/phpro/grumphp";
license = licenses.mit;
maintainers = teams.php.members;
};
}

View file

@ -0,0 +1,19 @@
{ buildPecl, lib }:
buildPecl {
pname = "igbinary";
version = "3.2.7";
sha256 = "sha256-0NwNC1aphfT1LOogcXEz09oFNoh2vA+UMXweYOAxnn0=";
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;
};
}

View file

@ -0,0 +1,19 @@
{ buildPecl, lib, imagemagick, pkg-config, pcre2 }:
buildPecl {
pname = "imagick";
version = "3.7.0";
sha256 = "sha256-WjZDVBCQKdIkvLsuguFbJIvptkEif0XmNCXAZTF5LT4=";
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;
};
}

View file

@ -0,0 +1,20 @@
{ buildPecl, lib, php }:
buildPecl {
pname = "mailparse";
version = "3.1.3";
sha256 = "sha256-hlnKYtyaTX0V8H+XoOIULLWCUcjncs02Zp7HQNIpJHE=";
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;
};
}

View file

@ -0,0 +1,28 @@
{ buildPecl, lib, fetchFromGitHub, libmaxminddb }:
let
pname = "maxminddb";
version = "1.11.0";
in
buildPecl {
inherit pname version;
src = fetchFromGitHub {
owner = "maxmind";
repo = "MaxMind-DB-Reader-php";
rev = "v${version}";
sha256 = "sha256-Dw1+pYJmZ3U2+rgSOEkx4a6HB8FebSr7YZodOjSipjI=";
};
prePatch = ''
cd ext
'';
buildInputs = [ libmaxminddb ];
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;
};
}

View file

@ -0,0 +1,32 @@
{ buildPecl, lib, fetchFromGitHub, php, cyrus_sasl, zlib, pkg-config, libmemcached }:
buildPecl rec {
pname = "memcached";
version = "3.2.0";
src = fetchFromGitHub {
owner = "php-memcached-dev";
repo = "php-memcached";
rev = "v${version}";
sha256 = "sha256-g9IzGSZUxLlOE32o9ZJOa3erb5Qs1ntR8nzS3kRd/EU=";
};
internalDeps = [
php.extensions.session
];
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;
};
}

View file

@ -0,0 +1,36 @@
{ stdenv
, buildPecl
, lib
, pcre2
, pkg-config
, cyrus_sasl
, icu64
, openssl
, snappy
, zlib
, darwin
}:
buildPecl {
pname = "mongodb";
version = "1.13.0";
sha256 = "sha256-IoZbYdJkyQyeqoXZTy9fV+VkFAyth8jCYB+jP4Dv4Ls=";
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;
};
}

View file

@ -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;
};
}

View file

@ -0,0 +1,21 @@
{ lib, stdenv, buildPecl, php, valgrind, pcre2 }:
let
pname = "openswoole";
version = "4.11.1";
in
buildPecl {
inherit pname version;
sha256 = "sha256-Rhoa4ny86dwB3e86/1W30AlDGRUDYjK8RusquKF5Izg=";
buildInputs = [ pcre2 ] ++ lib.optionals (!stdenv.isDarwin) [ valgrind ];
meta = with lib; {
changelog = "https://pecl.php.net/package/openswoole/${version}";
description = "Coroutine-based concurrency library and high performance programmatic server for PHP";
homepage = "https://www.openswoole.com/";
license = licenses.asl20;
longDescription = "Open Swoole allows you to build high-performance, async multi-tasking webservices and applications using an easy to use Coroutine API.\nOpen Swoole is a complete async solution that has built-in support for async programming via coroutines.\nIt offers a range of multi-threaded I/O modules (HTTP Server, WebSockets, TaskWorkers, Process Pools) out of the box and support for popular PHP clients like PDO for MySQL, and CURL.\nYou can use the sync or async, Coroutine API to write whole applications or create thousands of light weight Coroutines within one Linux process.";
maintainers = teams.php.members;
};
}

View file

@ -0,0 +1,17 @@
{ buildPecl, lib, pcre2 }:
buildPecl {
pname = "pcov";
version = "1.0.11";
sha256 = "sha256-rSLmTNOvBlMwGCrBQsHDq0Dek0SCzUAPi9dgZBMKwkI=";
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;
};
}

View file

@ -0,0 +1,41 @@
{ stdenv, fetchurl, makeWrapper, lib, php }:
let
pname = "pdepend";
version = "2.10.3";
in
stdenv.mkDerivation {
inherit pname version;
src = fetchurl {
url = "https://github.com/pdepend/pdepend/releases/download/${version}/pdepend.phar";
sha256 = "I5+n8+a3rHRgW4OM6FbVcf3T1wu9zBrTSb5sGq7ArH4=";
};
dontUnpack = true;
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
install -D $src $out/libexec/pdepend/pdepend.phar
makeWrapper ${php}/bin/php $out/bin/pdepend \
--add-flags "$out/libexec/pdepend/pdepend.phar"
runHook postInstall
'';
meta = with lib; {
description = "An adaptation of JDepend for PHP";
homepage = "https://github.com/pdepend/pdepend";
license = licenses.bsd3;
longDescription = "
PHP Depend is an adaptation of the established Java
development tool JDepend. This tool shows you the quality
of your design in terms of extensibility, reusability and
maintainability.
";
maintainers = teams.php.members;
platforms = platforms.all;
};
}

View file

@ -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;
};
}

View file

@ -0,0 +1,19 @@
{ stdenv, buildPecl, lib, libiconv, unixODBC, php }:
buildPecl {
pname = "pdo_sqlsrv";
version = "5.10.0";
sha256 = "sha256-BEa7i/8egvz9mT69dl0dxWcVo+dURT9Dzo6f6EdlESo=";
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;
};
}

View file

@ -0,0 +1,33 @@
{ mkDerivation, fetchurl, makeWrapper, lib, php }:
let
pname = "phing";
version = "2.17.2";
in
mkDerivation {
inherit pname version;
src = fetchurl {
url = "https://www.phing.info/get/phing-${version}.phar";
sha256 = "sha256-KDqJdHIqgtar6ofNG4ENRlpRg9XYFeL5YS7Rclh1+PQ=";
};
dontUnpack = true;
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
install -D $src $out/libexec/phing/phing.phar
makeWrapper ${php}/bin/php $out/bin/phing \
--add-flags "$out/libexec/phing/phing.phar"
runHook postInstall
'';
meta = with lib; {
description = "PHing Is Not GNU make; it's a PHP project build system or build tool based on Apache Ant";
license = licenses.lgpl3;
homepage = "https://github.com/phingofficial/phing";
maintainers = with maintainers; teams.php.members;
};
}

View file

@ -0,0 +1,31 @@
{ mkDerivation, fetchurl, makeWrapper, lib, php }:
mkDerivation rec {
pname = "phive";
version = "0.15.0";
src = fetchurl {
url = "https://github.com/phar-io/phive/releases/download/${version}/phive-${version}.phar";
sha256 = "sha256-crMr8d5nsVt7+zQ5xPeph/JXmTEn6jJFVtp3mOgylB4=";
};
dontUnpack = true;
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
install -D $src $out/libexec/phive/phive.phar
makeWrapper ${php}/bin/php $out/bin/phive \
--add-flags "$out/libexec/phive/phive.phar"
runHook postInstall
'';
meta = with lib; {
description = "The Phar Installation and Verification Environment (PHIVE)";
homepage = "https://github.com/phar-io/phive";
license = licenses.bsd3;
maintainers = with maintainers; teams.php.members;
};
}

View file

@ -0,0 +1,33 @@
{ mkDerivation, fetchurl, makeWrapper, lib, php }:
let
pname = "php-cs-fixer";
version = "3.8.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-kOdJ2xuS095xVdPxoz4q/XM0BpyJEy6V/CtkuTN/Chk=";
};
dontUnpack = true;
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall
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"
runHook postInstall
'';
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;
};
}

View file

@ -0,0 +1,44 @@
{ mkDerivation, fetchFromGitHub, makeWrapper, lib, php }:
let
pname = "php-parallel-lint";
version = "1.3.2";
in
mkDerivation {
inherit pname version;
src = fetchFromGitHub {
owner = "php-parallel-lint";
repo = "PHP-Parallel-Lint";
rev = "v${version}";
sha256 = "sha256-pTHH19HwqyOj5pSmH7l0JlntNVtMdu4K9Cl+qyrrg9U=";
};
nativeBuildInputs = [
makeWrapper
php.packages.composer
php.packages.box
];
buildPhase = ''
runHook preBuild
composer dump-autoload
box build
runHook postBuild
'';
installPhase = ''
runHook preInstall
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"
runHook postInstall
'';
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/php-parallel-lint/PHP-Parallel-Lint";
maintainers = with maintainers; [ jtojnar ] ++ teams.php.members;
};
}

View file

@ -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";
};
}

View file

@ -0,0 +1,33 @@
{ 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";
};
dontUnpack = true;
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall
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"
runHook postInstall
'';
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;
};
}

View file

@ -0,0 +1,33 @@
{ 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";
};
dontUnpack = true;
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall
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"
runHook postInstall
'';
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;
};
}

View file

@ -0,0 +1,34 @@
{ 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";
};
dontUnpack = true;
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall
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"
runHook postInstall
'';
meta = with lib; {
description = "PHP code quality analyzer";
license = licenses.bsd3;
homepage = "https://phpmd.org/";
maintainers = teams.php.members;
broken = versionOlder php.version "7.4";
};
}

View file

@ -0,0 +1,40 @@
{ mkDerivation, fetchurl, makeWrapper, lib, php }:
let
pname = "phpstan";
version = "1.5.4";
in
mkDerivation {
inherit pname version;
src = fetchurl {
url = "https://github.com/phpstan/phpstan/releases/download/${version}/phpstan.phar";
sha256 = "sha256-6dXYrDpQ3E+z8mcZof7GSXOrUMoceuPTHO21Z8l4Wyw=";
};
dontUnpack = true;
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall
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"
runHook postInstall
'';
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;
};
}

View file

@ -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;
};
}

View file

@ -0,0 +1,19 @@
{ buildPecl, lib, pcre2 }:
buildPecl {
pname = "protobuf";
version = "3.19.4";
sha256 = "sha256-ijo+UZz+Hh3F8FUJmcUIbKBLkv4t4CWIrbRUfUp7Zbo=";
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;
};
}

View file

@ -0,0 +1,33 @@
{ mkDerivation, fetchurl, makeWrapper, lib, php }:
let
pname = "psalm";
version = "4.15.0";
in
mkDerivation {
inherit pname version;
src = fetchurl {
url = "https://github.com/vimeo/psalm/releases/download/v${version}/psalm.phar";
sha256 = "jvUNnA5OTmw3h1O1Ur7pUojgU5IRgwq2U/JF/ByO0EA=";
};
dontUnpack = true;
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall
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"
runHook postInstall
'';
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;
};
}

View file

@ -0,0 +1,33 @@
{ mkDerivation, fetchurl, makeWrapper, lib, php }:
let
pname = "psysh";
version = "0.11.2";
in
mkDerivation {
inherit pname version;
src = fetchurl {
url = "https://github.com/bobthecow/psysh/releases/download/v${version}/psysh-v${version}.tar.gz";
sha256 = "sha256-u7VTlZw9k7VDWKGK/8fzFw0bjNu6DMGsoQnDedHgCWg=";
};
dontUnpack = true;
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
tar -xzf $src -C $out/bin
chmod +x $out/bin/psysh
wrapProgram $out/bin/psysh --prefix PATH : "${lib.makeBinPath [ php ]}"
runHook postInstall
'';
meta = with lib; {
description = "PsySH is a runtime developer console, interactive debugger and REPL for PHP.";
license = licenses.mit;
homepage = "https://psysh.org/";
maintainers = teams.php.members;
};
}

View file

@ -0,0 +1,22 @@
{ buildPecl, lib, rdkafka, pcre2 }:
buildPecl {
pname = "rdkafka";
version = "6.0.1";
sha256 = "sha256-ikq+cB5ZPRBCwhB0YQT0sEsVrJjbYzGEju2RrK388ZI=";
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;
};
}

View file

@ -0,0 +1,21 @@
{ buildPecl, lib, php }:
buildPecl {
pname = "redis";
version = "5.3.7";
sha256 = "sha256-uVgWbM2k9AvRfGmY+eIjkCGuZERnzYrVwV3vQgqtZbA=";
internalDeps = with php.extensions; [
session
] ++ lib.optionals (lib.versionOlder php.version "8.0") [
json
];
meta = with lib; {
description = "PHP extension for interfacing with Redis";
license = licenses.php301;
homepage = "https://github.com/phpredis/phpredis/";
maintainers = teams.php.members;
};
}

View file

@ -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;
};
}

View file

@ -0,0 +1,51 @@
{ 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
];
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 ];
};
}

View file

@ -0,0 +1,19 @@
{ stdenv, buildPecl, lib, unixODBC, libiconv }:
buildPecl {
pname = "sqlsrv";
version = "5.10.0";
sha256 = "sha256-drPwg6Go8QNYHCG6OkbWyiV76uZyjNFYpkpGq1miJrQ=";
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;
};
}

View file

@ -0,0 +1,20 @@
{ lib, stdenv, buildPecl, php, valgrind, pcre2 }:
buildPecl {
pname = "swoole";
version = "4.8.8";
sha256 = "sha256-SnhDRC7/a7BTHn87c6YCz/R8jI6aES1ibSD6YAl6R+I=";
buildInputs = [ pcre2 ] ++ lib.optionals (!stdenv.isDarwin) [ valgrind ];
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;
};
}

View file

@ -0,0 +1,20 @@
{ buildPecl, lib }:
buildPecl {
pname = "xdebug";
version = "3.1.4";
sha256 = "sha256-QZWSb59sToAv90m7LKhaxQY2cZpy5TieNy4171I1Bfk=";
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;
};
}

View file

@ -0,0 +1,19 @@
{ buildPecl, lib, pkg-config, libyaml }:
buildPecl {
pname = "yaml";
version = "2.2.2";
sha256 = "sha256-EZBS8EYdV9hvRMJS+cmy3XQ0hscBwaCroK6+zdDYuCo=";
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;
};
}