Date: Tuesday, March 8, 2022 @ 15:11:37 Author: kgizdov Revision: 1145485
optimise pkgbuild Modified: lablgtk3/trunk/PKGBUILD ----------+ PKGBUILD | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2022-03-08 14:59:50 UTC (rev 1145484) +++ PKGBUILD 2022-03-08 15:11:37 UTC (rev 1145485) @@ -4,7 +4,7 @@ _pkgname=lablgtk pkgname="${_pkgname}3" pkgver=3.1.2 -pkgrel=1 +pkgrel=2 pkgdesc="An Objective Caml interface to gtk3" arch=('x86_64') license=('LGPL') @@ -15,17 +15,30 @@ source=("${pkgname}-${pkgver}.tar.gz::https://github.com/garrigue/lablgtk/archive/refs/tags/${pkgver}.tar.gz") sha256sums=('ad7417875f79716597cc06ccd8cae1efccb326263db1010d9f83555c185f1669') +_dune_release_pkgs=('lablgtk3' 'lablgtk3-gtkspell3' 'lablgtk3-sourceview3') +dune_release_pkgs_comma() { + # dune build needs a comma separated list of packages + local dune_release_pkgs='dummy' + for _pkg in "${_dune_release_pkgs[@]}"; do + dune_release_pkgs+=",${_pkg}" + done + dune_release_pkgs="${dune_release_pkgs#dummy,}" + echo "${dune_release_pkgs}" +} + build() { cd "${srcdir}/${_pkgname}-${pkgver}" # gcc-10 workaround - OCAMLPATH=/usr/lib/ocaml LABLGTK_EXTRA_FLAGS=-fcommon dune build -p lablgtk3,lablgtk3-gtkspell3,lablgtk3-sourceview3 + export OCAMLPATH="$(ocamlfind printconf destdir)" + LABLGTK_EXTRA_FLAGS=-fcommon dune build -p $(dune_release_pkgs_comma) } package() { cd "${srcdir}/${_pkgname}-${pkgver}" - DESTDIR="${pkgdir}" dune install lablgtk3 --prefix "/usr" --libdir "lib/ocaml" - DESTDIR="${pkgdir}" dune install lablgtk3-gtkspell3 --prefix "/usr" --libdir "lib/ocaml" - DESTDIR="${pkgdir}" dune install lablgtk3-sourceview3 --prefix "/usr" --libdir "lib/ocaml" + # we need to install packages one by one + for _pkg in "${_dune_release_pkgs[@]}"; do + dune install "${_pkg}" --destdir="${pkgdir}" --prefix="/usr" --libdir="$(ocamlfind printconf destdir)" + done install -dm755 "${pkgdir}/usr/share/" mv "${pkgdir}/usr/doc" "${pkgdir}/usr/share/"