aboutsummaryrefslogtreecommitdiffstats
path: root/testing/llvm/APKBUILD
blob: 92f70b9231e8828d9ec413154fe635cb356ada44 (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
60
61
# Contributor: William Pitcock <nenolod@dereferenced.org>
# Maintainer: William Pitcock <nenolod@dereferenced.org>
pkgname=llvm
pkgver=2.9
pkgrel=0
pkgdesc="low level virtual machine compiler system"
arch="x86"
url="http://llvm.org/"
license="UOI-NCSA"
depends=
makedepends="groff perl"
install=
subpackages="$pkgname-dev $pkgname-doc"
source="http://llvm.org/releases/$pkgver/llvm-$pkgver.tgz
	http://llvm.org/releases/$pkgver/clang-$pkgver.tgz
	"

_builddir="$srcdir"/build

prepare() {
	mkdir "$_builddir"

	msg "Preparing CLANG sources..."

	mv "$srcdir"/clang-$pkgver "$srcdir"/$pkgname-$pkgver/tools/clang

	msg "Patching LLVM core..."

	cd "$srcdir"/$pkgname-$pkgver

	for i in $source; do
		case $i in
		*.patch)
			msg "Applying $i..."
			patch -s -p1 -N -i "$srcdir"/$i || return 1
			;;
		esac
	done
}

build() {
	cd "$_builddir"
	../$pkgname-$pkgver/configure --prefix=/usr \
		--sysconfdir=/etc \
		--mandir=/usr/share/man \
		--infodir=/usr/share/info

	# configure gets it wrong. We do have error_t
	sed -i -e 's/.*undef HAVE_ERROR_T.*/#define HAVE_ERROR_T 1/'  \
		-e '/define error_t/d' \
		./include/llvm/Config/config.h || return 1
	make || return 1
}

package() {
	cd "$_builddir"
	make DESTDIR="$pkgdir" install
}

md5sums="793138412d2af2c7c7f54615f8943771  llvm-2.9.tgz
634de18d04b7a4ded19ec4c17d23cfca  clang-2.9.tgz"