tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
build-support/php: make shellcheck happy
Pol Dellaiera
7 months ago
767ed2a8
bb0c422e
+27
-17
3 changed files
expand all
collapse all
unified
split
pkgs
build-support
php
builders
v2
hooks
composer-install-hook.sh
composer-vendor-hook.sh
php-script-utils.bash
+7
-4
pkgs/build-support/php/builders/v2/hooks/composer-install-hook.sh
···
1
1
-
declare -g version
1
1
+
# shellcheck shell=bash
2
2
+
3
3
+
declare -g out
2
4
declare -g pname
3
5
declare -g composerVendor
4
6
declare -g -i composerStrictValidation="${composerStrictValidation:-0}"
···
8
10
preCheckHooks+=(composerInstallCheckHook)
9
11
preInstallHooks+=(composerInstallInstallHook)
10
12
13
13
+
# shellcheck source=/dev/null
11
14
source @phpScriptUtils@
12
15
13
16
composerInstallConfigureHook() {
···
20
23
exit 1
21
24
fi
22
25
23
23
-
install -Dm644 ${composerVendor}/composer.json .
26
26
+
install -Dm644 "${composerVendor}"/composer.json .
24
27
25
28
if [[ -f "${composerVendor}/composer.lock" ]]; then
26
26
-
install -Dm644 ${composerVendor}/composer.lock .
29
29
+
install -Dm644 "${composerVendor}"/composer.lock .
27
30
fi
28
31
29
32
if [[ -f "composer.lock" ]]; then
···
52
55
composerInstallInstallHook() {
53
56
echo "Executing composerInstallInstallHook"
54
57
55
55
-
cp -ar ${composerVendor}/* .
58
58
+
cp -ar "${composerVendor}"/* .
56
59
57
60
# Copy the relevant files only in the store.
58
61
mkdir -p "$out"/share/php/"${pname}"
+18
-13
pkgs/build-support/php/builders/v2/hooks/composer-vendor-hook.sh
···
1
1
+
# shellcheck shell=bash
2
2
+
3
3
+
# shellcheck source=/dev/null
1
4
source @phpScriptUtils@
2
5
6
6
+
declare -g out
7
7
+
declare -g composerLock
3
8
declare -g composerNoDev="${composerNoDev:+--no-dev}"
4
9
declare -g composerNoPlugins="${composerNoPlugins:+--no-plugins}"
5
10
declare -g composerNoScripts="${composerNoScripts:+--no-scripts}"
···
20
25
21
26
if [[ -e "$composerLock" ]]; then
22
27
echo -e "\e[32mUsing user provided \`composer.lock\` file from \`$composerLock\`\e[0m"
23
23
-
install -Dm644 $composerLock ./composer.lock
28
28
+
install -Dm644 "$composerLock" ./composer.lock
24
29
fi
25
30
26
31
if [[ ! -f "composer.lock" ]]; then
···
30
35
--no-interaction \
31
36
--no-progress \
32
37
--optimize-autoloader \
33
33
-
${composerNoDev} \
34
34
-
${composerNoPlugins} \
35
35
-
${composerNoScripts} \
38
38
+
"${composerNoDev}" \
39
39
+
"${composerNoPlugins}" \
40
40
+
"${composerNoScripts}" \
36
41
update
37
42
38
43
if [[ -f "composer.lock" ]]; then
39
39
-
install -Dm644 composer.lock -t $out/
44
44
+
install -Dm644 composer.lock -t "$out"/
40
45
41
46
echo
42
47
echo -e "\e[31mERROR: No composer.lock found\e[0m"
···
74
79
--no-interaction \
75
80
--no-progress \
76
81
--optimize-autoloader \
77
77
-
${composerNoDev} \
78
78
-
${composerNoPlugins} \
79
79
-
${composerNoScripts} \
82
82
+
"${composerNoDev}" \
83
83
+
"${composerNoPlugins}" \
84
84
+
"${composerNoScripts}" \
80
85
install
81
86
82
87
echo "Finished composerVendorBuildHook"
···
93
98
composerVendorInstallHook() {
94
99
echo "Executing composerVendorInstallHook"
95
100
96
96
-
mkdir -p $out
101
101
+
mkdir -p "$out"
97
102
98
98
-
cp -ar composer.json $(composer config vendor-dir) $out/
103
103
+
cp -ar composer.json "$(composer config vendor-dir)" "$out"/
99
104
mapfile -t installer_paths < <(jq -r -c 'try((.extra."installer-paths") | keys[])' composer.json)
100
105
101
106
for installer_path in "${installer_paths[@]}"; do
···
104
109
out_installer_path="$out/${installer_path/\{\$name\}*/}"
105
110
# Copy the installer path if it exists
106
111
if [[ -d "$installer_path" ]]; then
107
107
-
mkdir -p $(dirname "$out_installer_path")
112
112
+
mkdir -p "$(dirname "$out_installer_path")"
108
113
echo -e "\e[32mCopying installer path $installer_path to $out_installer_path\e[0m"
109
114
cp -ar "$installer_path" "$out_installer_path"
110
115
# Strip out the git repositories
111
111
-
find $out_installer_path -name .git -type d -prune -print -exec rm -rf {} ";"
116
116
+
find "$out_installer_path" -name .git -type d -prune -print -exec rm -rf {} ";"
112
117
fi
113
118
done
114
119
115
120
if [[ -f "composer.lock" ]]; then
116
116
-
cp -ar composer.lock $out/
121
121
+
cp -ar composer.lock "$out"/
117
122
fi
118
123
119
124
echo "Finished composerVendorInstallHook"
+2
pkgs/build-support/php/builders/v2/hooks/php-script-utils.bash
···
1
1
+
# shellcheck shell=bash
2
2
+
1
3
declare -g version
2
4
declare -g -i composerStrictValidation="${composerStrictValidation:-0}"
3
5