aboutsummaryrefslogtreecommitdiffstats
path: root/testing/mono/APKBUILD
blob: 0476df675ba66f2ba20fe3eabe5b570cbc91e65c (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
69
70
71
72
73
# Contributor: Carlo Landmeter <clandmeter@gmail.com>
# Contributor: blattersturm <peachypies@protonmail.ch>
# Maintainer:
pkgname=mono
pkgver=5.10.0.179
pkgrel=1
pkgdesc="Free implementation of the .NET platform including runtime and compiler"
url="https://www.mono-project.com/"
arch="x86_64 x86"
license="GPL"
depends="python2"
depends_dev="zlib-dev libgdiplus-dev"
makedepends="$depends_dev python2 linux-headers paxmark autoconf automake libtool cmake"
subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
source="https://download.mono-project.com/sources/mono/mono-${pkgver/_/~}.tar.bz2"
builddir="$srcdir/$pkgname-$pkgver"

prepare() {
	default_prepare
	cd "$builddir"

	# Remove hardcoded lib directory from the config.
	sed -i 's|$mono_libdir/||g' data/config.in

	# We need to do this so it don't get killed in the build proces when
	# MPROTECT and RANDMMAP is enable.
	sed -i '/exec "/ i\paxmark mr "$(readlink -f "$MONO_EXECUTABLE")"' \
		runtime/mono-wrapper.in
}

build() {
	cd "$builddir"

	# Based on Fedora and SUSE package.
	export CFLAGS="$CFLAGS -fno-strict-aliasing"

	# Set the minimum arch for x86 to prevent atomic linker errors.
	[ "$CARCH" = "x86" ] && export CFLAGS="$CFLAGS -march=i586 -mtune=generic"

	# Run autogen to fix supplied configure linker issues with make install.
	./autogen.sh \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--sysconfdir=/etc \
		--mandir=/usr/share/man \
		--infodir=/usr/share/info \
		--localstatedir=/var \
		--disable-rpath \
		--disable-boehm \
		--enable-parallel-mark \
		--with-mcs-docs=no \
		--without-sigaltstack
	make
}

package() {
	cd "$builddir"

	make -j1 DESTDIR="$pkgdir" install
	paxmark mr "$pkgdir"/usr/bin/mono-sgen

	cd "$pkgdir"

	# Remove .la files.
	rm ./usr/lib/*.la

	# Remove Windows-only stuff.
	rm -r ./usr/lib/mono/*/Mono.Security.Win32*
	rm ./usr/lib/libMonoSupportW.*
}

sha512sums="bda3e13f8c1598ecf2ab4ad288a4f92b24e91262c2e4ddf318d2dba981198fd28427a4ff455e68f71c88b995db950b85da69d197ce04147281ffa94a994e3434  mono-5.10.0.179.tar.bz2"