# Contributor: Jakub Jirutka # Maintainer: omni pkgname=ocaml-findlib _pkgname=findlib pkgver=1.9.6 pkgrel=5 pkgdesc="OCaml package manager" url="http://projects.camlcity.org/projects/findlib.html" arch="all" license="MIT" depends="ocamlfind=$pkgver-r$pkgrel ocaml-runtime" depends_dev="$pkgname=$pkgver-r$pkgrel ocaml" makedepends="ocaml-compiler-libs ocaml-ocamldoc m4 ncurses-dev" subpackages="ocamlfind $pkgname-dev $pkgname-doc" source="http://download.camlcity.org/download/$_pkgname-$pkgver.tar.gz" builddir="$srcdir/$_pkgname-$pkgver" # 32bit archs case "$CARCH" in arm*|x86) options="$options textrels" ;; riscv64|loongarch64) # Install ocamlfind executable only, because buildrepo will # only build APKBUILDs that have $pkgname as directory name, # and building the -dev libs will make this an ocaml5-findlib subpackages="ocamlfind $pkgname-doc" depends="${depends/ocaml-runtime/}" makedepends="${makedepends//ocaml-/ocaml5-}" ;; esac build() { ./configure \ -bindir /usr/bin \ -mandir /usr/share/man \ -sitelib /usr/lib/ocaml \ -config /etc/$_pkgname.conf \ -no-camlp4 make -j1 all opt } check() { local l; for l in unix str threads; do OCAMLFIND_CONF=./findlib.conf ./itest $l done } package() { pkgdesc="$pkgdesc (library)" case "$CARCH" in riscv64|loongarch64) make install-config install-doc prefix="$pkgdir" install -Dvm755 src/findlib/ocamlfind_opt \ "$pkgdir"/usr/bin/ocamlfind ;; *) make install prefix="$pkgdir" ;; esac mkdir -p "$pkgdir"/usr/share/doc/$_pkgname/ install -m 644 doc/README doc/QUICKSTART \ "$pkgdir"/usr/share/doc/$_pkgname/ } ocamlfind() { depends="" amove \ etc/findlib.conf \ usr/bin/ocamlfind } dev() { local sitelib="usr/lib/ocaml/$_pkgname" default_dev cd "$pkgdir" mkdir -p "$subpkgdir"/$sitelib mv $sitelib/*.mli \ $sitelib/Makefile.config \ $sitelib/Makefile.packages \ "$subpkgdir"/$sitelib/ } prepare_py_provides() { local datadir="${subpkgdir:-$pkgdir}" local pkgbasedir=${pkgbasedir:-"$startdir/pkg"} local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname} command -v ocaml4-abuild-find >/dev/null || return 0 options_has "!tracedeps" && return 0 ocaml4-abuild-find provides \ "$datadir"/usr/lib/ocaml \ "$controldir" \ "$pkgver-r$pkgrel" } scan_python3_dependency() { local controldir="$2" datadir="$3" command -v ocaml4-abuild-find >/dev/null || return 0 ocaml4-abuild-find requires \ "$datadir"/usr/lib/ocaml \ "$controldir" } sha512sums=" cfaf1872d6ccda548f07d32cc6b90c3aafe136d2aa6539e03143702171ee0199add55269bba894c77115535dc46a5835901a5d7c75768999e72db503bfd83027 findlib-1.9.6.tar.gz "