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
120 lines
2.8 KiB
Nix
120 lines
2.8 KiB
Nix
{
|
|
nix-update-script,
|
|
stdenvNoCC,
|
|
lib,
|
|
php,
|
|
}@toplevel:
|
|
|
|
let
|
|
buildComposerProjectOverride =
|
|
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 ? [ ],
|
|
strictDeps ? true,
|
|
patches ? [ ],
|
|
doCheck ? true,
|
|
doInstallCheck ? true,
|
|
dontCheckForBrokenSymlinks ? true,
|
|
passthru ? { },
|
|
meta ? { },
|
|
...
|
|
}@args:
|
|
{
|
|
inherit
|
|
patches
|
|
strictDeps
|
|
doCheck
|
|
doInstallCheck
|
|
dontCheckForBrokenSymlinks
|
|
;
|
|
|
|
nativeBuildInputs = nativeBuildInputs ++ [
|
|
composer
|
|
php
|
|
php.composerHooks2.composerInstallHook
|
|
];
|
|
|
|
buildInputs = buildInputs ++ [ php ];
|
|
|
|
# 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
|
|
'';
|
|
|
|
composerVendor =
|
|
args.composerVendor or (php.mkComposerVendor {
|
|
inherit (finalAttrs)
|
|
pname
|
|
src
|
|
vendorHash
|
|
version
|
|
;
|
|
inherit
|
|
php
|
|
composer
|
|
composerLock
|
|
composerNoDev
|
|
composerNoPlugins
|
|
composerNoScripts
|
|
composerStrictValidation
|
|
dontCheckForBrokenSymlinks
|
|
;
|
|
});
|
|
|
|
# Projects providing a lockfile from upstream can be automatically updated.
|
|
passthru = passthru // {
|
|
updateScript =
|
|
args.passthru.updateScript
|
|
or (if finalAttrs.composerVendor.composerLock == null then nix-update-script { } else null);
|
|
};
|
|
|
|
meta = meta // {
|
|
platforms = lib.platforms.all;
|
|
};
|
|
};
|
|
in
|
|
lib.extendMkDerivation {
|
|
constructDrv = stdenvNoCC.mkDerivation;
|
|
extendDrvArgs = buildComposerProjectOverride;
|
|
}
|