diff options
author | Torge Matthies | 2019-08-22 17:11:38 +0200 |
---|---|---|
committer | Torge Matthies | 2019-08-22 17:13:03 +0200 |
commit | 14d99fb3bccd8b323fc3480769af5cadabada52c (patch) | |
tree | d9aecc5f0bde64f14ab023609f81f86cbcf12335 /PKGBUILD | |
parent | b682a5873bbc4f1b9a66f88df717ae2faf4d2d4a (diff) | |
download | aur-14d99fb3bccd8b323fc3480769af5cadabada52c.tar.gz |
First version of msbuild-git, based on the msbuild AUR package.
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 89 |
1 files changed, 58 insertions, 31 deletions
@@ -1,53 +1,80 @@ -# Maintainer: Florian Maunier <fmauneko@dissidence.ovh> +# Maintainer: Torge Matthies <openglfreak at googlemail dot com> +# Contributor: Florian Maunier <fmauneko@dissidence.ovh> # Contributor: jtmb <packaging at technologicalwizardry dot com> -pkgbase=msbuild -pkgname=('msbuild' 'msbuild-sdkresolver') -pkgver=16.3+xamarinxplat.2019.08.08.00.55 + +_pkgbase=msbuild +pkgbase=msbuild-git +pkgname=('msbuild-git' 'msbuild-sdkresolver-git') +pkgver=16.3.0.r3318.g8059ecc7 pkgrel=1 arch=('x86_64') -url="https://github.com/mono/msbuild" +url='https://github.com/mono/msbuild' license=('MIT') depends=('mono>=6.0.0') -makedepends=('unzip' 'dotnet-host' 'dotnet-sdk') -source=("https://download.mono-project.com/sources/msbuild/msbuild-${pkgver}.tar.xz" - 'copy_hostfxr.patch' - 'fix_bashisms.patch' - 'license_check_is_case_sensitive.diff') -sha256sums=('2bd5ee0617754a87a311581d62325eda43c0d0b312fe614f60a57e54dc6155a2' +makedepends=(xmlstarlet unzip dotnet-host dotnet-sdk) +source=('git+https://github.com/mono/msbuild.git' + copy_hostfxr.patch + fix_bashisms.patch + license_check_is_case_sensitive.patch + fix_dotnet_case.patch) +sha256sums=('SKIP' 'f08615c058771fe740758d9bd2e23e01a52c5d51fab05a15558622e7f7974f22' 'a13ecb4125c673372d87a3b7d957fc8716a3c3e74cd08e9e354b5dcf170ed453' - '3a12a9c33ad5938e8af24d2985241053602f4efc94a4818a00a17da32ce4aba5') + '3a12a9c33ad5938e8af24d2985241053602f4efc94a4818a00a17da32ce4aba5' + '69668675a5db978845a48b01b9b30fae07509683deeaef4dd616aba4acb8e2b5') + +pkgver() { + local _version _commit + + cd "${srcdir}/${_pkgbase}" + + _version="$(xmlstarlet sel -t -v '/Project/PropertyGroup/VersionPrefix' eng/Versions.props)" + _commit="$(git describe --long | sed 's/^.*\(-[0-9]\+\)\(-g[0-9a-f]\+\)\?$/\1\2/;s/-/r/;s/-/./')" + echo "${_version}.${_commit}" +} prepare() { - cd "${pkgname}-${pkgver%+*}" + cd "${srcdir}/${_pkgbase}" + patch --forward --strip=1 --input="${srcdir}/fix_bashisms.patch" patch --forward --strip=1 --input="${srcdir}/copy_hostfxr.patch" - patch --forward --strip=1 --input="${srcdir}/license_check_is_case_sensitive.diff" - cp $(pacman -Ql dotnet-host | grep libhostfxr.so | cut -d' ' -f2) ./mono/SdkResolvers/Microsoft.DotNet.MSBuildSdkResolver/ + patch --forward --strip=1 --input="${srcdir}/license_check_is_case_sensitive.patch" + patch --forward --strip=1 --input="${srcdir}/fix_dotnet_case.patch" + #cp $(pacman -Ql dotnet-host | grep -F libhostfxr.so | cut -d' ' -f2) ./mono/SdkResolvers/Microsoft.DotNet.MSBuildSdkResolver/ } build() { - cd "${pkgname}-${pkgver%+*}" - DOTNET_MSBUILD_SDK_RESOLVER_CLI_DIR=/opt/dotnet ./eng/cibuild_bootstrapped_msbuild.sh --host_type mono --configuration Release --skip_tests /p:DisableNerdbankVersioning=true - ./stage1/mono-msbuild/msbuild mono/build/install.proj /p:MonoInstallPrefix=$srcdir/target/usr /p:Configuration=Release-MONO /p:IgnoreDiffFailure=true - sed -i "s@${srcdir}/target@@g" $srcdir/target/usr/bin/msbuild - find $srcdir/target/usr/lib/mono/ -name Microsoft.DiaSymReader.Native.*dll -delete - find $srcdir/target/usr/lib/mono/ -name *.dylib -delete - find $srcdir/target/usr/lib/mono/ -name *.so -delete + local _escaped_srcdir + + cd "${srcdir}/${_pkgbase}" + + DOTNET_MSBUILD_SDK_RESOLVER_CLI_DIR=/opt/dotnet eng/cibuild_bootstrapped_msbuild.sh --host_type mono --configuration Release --skip_tests /p:DisableNerdbankVersioning=true + stage1/mono-msbuild/msbuild mono/build/install.proj /p:MonoInstallPrefix="${srcdir}/target/usr" /p:Configuration=Release-MONO /p:IgnoreDiffFailure=true + find "${srcdir}/target/usr/lib/mono/" -name 'Microsoft.DiaSymReader.Native.*dll' -delete + find "${srcdir}/target/usr/lib/mono/" -name '*.dylib' -delete + find "${srcdir}/target/usr/lib/mono/" -name '*.so' -print -delete + + # Stolen from https://stackoverflow.com/a/2705678 + _escaped_srcdir="$(printf '%s' "${srcdir}" | sed 's/[]@$*.^[]/\\&/g')" + sed -i "s@${srcdir}/target@@g" "${srcdir}/target/usr/bin/msbuild" } -package_msbuild() { - pkgdesc="Xamarin implementation of the Microsoft build system" +package_msbuild-git() { + pkgdesc="Xamarin implementation of the Microsoft build system (Git version)" + conflicts=('msbuild') + provides=('msbuild') - cp -dr --no-preserve='ownership' $srcdir/target/usr "${pkgdir}" - rm -rf $pkgdir/usr/lib/mono/msbuild/Current/bin/SdkResolvers/Microsoft.DotNet.MSBuildSdkResolver + cp -dr --no-preserve='ownership' "${srcdir}/target/usr" "${pkgdir}/" + rm -rf "${pkgdir}/usr/lib/mono/msbuild/Current/bin/SdkResolvers/Microsoft.DotNet.MSBuildSdkResolver" } -package_msbuild-sdkresolver() { - pkgdesc="Xamarin implementation of the Microsoft build system (SDK resolver)" +package_msbuild-sdkresolver-git() { + pkgdesc="Xamarin implementation of the Microsoft build system (SDK resolver) (Git version)" depends=('msbuild') + conflicts=('msbuild-sdkresolver') + provides=('msbuild-sdkresolver') - mkdir -p "${pkgdir}"/usr/lib/mono/msbuild/Current/bin/SdkResolvers/ - cp -dr --no-preserve='ownership' $srcdir/target/usr/lib/mono/msbuild/Current/bin/SdkResolvers/Microsoft.DotNet.MSBuildSdkResolver "${pkgdir}"/usr/lib/mono/msbuild/Current/bin/SdkResolvers/ - #cp -dr --no-preserve='ownership' $(pacman -Ql dotnet-host | grep libhostfxr.so | cut -d' ' -f2) "${pkgdir}"/usr/lib/mono/msbuild/Current/bin/SdkResolvers/Microsoft.DotNet.MSBuildSdkResolver/ + mkdir -p "${pkgdir}/usr/lib/mono/msbuild/Current/bin/SdkResolvers/" + cp -dr --no-preserve=ownership "${srcdir}/target/usr/lib/mono/msbuild/Current/bin/SdkResolvers/Microsoft.DotNet.MSBuildSdkResolver" "${pkgdir}/usr/lib/mono/msbuild/Current/bin/SdkResolvers/" + #cp -dr --no-preserve=ownership $(pacman -Ql dotnet-host | grep -F libhostfxr.so | cut -d' ' -f2) "${pkgdir}/usr/lib/mono/msbuild/Current/bin/SdkResolvers/Microsoft.DotNet.MSBuildSdkResolver/" } |