# Contributor: Carlo Landmeter # Contributor: blattersturm # Maintainer: pkgname=mono pkgver=5.18.0.268 pkgrel=0 pkgdesc="Free implementation of the .NET platform including runtime and compiler" url="https://www.mono-project.com/" arch="x86_64 x86" license="MIT" depends="python2" depends_dev="libgdiplus-dev zlib-dev" makedepends="$depends_dev autoconf automake cmake libtool linux-headers paxmark python2" subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" source="https://download.mono-project.com/sources/mono/mono-${pkgver/_/~}.tar.bz2 fix-mono-state.patch " 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() { # 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() { 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="cfd81fe3bc23bbef85816a30eece6860cdd8bd0c9e595b0d15b95dda0c9c408acfcae2904f6e750c24b68be571592747fb34d6bd93fb50fe9de9014e8ee88c66 mono-5.18.0.268.tar.bz2 255946de10a72f0acae276e73791e73c786ee9befb73e2691a3583c7f6d5513380a7a30649a1ac435ca5fba65a67891313a81609639ecacad7328f20443b0c4d fix-mono-state.patch"