diff options
author | SR_team | 2021-11-30 00:05:48 +0300 |
---|---|---|
committer | SR_team | 2021-11-30 00:05:48 +0300 |
commit | 8237bce3209067134e63e00d5f16309135abed8c (patch) | |
tree | 849ca3e8c2ffb9d1e5fffdc67a69fafc8c61e7be | |
download | aur-8237bce3209067134e63e00d5f16309135abed8c.tar.gz |
Initial commit
-rw-r--r-- | .SRCINFO | 33 | ||||
-rw-r--r-- | PKGBUILD | 59 | ||||
-rw-r--r-- | msvc-cmake.sh | 6 | ||||
-rw-r--r-- | toolchain-msvc.cmake | 22 |
4 files changed, 120 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..784475588cfc --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,33 @@ +pkgbase = msvc-wine-git + pkgdesc = MSVC compiler with CMake toolchains. Compiler work in Wine64 + pkgver = 16.11.7 + pkgrel = 1 + url = https://github.com/mstorsjo/msvc-wine + arch = x86_64 + license = EULA + makedepends = git + makedepends = sed + makedepends = python + makedepends = python-simplejson + makedepends = python-six + makedepends = msitools + depends = wine + depends = cmake + provides = msvc-x86-cmake + provides = msvc-x64-cmake + provides = msvc-arm-cmake + provides = msvc-arm64-cmake + conflicts = msvc-wine + conflicts = msvc-wine-git + options = !strip + options = libtool + options = staticlibs + options = emptydirs + source = git+https://github.com/mstorsjo/msvc-wine.git + source = msvc-cmake.sh + source = toolchain-msvc.cmake + sha256sums = SKIP + sha256sums = 8629fdbc948fa42640ac93388316b776e9c51e9cd5ff05be9506e96547b98e59 + sha256sums = 52efc3ad1f5575f35cf9319ade41a23ace667156bdc5f66e4e32527bc8b64c5d + +pkgname = msvc-wine-git diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..83d70dce7524 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,59 @@ +pkgname=msvc-wine-git +pkgver=16.11.7 +pkgrel=1 +pkgdesc='MSVC compiler with CMake toolchains. Compiler work in Wine64' +arch=('x86_64') +url='https://github.com/mstorsjo/msvc-wine' +license=(EULA) +depends=(wine cmake) +makedepends=(git sed python python-simplejson python-six msitools) +provides=(msvc-x86-cmake msvc-x64-cmake msvc-arm-cmake msvc-arm64-cmake) +conflicts=(msvc-wine msvc-wine-git) +source=('git+https://github.com/mstorsjo/msvc-wine.git' + 'msvc-cmake.sh' + 'toolchain-msvc.cmake') +sha256sums=('SKIP' + '8629fdbc948fa42640ac93388316b776e9c51e9cd5ff05be9506e96547b98e59' + '52efc3ad1f5575f35cf9319ade41a23ace667156bdc5f66e4e32527bc8b64c5d') +options=('!strip' 'libtool' 'staticlibs' 'emptydirs') + +_architectures="x86 x64 arm arm64" + +pkgver() { + VS_VERSION=`python msvc-wine/vsdownload.py --print-version | grep "Loaded installer manifest for "` + echo -n ${VS_VERSION:30} +} + +prepare() { + for _arch in ${_architectures}; do + sed "s|@PROCESSOR@|${_arch}|g" toolchain-msvc.cmake > toolchain-${_arch}.cmake + sed "s|@PROCESSOR@|${_arch}|g" msvc-cmake.sh > msvc-${_arch}-cmake + done +} + +build() { + cd msvc-wine + mkdir -p "${srcdir}/../cache" + python vsdownload.py --accept-license --dest "${srcdir}/msvc" --cache "${srcdir}/../cache" + sh install.sh "${srcdir}/msvc" + cd - +} + +package() { + for _arch in ${_architectures}; do + cat "${srcdir}/msvc/bin/${_arch}/msvcenv.sh" | sed 's/BASE=.*/BASE='z:\\\\\\\\opt\\\\\\\\msvc/ > "${srcdir}/msvc/bin/${_arch}/msvcenv.sh.patched" + cat "${srcdir}/msvc/bin/${_arch}/msvcenv.sh.patched" | sed 's/BASE_UNIX=.*/BASE_UNIX='\\/opt\\/msvc/ > "${srcdir}/msvc/bin/${_arch}/msvcenv.sh" + rm "${srcdir}/msvc/bin/${_arch}/msvcenv.sh.patched" + done + + mkdir -p "${pkgdir}/opt/msvc" + mv "${srcdir}/msvc" "${pkgdir}/opt/msvc" + + mkdir -p "${pkgdir}/usr/bin" + + for _arch in ${_architectures}; do + mkdir -p "${pkgdir}/opt/msvc/cmake/find_root/${_arch}" + mv "${srcdir}/toolchain-${_arch}.cmake" "${pkgdir}/opt/msvc/cmake/toolchain-${_arch}.cmake" + mv "${srcdir}/msvc-${_arch}-cmake" "${pkgdir}/usr/bin/msvc-${_arch}-cmake" + done +} diff --git a/msvc-cmake.sh b/msvc-cmake.sh new file mode 100644 index 000000000000..32b607eeac34 --- /dev/null +++ b/msvc-cmake.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +cmake \ + -DCMAKE_TOOLCHAIN_FILE=/opt/msvc/cmake/toolchain-@PROCESSOR@.cmake \ + -DCMAKE_CROSSCOMPILING_EMULATOR=/usr/bin/wine \ + "$@" diff --git a/toolchain-msvc.cmake b/toolchain-msvc.cmake new file mode 100644 index 000000000000..480abf17d825 --- /dev/null +++ b/toolchain-msvc.cmake @@ -0,0 +1,22 @@ +set (CMAKE_SYSTEM_NAME Windows) + +# specify the cross compiler +set (CMAKE_C_COMPILER /opt/msvc/bin/@PROCESSOR@/cl) +set (CMAKE_CXX_COMPILER /opt/msvc/bin/@PROCESSOR@/cl) + +# where is the target environment +set (CMAKE_FIND_ROOT_PATH /opt/msvc/cmake/find_root/@PROCESSOR@) + +# search for programs in the build host directories +set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +# for libraries and headers in the target directories +set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) +set (CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) + +# set the resource compiler +set (CMAKE_RC_COMPILER /opt/msvc/bin/@PROCESSOR@/rc) + +# skip c/cxx compiler checks +set (CMAKE_C_COMPILER_WORKS 1) +set (CMAKE_CXX_COMPILER_WORKS 1) |