aboutsummaryrefslogtreecommitdiffstats
path: root/community/ocamlbuild/APKBUILD
blob: d333a4d4d9c63376e1f7dc0d6b6dc70f0ceb59a3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# Contributor: Jon Ong <jonongjs@rottenmage.com>
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Contributor: Anil Madhavapeddy <anil@recoil.org>
# Maintainer: omni <omni+alpine@hack.org>
pkgname=ocamlbuild
pkgver=0.14.0
pkgrel=3
pkgdesc="Generic build tool with built-in rules for building OCaml library and programs"
options="!check"
url="https://github.com/ocaml/ocamlbuild"
arch="all !mips64" # limited by ocaml aport
license="LGPL-2.0-or-later-WITH-linking-exception"
checkdepends="ocaml-compiler-libs ocaml-findlib"
depends="ocaml-$pkgname=$pkgver-r$pkgrel cmd:tput"
makedepends="ocaml"
subpackages="$pkgname-doc ocaml-$pkgname-dev:_libdev ocaml-$pkgname:_lib"
source="$pkgname-$pkgver.tar.gz::https://github.com/ocaml/ocamlbuild/archive/$pkgver.tar.gz"

build() {
	make configure \
		OCAML_NATIVE=true \
		OCAMLBUILD_BINDIR="/usr/bin" \
		OCAMLBUILD_LIBDIR="/usr/lib/ocaml"
	make
}

check() {
	make test
}

package() {
	make DESTDIR="$pkgdir" install

	# Remove annotation files.
	rm -f "$pkgdir"/usr/lib/ocaml/$pkgname/*.cmt*

	# Keep only native binary.
	cd "$pkgdir"/usr/bin
	rm ocamlbuild.byte
	mv ocamlbuild.native ocamlbuild
}

_libdev() {
	pkgdesc="$pkgdesc (development files)"
	depends="ocaml-$pkgname=$pkgver-r$pkgrel"
	replaces="$pkgname"  # for backward compatibility

	local file; for file in '*.a' '*.cmx' '*.cmxa' '*.mli' '*.o'; do
		_submv "usr/lib/ocaml/$pkgname/$file"
	done
}

_lib() {
	pkgdesc="$pkgdesc (library)"
	replaces="$pkgname"  # for backward compatibility
	depends=

	_submv usr/lib/ocaml
}

_submv() {
	local path="$1"
	mkdir -p "$subpkgdir"/${path%/*}
	mv "$pkgdir"/$path "$subpkgdir"/${path%/*}/
	rmdir -p "$pkgdir"/${path%/*} 2>/dev/null || true
}

sha512sums="ae60247396399dfd35644c8c1986ef7679e5a9964df82e3388bfc6dd4c5b88a13d6869a698d14a9ac70dc48e4ce1c003f543c85426d8c862ca31dea37a554b07  ocamlbuild-0.14.0.tar.gz"