Merge pull request #309112 from drupol/nixfmt/php-packages

workflows/check-nix-format: enforce for PHP
This commit is contained in:
Pol Dellaiera 2024-05-05 07:55:29 +02:00 committed by GitHub
commit b8fb460d5b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
68 changed files with 904 additions and 511 deletions

View File

@ -39,6 +39,8 @@ jobs:
pkgs/test/cuda
pkgs/top-level/cuda-packages.nix
NIX_FMT_PATHS_VSCODE_EXTS: pkgs/applications/editors/vscode/extensions
NIX_FMT_PATHS_PHP_PACKAGES: pkgs/development/php-packages
NIX_FMT_PATHS_BUILD_SUPPORT_PHP: pkgs/build-support/php
# Iterate over all environment variables beginning with NIX_FMT_PATHS_.
run: |
for env_var in "${!NIX_FMT_PATHS_@}"; do

View File

@ -1,7 +1,17 @@
{ callPackage, stdenvNoCC, lib, writeTextDir, php, makeBinaryWrapper, fetchFromGitHub, fetchurl }:
{
callPackage,
stdenvNoCC,
lib,
writeTextDir,
php,
makeBinaryWrapper,
fetchFromGitHub,
fetchurl,
}:
let
buildComposerProjectOverride = finalAttrs: previousAttrs:
buildComposerProjectOverride =
finalAttrs: previousAttrs:
let
phpDrv = finalAttrs.php or php;
@ -22,49 +32,58 @@ let
phpDrv.composerHooks.composerInstallHook
];
buildInputs = (previousAttrs.buildInputs or [ ]) ++ [
phpDrv
];
buildInputs = (previousAttrs.buildInputs or [ ]) ++ [ phpDrv ];
patches = previousAttrs.patches or [ ];
strictDeps = previousAttrs.strictDeps or true;
# Should we keep these empty phases?
configurePhase = previousAttrs.configurePhase or ''
runHook preConfigure
configurePhase =
previousAttrs.configurePhase or ''
runHook preConfigure
runHook postConfigure
'';
runHook postConfigure
'';
buildPhase = previousAttrs.buildPhase or ''
runHook preBuild
buildPhase =
previousAttrs.buildPhase or ''
runHook preBuild
runHook postBuild
'';
runHook postBuild
'';
doCheck = previousAttrs.doCheck or true;
checkPhase = previousAttrs.checkPhase or ''
runHook preCheck
checkPhase =
previousAttrs.checkPhase or ''
runHook preCheck
runHook postCheck
'';
runHook postCheck
'';
installPhase = previousAttrs.installPhase or ''
runHook preInstall
installPhase =
previousAttrs.installPhase or ''
runHook preInstall
runHook postInstall
'';
runHook postInstall
'';
doInstallCheck = previousAttrs.doInstallCheck or false;
installCheckPhase = previousAttrs.installCheckPhase or ''
runHook preInstallCheck
installCheckPhase =
previousAttrs.installCheckPhase or ''
runHook preInstallCheck
runHook postInstallCheck
'';
runHook postInstallCheck
'';
composerRepository = phpDrv.mkComposerRepository {
inherit composer composer-local-repo-plugin;
inherit (finalAttrs) patches pname src vendorHash version;
inherit (finalAttrs)
patches
pname
src
vendorHash
version
;
composerLock = previousAttrs.composerLock or null;
composerNoDev = previousAttrs.composerNoDev or true;
@ -73,9 +92,9 @@ let
composerStrictValidation = previousAttrs.composerStrictValidation or true;
};
COMPOSER_CACHE_DIR="/dev/null";
COMPOSER_DISABLE_NETWORK="1";
COMPOSER_MIRROR_PATH_REPOS="1";
COMPOSER_CACHE_DIR = "/dev/null";
COMPOSER_DISABLE_NETWORK = "1";
COMPOSER_MIRROR_PATH_REPOS = "1";
meta = previousAttrs.meta or { } // {
platforms = lib.platforms.all;

View File

@ -1,4 +1,11 @@
{ callPackage, stdenvNoCC, lib, writeTextDir, fetchFromGitHub, php }:
{
callPackage,
stdenvNoCC,
lib,
writeTextDir,
fetchFromGitHub,
php,
}:
let
mkComposerRepositoryOverride =
@ -22,12 +29,24 @@ let
composer-local-repo-plugin = callPackage ./pkgs/composer-local-repo-plugin.nix { };
in
assert (lib.assertMsg (previousAttrs ? src) "mkComposerRepository expects src argument.");
assert (lib.assertMsg (previousAttrs ? vendorHash) "mkComposerRepository expects vendorHash argument.");
assert (
lib.assertMsg (previousAttrs ? vendorHash) "mkComposerRepository expects vendorHash argument."
);
assert (lib.assertMsg (previousAttrs ? version) "mkComposerRepository expects version argument.");
assert (lib.assertMsg (previousAttrs ? pname) "mkComposerRepository expects pname argument.");
assert (lib.assertMsg (previousAttrs ? composerNoDev) "mkComposerRepository expects composerNoDev argument.");
assert (lib.assertMsg (previousAttrs ? composerNoPlugins) "mkComposerRepository expects composerNoPlugins argument.");
assert (lib.assertMsg (previousAttrs ? composerNoScripts) "mkComposerRepository expects composerNoScripts argument.");
assert (
lib.assertMsg (previousAttrs ? composerNoDev) "mkComposerRepository expects composerNoDev argument."
);
assert (
lib.assertMsg (
previousAttrs ? composerNoPlugins
) "mkComposerRepository expects composerNoPlugins argument."
);
assert (
lib.assertMsg (
previousAttrs ? composerNoScripts
) "mkComposerRepository expects composerNoScripts argument."
);
{
composerNoDev = previousAttrs.composerNoDev or true;
composerNoPlugins = previousAttrs.composerNoPlugins or true;
@ -51,37 +70,42 @@ let
strictDeps = previousAttrs.strictDeps or true;
# Should we keep these empty phases?
configurePhase = previousAttrs.configurePhase or ''
runHook preConfigure
configurePhase =
previousAttrs.configurePhase or ''
runHook preConfigure
runHook postConfigure
'';
runHook postConfigure
'';
buildPhase = previousAttrs.buildPhase or ''
runHook preBuild
buildPhase =
previousAttrs.buildPhase or ''
runHook preBuild
runHook postBuild
'';
runHook postBuild
'';
doCheck = previousAttrs.doCheck or true;
checkPhase = previousAttrs.checkPhase or ''
runHook preCheck
checkPhase =
previousAttrs.checkPhase or ''
runHook preCheck
runHook postCheck
'';
runHook postCheck
'';
installPhase = previousAttrs.installPhase or ''
runHook preInstall
installPhase =
previousAttrs.installPhase or ''
runHook preInstall
runHook postInstall
'';
runHook postInstall
'';
doInstallCheck = previousAttrs.doInstallCheck or false;
installCheckPhase = previousAttrs.installCheckPhase or ''
runHook preInstallCheck
installCheckPhase =
previousAttrs.installCheckPhase or ''
runHook preInstallCheck
runHook postInstallCheck
'';
runHook postInstallCheck
'';
COMPOSER_CACHE_DIR = "/dev/null";
COMPOSER_MIRROR_PATH_REPOS = "1";
@ -89,7 +113,8 @@ let
COMPOSER_DISABLE_NETWORK = "0";
outputHashMode = "recursive";
outputHashAlgo = if (finalAttrs ? vendorHash && finalAttrs.vendorHash != "") then null else "sha256";
outputHashAlgo =
if (finalAttrs ? vendorHash && finalAttrs.vendorHash != "") then null else "sha256";
outputHash = finalAttrs.vendorHash or "";
};
in

View File

@ -1,45 +1,69 @@
{ stdenv, lib, php, autoreconfHook, fetchurl, re2c, nix-update-script }:
{
stdenv,
lib,
php,
autoreconfHook,
fetchurl,
re2c,
nix-update-script,
}:
{ pname
, version
, internalDeps ? [ ]
, peclDeps ? [ ]
, buildInputs ? [ ]
, nativeBuildInputs ? [ ]
, postPhpize ? ""
, makeFlags ? [ ]
, src ? fetchurl ({
url = "https://pecl.php.net/get/${pname}-${version}.tgz";
} // lib.filterAttrs (attrName: _: lib.elem attrName [ "sha256" "hash" ]) args)
, passthru ? { }
, ...
{
pname,
version,
internalDeps ? [ ],
peclDeps ? [ ],
buildInputs ? [ ],
nativeBuildInputs ? [ ],
postPhpize ? "",
makeFlags ? [ ],
src ? fetchurl (
{
url = "https://pecl.php.net/get/${pname}-${version}.tgz";
}
// lib.filterAttrs (
attrName: _:
lib.elem attrName [
"sha256"
"hash"
]
) args
),
passthru ? { },
...
}@args:
stdenv.mkDerivation (args // {
name = "php-${pname}-${version}";
extensionName = pname;
stdenv.mkDerivation (
args
// {
name = "php-${pname}-${version}";
extensionName = pname;
inherit src;
inherit src;
nativeBuildInputs = [ autoreconfHook re2c ] ++ nativeBuildInputs;
buildInputs = [ php ] ++ peclDeps ++ buildInputs;
nativeBuildInputs = [
autoreconfHook
re2c
] ++ nativeBuildInputs;
buildInputs = [ php ] ++ peclDeps ++ buildInputs;
makeFlags = [ "EXTENSION_DIR=$(out)/lib/php/extensions" ] ++ makeFlags;
makeFlags = [ "EXTENSION_DIR=$(out)/lib/php/extensions" ] ++ makeFlags;
autoreconfPhase = ''
phpize
${postPhpize}
${lib.concatMapStringsSep "\n"
(dep: "mkdir -p ext; ln -s ${dep.dev}/include ext/${dep.extensionName}")
internalDeps}
'';
checkPhase = "NO_INTERACTON=yes make test";
autoreconfPhase = ''
phpize
${postPhpize}
${lib.concatMapStringsSep "\n" (
dep: "mkdir -p ext; ln -s ${dep.dev}/include ext/${dep.extensionName}"
) internalDeps}
'';
checkPhase = "NO_INTERACTON=yes make test";
passthru = passthru // {
# Thes flags were introduced for `nix-update` so that it can update
# PHP extensions correctly.
# See the corresponding PR: https://github.com/Mic92/nix-update/pull/123
isPhpExtension = true;
updateScript = nix-update-script {};
};
})
passthru = passthru // {
# Thes flags were introduced for `nix-update` so that it can update
# PHP extensions correctly.
# See the corresponding PR: https://github.com/Mic92/nix-update/pull/123
isPhpExtension = true;
updateScript = nix-update-script { };
};
}
)

View File

@ -1,11 +1,12 @@
{ lib
, makeSetupHook
, diffutils
, jq
, writeShellApplication
, moreutils
, cacert
, buildPackages
{
lib,
makeSetupHook,
diffutils,
jq,
writeShellApplication,
moreutils,
cacert,
buildPackages,
}:
let
@ -16,24 +17,30 @@ let
};
in
{
composerRepositoryHook = makeSetupHook
{
name = "composer-repository-hook.sh";
propagatedBuildInputs = [ jq moreutils cacert ];
substitutions = {
phpScriptUtils = lib.getExe php-script-utils;
};
} ./composer-repository-hook.sh;
composerRepositoryHook = makeSetupHook {
name = "composer-repository-hook.sh";
propagatedBuildInputs = [
jq
moreutils
cacert
];
substitutions = {
phpScriptUtils = lib.getExe php-script-utils;
};
} ./composer-repository-hook.sh;
composerInstallHook = makeSetupHook
{
name = "composer-install-hook.sh";
propagatedBuildInputs = [ jq moreutils cacert ];
substitutions = {
# Specify the stdenv's `diff` by abspath to ensure that the user's build
# inputs do not cause us to find the wrong `diff`.
cmp = "${lib.getBin buildPackages.diffutils}/bin/cmp";
phpScriptUtils = lib.getExe php-script-utils;
};
} ./composer-install-hook.sh;
composerInstallHook = makeSetupHook {
name = "composer-install-hook.sh";
propagatedBuildInputs = [
jq
moreutils
cacert
];
substitutions = {
# Specify the stdenv's `diff` by abspath to ensure that the user's build
# inputs do not cause us to find the wrong `diff`.
cmp = "${lib.getBin buildPackages.diffutils}/bin/cmp";
phpScriptUtils = lib.getExe php-script-utils;
};
} ./composer-install-hook.sh;
}

View File

@ -1,9 +1,14 @@
{ php, callPackage, stdenvNoCC, lib, fetchFromGitHub, makeBinaryWrapper }:
{
php,
callPackage,
stdenvNoCC,
lib,
fetchFromGitHub,
makeBinaryWrapper,
}:
let
composer = callPackage ./composer-phar.nix {
inherit (php.packages.composer) version pharHash;
};
composer = callPackage ./composer-phar.nix { inherit (php.packages.composer) version pharHash; };
composerKeys = stdenvNoCC.mkDerivation (finalComposerKeysAttrs: {
pname = "composer-keys";
@ -43,13 +48,9 @@ stdenvNoCC.mkDerivation (finalAttrs: {
COMPOSER_HTACCESS_PROTECT = "0";
COMPOSER_DISABLE_NETWORK = "1";
nativeBuildInputs = [
makeBinaryWrapper
];
nativeBuildInputs = [ makeBinaryWrapper ];
buildInputs = [
composer
];
buildInputs = [ composer ];
configurePhase = ''
runHook preConfigure

View File

@ -1,17 +1,17 @@
{
_7zz
, cacert
, curl
, fetchurl
, git
, lib
, makeBinaryWrapper
, php
, stdenvNoCC
, unzip
, xz
, version
, pharHash
_7zz,
cacert,
curl,
fetchurl,
git,
lib,
makeBinaryWrapper,
php,
stdenvNoCC,
unzip,
xz,
version,
pharHash,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
@ -34,7 +34,16 @@ stdenvNoCC.mkDerivation (finalAttrs: {
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 [ _7zz cacert curl git unzip xz ]}
--prefix PATH : ${
lib.makeBinPath [
_7zz
cacert
curl
git
unzip
xz
]
}
runHook postInstall
'';

View File

@ -1,8 +1,14 @@
{ buildPecl, lib, rabbitmq-c, fetchFromGitHub }:
{
buildPecl,
lib,
rabbitmq-c,
fetchFromGitHub,
}:
let
version = "2.1.2";
in buildPecl {
in
buildPecl {
inherit version;
pname = "amqp";

View File

@ -1,8 +1,16 @@
{ buildPecl, lib, pcre2, fetchFromGitHub, php, fetchpatch }:
{
buildPecl,
lib,
pcre2,
fetchFromGitHub,
php,
fetchpatch,
}:
let
version = "5.1.23";
in buildPecl {
in
buildPecl {
inherit version;
pname = "apcu";
@ -16,9 +24,15 @@ in buildPecl {
buildInputs = [ pcre2 ];
doCheck = true;
checkTarget = "test";
checkFlagsArray = [ "REPORT_EXIT_STATUS=1" "NO_INTERACTION=1" ];
checkFlagsArray = [
"REPORT_EXIT_STATUS=1"
"NO_INTERACTION=1"
];
makeFlags = [ "phpincludedir=$(dev)/include" ];
outputs = [ "out" "dev" ];
outputs = [
"out"
"dev"
];
meta = with lib; {
changelog = "https://github.com/krakjoe/apcu/releases/tag/v${version}";

View File

@ -1,8 +1,13 @@
{ buildPecl, lib, fetchFromGitHub }:
{
buildPecl,
lib,
fetchFromGitHub,
}:
let
version = "1.1.1";
in buildPecl {
in
buildPecl {
inherit version;
pname = "ast";

View File

@ -1,4 +1,8 @@
{ lib, php82, fetchFromGitHub }:
{
lib,
php82,
fetchFromGitHub,
}:
php82.buildComposerProject (finalAttrs: {
pname = "box";

View File

@ -1,10 +1,11 @@
{ lib
, fetchFromGitHub
, fetchpatch
, installShellFiles
, php
, nix-update-script
, testers
{
lib,
fetchFromGitHub,
fetchpatch,
installShellFiles,
php,
nix-update-script,
testers,
}:
php.buildComposerProject (finalAttrs: {

View File

@ -1,14 +1,15 @@
{ lib
, callPackage
, fetchFromGitHub
, php
, unzip
, _7zz
, xz
, git
, curl
, cacert
, makeBinaryWrapper
{
lib,
callPackage,
fetchFromGitHub,
php,
unzip,
_7zz,
xz,
git,
curl,
cacert,
makeBinaryWrapper,
}:
php.buildComposerProject (finalAttrs: {
@ -37,7 +38,16 @@ php.buildComposerProject (finalAttrs: {
postInstall = ''
wrapProgram $out/bin/composer \
--prefix PATH : ${lib.makeBinPath [ _7zz cacert curl git unzip xz ]}
--prefix PATH : ${
lib.makeBinPath [
_7zz
cacert
curl
git
unzip
xz
]
}
'';
vendorHash = "sha256-dNNV9fTyGyRoGeDV/vBjn0aMgkaUMsrKQv5AOoiYokQ=";

View File

@ -1,4 +1,13 @@
{ lib, buildPecl, fetchFromGitHub, writeText, libcouchbase, zlib, php, substituteAll }:
{
lib,
buildPecl,
fetchFromGitHub,
writeText,
libcouchbase,
zlib,
php,
substituteAll,
}:
let
pname = "couchbase";
version = "3.2.2";
@ -15,7 +24,10 @@ buildPecl {
configureFlags = [ "--with-couchbase" ];
buildInputs = [ libcouchbase zlib ];
buildInputs = [
libcouchbase
zlib
];
patches = [
(substituteAll {

View File

@ -1,14 +1,15 @@
{ lib
, stdenv
, buildPecl
, cargo
, rustc
, fetchFromGitHub
, rustPlatform
, curl
, pcre2
, libiconv
, darwin
{
lib,
stdenv,
buildPecl,
cargo,
rustc,
fetchFromGitHub,
rustPlatform,
curl,
pcre2,
libiconv,
darwin,
}:
buildPecl rec {
@ -32,31 +33,39 @@ buildPecl rec {
env.NIX_CFLAGS_COMPILE = "-O2";
nativeBuildInputs = [
cargo
rustc
] ++ lib.optionals stdenv.isLinux [
rustPlatform.bindgenHook
rustPlatform.cargoSetupHook
] ++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk_11_0.rustPlatform.bindgenHook
darwin.apple_sdk_11_0.rustPlatform.cargoSetupHook
];
nativeBuildInputs =
[
cargo
rustc
]
++ lib.optionals stdenv.isLinux [
rustPlatform.bindgenHook
rustPlatform.cargoSetupHook
]
++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk_11_0.rustPlatform.bindgenHook
darwin.apple_sdk_11_0.rustPlatform.cargoSetupHook
];
buildInputs = [
curl
pcre2
] ++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.CoreFoundation
darwin.apple_sdk.frameworks.Security
libiconv
];
buildInputs =
[
curl
pcre2
]
++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.CoreFoundation
darwin.apple_sdk.frameworks.Security
libiconv
];
meta = {
changelog = "https://github.com/DataDog/dd-trace-php/blob/${src.rev}/CHANGELOG.md";
description = "Datadog Tracing PHP Client";
homepage = "https://github.com/DataDog/dd-trace-php";
license = with lib.licenses; [ asl20 bsd3 ];
license = with lib.licenses; [
asl20
bsd3
];
maintainers = lib.teams.php.members;
};
}

View File

@ -1,6 +1,7 @@
{ lib
, fetchFromGitHub
, php
{
lib,
fetchFromGitHub,
php,
}:
php.buildComposerProject (finalAttrs: {

View File

@ -1,8 +1,15 @@
{ buildPecl, lib, pcre2, php, fetchFromGitHub }:
{
buildPecl,
lib,
pcre2,
php,
fetchFromGitHub,
}:
let
version = "1.5.0";
in buildPecl {
in
buildPecl {
inherit version;
pname = "ds";

View File

@ -1,4 +1,11 @@
{ buildPecl, lib, php, pkg-config, openssl, libevent }:
{
buildPecl,
lib,
php,
pkg-config,
openssl,
libevent,
}:
buildPecl {
pname = "event";
@ -19,7 +26,10 @@ buildPecl {
'';
nativeBuildInputs = [ pkg-config ];
buildInputs = [ openssl libevent ];
buildInputs = [
openssl
libevent
];
internalDeps = [ php.extensions.sockets ];
meta = with lib; {

View File

@ -1,8 +1,17 @@
{ buildPecl, lib, gpgme, file, gnupg, php, fetchFromGitHub }:
{
buildPecl,
lib,
gpgme,
file,
gnupg,
php,
fetchFromGitHub,
}:
let
version = "1.5.1";
in buildPecl {
in
buildPecl {
inherit version;
pname = "gnupg";

View File

@ -1,7 +1,8 @@
{ buildPecl
, pkg-config
, lib
, grpc
{
buildPecl,
pkg-config,
lib,
grpc,
}:
buildPecl {

View File

@ -1,6 +1,7 @@
{ fetchFromGitHub
, lib
, php
{
fetchFromGitHub,
lib,
php,
}:
php.buildComposerProject (finalAttrs: {

View File

@ -7,7 +7,10 @@ buildPecl {
configureFlags = [ "--enable-igbinary" ];
makeFlags = [ "phpincludedir=$(dev)/include" ];
outputs = [ "out" "dev" ];
outputs = [
"out"
"dev"
];
meta = {
description = "Binary serialization for PHP";

View File

@ -1,4 +1,10 @@
{ buildPecl, lib, imagemagick, pkg-config, pcre2 }:
{
buildPecl,
lib,
imagemagick,
pkg-config,
pcre2,
}:
buildPecl {
pname = "imagick";

View File

@ -1,6 +1,4 @@
{ buildPecl
, lib
}:
{ buildPecl, lib }:
buildPecl {
pname = "inotify";

View File

@ -1,7 +1,8 @@
{ stdenv
, lib
, fetchzip
, php
{
stdenv,
lib,
fetchzip,
php,
}:
let
@ -42,7 +43,9 @@ stdenv.mkDerivation {
installPhase = ''
mkdir -p $out/lib/php/extensions
cp $src/ioncube_loader_${variant.${stdenv.hostPlatform.system}.prefix}_${phpVersion}.so $out/lib/php/extensions/ioncube-loader.so
cp $src/ioncube_loader_${
variant.${stdenv.hostPlatform.system}.prefix
}_${phpVersion}.so $out/lib/php/extensions/ioncube-loader.so
'';
meta = with lib; {
@ -52,6 +55,11 @@ stdenv.mkDerivation {
sourceProvenance = [ sourceTypes.binaryNativeCode ];
license = licenses.unfree;
maintainers = with maintainers; [ neverbehave ];
platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
platforms = [
"x86_64-linux"
"aarch64-linux"
"x86_64-darwin"
"aarch64-darwin"
];
};
}

View File

@ -1,4 +1,8 @@
{ buildPecl, lib, php }:
{
buildPecl,
lib,
php,
}:
buildPecl {
pname = "mailparse";

View File

@ -1,4 +1,9 @@
{ buildPecl, lib, fetchFromGitHub, libmaxminddb }:
{
buildPecl,
lib,
fetchFromGitHub,
libmaxminddb,
}:
let
pname = "maxminddb";
version = "1.11.1";

View File

@ -1,4 +1,11 @@
{ buildPecl, lib, fetchFromGitHub, php, zlib, pkg-config }:
{
buildPecl,
lib,
fetchFromGitHub,
php,
zlib,
pkg-config,
}:
buildPecl rec {
pname = "memcache";
@ -11,13 +18,9 @@ buildPecl rec {
hash = "sha256-77GvQ59XUpIZmdYZP6IhtjdkYwXKuNBSG+LBScz2BtI=";
};
internalDeps = [
php.extensions.session
];
internalDeps = [ php.extensions.session ];
configureFlags = [
"--with-zlib-dir=${zlib.dev}"
];
configureFlags = [ "--with-zlib-dir=${zlib.dev}" ];
nativeBuildInputs = [ pkg-config ];
buildInputs = [ zlib ];

View File

@ -1,4 +1,13 @@
{ buildPecl, lib, fetchFromGitHub, php, cyrus_sasl, zlib, pkg-config, libmemcached }:
{
buildPecl,
lib,
fetchFromGitHub,
php,
cyrus_sasl,
zlib,
pkg-config,
libmemcached,
}:
buildPecl rec {
pname = "memcached";
@ -11,9 +20,7 @@ buildPecl rec {
sha256 = "sha256-g9IzGSZUxLlOE32o9ZJOa3erb5Qs1ntR8nzS3kRd/EU=";
};
internalDeps = [
php.extensions.session
];
internalDeps = [ php.extensions.session ];
configureFlags = [
"--with-zlib-dir=${zlib.dev}"
@ -21,7 +28,10 @@ buildPecl rec {
];
nativeBuildInputs = [ pkg-config ];
buildInputs = [ cyrus_sasl zlib ];
buildInputs = [
cyrus_sasl
zlib
];
meta = with lib; {
description = "PHP extension for interfacing with memcached via libmemcached library";

View File

@ -1,4 +1,8 @@
{ buildPecl, lib, fetchFromGitHub }:
{
buildPecl,
lib,
fetchFromGitHub,
}:
buildPecl rec {
version = "unstable-2022-03-25";

View File

@ -1,12 +1,14 @@
{ buildPecl
, lib
, fetchFromGitHub
, judy
{
buildPecl,
lib,
fetchFromGitHub,
judy,
}:
let
version = "3.0.2";
in buildPecl {
in
buildPecl {
inherit version;
pname = "memprof";
@ -17,9 +19,7 @@ in buildPecl {
hash = "sha256-K8YcvCobErBkaWFTkVGLXXguQPOLIgQuRGWJF+HAIRA=";
};
configureFlags = [
"--with-judy-dir=${judy}"
];
configureFlags = [ "--with-judy-dir=${judy}" ];
doCheck = true;

View File

@ -1,16 +1,17 @@
{ stdenv
, buildPecl
, fetchFromGitHub
, lib
, libiconv
, pcre2
, pkg-config
, cyrus_sasl
, icu64
, openssl
, snappy
, zlib
, darwin
{
stdenv,
buildPecl,
fetchFromGitHub,
lib,
libiconv,
pcre2,
pkg-config,
cyrus_sasl,
icu64,
openssl,
snappy,
zlib,
darwin,
}:
buildPecl rec {
@ -26,18 +27,20 @@ buildPecl rec {
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [
cyrus_sasl
icu64
openssl
snappy
zlib
pcre2
] ++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk_11_0.frameworks.Security
darwin.apple_sdk_11_0.Libsystem
libiconv
];
buildInputs =
[
cyrus_sasl
icu64
openssl
snappy
zlib
pcre2
]
++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk_11_0.frameworks.Security
darwin.apple_sdk_11_0.Libsystem
libiconv
];
meta = {
description = "The Official MongoDB PHP driver";

View File

@ -1,16 +1,27 @@
{ buildPecl, lib, oracle-instantclient, php }:
{
buildPecl,
lib,
oracle-instantclient,
php,
}:
let
versionData = if (lib.versionOlder php.version "8.1") then {
version = "3.0.1";
sha256 = "108ds92620dih5768z19hi0jxfa7wfg5hdvyyvpapir87c0ap914";
} else if (lib.versionOlder php.version "8.2") then {
version = "3.2.1";
sha256 = "sha256-zyF703DzRZDBhlNFFt/dknmZ7layqhgjG1/ZDN+PEsg=";
} else {
version = "3.3.0";
sha256 = "sha256-0y5VnRKspJYE6xWeBcX2OG2pJTNbB+27GMywDv4gzwQ=";
};
versionData =
if (lib.versionOlder php.version "8.1") then
{
version = "3.0.1";
sha256 = "108ds92620dih5768z19hi0jxfa7wfg5hdvyyvpapir87c0ap914";
}
else if (lib.versionOlder php.version "8.2") then
{
version = "3.2.1";
sha256 = "sha256-zyF703DzRZDBhlNFFt/dknmZ7layqhgjG1/ZDN+PEsg=";
}
else
{
version = "3.3.0";
sha256 = "sha256-0y5VnRKspJYE6xWeBcX2OG2pJTNbB+27GMywDv4gzwQ=";
};
in
buildPecl {
pname = "oci8";

View File

@ -1,8 +1,16 @@
{ lib, stdenv, buildPecl, valgrind, pcre2, fetchFromGitHub }:
{
lib,
stdenv,
buildPecl,
valgrind,
pcre2,
fetchFromGitHub,
}:
let
version = "22.1.2";
in buildPecl {
in
buildPecl {
inherit version;
pname = "openswoole";

View File

@ -1,8 +1,13 @@
{ lib, buildPecl, fetchFromGitHub }:
{
lib,
buildPecl,
fetchFromGitHub,
}:
let
version = "1.0.2";
in buildPecl rec {
in
buildPecl rec {
inherit version;
pname = "opentelemetry";

View File

@ -1,8 +1,15 @@
{ buildPecl, lib, php, pcre2, fetchFromGitHub }:
{
buildPecl,
lib,
php,
pcre2,
fetchFromGitHub,
}:
let
version = "1.0.11";
in buildPecl {
in
buildPecl {
inherit version;
pname = "pcov";

View File

@ -1,4 +1,10 @@
{ buildPecl, fetchFromGitHub, lib, pkg-config, dlib }:
{
buildPecl,
fetchFromGitHub,
lib,
pkg-config,
dlib,
}:
let
pname = "pdlib";
version = "1.1.0";

View File

@ -1,4 +1,11 @@
{ stdenv, buildPecl, lib, libiconv, unixODBC, php }:
{
stdenv,
buildPecl,
lib,
libiconv,
unixODBC,
php,
}:
buildPecl {
pname = "pdo_sqlsrv";

View File

@ -1,4 +1,11 @@
{ buildPecl, lib, pcre2, fetchFromGitHub, php, pkg-config }:
{
buildPecl,
lib,
pcre2,
fetchFromGitHub,
php,
pkg-config,
}:
buildPecl rec {
pname = "phalcon";
@ -11,7 +18,10 @@ buildPecl rec {
hash = "sha256-AgyV9pxyXcXuhrRgozN2p67u8xZMepbWrzYaBZMFn6k=";
};
internalDeps = [ php.extensions.session php.extensions.pdo ];
internalDeps = [
php.extensions.session
php.extensions.pdo
];
nativeBuildInputs = [ pkg-config ];
buildInputs = [ pcre2 ];

View File

@ -1,30 +1,32 @@
{ lib
, fetchFromGitHub
, php
{
lib,
fetchFromGitHub,
php,
}:
(php.withExtensions({ enabled, all }: enabled ++ (with all; [ ast ]))).buildComposerProject (finalAttrs: {
pname = "phan";
version = "5.4.3";
(php.withExtensions ({ enabled, all }: enabled ++ (with all; [ ast ]))).buildComposerProject
(finalAttrs: {
pname = "phan";
version = "5.4.3";
src = fetchFromGitHub {
owner = "phan";
repo = "phan";
rev = finalAttrs.version;
hash = "sha256-O0dtnDsz6X99B99VbRQf3Wr/xJfsJqd+2l5Z5iWxHyU=";
};
src = fetchFromGitHub {
owner = "phan";
repo = "phan";
rev = finalAttrs.version;
hash = "sha256-O0dtnDsz6X99B99VbRQf3Wr/xJfsJqd+2l5Z5iWxHyU=";
};
vendorHash = "sha256-yE85MBseJa0VGV5EbjT0te4QT3697YvtumGkMMfZtxI=";
vendorHash = "sha256-yE85MBseJa0VGV5EbjT0te4QT3697YvtumGkMMfZtxI=";
meta = {
description = "Static analyzer for PHP";
homepage = "https://github.com/phan/phan";
license = lib.licenses.mit;
longDescription = ''
Phan is a static analyzer for PHP. Phan prefers to avoid false-positives
and attempts to prove incorrectness rather than correctness.
'';
mainProgram = "phan";
maintainers = with lib.maintainers; [ apeschar ] ++ lib.teams.php.members;
};
})
meta = {
description = "Static analyzer for PHP";
homepage = "https://github.com/phan/phan";
license = lib.licenses.mit;
longDescription = ''
Phan is a static analyzer for PHP. Phan prefers to avoid false-positives
and attempts to prove incorrectness rather than correctness.
'';
mainProgram = "phan";
maintainers = with lib.maintainers; [ apeschar ] ++ lib.teams.php.members;
};
})

View File

@ -1,29 +1,31 @@
{ lib
, fetchFromGitHub
, php
{
lib,
fetchFromGitHub,
php,
}:
(php.withExtensions({ enabled, all }: enabled ++ (with all; [ xsl ]))).buildComposerProject (finalAttrs: {
pname = "phing";
version = "3.0.0-rc6";
(php.withExtensions ({ enabled, all }: enabled ++ (with all; [ xsl ]))).buildComposerProject
(finalAttrs: {
pname = "phing";
version = "3.0.0-rc6";
src = fetchFromGitHub {
owner = "phingofficial";
repo = "phing";
rev = finalAttrs.version;
hash = "sha256-pOt6uQaz69WuHKYZhq6FFbjyHGrEc+Bf0Sw9uCS3Nrc=";
};
src = fetchFromGitHub {
owner = "phingofficial";
repo = "phing";
rev = finalAttrs.version;
hash = "sha256-pOt6uQaz69WuHKYZhq6FFbjyHGrEc+Bf0Sw9uCS3Nrc=";
};
# TODO: Open a PR against https://github.com/phingofficial/phing
# Their `composer.lock` is out of date therefore, we need to provide one
composerLock = ./composer.lock;
vendorHash = "sha256-ueTbbz3FGyRcRvlcJNirHdC77Tko4RKtYMFB3+4JdnQ=";
# TODO: Open a PR against https://github.com/phingofficial/phing
# Their `composer.lock` is out of date therefore, we need to provide one
composerLock = ./composer.lock;
vendorHash = "sha256-ueTbbz3FGyRcRvlcJNirHdC77Tko4RKtYMFB3+4JdnQ=";
meta = {
description = "PHing Is Not GNU make; it's a PHP project build system or build tool based on Apache Ant";
homepage = "https://github.com/phingofficial/phing";
license = lib.licenses.lgpl3;
mainProgram = "phing";
maintainers = lib.teams.php.members;
};
})
meta = {
description = "PHing Is Not GNU make; it's a PHP project build system or build tool based on Apache Ant";
homepage = "https://github.com/phingofficial/phing";
license = lib.licenses.lgpl3;
mainProgram = "phing";
maintainers = lib.teams.php.members;
};
})

View File

@ -1,6 +1,7 @@
{ lib
, fetchFromGitHub
, php
{
lib,
fetchFromGitHub,
php,
}:
php.buildComposerProject (finalAttrs: {

View File

@ -1,6 +1,7 @@
{ fetchFromGitHub
, lib
, php
{
fetchFromGitHub,
lib,
php,
}:
php.buildComposerProject (finalAttrs: {

View File

@ -1,6 +1,7 @@
{ lib
, fetchFromGitHub
, php
{
lib,
fetchFromGitHub,
php,
}:
php.buildComposerProject (finalAttrs: {

View File

@ -1,6 +1,7 @@
{ fetchFromGitHub
, lib
, php
{
fetchFromGitHub,
lib,
php,
}:
php.buildComposerProject (finalAttrs: {

View File

@ -1,6 +1,7 @@
{ lib
, fetchFromGitHub
, php
{
lib,
fetchFromGitHub,
php,
}:
php.buildComposerProject (finalAttrs: {

View File

@ -1,6 +1,7 @@
{ lib
, fetchFromGitHub
, php
{
lib,
fetchFromGitHub,
php,
}:
php.buildComposerProject (finalAttrs: {

View File

@ -1,9 +1,10 @@
{ lib
, stdenv
, fetchFromGitHub
, php
, testers
, phpPackages
{
lib,
stdenv,
fetchFromGitHub,
php,
testers,
phpPackages,
}:
stdenv.mkDerivation (finalAttrs: {

View File

@ -1,4 +1,8 @@
{ fetchFromGitHub, lib, php }:
{
fetchFromGitHub,
lib,
php,
}:
php.buildComposerProject (finalAttrs: {
pname = "phpstan";

View File

@ -1,4 +1,8 @@
{ buildPecl, lib, fetchFromGitHub }:
{
buildPecl,
lib,
fetchFromGitHub,
}:
buildPecl rec {
pname = "pinba";
@ -7,7 +11,7 @@ buildPecl rec {
src = fetchFromGitHub {
owner = "tony2001";
repo = "pinba_extension";
rev = "RELEASE_${lib.replaceStrings ["."] ["_"] version}";
rev = "RELEASE_${lib.replaceStrings [ "." ] [ "_" ] version}";
sha256 = "0wqcqq6sb51wiawa37hbd1h9dbvmyyndzdvz87xqji7lpr9vn8jy";
};

View File

@ -1,4 +1,8 @@
{ buildPecl, lib, pcre2 }:
{
buildPecl,
lib,
pcre2,
}:
buildPecl {
pname = "protobuf";

View File

@ -1,6 +1,7 @@
{ lib
, fetchFromGitHub
, php
{
lib,
fetchFromGitHub,
php,
}:
php.buildComposerProject (finalAttrs: {

View File

@ -1,4 +1,8 @@
{ fetchFromGitHub, lib, php }:
{
fetchFromGitHub,
lib,
php,
}:
php.buildComposerProject (finalAttrs: {
pname = "psysh";

View File

@ -1,4 +1,9 @@
{ buildPecl, lib, rdkafka, pcre2 }:
{
buildPecl,
lib,
rdkafka,
pcre2,
}:
buildPecl {
pname = "rdkafka";
@ -6,7 +11,10 @@ buildPecl {
version = "6.0.3";
sha256 = "sha256-Euqrl21JaX4x8WOLR4ietexhrbdYcIlBESsVf47H3Ug=";
buildInputs = [ rdkafka pcre2 ];
buildInputs = [
rdkafka
pcre2
];
postPhpize = ''
substituteInPlace configure \

View File

@ -1,8 +1,14 @@
{ buildPecl, lib, php, fetchFromGitHub }:
{
buildPecl,
lib,
php,
fetchFromGitHub,
}:
let
version = "6.0.2";
in buildPecl {
in
buildPecl {
inherit version;
pname = "redis";
@ -13,9 +19,7 @@ in buildPecl {
hash = "sha256-Ie31zak6Rqxm2+jGXWg6KN4czHe9e+190jZRQ5VoB+M=";
};
internalDeps = with php.extensions; [
session
];
internalDeps = with php.extensions; [ session ];
meta = with lib; {
changelog = "https://github.com/phpredis/phpredis/releases/tag/${version}";

View File

@ -1,15 +1,16 @@
{ stdenv
, lib
, fetchurl
, php
, openssl
, hiredis
, zstd
, lz4
, autoPatchelfHook
, writeShellScript
, curl
, common-updater-scripts
{
stdenv,
lib,
fetchurl,
php,
openssl,
hiredis,
zstd,
lz4,
autoPatchelfHook,
writeShellScript,
curl,
common-updater-scripts,
}:
let
@ -53,11 +54,19 @@ let
};
};
makeSource = { system, phpMajor }: fetchurl {
url = "https://builds.r2.relay.so/v${version}/relay-v${version}-php"
+ phpMajor + "-" + hashes.${system}.platform + ".tar.gz";
sha256 = hashes.${system}.hash.${phpMajor} or (throw "Unsupported PHP version for relay ${phpMajor} on ${system}");
};
makeSource =
{ system, phpMajor }:
fetchurl {
url =
"https://builds.r2.relay.so/v${version}/relay-v${version}-php"
+ phpMajor
+ "-"
+ hashes.${system}.platform
+ ".tar.gz";
sha256 =
hashes.${system}.hash.${phpMajor}
or (throw "Unsupported PHP version for relay ${phpMajor} on ${system}");
};
in
stdenv.mkDerivation (finalAttrs: {
inherit version;
@ -68,50 +77,65 @@ stdenv.mkDerivation (finalAttrs: {
system = stdenv.hostPlatform.system;
phpMajor = lib.versions.majorMinor php.version;
};
nativeBuildInputs = lib.optionals (!stdenv.isDarwin) [
autoPatchelfHook
];
nativeBuildInputs = lib.optionals (!stdenv.isDarwin) [ autoPatchelfHook ];
buildInputs = lib.optionals (!stdenv.isDarwin) [
openssl
zstd
lz4
];
installPhase = ''
runHook preInstall
mkdir -p $out/lib/php/extensions
cp relay-pkg.so $out/lib/php/extensions/relay.so
chmod +w $out/lib/php/extensions/relay.so
'' + (if stdenv.isDarwin then
let
args = lib.strings.concatMapStrings
(v: " -change ${v.name}" + " ${lib.strings.makeLibraryPath [ v.value ]}/${builtins.baseNameOf v.name}")
(with lib.attrsets; [
(nameValuePair "/opt/homebrew/opt/hiredis/lib/libhiredis.1.1.0.dylib" hiredis)
(nameValuePair "/opt/homebrew/opt/hiredis/lib/libhiredis_ssl.dylib.1.1.0" hiredis)
(nameValuePair "/opt/homebrew/opt/openssl@3/lib/libssl.3.dylib" openssl)
(nameValuePair "/opt/homebrew/opt/openssl@3/lib/libcrypto.3.dylib" openssl)
(nameValuePair "/opt/homebrew/opt/zstd/lib/libzstd.1.dylib" zstd)
(nameValuePair "/opt/homebrew/opt/lz4/lib/liblz4.1.dylib" lz4)
]);
in
# fixDarwinDylibNames can't be used here because we need to completely remap .dylibs, not just add absolute paths
installPhase =
''
install_name_tool${args} $out/lib/php/extensions/relay.so
''
else
"") + ''
# Random UUID that's required by the extension. Can be anything, but must be different from default.
sed -i "s/00000000-0000-0000-0000-000000000000/aced680f-30e9-40cc-a868-390ead14ba0c/" $out/lib/php/extensions/relay.so
chmod -w $out/lib/php/extensions/relay.so
runHook preInstall
runHook postInstall
'';
mkdir -p $out/lib/php/extensions
cp relay-pkg.so $out/lib/php/extensions/relay.so
chmod +w $out/lib/php/extensions/relay.so
''
+ (
if stdenv.isDarwin then
let
args =
lib.strings.concatMapStrings
(
v:
" -change ${v.name}" + " ${lib.strings.makeLibraryPath [ v.value ]}/${builtins.baseNameOf v.name}"
)
(
with lib.attrsets;
[
(nameValuePair "/opt/homebrew/opt/hiredis/lib/libhiredis.1.1.0.dylib" hiredis)
(nameValuePair "/opt/homebrew/opt/hiredis/lib/libhiredis_ssl.dylib.1.1.0" hiredis)
(nameValuePair "/opt/homebrew/opt/openssl@3/lib/libssl.3.dylib" openssl)
(nameValuePair "/opt/homebrew/opt/openssl@3/lib/libcrypto.3.dylib" openssl)
(nameValuePair "/opt/homebrew/opt/zstd/lib/libzstd.1.dylib" zstd)
(nameValuePair "/opt/homebrew/opt/lz4/lib/liblz4.1.dylib" lz4)
]
);
in
# fixDarwinDylibNames can't be used here because we need to completely remap .dylibs, not just add absolute paths
''
install_name_tool${args} $out/lib/php/extensions/relay.so
''
else
""
)
+ ''
# Random UUID that's required by the extension. Can be anything, but must be different from default.
sed -i "s/00000000-0000-0000-0000-000000000000/aced680f-30e9-40cc-a868-390ead14ba0c/" $out/lib/php/extensions/relay.so
chmod -w $out/lib/php/extensions/relay.so
runHook postInstall
'';
passthru = {
updateScript = writeShellScript "update-${finalAttrs.pname}" ''
set -o errexit
export PATH="$PATH:${lib.makeBinPath [ curl common-updater-scripts ]}"
export PATH="$PATH:${
lib.makeBinPath [
curl
common-updater-scripts
]
}"
NEW_VERSION=$(curl --silent https://builds.r2.relay.so/meta/builds | tail -n1 | cut -c2-)
if [[ "${version}" = "$NEW_VERSION" ]]; then
@ -129,23 +153,22 @@ stdenv.mkDerivation (finalAttrs: {
updateables =
builtins.listToAttrs
# Collect all leaf attributes (containing hashes).
(lib.collect
(attrs: attrs ? name)
# create an attr containing
(lib.mapAttrsRecursive
(
lib.collect (attrs: attrs ? name)
# create an attr containing
(
path: _value:
lib.nameValuePair
(builtins.replaceStrings [ "." ] [ "_" ] (lib.concatStringsSep "_" path))
(finalAttrs.finalPackage.overrideAttrs (attrs: {
lib.mapAttrsRecursive (
path: _value:
lib.nameValuePair (builtins.replaceStrings [ "." ] [ "_" ] (lib.concatStringsSep "_" path)) (
finalAttrs.finalPackage.overrideAttrs (attrs: {
src = makeSource {
system = builtins.head path;
phpMajor = builtins.head (builtins.tail (builtins.tail path));
};
}))
})
)
) (lib.filterAttrsRecursive (name: _value: name != "platform") hashes)
)
(lib.filterAttrsRecursive (name: _value: name != "platform") hashes)
)
);
};
@ -155,7 +178,15 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://relay.so/";
sourceProvenance = [ sourceTypes.binaryNativeCode ];
license = licenses.unfree;
maintainers = with maintainers; [ tillkruss ostrolucky ];
platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
maintainers = with maintainers; [
tillkruss
ostrolucky
];
platforms = [
"x86_64-linux"
"aarch64-linux"
"x86_64-darwin"
"aarch64-darwin"
];
};
})

View File

@ -1,4 +1,9 @@
{ buildPecl, lib, pkg-config, rrdtool }:
{
buildPecl,
lib,
pkg-config,
rrdtool,
}:
buildPecl {
pname = "rrd";
@ -6,7 +11,10 @@ buildPecl {
version = "2.0.3";
hash = "sha256-pCFh5YzcioU7cs/ymJidy96CsPdkVt1ZzgKFTJK3MPc=";
nativeBuildInputs = [ pkg-config rrdtool ];
nativeBuildInputs = [
pkg-config
rrdtool
];
meta = {
description = "PHP bindings to RRD tool system";

View File

@ -1,4 +1,9 @@
{ buildPecl, lib, samba, pkg-config }:
{
buildPecl,
lib,
samba,
pkg-config,
}:
buildPecl {
pname = "smbclient";
version = "1.0.6";

View File

@ -1,11 +1,12 @@
{ stdenv
, buildPecl
, lib
, libiconv
, php
, fetchFromGitHub
, pcre2
, darwin
{
stdenv,
buildPecl,
lib,
libiconv,
php,
fetchFromGitHub,
pcre2,
darwin,
}:
buildPecl rec {
@ -19,23 +20,19 @@ buildPecl rec {
hash = "sha256-NwG8gBaToBaJGrZoCD7bDym7hQidWU0ArckoQCHN81o=";
};
buildInputs = [
pcre2
] ++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk_11_0.frameworks.CoreFoundation
darwin.apple_sdk_11_0.Libsystem
libiconv
];
buildInputs =
[ pcre2 ]
++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk_11_0.frameworks.CoreFoundation
darwin.apple_sdk_11_0.Libsystem
libiconv
];
internalDeps = with php.extensions; [
session
];
internalDeps = with php.extensions; [ session ];
sourceRoot = "${src.name}/src";
configureFlags = [
"--enable-snuffleupagus"
];
configureFlags = [ "--enable-snuffleupagus" ];
postPhpize = ''
./configure --enable-snuffleupagus

View File

@ -1,8 +1,14 @@
{ buildPecl, lib, fetchFromGitHub, zlib }:
{
buildPecl,
lib,
fetchFromGitHub,
zlib,
}:
let
version = "0.4.15";
in buildPecl {
in
buildPecl {
inherit version;
pname = "spx";
@ -13,9 +19,7 @@ in buildPecl {
hash = "sha256-gw6wbPt1Qy0vNfT0flq7bxpnGU3SgJvPVhk8H0Imvx4=";
};
configureFlags = [
"--with-zlib-dir=${zlib.dev}"
];
configureFlags = [ "--with-zlib-dir=${zlib.dev}" ];
preConfigure = ''
substituteInPlace Makefile.frag \

View File

@ -1,4 +1,10 @@
{ stdenv, buildPecl, lib, unixODBC, libiconv }:
{
stdenv,
buildPecl,
lib,
unixODBC,
libiconv,
}:
buildPecl {
pname = "sqlsrv";
@ -6,9 +12,7 @@ buildPecl {
version = "5.10.1";
sha256 = "sha256-XNrttNiihjQ+azuZmS2fy0So+2ndAqpde8IOsupeWdI=";
buildInputs = [
unixODBC
] ++ lib.optionals stdenv.isDarwin [ libiconv ];
buildInputs = [ unixODBC ] ++ lib.optionals stdenv.isDarwin [ libiconv ];
meta = with lib; {
description = "Microsoft Drivers for PHP for SQL Server";

View File

@ -1,4 +1,8 @@
{ buildPecl, lib, libssh2 }:
{
buildPecl,
lib,
libssh2,
}:
buildPecl rec {
version = "1.3.1";

View File

@ -1,15 +1,17 @@
{ lib
, stdenv
, buildPecl
, php
, valgrind
, pcre2
, fetchFromGitHub
}:
{
lib,
stdenv,
buildPecl,
php,
valgrind,
pcre2,
fetchFromGitHub,
}:
let
version = "5.1.2";
in buildPecl {
in
buildPecl {
inherit version;
pname = "swoole";

View File

@ -1,4 +1,9 @@
{ buildPecl, lib, fetchFromGitHub, libuv }:
{
buildPecl,
lib,
fetchFromGitHub,
libuv,
}:
buildPecl rec {
pname = "uv";

View File

@ -1,11 +1,13 @@
{ lib
, buildPecl
, fetchFromGitHub
{
lib,
buildPecl,
fetchFromGitHub,
}:
let
version = "0.18.0";
in buildPecl {
in
buildPecl {
inherit version;
pname = "vld";
@ -20,7 +22,7 @@ in buildPecl {
# Tests relies on PHP 7.0
doCheck = false;
meta = {
meta = {
changelog = "https://github.com/derickr/vld/releases/tag/${version}";
description = "The Vulcan Logic Dumper hooks into the Zend Engine and dumps all the opcodes (execution units) of a script.";
homepage = "https://github.com/derickr/vld";

View File

@ -1,8 +1,13 @@
{ buildPecl, lib, fetchFromGitHub }:
{
buildPecl,
lib,
fetchFromGitHub,
}:
let
version = "3.3.2";
in buildPecl {
in
buildPecl {
inherit version;
pname = "xdebug";

View File

@ -1,4 +1,9 @@
{ buildPecl, lib, pkg-config, libyaml }:
{
buildPecl,
lib,
pkg-config,
libyaml,
}:
buildPecl {
pname = "yaml";
@ -8,7 +13,10 @@ buildPecl {
configureFlags = [ "--with-yaml=${libyaml.dev}" ];
nativeBuildInputs = [ pkg-config libyaml ];
nativeBuildInputs = [
pkg-config
libyaml
];
meta = {
description = "YAML-1.1 parser and emitter";

View File

@ -1,8 +1,15 @@
{ buildPecl, lib, zstd, pkg-config, fetchFromGitHub }:
{
buildPecl,
lib,
zstd,
pkg-config,
fetchFromGitHub,
}:
let
version = "0.13.3";
in buildPecl {
in
buildPecl {
inherit version;
pname = "zstd";
@ -13,15 +20,11 @@ in buildPecl {
hash = "sha256-jEuL93ScF0/FlfUvib6uZafOkIe0+VkWV/frpSjTkvY=";
};
nativeBuildInputs = [
pkg-config
];
nativeBuildInputs = [ pkg-config ];
buildInputs = [ zstd ];
configureFlags = [
"--with-libzstd"
];
configureFlags = [ "--with-libzstd" ];
meta = with lib; {
description = "Zstd Extension for PHP";