workflows/check-nix-format: enforce for build-support/php
This commit is contained in:
parent
c759efa5e7
commit
75ae762133
1
.github/workflows/check-nix-format.yml
vendored
1
.github/workflows/check-nix-format.yml
vendored
|
@ -40,6 +40,7 @@ jobs:
|
||||||
pkgs/top-level/cuda-packages.nix
|
pkgs/top-level/cuda-packages.nix
|
||||||
NIX_FMT_PATHS_VSCODE_EXTS: pkgs/applications/editors/vscode/extensions
|
NIX_FMT_PATHS_VSCODE_EXTS: pkgs/applications/editors/vscode/extensions
|
||||||
NIX_FMT_PATHS_PHP_PACKAGES: pkgs/development/php-packages
|
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_.
|
# Iterate over all environment variables beginning with NIX_FMT_PATHS_.
|
||||||
run: |
|
run: |
|
||||||
for env_var in "${!NIX_FMT_PATHS_@}"; do
|
for env_var in "${!NIX_FMT_PATHS_@}"; do
|
||||||
|
|
|
@ -1,7 +1,17 @@
|
||||||
{ callPackage, stdenvNoCC, lib, writeTextDir, php, makeBinaryWrapper, fetchFromGitHub, fetchurl }:
|
{
|
||||||
|
callPackage,
|
||||||
|
stdenvNoCC,
|
||||||
|
lib,
|
||||||
|
writeTextDir,
|
||||||
|
php,
|
||||||
|
makeBinaryWrapper,
|
||||||
|
fetchFromGitHub,
|
||||||
|
fetchurl,
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
buildComposerProjectOverride = finalAttrs: previousAttrs:
|
buildComposerProjectOverride =
|
||||||
|
finalAttrs: previousAttrs:
|
||||||
|
|
||||||
let
|
let
|
||||||
phpDrv = finalAttrs.php or php;
|
phpDrv = finalAttrs.php or php;
|
||||||
|
@ -22,41 +32,44 @@ let
|
||||||
phpDrv.composerHooks.composerInstallHook
|
phpDrv.composerHooks.composerInstallHook
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = (previousAttrs.buildInputs or [ ]) ++ [
|
buildInputs = (previousAttrs.buildInputs or [ ]) ++ [ phpDrv ];
|
||||||
phpDrv
|
|
||||||
];
|
|
||||||
|
|
||||||
patches = previousAttrs.patches or [ ];
|
patches = previousAttrs.patches or [ ];
|
||||||
strictDeps = previousAttrs.strictDeps or true;
|
strictDeps = previousAttrs.strictDeps or true;
|
||||||
|
|
||||||
# Should we keep these empty phases?
|
# Should we keep these empty phases?
|
||||||
configurePhase = previousAttrs.configurePhase or ''
|
configurePhase =
|
||||||
|
previousAttrs.configurePhase or ''
|
||||||
runHook preConfigure
|
runHook preConfigure
|
||||||
|
|
||||||
runHook postConfigure
|
runHook postConfigure
|
||||||
'';
|
'';
|
||||||
|
|
||||||
buildPhase = previousAttrs.buildPhase or ''
|
buildPhase =
|
||||||
|
previousAttrs.buildPhase or ''
|
||||||
runHook preBuild
|
runHook preBuild
|
||||||
|
|
||||||
runHook postBuild
|
runHook postBuild
|
||||||
'';
|
'';
|
||||||
|
|
||||||
doCheck = previousAttrs.doCheck or true;
|
doCheck = previousAttrs.doCheck or true;
|
||||||
checkPhase = previousAttrs.checkPhase or ''
|
checkPhase =
|
||||||
|
previousAttrs.checkPhase or ''
|
||||||
runHook preCheck
|
runHook preCheck
|
||||||
|
|
||||||
runHook postCheck
|
runHook postCheck
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = previousAttrs.installPhase or ''
|
installPhase =
|
||||||
|
previousAttrs.installPhase or ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
|
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
doInstallCheck = previousAttrs.doInstallCheck or false;
|
doInstallCheck = previousAttrs.doInstallCheck or false;
|
||||||
installCheckPhase = previousAttrs.installCheckPhase or ''
|
installCheckPhase =
|
||||||
|
previousAttrs.installCheckPhase or ''
|
||||||
runHook preInstallCheck
|
runHook preInstallCheck
|
||||||
|
|
||||||
runHook postInstallCheck
|
runHook postInstallCheck
|
||||||
|
@ -64,7 +77,13 @@ let
|
||||||
|
|
||||||
composerRepository = phpDrv.mkComposerRepository {
|
composerRepository = phpDrv.mkComposerRepository {
|
||||||
inherit composer composer-local-repo-plugin;
|
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;
|
composerLock = previousAttrs.composerLock or null;
|
||||||
composerNoDev = previousAttrs.composerNoDev or true;
|
composerNoDev = previousAttrs.composerNoDev or true;
|
||||||
|
@ -73,9 +92,9 @@ let
|
||||||
composerStrictValidation = previousAttrs.composerStrictValidation or true;
|
composerStrictValidation = previousAttrs.composerStrictValidation or true;
|
||||||
};
|
};
|
||||||
|
|
||||||
COMPOSER_CACHE_DIR="/dev/null";
|
COMPOSER_CACHE_DIR = "/dev/null";
|
||||||
COMPOSER_DISABLE_NETWORK="1";
|
COMPOSER_DISABLE_NETWORK = "1";
|
||||||
COMPOSER_MIRROR_PATH_REPOS="1";
|
COMPOSER_MIRROR_PATH_REPOS = "1";
|
||||||
|
|
||||||
meta = previousAttrs.meta or { } // {
|
meta = previousAttrs.meta or { } // {
|
||||||
platforms = lib.platforms.all;
|
platforms = lib.platforms.all;
|
||||||
|
|
|
@ -1,4 +1,11 @@
|
||||||
{ callPackage, stdenvNoCC, lib, writeTextDir, fetchFromGitHub, php }:
|
{
|
||||||
|
callPackage,
|
||||||
|
stdenvNoCC,
|
||||||
|
lib,
|
||||||
|
writeTextDir,
|
||||||
|
fetchFromGitHub,
|
||||||
|
php,
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
mkComposerRepositoryOverride =
|
mkComposerRepositoryOverride =
|
||||||
|
@ -22,12 +29,24 @@ let
|
||||||
composer-local-repo-plugin = callPackage ./pkgs/composer-local-repo-plugin.nix { };
|
composer-local-repo-plugin = callPackage ./pkgs/composer-local-repo-plugin.nix { };
|
||||||
in
|
in
|
||||||
assert (lib.assertMsg (previousAttrs ? src) "mkComposerRepository expects src argument.");
|
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 ? version) "mkComposerRepository expects version argument.");
|
||||||
assert (lib.assertMsg (previousAttrs ? pname) "mkComposerRepository expects pname argument.");
|
assert (lib.assertMsg (previousAttrs ? pname) "mkComposerRepository expects pname argument.");
|
||||||
assert (lib.assertMsg (previousAttrs ? composerNoDev) "mkComposerRepository expects composerNoDev argument.");
|
assert (
|
||||||
assert (lib.assertMsg (previousAttrs ? composerNoPlugins) "mkComposerRepository expects composerNoPlugins argument.");
|
lib.assertMsg (previousAttrs ? composerNoDev) "mkComposerRepository expects composerNoDev argument."
|
||||||
assert (lib.assertMsg (previousAttrs ? composerNoScripts) "mkComposerRepository expects composerNoScripts argument.");
|
);
|
||||||
|
assert (
|
||||||
|
lib.assertMsg (
|
||||||
|
previousAttrs ? composerNoPlugins
|
||||||
|
) "mkComposerRepository expects composerNoPlugins argument."
|
||||||
|
);
|
||||||
|
assert (
|
||||||
|
lib.assertMsg (
|
||||||
|
previousAttrs ? composerNoScripts
|
||||||
|
) "mkComposerRepository expects composerNoScripts argument."
|
||||||
|
);
|
||||||
{
|
{
|
||||||
composerNoDev = previousAttrs.composerNoDev or true;
|
composerNoDev = previousAttrs.composerNoDev or true;
|
||||||
composerNoPlugins = previousAttrs.composerNoPlugins or true;
|
composerNoPlugins = previousAttrs.composerNoPlugins or true;
|
||||||
|
@ -51,33 +70,38 @@ let
|
||||||
strictDeps = previousAttrs.strictDeps or true;
|
strictDeps = previousAttrs.strictDeps or true;
|
||||||
|
|
||||||
# Should we keep these empty phases?
|
# Should we keep these empty phases?
|
||||||
configurePhase = previousAttrs.configurePhase or ''
|
configurePhase =
|
||||||
|
previousAttrs.configurePhase or ''
|
||||||
runHook preConfigure
|
runHook preConfigure
|
||||||
|
|
||||||
runHook postConfigure
|
runHook postConfigure
|
||||||
'';
|
'';
|
||||||
|
|
||||||
buildPhase = previousAttrs.buildPhase or ''
|
buildPhase =
|
||||||
|
previousAttrs.buildPhase or ''
|
||||||
runHook preBuild
|
runHook preBuild
|
||||||
|
|
||||||
runHook postBuild
|
runHook postBuild
|
||||||
'';
|
'';
|
||||||
|
|
||||||
doCheck = previousAttrs.doCheck or true;
|
doCheck = previousAttrs.doCheck or true;
|
||||||
checkPhase = previousAttrs.checkPhase or ''
|
checkPhase =
|
||||||
|
previousAttrs.checkPhase or ''
|
||||||
runHook preCheck
|
runHook preCheck
|
||||||
|
|
||||||
runHook postCheck
|
runHook postCheck
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = previousAttrs.installPhase or ''
|
installPhase =
|
||||||
|
previousAttrs.installPhase or ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
|
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
doInstallCheck = previousAttrs.doInstallCheck or false;
|
doInstallCheck = previousAttrs.doInstallCheck or false;
|
||||||
installCheckPhase = previousAttrs.installCheckPhase or ''
|
installCheckPhase =
|
||||||
|
previousAttrs.installCheckPhase or ''
|
||||||
runHook preInstallCheck
|
runHook preInstallCheck
|
||||||
|
|
||||||
runHook postInstallCheck
|
runHook postInstallCheck
|
||||||
|
@ -89,7 +113,8 @@ let
|
||||||
COMPOSER_DISABLE_NETWORK = "0";
|
COMPOSER_DISABLE_NETWORK = "0";
|
||||||
|
|
||||||
outputHashMode = "recursive";
|
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 "";
|
outputHash = finalAttrs.vendorHash or "";
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
|
|
|
@ -1,27 +1,50 @@
|
||||||
{ stdenv, lib, php, autoreconfHook, fetchurl, re2c, nix-update-script }:
|
{
|
||||||
|
stdenv,
|
||||||
|
lib,
|
||||||
|
php,
|
||||||
|
autoreconfHook,
|
||||||
|
fetchurl,
|
||||||
|
re2c,
|
||||||
|
nix-update-script,
|
||||||
|
}:
|
||||||
|
|
||||||
{ pname
|
{
|
||||||
, version
|
pname,
|
||||||
, internalDeps ? [ ]
|
version,
|
||||||
, peclDeps ? [ ]
|
internalDeps ? [ ],
|
||||||
, buildInputs ? [ ]
|
peclDeps ? [ ],
|
||||||
, nativeBuildInputs ? [ ]
|
buildInputs ? [ ],
|
||||||
, postPhpize ? ""
|
nativeBuildInputs ? [ ],
|
||||||
, makeFlags ? [ ]
|
postPhpize ? "",
|
||||||
, src ? fetchurl ({
|
makeFlags ? [ ],
|
||||||
|
src ? fetchurl (
|
||||||
|
{
|
||||||
url = "https://pecl.php.net/get/${pname}-${version}.tgz";
|
url = "https://pecl.php.net/get/${pname}-${version}.tgz";
|
||||||
} // lib.filterAttrs (attrName: _: lib.elem attrName [ "sha256" "hash" ]) args)
|
}
|
||||||
, passthru ? { }
|
// lib.filterAttrs (
|
||||||
, ...
|
attrName: _:
|
||||||
|
lib.elem attrName [
|
||||||
|
"sha256"
|
||||||
|
"hash"
|
||||||
|
]
|
||||||
|
) args
|
||||||
|
),
|
||||||
|
passthru ? { },
|
||||||
|
...
|
||||||
}@args:
|
}@args:
|
||||||
|
|
||||||
stdenv.mkDerivation (args // {
|
stdenv.mkDerivation (
|
||||||
|
args
|
||||||
|
// {
|
||||||
name = "php-${pname}-${version}";
|
name = "php-${pname}-${version}";
|
||||||
extensionName = pname;
|
extensionName = pname;
|
||||||
|
|
||||||
inherit src;
|
inherit src;
|
||||||
|
|
||||||
nativeBuildInputs = [ autoreconfHook re2c ] ++ nativeBuildInputs;
|
nativeBuildInputs = [
|
||||||
|
autoreconfHook
|
||||||
|
re2c
|
||||||
|
] ++ nativeBuildInputs;
|
||||||
buildInputs = [ php ] ++ peclDeps ++ buildInputs;
|
buildInputs = [ php ] ++ peclDeps ++ buildInputs;
|
||||||
|
|
||||||
makeFlags = [ "EXTENSION_DIR=$(out)/lib/php/extensions" ] ++ makeFlags;
|
makeFlags = [ "EXTENSION_DIR=$(out)/lib/php/extensions" ] ++ makeFlags;
|
||||||
|
@ -29,9 +52,9 @@ stdenv.mkDerivation (args // {
|
||||||
autoreconfPhase = ''
|
autoreconfPhase = ''
|
||||||
phpize
|
phpize
|
||||||
${postPhpize}
|
${postPhpize}
|
||||||
${lib.concatMapStringsSep "\n"
|
${lib.concatMapStringsSep "\n" (
|
||||||
(dep: "mkdir -p ext; ln -s ${dep.dev}/include ext/${dep.extensionName}")
|
dep: "mkdir -p ext; ln -s ${dep.dev}/include ext/${dep.extensionName}"
|
||||||
internalDeps}
|
) internalDeps}
|
||||||
'';
|
'';
|
||||||
checkPhase = "NO_INTERACTON=yes make test";
|
checkPhase = "NO_INTERACTON=yes make test";
|
||||||
|
|
||||||
|
@ -40,6 +63,7 @@ stdenv.mkDerivation (args // {
|
||||||
# PHP extensions correctly.
|
# PHP extensions correctly.
|
||||||
# See the corresponding PR: https://github.com/Mic92/nix-update/pull/123
|
# See the corresponding PR: https://github.com/Mic92/nix-update/pull/123
|
||||||
isPhpExtension = true;
|
isPhpExtension = true;
|
||||||
updateScript = nix-update-script {};
|
updateScript = nix-update-script { };
|
||||||
};
|
};
|
||||||
})
|
}
|
||||||
|
)
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
{ lib
|
{
|
||||||
, makeSetupHook
|
lib,
|
||||||
, diffutils
|
makeSetupHook,
|
||||||
, jq
|
diffutils,
|
||||||
, writeShellApplication
|
jq,
|
||||||
, moreutils
|
writeShellApplication,
|
||||||
, cacert
|
moreutils,
|
||||||
, buildPackages
|
cacert,
|
||||||
|
buildPackages,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
@ -16,19 +17,25 @@ let
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
composerRepositoryHook = makeSetupHook
|
composerRepositoryHook = makeSetupHook {
|
||||||
{
|
|
||||||
name = "composer-repository-hook.sh";
|
name = "composer-repository-hook.sh";
|
||||||
propagatedBuildInputs = [ jq moreutils cacert ];
|
propagatedBuildInputs = [
|
||||||
|
jq
|
||||||
|
moreutils
|
||||||
|
cacert
|
||||||
|
];
|
||||||
substitutions = {
|
substitutions = {
|
||||||
phpScriptUtils = lib.getExe php-script-utils;
|
phpScriptUtils = lib.getExe php-script-utils;
|
||||||
};
|
};
|
||||||
} ./composer-repository-hook.sh;
|
} ./composer-repository-hook.sh;
|
||||||
|
|
||||||
composerInstallHook = makeSetupHook
|
composerInstallHook = makeSetupHook {
|
||||||
{
|
|
||||||
name = "composer-install-hook.sh";
|
name = "composer-install-hook.sh";
|
||||||
propagatedBuildInputs = [ jq moreutils cacert ];
|
propagatedBuildInputs = [
|
||||||
|
jq
|
||||||
|
moreutils
|
||||||
|
cacert
|
||||||
|
];
|
||||||
substitutions = {
|
substitutions = {
|
||||||
# Specify the stdenv's `diff` by abspath to ensure that the user's build
|
# Specify the stdenv's `diff` by abspath to ensure that the user's build
|
||||||
# inputs do not cause us to find the wrong `diff`.
|
# inputs do not cause us to find the wrong `diff`.
|
||||||
|
|
|
@ -1,9 +1,14 @@
|
||||||
{ php, callPackage, stdenvNoCC, lib, fetchFromGitHub, makeBinaryWrapper }:
|
{
|
||||||
|
php,
|
||||||
|
callPackage,
|
||||||
|
stdenvNoCC,
|
||||||
|
lib,
|
||||||
|
fetchFromGitHub,
|
||||||
|
makeBinaryWrapper,
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
composer = callPackage ./composer-phar.nix {
|
composer = callPackage ./composer-phar.nix { inherit (php.packages.composer) version pharHash; };
|
||||||
inherit (php.packages.composer) version pharHash;
|
|
||||||
};
|
|
||||||
|
|
||||||
composerKeys = stdenvNoCC.mkDerivation (finalComposerKeysAttrs: {
|
composerKeys = stdenvNoCC.mkDerivation (finalComposerKeysAttrs: {
|
||||||
pname = "composer-keys";
|
pname = "composer-keys";
|
||||||
|
@ -43,13 +48,9 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||||
COMPOSER_HTACCESS_PROTECT = "0";
|
COMPOSER_HTACCESS_PROTECT = "0";
|
||||||
COMPOSER_DISABLE_NETWORK = "1";
|
COMPOSER_DISABLE_NETWORK = "1";
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [ makeBinaryWrapper ];
|
||||||
makeBinaryWrapper
|
|
||||||
];
|
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [ composer ];
|
||||||
composer
|
|
||||||
];
|
|
||||||
|
|
||||||
configurePhase = ''
|
configurePhase = ''
|
||||||
runHook preConfigure
|
runHook preConfigure
|
||||||
|
|
|
@ -1,17 +1,17 @@
|
||||||
{
|
{
|
||||||
_7zz
|
_7zz,
|
||||||
, cacert
|
cacert,
|
||||||
, curl
|
curl,
|
||||||
, fetchurl
|
fetchurl,
|
||||||
, git
|
git,
|
||||||
, lib
|
lib,
|
||||||
, makeBinaryWrapper
|
makeBinaryWrapper,
|
||||||
, php
|
php,
|
||||||
, stdenvNoCC
|
stdenvNoCC,
|
||||||
, unzip
|
unzip,
|
||||||
, xz
|
xz,
|
||||||
, version
|
version,
|
||||||
, pharHash
|
pharHash,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||||
|
@ -34,7 +34,16 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||||
install -D $src $out/libexec/composer/composer.phar
|
install -D $src $out/libexec/composer/composer.phar
|
||||||
makeWrapper ${php}/bin/php $out/bin/composer \
|
makeWrapper ${php}/bin/php $out/bin/composer \
|
||||||
--add-flags "$out/libexec/composer/composer.phar" \
|
--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
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
Loading…
Reference in New Issue
Block a user