aboutsummaryrefslogtreecommitdiffstats
path: root/community/ocaml/APKBUILD
blob: 85af8db40e9127aa60bebb4cb83ef2c45164bbbf (plain)
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
# Contributor: Borys Zhukov <mp5@mp5.im>
# Maintainer: Borys Zhukov <mp5@mp5.im>
pkgname=ocaml
pkgver=4.06.1
pkgrel=0
pkgdesc="Main implementation of the Caml programming language"
url="http://ocaml.org/"
arch="all !x86 !armhf !s390x"
license="LGPL-2.1-or-later-WITH-linking-exception"
makedepends="ncurses-dev zlib-dev gdbm-dev gcc libc-dev"
depends="ncurses-dev"
options="textrels"
subpackages="$pkgname-doc"
source="http://caml.inria.fr/pub/distrib/ocaml-${pkgver%.*}/$pkgname-$pkgver.tar.gz
	fix-mcontext-fields.patch
	fix-segfault-in-ppc64le.patch
	"
builddir="$srcdir/$pkgname-$pkgver"

build() {
	cd "$builddir"

	#strip out -fomit-frame-pointer due to -pg
	local _cflags="$CFLAGS"
	CFLAGS="-fPIC"
	for i in $_cflags; do
		case $i in
		-fomit-frame-pointer);;
		*) CFLAGS="$CFLAGS $i";;
		esac
	done

	./configure -cc "${CC:-gcc}" \
		--bindir /usr/bin \
		--libdir /usr/lib/ocaml \
		--mandir /usr/share/man
	make -j1 world.opt
}

check() {
       cd "$builddir"
       # there seem to be some spurious failures, ignore until fixed
       make test || true
       cd testsuite
       make report || true
}

package() {
	cd "$builddir"
	make BINDIR="$pkgdir"/usr/bin LIBDIR="$pkgdir"/usr/lib/ocaml MANDIR="$pkgdir"/usr/share/man install

	install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
	install -Dm644 Changes "$pkgdir"/usr/share/doc/$pkgname/Changes

	find "$pkgdir"/usr/lib/ocaml -name \*.ml -delete
}
sha512sums="42560874ce363212fa4e862138d7260113bc8dff8b39c040332bbd9b039ba938788344ba8ce63ffc0a251bf21a6e493f3c1e505b6f51db6fec4d21578921060e  ocaml-4.06.1.tar.gz
75c67e143a4a05b334bdebbad48ded1e04d383d8ea9b747df2633a5af96b1115b502510faf57753c71bbac38fbc9d9746b167861a63b2fd295901db0d22ea317  fix-mcontext-fields.patch
b2cef41400b31c1dcfd206c1534827f7b33b0afd6234b26fb95cf15c092affa85c27a615c14ece254ec326430f31b58ca70b9cc23a84ebf8baac2624bd5b0a71  fix-segfault-in-ppc64le.patch"