Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
95 lines
2.4 KiB
Nix
95 lines
2.4 KiB
Nix
{
|
|
stdenvNoCC,
|
|
lib,
|
|
php,
|
|
}@toplevel:
|
|
|
|
let
|
|
mkComposerVendorOverride =
|
|
finalAttrs:
|
|
{
|
|
php ? finalAttrs.php or toplevel.php,
|
|
composer ? finalAttrs.php.packages.composer or toplevel.php.packages.composer,
|
|
composerLock ? finalAttrs.composerLock or null,
|
|
vendorHash ? finalAttrs.vendorHash or "",
|
|
composerNoDev ? finalAttrs.composerNoDev or true,
|
|
composerNoPlugins ? finalAttrs.composerNoPlugins or true,
|
|
composerNoScripts ? finalAttrs.composerNoScripts or true,
|
|
composerStrictValidation ? finalAttrs.composerStrictValidation or true,
|
|
buildInputs ? [ ],
|
|
nativeBuildInputs ? [ ],
|
|
dontPatchShebangs ? true,
|
|
strictDeps ? true,
|
|
doCheck ? true,
|
|
doInstallCheck ? false,
|
|
dontCheckForBrokenSymlinks ? true,
|
|
...
|
|
}@args:
|
|
assert (lib.assertMsg (args ? pname) "mkComposerVendor expects pname argument.");
|
|
assert (lib.assertMsg (args ? version) "mkComposerVendor expects version argument.");
|
|
assert (lib.assertMsg (args ? src) "mkComposerVendor expects src argument.");
|
|
{
|
|
name = "${args.pname}-composer-vendor-${args.version}";
|
|
|
|
# See https://github.com/NixOS/nix/issues/6660
|
|
inherit dontPatchShebangs;
|
|
|
|
inherit
|
|
buildInputs
|
|
strictDeps
|
|
doCheck
|
|
;
|
|
|
|
nativeBuildInputs = nativeBuildInputs ++ [
|
|
composer
|
|
php
|
|
php.composerHooks2.composerVendorHook
|
|
];
|
|
|
|
# Should we keep these empty phases?
|
|
configurePhase =
|
|
args.configurePhase or ''
|
|
runHook preConfigure
|
|
|
|
runHook postConfigure
|
|
'';
|
|
|
|
buildPhase =
|
|
args.buildPhase or ''
|
|
runHook preBuild
|
|
|
|
runHook postBuild
|
|
'';
|
|
|
|
checkPhase =
|
|
args.checkPhase or ''
|
|
runHook preCheck
|
|
|
|
runHook postCheck
|
|
'';
|
|
|
|
installPhase =
|
|
args.installPhase or ''
|
|
runHook preInstall
|
|
|
|
runHook postInstall
|
|
'';
|
|
|
|
installCheckPhase =
|
|
args.installCheckPhase or ''
|
|
runHook preInstallCheck
|
|
|
|
runHook postInstallCheck
|
|
'';
|
|
|
|
outputHashMode = "recursive";
|
|
outputHashAlgo =
|
|
if (finalAttrs ? vendorHash && finalAttrs.vendorHash != "") then null else "sha256";
|
|
outputHash = vendorHash;
|
|
};
|
|
in
|
|
lib.extendMkDerivation {
|
|
constructDrv = stdenvNoCC.mkDerivation;
|
|
extendDrvArgs = mkComposerVendorOverride;
|
|
}
|