diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..4095838c4884 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,103 @@ +pkgname=mingw-w64-mono +_gitcommit=20bb4f9a6d310d4aae1529776ff45291ed676e51 +pkgver=6.12.0.86 +pkgrel=1 +pkgdesc='Free implementation of the .NET platform including runtime and compiler (mingw-w64)' +url='https://www.mono-project.com/' +arch=('any') +license=('GPL' 'LGPL2.1' 'MPL') +depends=('mingw-w64-zlib' 'mingw-w64-libatomic_ops') +makedepends=('mingw-w64-configure' 'git') +options=(!strip !buildflags staticlibs) +source=("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) +sha256sums=('SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP') + +_architectures="i686-w64-mingw32 x86_64-w64-mingw32" + +pkgver() { + cd mono + git describe --tags | sed 's/^v//;s/^mono-//;s/\([^-]*-g\)/r\1/;s/-/./g' +} + +prepare() { + cd mono + 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 mono + NOCONFIGURE=1 ./autogen.sh + for _arch in ${_architectures}; do + mkdir -p build-${_arch} && pushd build-${_arch} + ${_arch}-configure .. + make + popd + done +} + +package() { + cd mono + for _arch in ${_architectures}; do + cd "$srcdir/mono/build-${_arch}" + make DESTDIR="${pkgdir}" install + rm -r "$pkgdir"/usr/${_arch}/share + ${_arch}-strip --strip-unneeded "$pkgdir"/usr/${_arch}/bin/*.dll + ${_arch}-strip -g "$pkgdir"/usr/${_arch}/lib/*.a + done +} |