# Contributor: Carlo Landmeter <clandmeter@gmail.com>
# Contributor: blattersturm <peachypies@protonmail.ch>
# Maintainer:
setvar pkgname = 'mono'
setvar pkgver = '5.2.0.224'
setvar pkgrel = '0'
setvar pkgdesc = ""Free implementation of the .NET platform including runtime and compiler""
setvar url = ""http://www.mono-project.com/""
setvar arch = ""x86_64 x86""
setvar license = ""GPL""
setvar depends = ""python2""
setvar depends_dev = ""zlib-dev libgdiplus-dev""
setvar makedepends = ""$depends_dev python2 linux-headers paxmark autoconf automake libtool cmake""
setvar subpackages = ""$pkgname-dev $pkgname-doc $pkgname-lang""
setvar source = ""http://download.mono-project.com/sources/mono/mono-${pkgver/_/~}.tar.bz2""
setvar builddir = ""$srcdir/$pkgname-$pkgver""

proc 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
}

proc 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.
	test $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
}

proc 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.*
}

setvar sha512sums = ""914ab11c892f6e59c1a89d92eb4b130a62ea606691820f9d9f48a2a68f7de3e593c233be071cd37ad5d817c5f5fda6892f89f1b0985fc44de97c1297300c706b  mono-5.2.0.224.tar.bz2""