workflows/check-nix-format: enforce for php-packages

This commit is contained in:
Pol Dellaiera 2024-05-04 23:04:36 +02:00
parent a1fd087b05
commit c759efa5e7
No known key found for this signature in database
GPG Key ID: D476DFE9C67467CA
62 changed files with 675 additions and 368 deletions

View File

@ -39,6 +39,7 @@ 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
# Iterate over all environment variables beginning with NIX_FMT_PATHS_.
run: |
for env_var in "${!NIX_FMT_PATHS_@}"; do

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