summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorStelios Tsampas2022-12-05 14:06:01 +0200
committerStelios Tsampas2022-12-05 14:06:01 +0200
commit5d0a4736722c39923402d41004767cde8026a340 (patch)
tree5b8df385ead5b51b4a16550a267ed3e211480403
parent040a5837ced4e1714ff4cbfb5dcb6b3c44d75de1 (diff)
downloadaur-5d0a4736722c39923402d41004767cde8026a340.tar.gz
[proton-experimentail] Version 7.0-20221129
-rw-r--r--.SRCINFO16
-rw-r--r--0001-AUR-pkgbuild-changes.patch27
-rw-r--r--PKGBUILD16
-rw-r--r--PKGBUILD.testing391
4 files changed, 422 insertions, 28 deletions
diff --git a/.SRCINFO b/.SRCINFO
index ad5bdddb76bf..fcc6ae8a6723 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = proton-experimental
pkgdesc = Compatibility tool for Steam Play based on Wine and additional components, experimental branch
- pkgver = 7.0.20221102
- pkgrel = 2
+ pkgver = 7.0.20221129
+ pkgrel = 1
epoch = 1
url = https://github.com/ValveSoftware/Proton
install = proton-experimental.install
@@ -210,11 +210,11 @@ pkgbase = proton-experimental
provides = proton
noextract = wine-gecko-2.47.3-x86.tar.xz
noextract = wine-gecko-2.47.3-x86_64.tar.xz
- noextract = wine-mono-7.3.1-x86.tar.xz
+ noextract = wine-mono-7.4.0-x86.tar.xz
options = !staticlibs
options = !lto
options = emptydirs
- source = proton::git+https://github.com/ValveSoftware/Proton.git#tag=experimental-7.0-20221102
+ source = proton::git+https://github.com/ValveSoftware/Proton.git#tag=experimental-7.0-20221129
source = wine-valve::git+https://github.com/ValveSoftware/wine.git
source = dxvk::git+https://github.com/doitsujin/dxvk.git
source = openvr::git+https://github.com/ValveSoftware/openvr.git
@@ -237,9 +237,10 @@ pkgbase = proton-experimental
source = gst-plugins-rs::git+https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git
source = dxil-spirv::git+https://github.com/HansKristian-Work/dxil-spirv.git
source = graphene::git+https://github.com/ebassi/graphene.git
+ source = libdisplay-info::git+https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info.git
source = https://dl.winehq.org/wine/wine-gecko/2.47.3/wine-gecko-2.47.3-x86.tar.xz
source = https://dl.winehq.org/wine/wine-gecko/2.47.3/wine-gecko-2.47.3-x86_64.tar.xz
- source = https://github.com/madewokherd/wine-mono/releases/download/wine-mono-7.3.1/wine-mono-7.3.1-x86.tar.xz
+ source = https://github.com/madewokherd/wine-mono/releases/download/wine-mono-7.4.0/wine-mono-7.4.0-x86.tar.xz
source = 0001-wldap32-25946b48148784e8275c1685f6498ab88f553ca3.patch
source = 0001-AUR-pkgbuild-changes.patch
sha256sums = SKIP
@@ -265,10 +266,11 @@ pkgbase = proton-experimental
sha256sums = SKIP
sha256sums = SKIP
sha256sums = SKIP
+ sha256sums = SKIP
sha256sums = 08d318f3dd6440a8a777cf044ccab039b0d9c8809991d2180eb3c9f903135db3
sha256sums = 0beac419c20ee2e68a1227b6e3fa8d59fec0274ed5e82d0da38613184716ef75
- sha256sums = 55ca808868599b1d8ad53b222b8cb26fd96fa818c511163e361238025c76e9fe
+ sha256sums = 9249ece664bcf2fecb1308ea1d2542c72923df9fe3df891986f137b2266a9ba3
sha256sums = 11aa65bb6b8da1814557edf18a3cdada80135b021634236feabf93d2a194838b
- sha256sums = 6e0b8438dd3e0c56e5b9626ccb47d38a442358b0676335af77afcb86f8391572
+ sha256sums = caa5cdc0be010cf81ccc4478cf5b472090d648d2782a5816281fa3e0270a59ff
pkgname = proton-experimental
diff --git a/0001-AUR-pkgbuild-changes.patch b/0001-AUR-pkgbuild-changes.patch
index 492f446285ec..79cfd54e998f 100644
--- a/0001-AUR-pkgbuild-changes.patch
+++ b/0001-AUR-pkgbuild-changes.patch
@@ -1,10 +1,10 @@
-From a1948c5b463b1292aca5723c42beb8c04c6f7497 Mon Sep 17 00:00:00 2001
+From c268b2b0eba7d8683a90d04c1a25cf5fafac4eb1 Mon Sep 17 00:00:00 2001
From: Stelios Tsampas <loathingkernel@gmail.com>
Date: Mon, 18 Oct 2021 21:31:31 +0300
Subject: [PATCH] AUR pkgbuild changes
---
- Makefile.in | 70 ++++++++++++++++++++++++++++------
+ Makefile.in | 69 ++++++++++++++++++++++++++++------
compatibilitytool.vdf.template | 2 +-
configure.sh | 2 +
make/rules-autoconf.mk | 4 +-
@@ -15,10 +15,10 @@ Subject: [PATCH] AUR pkgbuild changes
make/rules-meson.mk | 3 +-
make/rules-winemaker.mk | 2 +-
proton | 6 +--
- 11 files changed, 87 insertions(+), 32 deletions(-)
+ 11 files changed, 86 insertions(+), 32 deletions(-)
diff --git a/Makefile.in b/Makefile.in
-index 95d926e..f84c895 100644
+index 3400a2f..245a10c 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -63,7 +63,6 @@ ifeq ($(ENABLE_CCACHE),1)
@@ -182,12 +182,7 @@ index 95d926e..f84c895 100644
$(eval $(call rules-source,dxvk-nvapi,$(SRCDIR)/dxvk-nvapi))
$(eval $(call rules-meson,dxvk-nvapi,32,CROSS))
$(eval $(call rules-meson,dxvk-nvapi,64,CROSS))
-@@ -891,10 +935,14 @@ VKD3D_PROTON_SOURCE_ARGS = \
- --exclude vkd3d_build.h.in \
- --exclude vkd3d_version.h.in \
-
-+VKD3D_PROTON_MESON_ARGS = -Denable_d3d12=true
- VKD3D_PROTON_MESON_ARGS32 = --bindir=$(VKD3D_PROTON_DST32)/lib/wine/vkd3d-proton
+@@ -895,6 +939,9 @@ VKD3D_PROTON_MESON_ARGS32 = --bindir=$(VKD3D_PROTON_DST32)/lib/wine/vkd3d-proton
VKD3D_PROTON_MESON_ARGS64 = --bindir=$(VKD3D_PROTON_DST64)/lib64/wine/vkd3d-proton
VKD3D_PROTON_DEPENDS = glslang
@@ -197,7 +192,7 @@ index 95d926e..f84c895 100644
$(eval $(call rules-source,vkd3d-proton,$(SRCDIR)/vkd3d-proton))
$(eval $(call rules-meson,vkd3d-proton,32,CROSS))
$(eval $(call rules-meson,vkd3d-proton,64,CROSS))
-@@ -1132,14 +1180,14 @@ $(FONTS_OBJ)/source-han/%.ttf: $$(%.ttf_CIDFONT) $$(%.ttf_FEATURES) $$(%.ttf_SEQ
+@@ -1132,14 +1179,14 @@ $(FONTS_OBJ)/source-han/%.ttf: $$(%.ttf_CIDFONT) $$(%.ttf_FEATURES) $$(%.ttf_SEQ
mkdir -p $(FONTS_OBJ)/source-han
# Do not immediately create the target file, so that make is interrupted
# it will restart again
@@ -215,7 +210,7 @@ index 95d926e..f84c895 100644
mv $@.tmp $@
$(FONTS_OBJ)/ume-gothic/%.ttf: $$(%.ttf_FONT) $$(%.ttf_NAMETABLE_PATCH)
-@@ -1149,10 +1197,10 @@ $(FONTS_OBJ)/ume-gothic/%.ttf: $$(%.ttf_FONT) $$(%.ttf_NAMETABLE_PATCH)
+@@ -1149,10 +1196,10 @@ $(FONTS_OBJ)/ume-gothic/%.ttf: $$(%.ttf_FONT) $$(%.ttf_NAMETABLE_PATCH)
ttx -o $@ -m $($(notdir $@)_FONT) $(FONTS_OBJ)/ume-gothic/$(notdir $(basename $($(notdir $@)_NAMETABLE_PATCH))).ttx
$(simsun.ttc): $(simsun.ttf) $(nsimsun.ttf)
@@ -242,7 +237,7 @@ index 5ac60e8..e580cd2 100644
"from_oslist" "windows"
"to_oslist" "linux"
diff --git a/configure.sh b/configure.sh
-index d743876..90b7aae 100755
+index 34e5bb0..66bfbb1 100755
--- a/configure.sh
+++ b/configure.sh
@@ -126,6 +126,7 @@ function configure() {
@@ -414,7 +409,7 @@ index 69688a0..1c0d1d3 100644
winebuild --$(lastword $(subst ., ,$(4))) --fake-module -E "$(basename $(4)).spec" -o "$(4).fake"
mkdir -p $$($(2)_LIBDIR$(3))/$(LIBDIR_WINE_$(3))
diff --git a/proton b/proton
-index a79f166..f9767bf 100755
+index 42c4596..f1ea0da 100755
--- a/proton
+++ b/proton
@@ -417,7 +417,6 @@ class Proton:
@@ -425,7 +420,7 @@ index a79f166..f9767bf 100755
def path(self, d):
return self.base_dir + d
-@@ -1599,8 +1598,6 @@ if __name__ == "__main__":
+@@ -1604,8 +1603,6 @@ if __name__ == "__main__":
g_proton = Proton(os.path.dirname(sys.argv[0]))
@@ -434,7 +429,7 @@ index a79f166..f9767bf 100755
g_compatdata = CompatData(os.environ["STEAM_COMPAT_DATA_PATH"])
-@@ -1609,7 +1606,8 @@ if __name__ == "__main__":
+@@ -1614,7 +1611,8 @@ if __name__ == "__main__":
g_session.init_wine()
if g_proton.missing_default_prefix():
diff --git a/PKGBUILD b/PKGBUILD
index 5033190015f1..341a809f7a9d 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,12 +1,12 @@
# Maintainer: loathingkernel <loathingkernel _a_ gmail _d_ com>
pkgname=proton-experimental
-_srctag=7.0-20221102
+_srctag=7.0-20221129
_commit=
pkgver=${_srctag//-/.}
_geckover=2.47.3
-_monover=7.3.1
-pkgrel=2
+_monover=7.4.0
+pkgrel=1
epoch=1
pkgdesc="Compatibility tool for Steam Play based on Wine and additional components, experimental branch"
url="https://github.com/ValveSoftware/Proton"
@@ -125,6 +125,7 @@ source=(
gst-plugins-rs::git+https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git
dxil-spirv::git+https://github.com/HansKristian-Work/dxil-spirv.git
graphene::git+https://github.com/ebassi/graphene.git
+ libdisplay-info::git+https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info.git
https://dl.winehq.org/wine/wine-gecko/${_geckover}/wine-gecko-${_geckover}-x86{,_64}.tar.xz
https://github.com/madewokherd/wine-mono/releases/download/wine-mono-${_monover}/wine-mono-${_monover}-x86.tar.xz
0001-wldap32-25946b48148784e8275c1685f6498ab88f553ca3.patch
@@ -216,6 +217,10 @@ prepare() {
git submodule set-url include/vulkan "$srcdir/Vulkan-Headers"
git submodule set-url include/spirv "$srcdir/SPIRV-Headers"
git -c protocol.file.allow=always submodule update include/{vulkan,spirv}
+
+ git submodule init subprojects/libdisplay-info
+ git submodule set-url subprojects/libdisplay-info "$srcdir/libdisplay-info"
+ git -c protocol.file.allow=always submodule update subprojects/libdisplay-info
popd
pushd vkd3d-proton
@@ -370,8 +375,9 @@ sha256sums=('SKIP'
'SKIP'
'SKIP'
'SKIP'
+ 'SKIP'
'08d318f3dd6440a8a777cf044ccab039b0d9c8809991d2180eb3c9f903135db3'
'0beac419c20ee2e68a1227b6e3fa8d59fec0274ed5e82d0da38613184716ef75'
- '55ca808868599b1d8ad53b222b8cb26fd96fa818c511163e361238025c76e9fe'
+ '9249ece664bcf2fecb1308ea1d2542c72923df9fe3df891986f137b2266a9ba3'
'11aa65bb6b8da1814557edf18a3cdada80135b021634236feabf93d2a194838b'
- '6e0b8438dd3e0c56e5b9626ccb47d38a442358b0676335af77afcb86f8391572')
+ 'caa5cdc0be010cf81ccc4478cf5b472090d648d2782a5816281fa3e0270a59ff')
diff --git a/PKGBUILD.testing b/PKGBUILD.testing
new file mode 100644
index 000000000000..4b7c2702f44b
--- /dev/null
+++ b/PKGBUILD.testing
@@ -0,0 +1,391 @@
+# Maintainer: loathingkernel <loathingkernel _a_ gmail _d_ com>
+
+pkgname=proton-experimental
+_srctag=7.0-20221129
+_commit=
+pkgver=${_srctag//-/.}
+_geckover=2.47.3
+_monover=7.4.0
+pkgrel=1
+epoch=1
+pkgdesc="Compatibility tool for Steam Play based on Wine and additional components, experimental branch"
+url="https://github.com/ValveSoftware/Proton"
+arch=(x86_64 x86_64_v3)
+options=(!staticlibs !lto emptydirs)
+license=('custom')
+
+depends=(
+ attr lib32-attr
+ fontconfig lib32-fontconfig
+ lcms2 lib32-lcms2
+ libxml2 lib32-libxml2
+ libxcursor lib32-libxcursor
+ libxrandr lib32-libxrandr
+ libxdamage lib32-libxdamage
+ libxi lib32-libxi
+ gettext lib32-gettext
+ freetype2 lib32-freetype2
+ glu lib32-glu
+ libsm lib32-libsm
+ gcc-libs lib32-gcc-libs
+ libpcap lib32-libpcap
+ lzo lib32-lzo
+ libxkbcommon lib32-libxkbcommon
+ libvpx lib32-libvpx
+ 'sdl2>=2.0.16' 'lib32-sdl2>=2.0.16'
+ libsoup lib32-libsoup
+ libgudev lib32-libgudev
+ desktop-file-utils
+ python
+ steam-native-runtime
+)
+
+makedepends=(autoconf bison perl fontforge flex mingw-w64-gcc
+ git wget rsync mingw-w64-tools lld nasm meson cmake afdko python-pefile
+ glslang vulkan-headers
+ clang
+ giflib lib32-giflib
+ libpng lib32-libpng
+ gnutls lib32-gnutls
+ libxinerama lib32-libxinerama
+ libxcomposite lib32-libxcomposite
+ libxmu lib32-libxmu
+ libxxf86vm lib32-libxxf86vm
+ libldap lib32-libldap
+ mpg123 lib32-mpg123
+ openal lib32-openal
+ v4l-utils lib32-v4l-utils
+ alsa-lib lib32-alsa-lib
+ libxcomposite lib32-libxcomposite
+ mesa lib32-mesa
+ mesa-libgl lib32-mesa-libgl
+ opencl-icd-loader lib32-opencl-icd-loader
+ libxslt lib32-libxslt
+ libpulse lib32-libpulse
+ libva lib32-libva
+ gtk3 lib32-gtk3
+ gst-plugins-base-libs lib32-gst-plugins-base-libs
+ vulkan-icd-loader lib32-vulkan-icd-loader
+ 'sdl2>=2.0.16' 'lib32-sdl2>=2.0.16'
+ rust lib32-rust-libs
+ libgphoto2
+ gsm lib32-gsm
+ opencl-headers
+)
+
+optdepends=(
+ giflib lib32-giflib
+ libpng lib32-libpng
+ libldap lib32-libldap
+ gnutls lib32-gnutls
+ mpg123 lib32-mpg123
+ openal lib32-openal
+ v4l-utils lib32-v4l-utils
+ libpulse lib32-libpulse
+ alsa-plugins lib32-alsa-plugins
+ alsa-lib lib32-alsa-lib
+ libjpeg-turbo lib32-libjpeg-turbo
+ libxcomposite lib32-libxcomposite
+ libxinerama lib32-libxinerama
+ opencl-icd-loader lib32-opencl-icd-loader
+ libxslt lib32-libxslt
+ libva lib32-libva
+ gtk3 lib32-gtk3
+ gst-plugins-base-libs lib32-gst-plugins-base-libs
+ vulkan-icd-loader lib32-vulkan-icd-loader
+ libgphoto2
+ gsm lib32-gsm
+ dosbox
+)
+
+makedepends=(${makedepends[@]} ${depends[@]})
+provides=('proton')
+install=${pkgname}.install
+source=(
+ proton::git+https://github.com/ValveSoftware/Proton.git#tag=experimental-${_srctag}
+ wine-valve::git+https://github.com/ValveSoftware/wine.git
+ dxvk::git+https://github.com/doitsujin/dxvk.git
+ openvr::git+https://github.com/ValveSoftware/openvr.git
+ liberation-fonts::git+https://github.com/liberationfonts/liberation-fonts.git
+ gstreamer::git+https://gitlab.freedesktop.org/gstreamer/gstreamer.git
+ gst-plugins-base::git+https://gitlab.freedesktop.org/gstreamer/gst-plugins-base.git
+ gst-plugins-good::git+https://gitlab.freedesktop.org/gstreamer/gst-plugins-good.git
+ gst-orc::git+https://gitlab.freedesktop.org/gstreamer/orc.git
+ vkd3d-proton::git+https://github.com/HansKristian-Work/vkd3d-proton.git
+ OpenXR-SDK::git+https://github.com/KhronosGroup/OpenXR-SDK.git
+ dxvk-nvapi::git+https://github.com/jp7677/dxvk-nvapi.git
+ vkd3d-valve::git+https://github.com/ValveSoftware/vkd3d.git
+ Vulkan-Headers::git+https://github.com/KhronosGroup/Vulkan-Headers.git
+ SPIRV-Headers::git+https://github.com/KhronosGroup/SPIRV-Headers.git
+ Vulkan-Loader::git+https://github.com/KhronosGroup/Vulkan-Loader.git
+ glslang::git+https://github.com/KhronosGroup/glslang.git
+ gst-libav::git+https://gitlab.freedesktop.org/gstreamer/gst-libav.git
+ ffmpeg::git+https://git.ffmpeg.org/ffmpeg.git
+ dav1d::git+https://code.videolan.org/videolan/dav1d.git
+ gst-plugins-rs::git+https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git
+ dxil-spirv::git+https://github.com/HansKristian-Work/dxil-spirv.git
+ graphene::git+https://github.com/ebassi/graphene.git
+ libdisplay-info::git+https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info.git
+ https://dl.winehq.org/wine/wine-gecko/${_geckover}/wine-gecko-${_geckover}-x86{,_64}.tar.xz
+ https://github.com/madewokherd/wine-mono/releases/download/wine-mono-${_monover}/wine-mono-${_monover}-x86.tar.xz
+ 0001-wldap32-25946b48148784e8275c1685f6498ab88f553ca3.patch
+ 0001-AUR-pkgbuild-changes.patch
+)
+# Optional patches
+source+=(
+)
+noextract=(
+ wine-gecko-${_geckover}-{x86,x86_64}.tar.xz
+ wine-mono-${_monover}-x86.tar.xz
+)
+
+_make_wrappers () {
+ # _arch prefix gcc ld as strip
+ local _i686=( "i686" "-m32" "-melf_i386" "--32" "elf32-i386")
+ local _x86_64=("x86_64" "-m64" "-melf_x86_64" "--64" "elf64-x86-64")
+ local _opts=(_i686 _x86_64)
+ declare -n _opt
+ for _opt in "${_opts[@]}"; do
+ for l in ar ranlib nm; do
+ ln -s /usr/bin/gcc-$l wrappers/${_opt[0]}-pc-linux-gnu-$l
+ done
+ for t in gcc g++; do
+ install -Dm755 /dev/stdin wrappers/${_opt[0]}-pc-linux-gnu-$t <<EOF
+#!/usr/bin/bash
+$(which ccache 2> /dev/null) /usr/bin/$t ${_opt[1]} "\$@"
+EOF
+ done
+ install -Dm755 /dev/stdin wrappers/${_opt[0]}-pc-linux-gnu-ld <<EOF
+#!/usr/bin/bash
+/usr/bin/ld ${_opt[2]} "\$@"
+EOF
+ install -Dm755 /dev/stdin wrappers/${_opt[0]}-pc-linux-gnu-as <<EOF
+#!/usr/bin/bash
+/usr/bin/as ${_opt[3]} "\$@"
+EOF
+ install -Dm755 /dev/stdin wrappers/${_opt[0]}-pc-linux-gnu-strip <<EOF
+#!/usr/bin/bash
+/usr/bin/strip -F ${_opt[4]} "\$@"
+EOF
+ done
+}
+
+prepare() {
+
+ # Provide wrappers to compiler tools
+ rm -rf wrappers && mkdir wrappers
+ _make_wrappers
+
+ [ ! -d gecko ] && mkdir gecko
+ mv wine-gecko-${_geckover}-x86{,_64}.tar.xz gecko/
+
+ [ ! -d mono ] && mkdir mono
+ mv wine-mono-${_monover}-x86.tar.xz mono/
+
+ [ ! -d build ] && mkdir build
+ cd proton
+
+ _submodules=(
+ wine-valve::wine
+ dxvk
+ openvr
+ liberation-fonts::fonts/liberation-fonts
+ gstreamer
+ gst-plugins-base
+ gst-plugins-good
+ gst-orc
+ vkd3d-proton
+ OpenXR-SDK
+ dxvk-nvapi
+ vkd3d-valve::vkd3d
+ Vulkan-Headers
+ SPIRV-Headers
+ Vulkan-Loader
+ glslang
+ gst-libav
+ ffmpeg
+ dav1d
+ gst-plugins-rs
+ graphene
+ )
+
+ for submodule in "${_submodules[@]}"; do
+ git submodule init "${submodule#*::}"
+ git submodule set-url "${submodule#*::}" "$srcdir"/"${submodule%::*}"
+ git -c protocol.file.allow=always submodule update "${submodule#*::}"
+ done
+
+ pushd dxvk
+ git submodule init include/{vulkan,spirv}
+ git submodule set-url include/vulkan "$srcdir/Vulkan-Headers"
+ git submodule set-url include/spirv "$srcdir/SPIRV-Headers"
+ git -c protocol.file.allow=always submodule update include/{vulkan,spirv}
+
+ git submodule init subprojects/libdisplay-info
+ git submodule set-url subprojects/libdisplay-info "$srcdir/libdisplay-info"
+ git -c protocol.file.allow=always submodule update subprojects/libdisplay-info
+ popd
+
+ pushd vkd3d-proton
+ for submodule in subprojects/{dxil-spirv,Vulkan-Headers,SPIRV-Headers}; do
+ git submodule init "${submodule}"
+ git submodule set-url "${submodule}" "$srcdir"/"${submodule#*/}"
+ git -c protocol.file.allow=always submodule update "${submodule}"
+ done
+ pushd subprojects/dxil-spirv
+ git submodule init third_party/spirv-headers
+ git submodule set-url third_party/spirv-headers "$srcdir"/SPIRV-Headers
+ git -c protocol.file.allow=always submodule update third_party/spirv-headers
+ popd
+ popd
+
+ pushd dxvk-nvapi
+ git submodule init external/Vulkan-Headers
+ git submodule set-url external/Vulkan-Headers "$srcdir"/Vulkan-Headers
+ git -c protocol.file.allow=always submodule update external/Vulkan-Headers
+ # GCC 12 build failure
+ git cherry-pick -n 33bf3c7a6a3dc9e330cd338bf1877b5481c655e3
+ popd
+
+ for submodule in gst-plugins-rs media-converter; do
+ pushd $submodule
+ export RUSTUP_TOOLCHAIN=stable
+ export CARGO_HOME="${SRCDEST}"/proton-cargo
+ cargo update
+ cargo fetch --locked --target "i686-unknown-linux-gnu"
+ cargo fetch --locked --target "x86_64-unknown-linux-gnu"
+ popd
+ done
+
+ pushd wine
+ # From Arch Wine
+ sed 's|OpenCL/opencl.h|CL/opencl.h|g' -i configure*
+ # Fix openldap 2.5+ detection
+ sed 's/-lldap_r/-lldap/' -i configure
+ # Fix wldap32 compilation on 32bit
+ patch -p1 -i "$srcdir"/0001-wldap32-25946b48148784e8275c1685f6498ab88f553ca3.patch
+ popd
+
+ patch -p1 -i "$srcdir"/0001-AUR-pkgbuild-changes.patch
+
+ # Remove repos from srcdir to save space
+ for submodule in "${_submodules[@]}"; do
+ rm -rf "$srcdir"/"${submodule%::*}"
+ done
+ rm -rf "$srcdir"/dxil-spirv
+ rm -rf "$srcdir"/Vulkan-Headers
+ rm -rf "$srcdir"/SPIRV-Headers
+}
+
+build() {
+ export PATH="$(pwd)/wrappers:$PATH"
+
+ cd build
+ ROOTLESS_CONTAINER="" \
+ ../proton/configure.sh \
+ --container-engine="none" \
+ --proton-sdk-image="" \
+ --steam-runtime=native \
+ --no-proton-sdk \
+ --build-name="${pkgname}"
+
+ # By default export FLAGS used by proton and ignore makepkg
+ # This overrides FLAGS from makepkg.conf, if you comment these you are on your own
+ # If you want the "best" possible optimizations for your system you can use
+ # `-march=native` and remove the `-mtune=core-avx2` option.
+ export CFLAGS="-O2 -march=haswell -mtune=haswell -pipe -fno-semantic-interposition"
+ export CXXFLAGS="-O2 -march=haswell -mtune=haswell -pipe -fno-semantic-interposition"
+ export RUSTFLAGS="-C opt-level=2 -C target-cpu=haswell"
+ export LDFLAGS="-Wl,-O1,--sort-common,--as-needed"
+
+ # If using -march=native and the CPU supports AVX, launching a d3d9
+ # game can cause an Unhandled exception. The cause seems to be the
+ # combination of AVX instructions and tree vectorization (implied by O3),
+ # all tested archictures from sandybridge to haswell are affected.
+ # Since Wine 5.16 AVX is supported. Testing showed 32bit applications
+ # crashing with AVX regardless, but 64bit applications worked just fine.
+ # Relevant Wine issues
+ # https://bugs.winehq.org/show_bug.cgi?id=45289
+ # https://bugs.winehq.org/show_bug.cgi?id=43516
+ # AVX is "hard" disabled for 32bit in any case.
+ # AVX2 for 64bit is disabled below.
+ export CFLAGS+=" -mno-avx2"
+ export CXXFLAGS+=" -mno-avx2"
+
+ export RUSTUP_TOOLCHAIN=stable
+ export CARGO_HOME="${SRCDEST}"/proton-cargo
+ export WINEESYNC=0
+ export WINEFSYNC=0
+ export DISPLAY=
+ SUBJOBS=$([[ "$MAKEFLAGS" =~ -j\ *([1-9][0-9]*) ]] && echo "${BASH_REMATCH[1]}" || echo "$(nproc)") \
+ make -j1 dist
+}
+
+package() {
+ cd build
+
+ local _compatdir="$pkgdir/usr/share/steam/compatibilitytools.d"
+ mkdir -p "$_compatdir"
+ cp -rf --no-dereference --preserve=mode,links dist "$_compatdir/${pkgname}"
+
+ mkdir -p "$pkgdir/usr/share/licenses/${pkgname}"
+ mv "$_compatdir/${pkgname}"/LICENSE{,.OFL} \
+ "$pkgdir/usr/share/licenses/${pkgname}"
+
+ cd "$_compatdir/${pkgname}/files"
+ # NOTE: Reduces size by 40 MiB, worth it
+ i686-w64-mingw32-strip --strip-unneeded \
+ $(find lib/wine \( -iname fakedlls -or -iname i386-windows \) -prune -false -or -iname "*.dll" -or -iname "*.exe")
+ x86_64-w64-mingw32-strip --strip-unneeded \
+ $(find lib64/wine \( -iname fakedlls -or -iname x86_64-windows \) -prune -false -or -iname "*.dll" -or -iname "*.exe")
+
+ # NOTE: Reduces size by 38 MiB, worth it
+ local _geckodir="share/wine/gecko/wine-gecko-${_geckover}"
+ i686-w64-mingw32-strip --strip-unneeded \
+ $(find "$_geckodir"-x86 -iname "*.dll" -or -iname "*.exe")
+ x86_64-w64-mingw32-strip --strip-unneeded \
+ $(find "$_geckodir"-x86_64 -iname "*.dll" -or -iname "*.exe")
+
+ # NOTE: Reduces size by 0.16 MiB, not worth it
+ local _monodir="share/wine/mono/wine-mono-${_monover}"
+ i686-w64-mingw32-strip --strip-unneeded \
+ $(find "$_monodir"/lib/mono -iname "*.dll" -or -iname "*.exe")
+ i686-w64-mingw32-strip --strip-unneeded \
+ "$_monodir"/lib/x86/*.dll \
+ $(find "$_monodir" -iname "*x86.dll" -or -iname "*x86.exe")
+ x86_64-w64-mingw32-strip --strip-unneeded \
+ "$_monodir"/lib/x86_64/*.dll \
+ $(find "$_monodir" -iname "*x86_64.dll" -or -iname "*x86_64.exe")
+}
+
+sha256sums=('SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ '08d318f3dd6440a8a777cf044ccab039b0d9c8809991d2180eb3c9f903135db3'
+ '0beac419c20ee2e68a1227b6e3fa8d59fec0274ed5e82d0da38613184716ef75'
+ '9249ece664bcf2fecb1308ea1d2542c72923df9fe3df891986f137b2266a9ba3'
+ '11aa65bb6b8da1814557edf18a3cdada80135b021634236feabf93d2a194838b'
+ 'SKIP')
+sha256sums+=(
+)