···35 cp composer.lock $out/
3637 echo
38- echo 'No composer.lock file found, consider adding one to your repository to ensure reproducible builds.'
39- echo "In the meantime, a composer.lock file has been generated for you in $out/composer.lock"
40 echo
41- echo 'To fix the issue:'
42- echo "1. Copy the composer.lock file from $out/composer.lock to the project's source:"
43- echo " cp $out/composer.lock <path>"
44- echo '2. Add the composerLock attribute, pointing to the copied composer.lock file:'
45- echo ' composerLock = ./composer.lock;'
00046 echo
4748 exit 1
···51 echo "Validating consistency between composer.lock and ${composerRepository}/composer.lock"
52 if ! @cmp@ -s "composer.lock" "${composerRepository}/composer.lock"; then
53 echo
54- echo "ERROR: vendorHash is out of date"
55 echo
56- echo "composer.lock is not the same in $composerRepository"
57 echo
58- echo "To fix the issue:"
59- echo '1. Set vendorHash to an empty string: `vendorHash = "";`'
60- echo '2. Build the derivation and wait for it to fail with a hash mismatch'
61- echo '3. Copy the "got: sha256-..." value back into the vendorHash field'
62- echo ' You should have: vendorHash = "sha256-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=";'
63 echo
6465 exit 1
···105composerInstallCheckHook() {
106 echo "Executing composerInstallCheckHook"
107108- composer validate --no-ansi --no-interaction
0000000000000000000109110 echo "Finished composerInstallCheckHook"
111}
···35 cp composer.lock $out/
3637 echo
38+ echo -e "\e[31mERROR: No composer.lock found\e[0m"
039 echo
40+ echo -e '\e[31mNo composer.lock file found, consider adding one to your repository to ensure reproducible builds.\e[0m'
41+ echo -e "\e[31mIn the meantime, a composer.lock file has been generated for you in $out/composer.lock\e[0m"
42+ echo
43+ echo -e '\e[31mTo fix the issue:\e[0m'
44+ echo -e "\e[31m1. Copy the composer.lock file from $out/composer.lock to the project's source:\e[0m"
45+ echo -e "\e[31m cp $out/composer.lock <path>\e[0m"
46+ echo -e '\e[31m2. Add the composerLock attribute, pointing to the copied composer.lock file:\e[0m'
47+ echo -e '\e[31m composerLock = ./composer.lock;\e[0m'
48 echo
4950 exit 1
···53 echo "Validating consistency between composer.lock and ${composerRepository}/composer.lock"
54 if ! @cmp@ -s "composer.lock" "${composerRepository}/composer.lock"; then
55 echo
56+ echo -e "\e[31mERROR: vendorHash is out of date\e[0m"
57 echo
58+ echo -e "\e[31mcomposer.lock is not the same in $composerRepository\e[0m"
59 echo
60+ echo -e "\e[31mTo fix the issue:\e[0m"
61+ echo -e '\e[31m1. Set vendorHash to an empty string: `vendorHash = "";`\e[0m'
62+ echo -e '\e[31m2. Build the derivation and wait for it to fail with a hash mismatch\e[0m'
63+ echo -e '\e[31m3. Copy the "got: sha256-..." value back into the vendorHash field\e[0m'
64+ echo -e '\e[31m You should have: vendorHash = "sha256-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=";\e[0m'
65 echo
6667 exit 1
···107composerInstallCheckHook() {
108 echo "Executing composerInstallCheckHook"
109110+ if ! composer validate --strict --no-ansi --no-interaction --quiet; then
111+ if [ ! -z "${composerStrictValidation-}" ]; then
112+ echo
113+ echo -e "\e[31mERROR: composer files validation failed\e[0m"
114+ echo
115+ echo -e '\e[31mThe validation of the composer.json and composer.lock failed.\e[0m'
116+ echo -e '\e[31mMake sure that the file composer.lock is consistent with composer.json.\e[0m'
117+ echo
118+ exit 1
119+ else
120+ echo
121+ echo -e "\e[33mWARNING: composer files validation failed\e[0m"
122+ echo
123+ echo -e '\e[33mThe validation of the composer.json and composer.lock failed.\e[0m'
124+ echo -e '\e[33mMake sure that the file composer.lock is consistent with composer.json.\e[0m'
125+ echo
126+ echo -e '\e[33mThis check is not blocking, but it is recommended to fix the issue.\e[0m'
127+ echo
128+ fi
129+ fi
130131 echo "Finished composerInstallCheckHook"
132}