build-support/php: fix variable substitution in bash
The build environment sets the bash option NOUNSET which fails the
script for any substitution of uninitialized variables. The ${VAR-}
construct circumvents this.
This was tested by building the following derivations:
- phpPackages.box{,.composerVendor}
- phpPackages.cyclonedx-php-composer
- phpPackages.phing{,.composerVendor}
- phpPackages.php-parallel-lint{,.composerVendor}
- phpPackages.castor{,.composerVendor}
- phpPackages.phive{,.composerVendor}
- phpPackages.php-cs-fixer{,.composerVendor}
- phpPackages.phpspy
- phpPackages.composer
- phpPackages.grumphp{,.composerVendor}
- phpPackages.phpinsights{,.composerVendor}
- phpPackages.phpstan{,.composerVendor}
- phpPackages.composer-local-repo-plugin
- phpPackages.phan
- phpPackages.php-codesniffer{,.composerVendor}
- phpPackages.phpmd{,.composerVendor}
- phpPackages.psalm{,.composerVendor}
- psysh{,.composerVendor}
- deployer{,.composerVendor}
This commit is contained in:
@@ -10,9 +10,9 @@ declare -g composerNoPlugins
|
||||
declare -g composerNoScripts
|
||||
|
||||
declare -ga composerFlags=()
|
||||
[[ -n "$composerNoDev" ]] && composerFlags+=(--no-dev)
|
||||
[[ -n "$composerNoPlugins" ]] && composerFlags+=(--no-plugins)
|
||||
[[ -n "$composerNoScripts" ]] && composerFlags+=(--no-scripts)
|
||||
[[ -n "${composerNoDev-}" ]] && composerFlags+=(--no-dev)
|
||||
[[ -n "${composerNoPlugins-}" ]] && composerFlags+=(--no-plugins)
|
||||
[[ -n "${composerNoScripts-}" ]] && composerFlags+=(--no-scripts)
|
||||
|
||||
preConfigureHooks+=(composerVendorConfigureHook)
|
||||
preBuildHooks+=(composerVendorBuildHook)
|
||||
|
||||
Reference in New Issue
Block a user