diff options
Diffstat (limited to 'community/ocaml5/APKBUILD')
-rw-r--r-- | community/ocaml5/APKBUILD | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/community/ocaml5/APKBUILD b/community/ocaml5/APKBUILD new file mode 100644 index 00000000000..9d1baab3a01 --- /dev/null +++ b/community/ocaml5/APKBUILD @@ -0,0 +1,120 @@ +# Contributor: Borys Zhukov <mp5@mp5.im> +# Contributor: Jakub Jirutka <jakub@jirutka.cz> +# Contributor: omni <omni+alpine@hack.org> +# Maintainer: Celeste <cielesti@protonmail.com> +pkgname=ocaml5 +pkgver=5.2.0 +pkgrel=0 +pkgdesc="Main implementation of the Caml programming language" +url="https://ocaml.org/" +# loongarch64: no upstream support +arch="all !loongarch64" +license="LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception" +depends="$pkgname-runtime=$pkgver-r$pkgrel gcc" +checkdepends="parallel" +subpackages=" + $pkgname-doc + $pkgname-ocamldoc + $pkgname-compiler-libs:_compiler_libs + $pkgname-runtime + " +source="https://caml.inria.fr/pub/distrib/ocaml-${pkgver%.*}/ocaml-$pkgver.tar.xz" +builddir="$srcdir/ocaml-$pkgver" + +# Current native compiler support in 5.2.x +case "$CARCH" in +x86_64|aarch64|s390x|ppc64le) + _native_compiler=true + ;; +# Disabling native compiler on riscv64 as it fails to build otherlibs & debugger +*) + _native_compiler=false + ;; +esac + +build() { + local make_target extra_conf_opts + if $_native_compiler; then + make_target="world.opt" + extra_conf_opts=" + --enable-native-compiler + --enable-native-toplevel + --disable-installing-bytecode-programs + " + msg "Building native compiler for $CARCH" + else + make_target="world" + extra_conf_opts=" + --disable-native-compiler + --disable-native-toplevel + --enable-installing-bytecode-programs + " + msg "Building bytecode compiler for $CARCH" + fi + + want_check && extra_conf_opts=" + $extra_conf_opts + --enable-ocamltest + " + + ./configure \ + --prefix /usr \ + --bindir /usr/bin \ + --libdir /usr/lib/ocaml \ + --mandir /usr/share/man \ + --docdir /usr/share/doc/$pkgname \ + --disable-installing-source-artifacts \ + $extra_conf_opts \ + CC="${CC:-gcc}" \ + AS="${CC:-gcc} -c" \ + ASPP="${CC:-gcc} -c" + make $make_target +} + +check() { + make ocamltest + make -C testsuite parallel +} + +package() { + make DESTDIR="$pkgdir" install +} + +ocamldoc() { + pkgdesc="$pkgdesc (documentation generator)" + depends="$pkgname=$pkgver-r$pkgrel" + + amove usr/bin/ocamldoc* + amove usr/lib/ocaml/ocamldoc +} + +_compiler_libs() { + pkgdesc="$pkgdesc (compiler libraries)" + depends="$pkgname=$pkgver-r$pkgrel" + provides="$pkgname-dev=$pkgver-r$pkgrel" + + amove usr/lib/ocaml/compiler-libs +} + +runtime() { + pkgdesc="$pkgdesc (runtime environment)" + depends= + + amove usr/bin/ocamlrun* + amove usr/lib/ocaml/ld.conf + + local i; for i in \ + '*.cmo' \ + '*.cmi' \ + '*.cma' \ + 'stublibs' \ + 'threads/*.cmi' \ + 'threads/*.cma' + do + amove "usr/lib/ocaml/$i" + done +} + +sha512sums=" +6c2376777f0ec567fc414d534cba65e5f2120f7c766de25f36bbf80260e882f5d1c94c2ce8e12f2b2982097089c6e8f928f26dbc0b559a0463e7dcdd8baf20fe ocaml-5.2.0.tar.xz +" |