diff options
Diffstat (limited to 'testing/merlin/APKBUILD')
-rw-r--r-- | testing/merlin/APKBUILD | 98 |
1 files changed, 74 insertions, 24 deletions
diff --git a/testing/merlin/APKBUILD b/testing/merlin/APKBUILD index 88f14948cdd..9e39c0b49ce 100644 --- a/testing/merlin/APKBUILD +++ b/testing/merlin/APKBUILD @@ -1,37 +1,55 @@ # Contributor: Jakub Jirutka <jakub@jirutka.cz> -# Maintainer: Jakub Jirutka <jakub@jirutka.cz> +# Maintainer: Celeste <cielesti@protonmail.com> pkgname=merlin -pkgver=3.0.5 +pkgver=4.14 +_ocamlver=4.14 +_pkgver="$pkgver-${_ocamlver//./}" pkgrel=0 pkgdesc="Context sensitive completion for OCaml" url="https://ocaml.github.io/merlin/" -arch="all !x86 !armhf !armv7 !s390x" # limited by ocaml aport +arch="all !riscv64 !loongarch64" # ocaml license="MIT" -depends="ocaml ocaml-findlib" +depends_dev="$pkgname=$pkgver-r$pkgrel" makedepends=" + dune ocaml + ocaml-csexp-dev ocaml-findlib-dev + ocaml-menhir-dev ocaml-yojson-dev " -options="!check" # XXX: tests are broken, see https://github.com/ocaml/merlin/issues/766 -subpackages="$pkgname-emacs::noarch $pkgname-vim::noarch" -source="$pkgname-$pkgver.tar.gz::https://github.com/ocaml/$pkgname/archive/v$pkgver.tar.gz" -builddir="$srcdir/$pkgname-$pkgver" +checkdepends="cmd:menhir jq ocaml-ppxlib-dev" +options="!check" # requires annotation and source files that we delete in ocaml +subpackages=" + $pkgname-dev + $pkgname-emacs::noarch + $pkgname-vim::noarch + " +source="$pkgname-$_pkgver.tar.bz2::https://github.com/ocaml/merlin/releases/download/v$_pkgver/merlin-$_pkgver.tbz" +builddir="$srcdir/$pkgname-$_pkgver" + +# 32-bit archs +case "$CARCH" in + arm*|x86) options="$options textrels" ;; +esac build() { - cd "$builddir" - ./configure --prefix /usr - make + dune build -p merlin,merlin-lib,dot-merlin-reader \ + @install --no-buffer --verbose } check() { - cd "$builddir" - make test + dune runtest --build-dir=.testenv --no-buffer --verbose } package() { - cd "$builddir" - make DESTDIR="$pkgdir" install + dune install \ + --destdir="$pkgdir" \ + --docdir=/.omit \ + merlin merlin-lib dot-merlin-reader + + install -Dvm644 LICENSE \ + -t "$pkgdir"/usr/share/licenses/$pkgname/ } emacs() { @@ -39,22 +57,54 @@ emacs() { depends="$pkgname=$pkgver-r$pkgrel" install_if="$pkgname=$pkgver-r$pkgrel emacs" - _submv usr/share/emacs + amove usr/share/emacs } vim() { pkgdesc="$pkgdesc in vim" - depends="$pkgname=$pkgver-r$pkgrel" + depends="$pkgname=$pkgver-r$pkgrel python3" install_if="$pkgname=$pkgver-r$pkgrel vim" - _submv usr/share/ocamlmerlin/vim + amove usr/share/merlin/vim } -_submv() { - local path="$1" - mkdir -p "$subpkgdir"/${path%/*} - mv "$pkgdir"/$path "$subpkgdir"/${path%/*}/ - rmdir -p "$pkgdir"/${path%/*} 2>/dev/null || true +dev() { + default_dev + + cd "$pkgdir" + + local path; find usr/lib/ocaml \( \ + -name '*.cmt' -o \ + -name '*.cmti' -o \ + -name '*.ml' -o \ + -name '*.mli' \ + \) | while read -r path + do + amove "$path" + done +} + +prepare_py_provides() { + local datadir="${subpkgdir:-$pkgdir}" + local pkgbasedir=${pkgbasedir:-"$startdir/pkg"} + local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname} + + 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" + + ocaml4-abuild-find requires \ + "$datadir"/usr/lib/ocaml \ + "$controldir" } -sha512sums="bc9790d72caaec2824fe66c3ed439961a00285cd3f7e59cea8f16283a4f489a89d8ac231d2d0da1000e0f03fa6f7b52c04fa4aff6459df5bd17322693493088d merlin-3.0.5.tar.gz" +sha512sums=" +ebefec44c7f54b10aa85895baacecf778930ee0c4cd5a257836755ccadd9018c20379511e254efa98ed7d48fff9ba9eeb93b45a722cc1d2d61f51570cc57985d merlin-4.14-414.tar.bz2 +" |