1 |
>>>>> On Thu, 09 Dec 2021, Maciej Barć wrote: |
2 |
|
3 |
> dune-install() { |
4 |
> + local pkgs |
5 |
> + if [[ -n "${@}" ]] ; then |
6 |
> + pkgs="${@}" |
7 |
|
8 |
Here pkgs is a scalar ... |
9 |
|
10 |
> + else |
11 |
> + pkgs=${DUNE_PKG_NAME} |
12 |
> + fi |
13 |
> + |
14 |
> + local myduneopts=( |
15 |
> + --prefix="${ED%/}/usr" |
16 |
> + --libdir="${D%/}$(ocamlc -where)" |
17 |
> + --mandir="${ED%/}/usr/share/man" |
18 |
> + ) |
19 |
> local pkg |
20 |
> - for pkg ; do |
21 |
> - dune install \ |
22 |
> - --prefix="${ED%/}/usr" \ |
23 |
> - --libdir="${D%/}$(ocamlc -where)" \ |
24 |
> - --mandir="${ED%/}/usr/share/man" \ |
25 |
> - "${pkg}" || die |
26 |
> + for pkg in ${pkgs[@]} ; do |
27 |
|
28 |
... and here it's an array? |
29 |
|
30 |
> + dune install ${myduneopts[@]} ${pkg} || die |
31 |
> + |
32 |
> + # Move docs to the appropriate place. |
33 |
> + if [ -d "${ED%/}/usr/doc/${pkg}" ] ; then |
34 |
> + mkdir -p "${ED%/}/usr/share/doc/${PF}/" || die |
35 |
> + mv "${ED%/}/usr/doc/${pkg}" "${ED%/}/usr/share/doc/${PF}/" || die |
36 |
> + rm -rf "${ED%/}/usr/doc" || die |
37 |
> + fi |
38 |
> done |
39 |
> } |
40 |
|
41 |
I'd write something like this: |
42 |
|
43 |
local -a pkgs=("$@") |
44 |
[[ ${#pkgs[@]} -eq 0 ]] && pkgs=(${DUNE_PKG_NAME}) |
45 |
|
46 |
And the loop like this (note the double quotes to be whitespace-safe): |
47 |
|
48 |
for pkg in "${pkgs[@]}"; do |
49 |
... |
50 |
done |
51 |
|
52 |
Ulrich |