Loading pkgs/build-support/php/builders/default.nix +1 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ { v1 = { buildComposerProject = callPackage ./v1/build-composer-project.nix { }; buildComposerWithPlugin = callPackage ./v1/build-composer-with-plugin.nix { }; mkComposerRepository = callPackage ./v1/build-composer-repository.nix { }; composerHooks = callPackages ./v1/hooks { }; }; Loading pkgs/build-support/php/builders/v1/build-composer-project.nix +2 −5 Original line number Diff line number Diff line { callPackage, nix-update-script, stdenvNoCC, lib, Loading @@ -12,8 +11,7 @@ let let phpDrv = finalAttrs.php or php; composer = finalAttrs.composer or phpDrv.packages.composer; composer-local-repo-plugin = callPackage ../../pkgs/composer-local-repo-plugin.nix { }; composer = finalAttrs.composer or phpDrv.packages.composer-local-repo-plugin; in { composerLock = previousAttrs.composerLock or null; Loading @@ -24,7 +22,6 @@ let nativeBuildInputs = (previousAttrs.nativeBuildInputs or [ ]) ++ [ composer composer-local-repo-plugin phpDrv phpDrv.composerHooks.composerInstallHook ]; Loading Loading @@ -74,7 +71,7 @@ let composerRepository = previousAttrs.composerRepository or (phpDrv.mkComposerRepository { inherit composer composer-local-repo-plugin; inherit composer; inherit (finalAttrs) patches pname Loading pkgs/build-support/php/builders/v1/build-composer-repository.nix +1 −4 Original line number Diff line number Diff line { callPackage, stdenvNoCC, lib, php, Loading @@ -23,8 +22,7 @@ let let phpDrv = finalAttrs.php or php; composer = finalAttrs.composer or phpDrv.packages.composer; composer-local-repo-plugin = callPackage ../../pkgs/composer-local-repo-plugin.nix { }; composer = finalAttrs.composer or phpDrv.packages.composer-local-repo-plugin; in assert (lib.assertMsg (previousAttrs ? src) "mkComposerRepository expects src argument."); assert ( Loading Loading @@ -58,7 +56,6 @@ let nativeBuildInputs = (previousAttrs.nativeBuildInputs or [ ]) ++ [ composer composer-local-repo-plugin phpDrv phpDrv.composerHooks.composerRepositoryHook ]; Loading pkgs/build-support/php/builders/v1/build-composer-with-plugin.nix 0 → 100644 +161 −0 Original line number Diff line number Diff line { stdenvNoCC, writeText, lib, makeBinaryWrapper, php, cacert, nix-update-script, }: let composerJsonBuilder = pluginName: pluginVersion: writeText "composer.json" ( builtins.toJSON { name = "nix/plugin"; description = "Nix Composer plugin"; license = "MIT"; require = { "${pluginName}" = "${pluginVersion}"; }; config = { "allow-plugins" = { "${pluginName}" = true; }; }; repositories = [ { type = "path"; url = "./src"; options = { versions = { "${pluginName}" = "${pluginVersion}"; }; }; } ]; } ); buildComposerWithPluginOverride = finalAttrs: previousAttrs: let phpDrv = finalAttrs.php or php; composer = finalAttrs.composer or phpDrv.packages.composer; in { composerLock = previousAttrs.composerLock or null; composerNoDev = previousAttrs.composerNoDev or true; composerNoPlugins = previousAttrs.composerNoPlugins or true; composerNoScripts = previousAttrs.composerNoScripts or true; composerStrictValidation = previousAttrs.composerStrictValidation or true; composerGlobal = true; nativeBuildInputs = (previousAttrs.nativeBuildInputs or [ ]) ++ [ composer phpDrv makeBinaryWrapper ]; 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 runHook postConfigure ''; buildPhase = previousAttrs.buildPhase or '' runHook preBuild runHook postBuild ''; doCheck = previousAttrs.doCheck or true; checkPhase = previousAttrs.checkPhase or '' runHook preCheck runHook postCheck ''; installPhase = previousAttrs.installPhase or '' runHook preInstall makeWrapper ${lib.getExe composer} $out/bin/composer \ --prefix COMPOSER_HOME : ${finalAttrs.vendor} runHook postInstall ''; doInstallCheck = previousAttrs.doInstallCheck or false; installCheckPhase = previousAttrs.installCheckPhase or '' runHook preInstallCheck composer global show ${finalAttrs.pname} runHook postInstallCheck ''; vendor = previousAttrs.vendor or stdenvNoCC.mkDerivation { pname = "${finalAttrs.pname}-vendor"; pluginName = finalAttrs.pname; inherit (finalAttrs) version src; composerLock = previousAttrs.composerLock or null; composerNoDev = previousAttrs.composerNoDev or true; composerNoPlugins = previousAttrs.composerNoPlugins or true; composerNoScripts = previousAttrs.composerNoScripts or true; composerStrictValidation = previousAttrs.composerStrictValidation or true; composerGlobal = true; composerJson = composerJsonBuilder finalAttrs.pname finalAttrs.version; nativeBuildInputs = [ cacert composer phpDrv.composerHooks.composerWithPluginVendorHook ]; dontPatchShebangs = true; doCheck = true; doInstallCheck = true; env = { COMPOSER_CACHE_DIR = "/dev/null"; COMPOSER_HTACCESS_PROTECT = "0"; }; outputHashMode = "recursive"; outputHashAlgo = "sha256"; outputHash = finalAttrs.vendorHash; }; # Projects providing a lockfile from upstream can be automatically updated. passthru = previousAttrs.passthru or { } // { updateScript = previousAttrs.passthru.updateScript or (if finalAttrs.vendor.composerLock == null then nix-update-script { } else null); }; env = { COMPOSER_CACHE_DIR = "/dev/null"; COMPOSER_DISABLE_NETWORK = "1"; COMPOSER_MIRROR_PATH_REPOS = "1"; }; meta = previousAttrs.meta or composer.meta; }; in args: (stdenvNoCC.mkDerivation args).overrideAttrs buildComposerWithPluginOverride pkgs/build-support/php/builders/v1/hooks/composer-install-hook.sh +1 −1 Original line number Diff line number Diff line Loading @@ -83,7 +83,7 @@ composerInstallBuildHook() { # Since this file cannot be generated in the composer-repository-hook.sh # because the file contains hardcoded nix store paths, we generate it here. composer-local-repo-plugin --no-ansi build-local-repo-lock -m "${composerRepository}" . composer build-local-repo-lock -m "${composerRepository}" . echo "Finished composerInstallBuildHook" } Loading Loading
pkgs/build-support/php/builders/default.nix +1 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ { v1 = { buildComposerProject = callPackage ./v1/build-composer-project.nix { }; buildComposerWithPlugin = callPackage ./v1/build-composer-with-plugin.nix { }; mkComposerRepository = callPackage ./v1/build-composer-repository.nix { }; composerHooks = callPackages ./v1/hooks { }; }; Loading
pkgs/build-support/php/builders/v1/build-composer-project.nix +2 −5 Original line number Diff line number Diff line { callPackage, nix-update-script, stdenvNoCC, lib, Loading @@ -12,8 +11,7 @@ let let phpDrv = finalAttrs.php or php; composer = finalAttrs.composer or phpDrv.packages.composer; composer-local-repo-plugin = callPackage ../../pkgs/composer-local-repo-plugin.nix { }; composer = finalAttrs.composer or phpDrv.packages.composer-local-repo-plugin; in { composerLock = previousAttrs.composerLock or null; Loading @@ -24,7 +22,6 @@ let nativeBuildInputs = (previousAttrs.nativeBuildInputs or [ ]) ++ [ composer composer-local-repo-plugin phpDrv phpDrv.composerHooks.composerInstallHook ]; Loading Loading @@ -74,7 +71,7 @@ let composerRepository = previousAttrs.composerRepository or (phpDrv.mkComposerRepository { inherit composer composer-local-repo-plugin; inherit composer; inherit (finalAttrs) patches pname Loading
pkgs/build-support/php/builders/v1/build-composer-repository.nix +1 −4 Original line number Diff line number Diff line { callPackage, stdenvNoCC, lib, php, Loading @@ -23,8 +22,7 @@ let let phpDrv = finalAttrs.php or php; composer = finalAttrs.composer or phpDrv.packages.composer; composer-local-repo-plugin = callPackage ../../pkgs/composer-local-repo-plugin.nix { }; composer = finalAttrs.composer or phpDrv.packages.composer-local-repo-plugin; in assert (lib.assertMsg (previousAttrs ? src) "mkComposerRepository expects src argument."); assert ( Loading Loading @@ -58,7 +56,6 @@ let nativeBuildInputs = (previousAttrs.nativeBuildInputs or [ ]) ++ [ composer composer-local-repo-plugin phpDrv phpDrv.composerHooks.composerRepositoryHook ]; Loading
pkgs/build-support/php/builders/v1/build-composer-with-plugin.nix 0 → 100644 +161 −0 Original line number Diff line number Diff line { stdenvNoCC, writeText, lib, makeBinaryWrapper, php, cacert, nix-update-script, }: let composerJsonBuilder = pluginName: pluginVersion: writeText "composer.json" ( builtins.toJSON { name = "nix/plugin"; description = "Nix Composer plugin"; license = "MIT"; require = { "${pluginName}" = "${pluginVersion}"; }; config = { "allow-plugins" = { "${pluginName}" = true; }; }; repositories = [ { type = "path"; url = "./src"; options = { versions = { "${pluginName}" = "${pluginVersion}"; }; }; } ]; } ); buildComposerWithPluginOverride = finalAttrs: previousAttrs: let phpDrv = finalAttrs.php or php; composer = finalAttrs.composer or phpDrv.packages.composer; in { composerLock = previousAttrs.composerLock or null; composerNoDev = previousAttrs.composerNoDev or true; composerNoPlugins = previousAttrs.composerNoPlugins or true; composerNoScripts = previousAttrs.composerNoScripts or true; composerStrictValidation = previousAttrs.composerStrictValidation or true; composerGlobal = true; nativeBuildInputs = (previousAttrs.nativeBuildInputs or [ ]) ++ [ composer phpDrv makeBinaryWrapper ]; 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 runHook postConfigure ''; buildPhase = previousAttrs.buildPhase or '' runHook preBuild runHook postBuild ''; doCheck = previousAttrs.doCheck or true; checkPhase = previousAttrs.checkPhase or '' runHook preCheck runHook postCheck ''; installPhase = previousAttrs.installPhase or '' runHook preInstall makeWrapper ${lib.getExe composer} $out/bin/composer \ --prefix COMPOSER_HOME : ${finalAttrs.vendor} runHook postInstall ''; doInstallCheck = previousAttrs.doInstallCheck or false; installCheckPhase = previousAttrs.installCheckPhase or '' runHook preInstallCheck composer global show ${finalAttrs.pname} runHook postInstallCheck ''; vendor = previousAttrs.vendor or stdenvNoCC.mkDerivation { pname = "${finalAttrs.pname}-vendor"; pluginName = finalAttrs.pname; inherit (finalAttrs) version src; composerLock = previousAttrs.composerLock or null; composerNoDev = previousAttrs.composerNoDev or true; composerNoPlugins = previousAttrs.composerNoPlugins or true; composerNoScripts = previousAttrs.composerNoScripts or true; composerStrictValidation = previousAttrs.composerStrictValidation or true; composerGlobal = true; composerJson = composerJsonBuilder finalAttrs.pname finalAttrs.version; nativeBuildInputs = [ cacert composer phpDrv.composerHooks.composerWithPluginVendorHook ]; dontPatchShebangs = true; doCheck = true; doInstallCheck = true; env = { COMPOSER_CACHE_DIR = "/dev/null"; COMPOSER_HTACCESS_PROTECT = "0"; }; outputHashMode = "recursive"; outputHashAlgo = "sha256"; outputHash = finalAttrs.vendorHash; }; # Projects providing a lockfile from upstream can be automatically updated. passthru = previousAttrs.passthru or { } // { updateScript = previousAttrs.passthru.updateScript or (if finalAttrs.vendor.composerLock == null then nix-update-script { } else null); }; env = { COMPOSER_CACHE_DIR = "/dev/null"; COMPOSER_DISABLE_NETWORK = "1"; COMPOSER_MIRROR_PATH_REPOS = "1"; }; meta = previousAttrs.meta or composer.meta; }; in args: (stdenvNoCC.mkDerivation args).overrideAttrs buildComposerWithPluginOverride
pkgs/build-support/php/builders/v1/hooks/composer-install-hook.sh +1 −1 Original line number Diff line number Diff line Loading @@ -83,7 +83,7 @@ composerInstallBuildHook() { # Since this file cannot be generated in the composer-repository-hook.sh # because the file contains hardcoded nix store paths, we generate it here. composer-local-repo-plugin --no-ansi build-local-repo-lock -m "${composerRepository}" . composer build-local-repo-lock -m "${composerRepository}" . echo "Finished composerInstallBuildHook" } Loading