On Thu, 09 Dec 2021, Maciej Barć wrote:
dune-install() {
+ local pkgs
+ if [[ -n "${@}" ]] ; then
+ pkgs="${@}"
+ else
+ pkgs=${DUNE_PKG_NAME}
+ fi
+
+ local myduneopts=(
+ --prefix="${ED%/}/usr"
+ --libdir="${D%/}$(ocamlc -where)"
+ --mandir="${ED%/}/usr/share/man"
+ )
local pkg
- for pkg ; do
- dune install \
- --prefix="${ED%/}/usr" \
- --libdir="${D%/}$(ocamlc -where)" \
- --mandir="${ED%/}/usr/share/man" \
- "${pkg}" || die
+ for pkg in ${pkgs[@]} ; do
+ dune install ${myduneopts[@]} ${pkg} || die
+
+ # Move docs to the appropriate place.
+ if [ -d "${ED%/}/usr/doc/${pkg}" ] ; then
+ mkdir -p "${ED%/}/usr/share/doc/${PF}/" || die
+ mv "${ED%/}/usr/doc/${pkg}" "${ED%/}/usr/share/doc/${PF}/" || die
+ rm -rf "${ED%/}/usr/doc" || die
+ fi
done
}
On Fri, 10 Dec 2021, Ulrich Mueller wrote:
I'd write something like this:
local -a pkgs=("$@")
[[ ${#pkgs[@]} -eq 0 ]] && pkgs=(${DUNE_PKG_NAME})
And the loop like this (note the double quotes to be whitespace-safe):
for pkg in "${pkgs[@]}"; do
...
done
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 475 |
Nodes: | 16 (2 / 14) |
Uptime: | 16:43:25 |
Calls: | 9,487 |
Calls today: | 6 |
Files: | 13,615 |
Messages: | 6,121,086 |