Date: Thursday, November 9, 2017 @ 20:42:33 Author: anthraxx Revision: 309323
upgpkg: mono 5.4.1.7-1 Modified: mono/trunk/PKGBUILD ----------+ PKGBUILD | 124 +++++++++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 89 insertions(+), 35 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2017-11-09 18:19:53 UTC (rev 309322) +++ PKGBUILD 2017-11-09 20:42:33 UTC (rev 309323) @@ -1,57 +1,111 @@ -# $Id$ -# Maintainer: Daniel Isenmann <dan...@archlinux.org> +# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org> +# Maintainer: Giancarlo Razzolinit <grazzol...@gmail.com> +# Contributor: Daniel Isenmann <dan...@archlinux.org> # Contributor: Brice Carpentier <br...@dlfp.org> pkgname=mono -pkgver=5.0.0.100 -_pkgver=5.0.0 -pkgrel=2 -pkgdesc="Free implementation of the .NET platform including runtime and compiler" -arch=(i686 x86_64) +_gitcommit=e66d9abbb271c3d08589c09afce4afc80de2d3b6 +pkgver=5.4.1.7 +pkgrel=1 +pkgdesc='Free implementation of the .NET platform including runtime and compiler' +url='http://www.mono-project.com/' +arch=('x86_64') license=('GPL' 'LGPL2.1' 'MPL') -url="http://www.mono-project.com/" depends=('zlib' 'libgdiplus>=4.2' 'sh' 'python' 'ca-certificates') -makedepends=('cmake') +makedepends=('cmake' 'git') provides=('monodoc') conflicts=('monodoc') -install="${pkgname}.install" -source=(https://download.mono-project.com/sources/mono/${pkgname}-${pkgver}.tar.bz2 +install=mono.install +source=(${pkgname}::"git+https://github.com/mono/mono#commit=${_gitcommit}" + git+https://github.com/mono/aspnetwebstack + git+https://github.com/mono/Newtonsoft.Json + git+https://github.com/mono/cecil + git+https://github.com/mono/rx + git+https://github.com/mono/ikvm-fork + git+https://github.com/mono/ikdasm + git+https://github.com/mono/reference-assemblies + git+https://github.com/mono/NUnitLite + git+https://github.com/mono/NuGet.BuildTasks + git+https://github.com/mono/boringssl + git+https://github.com/mono/corefx + git+https://github.com/mono/bockbuild + git+https://github.com/mono/linker + git+https://github.com/mono/roslyn-binaries + git+https://github.com/mono/corert + git+https://github.com/mono/xunit-binaries + git+https://github.com/mono/api-doc-tools + git+https://github.com/mono/api-snapshot mono.binfmt.d - mono_context.patch) -sha256sums=('368da3ff9f42592920cd8cf6fa15c6c16558e967144c4d3df873352e5d2bb6df' + mono_context.patch) +sha256sums=('SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' '9a657fc153ef4ce23bf5fc369a26bf4a124e9304bde3744d04c583c54ca47425' '9028f9c84bc035fb452712e92dbc62195fae1e8c5985c5ce45e75bc5e046f642') +pkgver() { + cd ${pkgname} + git describe --always --tags | sed 's/^v//;s/^mono-//;s/-/./g' +} + +prepare() { + cd ${pkgname} + git submodule init + git config submodule."external/aspnetwebstack".url "${srcdir}/aspnetwebstack" + git config submodule."external/Newtonsoft.Json".url "${srcdir}/Newtonsoft.Json" + git config submodule."external/cecil".url "${srcdir}/cecil" + git config submodule."external/rx".url "${srcdir}/rx" + git config submodule."external/ikvm".url "${srcdir}/ikvm-fork" + git config submodule."external/ikdasm".url "${srcdir}/ikdasm" + git config submodule."external/reference-assemblies".url "${srcdir}/reference-assemblies" + git config submodule."external/nunit-lite".url "${srcdir}/NUnitLite" + git config submodule."external/nuget-buildtasks".url "${srcdir}/NuGet.BuildTasks" + git config submodule."external/cecil-legacy".url "${srcdir}/cecil" + git config submodule."external/boringssl".url "${srcdir}/boringssl" + git config submodule."external/corefx".url "${srcdir}/corefx" + git config submodule."external/bockbuild".url "${srcdir}/bockbuild" + git config submodule."external/linker".url "${srcdir}/linker" + git config submodule."external/roslyn-binaries".url "${srcdir}/roslyn-binaries" + git config submodule."external/corert".url "${srcdir}/corert" + git config submodule."external/xunit-binaries".url "${srcdir}/xunit-binaries" + git config submodule."external/api-doc-tools".url "${srcdir}/api-doc-tools" + git config submodule."external/api-snapshot".url "${srcdir}/api-snapshot" + git submodule update --recursive +} + build() { - cd "${srcdir}"/${pkgname}-${_pkgver} - - # build mono - ./configure \ + cd ${pkgname} + ./autogen.sh \ --prefix=/usr \ --sysconfdir=/etc \ --bindir=/usr/bin \ --sbindir=/usr/bin \ - --with-mcs-docs=no + --with-mcs-docs=no make - - # build jay - cd "${srcdir}"/${pkgname}-${_pkgver}/mcs/jay - make + make -C mcs/jay } package() { - cd "${srcdir}"/${pkgname}-${_pkgver} + cd ${pkgname} make DESTDIR="${pkgdir}" install + make -C mcs/jay DESTDIR="${pkgdir}" prefix=/usr INSTALL=../../install-sh install + install -Dm 644 "${srcdir}/mono.binfmt.d" "${pkgdir}/usr/lib/binfmt.d/mono.conf" +} - # install jay - pushd "${srcdir}"/${pkgname}-${_pkgver}/mcs/jay - make DESTDIR="${pkgdir}" prefix=/usr INSTALL=../../install-sh install - popd - - # install binfmt conf file and pathes - install -D -m644 "${srcdir}"/mono.binfmt.d "${pkgdir}"/usr/lib/binfmt.d/mono.conf - - #fix .pc file to be able to request mono on what it depends, fixes #go-oo build - sed -i -e "s:#Requires:Requires:" "${pkgdir}"/usr/lib/pkgconfig/mono.pc - sed -i -e "s:/2.0/:/4.5/:g" "${pkgdir}"/usr/lib/pkgconfig/mono-nunit.pc -} +# vim: ts=2 sw=2 et: