Loading pkgs/build-support/php/builders/v2/build-composer-project.nix +19 −16 Original line number Diff line number Diff line Loading @@ -9,21 +9,21 @@ let buildComposerProjectOverride = finalAttrs: { php ? toplevel.php, composer ? toplevel.php.packages.composer, composerVendor ? null, vendorHash ? null, composerLock ? null, composerNoDev ? true, composerNoPlugins ? true, composerNoScripts ? true, composerStrictValidation ? true, 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 ? { }, ... Loading @@ -34,7 +34,9 @@ let strictDeps doCheck doInstallCheck dontCheckForBrokenSymlinks ; nativeBuildInputs = nativeBuildInputs ++ [ composer php Loading Loading @@ -81,20 +83,21 @@ let composerVendor = args.composerVendor or (php.mkComposerVendor { inherit (finalAttrs) pname src version ; inherit php composer vendorHash composerLock composerNoDev composerNoPlugins composerNoScripts composerStrictValidation vendorHash ; inherit (finalAttrs) patches pname src version dontCheckForBrokenSymlinks ; }); Loading pkgs/build-support/php/builders/v2/build-composer-vendor.nix +16 −12 Original line number Diff line number Diff line Loading @@ -8,33 +8,37 @@ let mkComposerVendorOverride = finalAttrs: { php ? toplevel.php, composer ? toplevel.php.packages.composer, composerLock, vendorHash ? null, composerNoDev ? true, composerNoPlugins ? true, composerNoScripts ? true, composerStrictValidation ? true, 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 ? src) "mkComposerVendor expects src argument."); assert (lib.assertMsg (args ? vendorHash) "mkComposerVendor expects vendorHash argument."); assert (lib.assertMsg (args ? version) "mkComposerVendor expects version argument."); 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; inherit buildInputs strictDeps doCheck ; nativeBuildInputs = nativeBuildInputs ++ [ composer Loading pkgs/build-support/php/builders/v2/hooks/composer-install-hook.sh +9 −9 Original line number Diff line number Diff line declare composerVendor declare version declare composerNoDev declare composerNoPlugins declare composerNoScripts declare -g version declare -g pname declare -g composerVendor declare -g -i composerStrictValidation="${composerStrictValidation:-0}" preConfigureHooks+=(composerInstallConfigureHook) preBuildHooks+=(composerInstallBuildHook) Loading @@ -17,7 +16,7 @@ composerInstallConfigureHook() { setComposerRootVersion if [[ ! -e "${composerVendor}" ]]; then echo "No local composer vendor found." echo "No local composer vendor found." >&2 exit 1 fi Loading Loading @@ -60,10 +59,11 @@ composerInstallInstallHook() { cp -r . "$out"/share/php/"${pname}"/ # Create symlinks for the binaries. jq -r -c 'try (.bin[] | select(test(".bat$")? | not) )' composer.json | while read -r bin; do mapfile -t BINS < <(jq -r -c 'try (.bin[] | select(test(".bat$")? | not) )' composer.json) for bin in "${BINS[@]}"; do echo -e "\e[32mCreating symlink ${bin}...\e[0m" mkdir -p "$out"/bin ln -s "$out"/share/php/"${pname}"/"$bin" "$out"/bin/"$(basename "$bin")" mkdir -p "$out/bin" ln -s "$out/share/php/${pname}/${bin}" "$out/bin/$(basename "$bin")" done echo "Finished composerInstallInstallHook" Loading pkgs/build-support/php/builders/v2/hooks/composer-vendor-hook.sh +17 −16 Original line number Diff line number Diff line declare composerLock declare version declare composerNoDev declare composerNoPlugins declare composerNoScripts declare composerStrictValidation source @phpScriptUtils@ declare -g composerNoDev="${composerNoDev:+--no-dev}" declare -g composerNoPlugins="${composerNoPlugins:+--no-plugins}" declare -g composerNoScripts="${composerNoScripts:+--no-scripts}" preConfigureHooks+=(composerVendorConfigureHook) preBuildHooks+=(composerVendorBuildHook) preCheckHooks+=(composerVendorCheckHook) preInstallHooks+=(composerVendorInstallHook) source @phpScriptUtils@ composerVendorConfigureHook() { echo "Executing composerVendorConfigureHook" setComposerRootVersion if [[ -f "composer.lock" ]]; then echo -e "\e[32mUsing \`composer.lock\` file from the source package\e[0m" fi if [[ -e "$composerLock" ]]; then echo -e "\e[32mUsing user provided \`composer.lock\` file from \`$composerLock\`\e[0m" install -Dm644 $composerLock ./composer.lock fi if [[ ! -f "composer.lock" ]]; then composer \ --no-cache \ Loading @@ -30,9 +30,9 @@ composerVendorConfigureHook() { --no-interaction \ --no-progress \ --optimize-autoloader \ ${composerNoDev:+--no-dev} \ ${composerNoPlugins:+--no-plugins} \ ${composerNoScripts:+--no-scripts} \ ${composerNoDev} \ ${composerNoPlugins} \ ${composerNoScripts} \ update if [[ -f "composer.lock" ]]; then Loading Loading @@ -74,9 +74,9 @@ composerVendorBuildHook() { --no-interaction \ --no-progress \ --optimize-autoloader \ ${composerNoDev:+--no-dev} \ ${composerNoPlugins:+--no-plugins} \ ${composerNoScripts:+--no-scripts} \ ${composerNoDev} \ ${composerNoPlugins} \ ${composerNoScripts} \ install echo "Finished composerVendorBuildHook" Loading @@ -96,7 +96,7 @@ composerVendorInstallHook() { mkdir -p $out cp -ar composer.json $(composer config vendor-dir) $out/ mapfile -t installer_paths < <(jq -r 'try((.extra."installer-paths") | keys[])' composer.json) mapfile -t installer_paths < <(jq -r -c 'try((.extra."installer-paths") | keys[])' composer.json) for installer_path in "${installer_paths[@]}"; do # Remove everything after {$name} placeholder Loading @@ -105,6 +105,7 @@ composerVendorInstallHook() { # Copy the installer path if it exists if [[ -d "$installer_path" ]]; then mkdir -p $(dirname "$out_installer_path") echo -e "\e[32mCopying installer path $installer_path to $out_installer_path\e[0m" cp -ar "$installer_path" "$out_installer_path" # Strip out the git repositories find $out_installer_path -name .git -type d -prune -print -exec rm -rf {} ";" Loading pkgs/build-support/php/builders/v2/hooks/php-script-utils.bash +9 −20 Original line number Diff line number Diff line declare version declare composerStrictValidation declare composerGlobal declare -g version declare -g -i composerStrictValidation="${composerStrictValidation:-0}" setComposerRootVersion() { set +e # Disable exit on error if [[ -v version ]]; then if [[ -n $version ]]; then echo -e "\e[32mSetting COMPOSER_ROOT_VERSION to $version\e[0m" export COMPOSER_ROOT_VERSION=$version export COMPOSER_ROOT_VERSION="$version" fi set -e } setComposerEnvVariables() { echo -e "\e[32mSetting some required environment variables for Composer...\e[0m" export COMPOSER_MIRROR_PATH_REPOS=1 export COMPOSER_CACHE_DIR=/dev/null export COMPOSER_HTACCESS_PROTECT=0 export COMPOSER_FUND=0 } checkComposerValidate() { if [ "1" == "${composerGlobal-}" ]; then global="global"; else global=""; fi command="composer ${global} validate --strict --quiet --no-interaction --no-check-all --no-check-lock" command="composer validate --strict --quiet --no-interaction --no-check-all --no-check-lock" if ! $command; then if [ "1" == "${composerStrictValidation-}" ]; then if [[ "${composerStrictValidation}" == "1" ]]; then echo echo -e "\e[31mERROR: composer files validation failed\e[0m" echo Loading Loading @@ -57,9 +46,9 @@ checkComposerValidate() { fi fi command="composer ${global} validate --strict --no-ansi --no-interaction --quiet --no-check-all --check-lock" command="composer validate --strict --no-ansi --no-interaction --quiet --no-check-all --check-lock" if ! $command; then if [ "1" == "${composerStrictValidation-}" ]; then if [[ "${composerStrictValidation}" == "1" ]]; then echo echo -e "\e[31mERROR: composer files validation failed\e[0m" echo Loading Loading
pkgs/build-support/php/builders/v2/build-composer-project.nix +19 −16 Original line number Diff line number Diff line Loading @@ -9,21 +9,21 @@ let buildComposerProjectOverride = finalAttrs: { php ? toplevel.php, composer ? toplevel.php.packages.composer, composerVendor ? null, vendorHash ? null, composerLock ? null, composerNoDev ? true, composerNoPlugins ? true, composerNoScripts ? true, composerStrictValidation ? true, 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 ? { }, ... Loading @@ -34,7 +34,9 @@ let strictDeps doCheck doInstallCheck dontCheckForBrokenSymlinks ; nativeBuildInputs = nativeBuildInputs ++ [ composer php Loading Loading @@ -81,20 +83,21 @@ let composerVendor = args.composerVendor or (php.mkComposerVendor { inherit (finalAttrs) pname src version ; inherit php composer vendorHash composerLock composerNoDev composerNoPlugins composerNoScripts composerStrictValidation vendorHash ; inherit (finalAttrs) patches pname src version dontCheckForBrokenSymlinks ; }); Loading
pkgs/build-support/php/builders/v2/build-composer-vendor.nix +16 −12 Original line number Diff line number Diff line Loading @@ -8,33 +8,37 @@ let mkComposerVendorOverride = finalAttrs: { php ? toplevel.php, composer ? toplevel.php.packages.composer, composerLock, vendorHash ? null, composerNoDev ? true, composerNoPlugins ? true, composerNoScripts ? true, composerStrictValidation ? true, 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 ? src) "mkComposerVendor expects src argument."); assert (lib.assertMsg (args ? vendorHash) "mkComposerVendor expects vendorHash argument."); assert (lib.assertMsg (args ? version) "mkComposerVendor expects version argument."); 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; inherit buildInputs strictDeps doCheck ; nativeBuildInputs = nativeBuildInputs ++ [ composer Loading
pkgs/build-support/php/builders/v2/hooks/composer-install-hook.sh +9 −9 Original line number Diff line number Diff line declare composerVendor declare version declare composerNoDev declare composerNoPlugins declare composerNoScripts declare -g version declare -g pname declare -g composerVendor declare -g -i composerStrictValidation="${composerStrictValidation:-0}" preConfigureHooks+=(composerInstallConfigureHook) preBuildHooks+=(composerInstallBuildHook) Loading @@ -17,7 +16,7 @@ composerInstallConfigureHook() { setComposerRootVersion if [[ ! -e "${composerVendor}" ]]; then echo "No local composer vendor found." echo "No local composer vendor found." >&2 exit 1 fi Loading Loading @@ -60,10 +59,11 @@ composerInstallInstallHook() { cp -r . "$out"/share/php/"${pname}"/ # Create symlinks for the binaries. jq -r -c 'try (.bin[] | select(test(".bat$")? | not) )' composer.json | while read -r bin; do mapfile -t BINS < <(jq -r -c 'try (.bin[] | select(test(".bat$")? | not) )' composer.json) for bin in "${BINS[@]}"; do echo -e "\e[32mCreating symlink ${bin}...\e[0m" mkdir -p "$out"/bin ln -s "$out"/share/php/"${pname}"/"$bin" "$out"/bin/"$(basename "$bin")" mkdir -p "$out/bin" ln -s "$out/share/php/${pname}/${bin}" "$out/bin/$(basename "$bin")" done echo "Finished composerInstallInstallHook" Loading
pkgs/build-support/php/builders/v2/hooks/composer-vendor-hook.sh +17 −16 Original line number Diff line number Diff line declare composerLock declare version declare composerNoDev declare composerNoPlugins declare composerNoScripts declare composerStrictValidation source @phpScriptUtils@ declare -g composerNoDev="${composerNoDev:+--no-dev}" declare -g composerNoPlugins="${composerNoPlugins:+--no-plugins}" declare -g composerNoScripts="${composerNoScripts:+--no-scripts}" preConfigureHooks+=(composerVendorConfigureHook) preBuildHooks+=(composerVendorBuildHook) preCheckHooks+=(composerVendorCheckHook) preInstallHooks+=(composerVendorInstallHook) source @phpScriptUtils@ composerVendorConfigureHook() { echo "Executing composerVendorConfigureHook" setComposerRootVersion if [[ -f "composer.lock" ]]; then echo -e "\e[32mUsing \`composer.lock\` file from the source package\e[0m" fi if [[ -e "$composerLock" ]]; then echo -e "\e[32mUsing user provided \`composer.lock\` file from \`$composerLock\`\e[0m" install -Dm644 $composerLock ./composer.lock fi if [[ ! -f "composer.lock" ]]; then composer \ --no-cache \ Loading @@ -30,9 +30,9 @@ composerVendorConfigureHook() { --no-interaction \ --no-progress \ --optimize-autoloader \ ${composerNoDev:+--no-dev} \ ${composerNoPlugins:+--no-plugins} \ ${composerNoScripts:+--no-scripts} \ ${composerNoDev} \ ${composerNoPlugins} \ ${composerNoScripts} \ update if [[ -f "composer.lock" ]]; then Loading Loading @@ -74,9 +74,9 @@ composerVendorBuildHook() { --no-interaction \ --no-progress \ --optimize-autoloader \ ${composerNoDev:+--no-dev} \ ${composerNoPlugins:+--no-plugins} \ ${composerNoScripts:+--no-scripts} \ ${composerNoDev} \ ${composerNoPlugins} \ ${composerNoScripts} \ install echo "Finished composerVendorBuildHook" Loading @@ -96,7 +96,7 @@ composerVendorInstallHook() { mkdir -p $out cp -ar composer.json $(composer config vendor-dir) $out/ mapfile -t installer_paths < <(jq -r 'try((.extra."installer-paths") | keys[])' composer.json) mapfile -t installer_paths < <(jq -r -c 'try((.extra."installer-paths") | keys[])' composer.json) for installer_path in "${installer_paths[@]}"; do # Remove everything after {$name} placeholder Loading @@ -105,6 +105,7 @@ composerVendorInstallHook() { # Copy the installer path if it exists if [[ -d "$installer_path" ]]; then mkdir -p $(dirname "$out_installer_path") echo -e "\e[32mCopying installer path $installer_path to $out_installer_path\e[0m" cp -ar "$installer_path" "$out_installer_path" # Strip out the git repositories find $out_installer_path -name .git -type d -prune -print -exec rm -rf {} ";" Loading
pkgs/build-support/php/builders/v2/hooks/php-script-utils.bash +9 −20 Original line number Diff line number Diff line declare version declare composerStrictValidation declare composerGlobal declare -g version declare -g -i composerStrictValidation="${composerStrictValidation:-0}" setComposerRootVersion() { set +e # Disable exit on error if [[ -v version ]]; then if [[ -n $version ]]; then echo -e "\e[32mSetting COMPOSER_ROOT_VERSION to $version\e[0m" export COMPOSER_ROOT_VERSION=$version export COMPOSER_ROOT_VERSION="$version" fi set -e } setComposerEnvVariables() { echo -e "\e[32mSetting some required environment variables for Composer...\e[0m" export COMPOSER_MIRROR_PATH_REPOS=1 export COMPOSER_CACHE_DIR=/dev/null export COMPOSER_HTACCESS_PROTECT=0 export COMPOSER_FUND=0 } checkComposerValidate() { if [ "1" == "${composerGlobal-}" ]; then global="global"; else global=""; fi command="composer ${global} validate --strict --quiet --no-interaction --no-check-all --no-check-lock" command="composer validate --strict --quiet --no-interaction --no-check-all --no-check-lock" if ! $command; then if [ "1" == "${composerStrictValidation-}" ]; then if [[ "${composerStrictValidation}" == "1" ]]; then echo echo -e "\e[31mERROR: composer files validation failed\e[0m" echo Loading Loading @@ -57,9 +46,9 @@ checkComposerValidate() { fi fi command="composer ${global} validate --strict --no-ansi --no-interaction --quiet --no-check-all --check-lock" command="composer validate --strict --no-ansi --no-interaction --quiet --no-check-all --check-lock" if ! $command; then if [ "1" == "${composerStrictValidation-}" ]; then if [[ "${composerStrictValidation}" == "1" ]]; then echo echo -e "\e[31mERROR: composer files validation failed\e[0m" echo Loading