summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorStelios Tsampas2020-01-16 19:40:20 +0200
committerStelios Tsampas2020-01-16 19:40:20 +0200
commit637b178a7b2455262ab56bdd257542a2b5464407 (patch)
tree6f3ad7fe285cb40b99395a18410784f3193341ee
parentd03e68eccc6462347d44336440f3fc2cbc8baa38 (diff)
downloadaur-637b178a7b2455262ab56bdd257542a2b5464407.tar.gz
Fix dxvk build flag patching, add glslang in makedepends
-rw-r--r--.SRCINFO7
-rw-r--r--PKGBUILD21
-rw-r--r--proton-unfuck_makefile.patch91
3 files changed, 74 insertions, 45 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 2a790ec8c63e..929527587a58 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = proton-native
pkgdesc = Compatibility tool for Steam Play based on Wine and additional components. Monolithic distribution
pkgver = 4.11.12
- pkgrel = 2
+ pkgrel = 3
url = https://github.com/ValveSoftware/Proton
arch = x86_64
license = GPL
@@ -65,6 +65,7 @@ pkgbase = proton-native
makedepends = cmake
makedepends = afdko
makedepends = nasm
+ makedepends = glslang
makedepends = fontconfig
makedepends = lib32-fontconfig
makedepends = lcms2
@@ -169,8 +170,6 @@ pkgbase = proton-native
optdepends = cups
optdepends = samba
optdepends = dosbox
- provides = proton-native
- conflicts = proton-native
source = proton::git+https://github.com/ValveSoftware/Proton.git#tag=proton-4.11-12
source = wine-valve::git+https://github.com/ValveSoftware/wine.git
source = vkd3d-valve::git+https://github.com/ValveSoftware/vkd3d.git
@@ -194,7 +193,7 @@ pkgbase = proton-native
sha256sums = SKIP
sha256sums = SKIP
sha256sums = SKIP
- sha256sums = 08857165b3b460cba490c31bb8fac25af61092efbcee4d2028445eb372a3148a
+ sha256sums = ef7d597550f11268df95cd52b6a3e6b689a98101eb9102582e5a3fcfa69f69df
sha256sums = 7418f1ceca081e1b68d933ea6dd5da0351c7cc26e41667e3b3bc49c030504782
sha256sums = 15fc8d8a4465ffc69897f0264ecb08d95f4b0fb00ec45dc8cb542f14c8808ef3
diff --git a/PKGBUILD b/PKGBUILD
index e2b44acf050b..0afbef4b3ef4 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -6,7 +6,7 @@ pkgver=${_pkgver//-/.}
_geckover=2.47
_monover=4.9.4
#_dxvkver=1.5
-pkgrel=2
+pkgrel=3
pkgdesc="Compatibility tool for Steam Play based on Wine and additional components. Monolithic distribution"
arch=(x86_64)
url="https://github.com/ValveSoftware/Proton"
@@ -69,6 +69,7 @@ makedepends=(autoconf ncurses bison perl fontforge flex meson
cmake
afdko
nasm
+ glslang
)
optdepends=(
giflib lib32-giflib
@@ -96,8 +97,6 @@ optdepends=(
samba dosbox
)
makedepends=(${makedepends[@]} ${depends[@]})
-provides=("${pkgname%-git}")
-conflicts=("${pkgname%-git}")
source=(
proton::git+https://github.com/ValveSoftware/Proton.git#tag=proton-$_pkgver
wine-valve::git+https://github.com/ValveSoftware/wine.git
@@ -124,7 +123,7 @@ sha256sums=(
SKIP
SKIP
SKIP
- '08857165b3b460cba490c31bb8fac25af61092efbcee4d2028445eb372a3148a'
+ 'ef7d597550f11268df95cd52b6a3e6b689a98101eb9102582e5a3fcfa69f69df'
'7418f1ceca081e1b68d933ea6dd5da0351c7cc26e41667e3b3bc49c030504782'
'15fc8d8a4465ffc69897f0264ecb08d95f4b0fb00ec45dc8cb542f14c8808ef3'
)
@@ -165,20 +164,20 @@ prepare() {
# https://bugs.winehq.org/show_bug.cgi?id=45289
# https://bugs.winehq.org/show_bug.cgi?id=43516
dxvk_cflags+=" -mno-avx"
- #CFLAGS+=" -fno-tree-vectorize"
+ #dxvk_cflags+=" -fno-tree-vectorize"
# Filter fstack-protector flag for MingW.
# https://github.com/Joshua-Ashton/d9vk/issues/476
dxvk_cflags+=" -fno-stack-protector"
- #CFLAGS="${CFLAGS// -fstack-protector+(-all|-strong)/}"
- #CFLAGS="${CFLAGS// -fstack-protector+(?=[ ])/}"
+ #dxvk_cflags="${dxvk_cflags// -fstack-protector+(-all|-strong)/}"
+ #dxvk_cflags="${dxvk_cflags// -fstack-protector+(?=[ ])/}"
# Adjust optimization level in meson arguments. This is ignored
# anyway because meson sets its own optimization level.
- dxvk_cflags="${CFLAGS// -O+([0-3s]|fast)/}"
+ dxvk_cflags="${dxvk_cflags// -O+([0-3s]|fast)/}"
# Doesn't compile with these flags in MingW so remove them.
# They are also filtered in Wine PKGBUILDs so remove them
# for winelib versions too.
- dxvk_cflags="${CFLAGS/ -fno-plt/}"
- dxvk_ldflags="${LDFLAGS/,-z,relro,-z,now/}"
+ dxvk_cflags="${dxvk_cflags/ -fno-plt/}"
+ dxvk_ldflags="${dxvk_ldflags/,-z,relro,-z,now/}"
sed -i dxvk/build-win64.txt \
-e "s|@CARGS@|\'${dxvk_cflags// /\',\'}\'|g" \
-e "s|@LDARGS@|\'${dxvk_ldflags// /\',\'}\'|g"
@@ -188,7 +187,7 @@ prepare() {
}
build() {
- cd build
+ cd build
../proton/configure.sh \
--no-steam-runtime \
--with-ffmpeg \
diff --git a/proton-unfuck_makefile.patch b/proton-unfuck_makefile.patch
index c2405123e031..6856efc18bde 100644
--- a/proton-unfuck_makefile.patch
+++ b/proton-unfuck_makefile.patch
@@ -1,5 +1,5 @@
diff --git a/build/makefile_base.mak b/build/makefile_base.mak
-index d6578ac..05b22fd 100644
+index d6578ac..2a29db1 100644
--- a/build/makefile_base.mak
+++ b/build/makefile_base.mak
@@ -90,6 +90,8 @@ SELECT_DOCKER_IMAGE :=
@@ -73,11 +73,15 @@ index d6578ac..05b22fd 100644
BISON_VER = 3.3.2
BISON_TARBALL := bison-$(BISON_VER).tar.xz
-@@ -368,11 +385,20 @@ DIST_GECKO64 := $(DIST_GECKO_DIR)/$(GECKO64_MSI)
+@@ -368,11 +385,24 @@ DIST_GECKO64 := $(DIST_GECKO_DIR)/$(GECKO64_MSI)
DIST_WINEMONO_DIR := $(DST_DIR)/share/wine/mono
DIST_WINEMONO := $(DIST_WINEMONO_DIR)/wine-mono-$(WINEMONO_VER)
DIST_FONTS := $(DST_DIR)/share/fonts
-+DIST_DEPS := wine vrclient lsteamclient steam dxvk
++DIST_DEPS := wine vrclient lsteamclient steam
++
++ifneq ($(NO_DXVK),1) # May be disabled by configure
++DIST_DEPS += dxvk
++endif # NO_DXVK
DIST_TARGETS := $(DIST_COPY_TARGETS) $(DIST_OVR32) $(DIST_OVR64) \
- $(DIST_GECKO32) $(DIST_GECKO64) $(DIST_WINEMONO) \
@@ -85,17 +89,17 @@ index d6578ac..05b22fd 100644
+ifneq ($(SYSTEM_MONO),1) # May be disabled by configure
+DIST_TARGETS += $(DIST_WINEMONO)
-+endif # ifneq ($(SYSTEM_MONO),1)
++endif # SYSTEM_MONO
+
+ifneq ($(SYSTEM_GECKO),1) # May be disabled by configure
+DIST_TARGETS += $(DIST_GECKO32)
+DIST_TARGETS += $(DIST_GECKO64)
-+endif # ifneq ($(SYSTEM_GECKO),1)
++endif # SYSTEM_GECKO
+
DEPLOY_COPY_TARGETS := $(DIST_COPY_TARGETS) $(DIST_VERSION) $(DIST_LICENSE) $(DIST_OFL_LICENSE)
REDIST_COPY_TARGETS := $(DEPLOY_COPY_TARGETS) $(DIST_COMPAT_MANIFEST)
-@@ -401,7 +427,7 @@ $(DIST_GECKO_DIR):
+@@ -401,7 +431,7 @@ $(DIST_GECKO_DIR):
$(DIST_GECKO64): | $(DIST_GECKO_DIR)
if [ -e "$(SRCDIR)/../gecko/$(GECKO64_MSI)" ]; then \
@@ -104,7 +108,7 @@ index d6578ac..05b22fd 100644
else \
mkdir -p $(SRCDIR)/contrib/; \
if [ ! -e "$(SRCDIR)/contrib/$(GECKO64_MSI)" ]; then \
-@@ -413,7 +439,7 @@ $(DIST_GECKO64): | $(DIST_GECKO_DIR)
+@@ -413,7 +443,7 @@ $(DIST_GECKO64): | $(DIST_GECKO_DIR)
$(DIST_GECKO32): | $(DIST_GECKO_DIR)
if [ -e "$(SRCDIR)/../gecko/$(GECKO32_MSI)" ]; then \
@@ -113,7 +117,7 @@ index d6578ac..05b22fd 100644
else \
mkdir -p $(SRCDIR)/contrib/; \
if [ ! -e "$(SRCDIR)/contrib/$(GECKO32_MSI)" ]; then \
-@@ -449,7 +475,9 @@ $(DIST_FONTS): fonts
+@@ -449,7 +479,9 @@ $(DIST_FONTS): fonts
ALL_TARGETS += dist
GOAL_TARGETS += dist
@@ -124,7 +128,7 @@ index d6578ac..05b22fd 100644
echo `date '+%s'` `GIT_DIR=$(abspath $(SRCDIR)/.git) git describe --tags` > $(DIST_VERSION)
cp $(DIST_VERSION) $(DST_BASE)/
rm -rf $(abspath $(DIST_PREFIX)) && \
-@@ -512,13 +540,15 @@ $(FFMPEG_CONFIGURE_FILES64): $(FFMPEG)/configure $(MAKEFILE_DEP) | $(FFMPEG_OBJ6
+@@ -512,13 +544,15 @@ $(FFMPEG_CONFIGURE_FILES64): $(FFMPEG)/configure $(MAKEFILE_DEP) | $(FFMPEG_OBJ6
$(abspath $(FFMPEG))/configure \
--cc=$(CC_QUOTED) --cxx=$(CXX_QUOTED) \
--prefix=$(abspath $(TOOLS_DIR64)) \
@@ -141,7 +145,7 @@ index d6578ac..05b22fd 100644
--disable-swscale \
--disable-postproc \
--disable-avfilter \
-@@ -544,17 +574,19 @@ $(FFMPEG_CONFIGURE_FILES64): $(FFMPEG)/configure $(MAKEFILE_DEP) | $(FFMPEG_OBJ6
+@@ -544,17 +578,19 @@ $(FFMPEG_CONFIGURE_FILES64): $(FFMPEG)/configure $(MAKEFILE_DEP) | $(FFMPEG_OBJ6
$(FFMPEG_CONFIGURE_FILES32): SHELL = $(CONTAINER_SHELL32)
$(FFMPEG_CONFIGURE_FILES32): $(FFMPEG)/configure $(MAKEFILE_DEP) | $(FFMPEG_OBJ32)
cd $(dir $@) && \
@@ -163,7 +167,7 @@ index d6578ac..05b22fd 100644
--disable-swscale \
--disable-postproc \
--disable-avfilter \
-@@ -597,14 +629,17 @@ ffmpeg64: $(FFMPEG_CONFIGURE_FILES64)
+@@ -597,14 +633,17 @@ ffmpeg64: $(FFMPEG_CONFIGURE_FILES64)
+$(MAKE) -C $(FFMPEG_OBJ64)
+$(MAKE) -C $(FFMPEG_OBJ64) install
mkdir -pv $(DST_DIR)/lib64
@@ -183,7 +187,7 @@ index d6578ac..05b22fd 100644
endif # ifeq ($(WITH_FFMPEG),1)
-@@ -630,19 +665,22 @@ FAUDIO_CONFIGURE_FILES32 := $(FAUDIO_OBJ32)/Makefile
+@@ -630,19 +669,22 @@ FAUDIO_CONFIGURE_FILES32 := $(FAUDIO_OBJ32)/Makefile
FAUDIO_CONFIGURE_FILES64 := $(FAUDIO_OBJ64)/Makefile
$(FAUDIO_CONFIGURE_FILES32): SHELL = $(CONTAINER_SHELL32)
@@ -212,7 +216,7 @@ index d6578ac..05b22fd 100644
faudio32: SHELL = $(CONTAINER_SHELL32)
faudio32: $(FAUDIO_CONFIGURE_FILES32)
-@@ -832,36 +870,50 @@ WINE32_MAKE_ARGS := \
+@@ -832,36 +874,50 @@ WINE32_MAKE_ARGS := \
# 64bit-configure
$(WINE_CONFIGURE_FILES64): SHELL = $(CONTAINER_SHELL64)
@@ -271,7 +275,7 @@ index d6578ac..05b22fd 100644
CC=$(CC_QUOTED) \
CXX=$(CXX_QUOTED)
-@@ -1016,6 +1068,8 @@ vrclient32: $(VRCLIENT_CONFIGURE_FILES32) | $(WINE_BUILDTOOLS32) $(filter $(MAKE
+@@ -1016,6 +1072,8 @@ vrclient32: $(VRCLIENT_CONFIGURE_FILES32) | $(WINE_BUILDTOOLS32) $(filter $(MAKE
## Create & configure object directory for cmake
@@ -280,7 +284,7 @@ index d6578ac..05b22fd 100644
CMAKE_CONFIGURE_FILES32 := $(CMAKE_OBJ32)/Makefile
CMAKE_CONFIGURE_FILES64 := $(CMAKE_OBJ64)/Makefile
-@@ -1067,12 +1121,23 @@ cmake32-intermediate: $(CMAKE_CONFIGURE_FILES32) $(filter $(MAKECMDGOALS),cmake3
+@@ -1067,12 +1125,23 @@ cmake32-intermediate: $(CMAKE_CONFIGURE_FILES32) $(filter $(MAKECMDGOALS),cmake3
+$(MAKE) -C $(CMAKE_OBJ32) install
touch $(CMAKE_BIN32)
@@ -304,7 +308,7 @@ index d6578ac..05b22fd 100644
$(BISON):
if [ -e "$(SRCDIR)/../bison/$(BISON_TARBALL)" ]; then \
mkdir -p $(dir $@); \
-@@ -1137,6 +1202,15 @@ bison32-intermediate: $(BISON_CONFIGURE_FILES32) $(filter $(MAKECMDGOALS),bison3
+@@ -1137,6 +1206,15 @@ bison32-intermediate: $(BISON_CONFIGURE_FILES32) $(filter $(MAKECMDGOALS),bison3
+$(MAKE) -C $(BISON_OBJ32) install
touch $(BISON_BIN32)
@@ -320,16 +324,43 @@ index d6578ac..05b22fd 100644
##
## dxvk
##
-@@ -1209,6 +1283,8 @@ dxvk32: $(DXVK_CONFIGURE_FILES32)
- cp "$(DXVK_OBJ32)"/bin/dxvk_config.dll "$(DST_DIR)"/lib/wine/dxvk
- if test -e $(SRCDIR)/.git; then ( cd $(SRCDIR) && git submodule status -- dxvk ) > "$(DST_DIR)"/lib/wine/dxvk/version; fi
-
-+DIST_DEPS += dxvk
-+
- endif # NO_DXVK
-
- # Vulkan-Headers
-@@ -1217,24 +1293,24 @@ VULKAN_H_CONFIGURE_FILES32 := $(VULKAN_H_OBJ32)/Makefile
+@@ -1157,7 +1235,7 @@ $(DXVK_CONFIGURE_FILES64): $(MAKEFILE_DEP) $(DXVK)/build-win64.txt | $(DXVK_OBJ6
+ fi
+ cd "$(abspath $(DXVK))" && \
+ PATH="$(abspath $(SRCDIR))/glslang/bin/:$(PATH)" \
+- meson --prefix="$(abspath $(DXVK_OBJ64))" --cross-file "$(abspath $(DXVK))/build-win64.txt" $(MESON_STRIP_ARG) --buildtype=release "$(abspath $(DXVK_OBJ64))"
++ meson --prefix="$(abspath $(DXVK_OBJ64))" --cross-file "$(abspath $(DXVK))/build-win64.txt" $(MESON_STRIP_ARG) --optimization=3 --buildtype=release "$(abspath $(DXVK_OBJ64))"
+
+ # 32-bit configure. Remove coredata file if already configured (due to e.g. makefile changing)
+ $(DXVK_CONFIGURE_FILES32): $(MAKEFILE_DEP) $(DXVK)/build-win32.txt | $(DXVK_OBJ32)
+@@ -1166,7 +1244,7 @@ $(DXVK_CONFIGURE_FILES32): $(MAKEFILE_DEP) $(DXVK)/build-win32.txt | $(DXVK_OBJ3
+ fi
+ cd "$(abspath $(DXVK))" && \
+ PATH="$(abspath $(SRCDIR))/glslang/bin/:$(PATH)" \
+- meson --prefix="$(abspath $(DXVK_OBJ32))" --cross-file "$(abspath $(DXVK))/build-win32.txt" $(MESON_STRIP_ARG) --buildtype=release "$(abspath $(DXVK_OBJ32))"
++ meson --prefix="$(abspath $(DXVK_OBJ32))" --cross-file "$(abspath $(DXVK))/build-win32.txt" $(MESON_STRIP_ARG) --optimization=3 --buildtype=release "$(abspath $(DXVK_OBJ32))"
+
+ ## dxvk goals
+ DXVK_TARGETS = dxvk dxvk_configure dxvk32 dxvk64 dxvk_configure32 dxvk_configure64
+@@ -1185,7 +1263,7 @@ dxvk_configure32: $(DXVK_CONFIGURE_FILES32)
+ dxvk: dxvk32 dxvk64
+
+ dxvk64: $(DXVK_CONFIGURE_FILES64)
+- env PATH="$(abspath $(SRCDIR))/glslang/bin/:$(PATH)" ninja -C "$(DXVK_OBJ64)" install
++ env PATH="$(abspath $(SRCDIR))/glslang/bin/:$(PATH)" ninja -C "$(DXVK_OBJ64)" -v install
+ mkdir -p "$(DST_DIR)/lib64/wine/dxvk"
+ cp "$(DXVK_OBJ64)"/bin/dxgi.dll "$(DST_DIR)"/lib64/wine/dxvk
+ cp "$(DXVK_OBJ64)"/bin/d3d11.dll "$(DST_DIR)"/lib64/wine/dxvk
+@@ -1198,7 +1276,7 @@ dxvk64: $(DXVK_CONFIGURE_FILES64)
+
+
+ dxvk32: $(DXVK_CONFIGURE_FILES32)
+- env PATH="$(abspath $(SRCDIR))/glslang/bin/:$(PATH)" ninja -C "$(DXVK_OBJ32)" install
++ env PATH="$(abspath $(SRCDIR))/glslang/bin/:$(PATH)" ninja -C "$(DXVK_OBJ32)" -v install
+ mkdir -p "$(DST_DIR)"/lib/wine/dxvk
+ cp "$(DXVK_OBJ32)"/bin/dxgi.dll "$(DST_DIR)"/lib/wine/dxvk/
+ cp "$(DXVK_OBJ32)"/bin/d3d11.dll "$(DST_DIR)"/lib/wine/dxvk/
+@@ -1217,24 +1295,24 @@ VULKAN_H_CONFIGURE_FILES32 := $(VULKAN_H_OBJ32)/Makefile
VULKAN_H_CONFIGURE_FILES64 := $(VULKAN_H_OBJ64)/Makefile
$(VULKAN_H_CONFIGURE_FILES32): SHELL = $(CONTAINER_SHELL32)
@@ -360,7 +391,7 @@ index d6578ac..05b22fd 100644
# SPIRV-Headers
-@@ -1242,24 +1318,24 @@ SPIRV_H_CONFIGURE_FILES32 := $(SPIRV_H_OBJ32)/Makefile
+@@ -1242,24 +1320,24 @@ SPIRV_H_CONFIGURE_FILES32 := $(SPIRV_H_OBJ32)/Makefile
SPIRV_H_CONFIGURE_FILES64 := $(SPIRV_H_OBJ64)/Makefile
$(SPIRV_H_CONFIGURE_FILES32): SHELL = $(CONTAINER_SHELL32)
@@ -391,7 +422,7 @@ index d6578ac..05b22fd 100644
# widl; required for vkd3d, which is built before wine
-@@ -1267,16 +1343,23 @@ WINEWIDL_CONFIGURE_FILES64 := $(WINEWIDL_OBJ64)/Makefile
+@@ -1267,16 +1345,23 @@ WINEWIDL_CONFIGURE_FILES64 := $(WINEWIDL_OBJ64)/Makefile
WINEWIDL_CONFIGURE_FILES32 := $(WINEWIDL_OBJ32)/Makefile
$(WINEWIDL_CONFIGURE_FILES32): SHELL = $(CONTAINER_SHELL32)
@@ -420,7 +451,7 @@ index d6578ac..05b22fd 100644
CC=$(CC_QUOTED) \
CXX=$(CXX_QUOTED)
-@@ -1286,17 +1369,24 @@ $(WINEWIDL32): $(WINEWIDL_CONFIGURE_FILES32)
+@@ -1286,17 +1371,24 @@ $(WINEWIDL32): $(WINEWIDL_CONFIGURE_FILES32)
make tools/widl
$(WINEWIDL_CONFIGURE_FILES64): SHELL = $(CONTAINER_SHELL64)
@@ -449,7 +480,7 @@ index d6578ac..05b22fd 100644
CC=$(CC_QUOTED) \
CXX=$(CXX_QUOTED)
-@@ -1321,7 +1411,7 @@ $(VKD3D_CONFIGURE_FILES32): $(MAKEFILE_DEP) $(VULKAN_H32) $(SPIRV_H32) $(VKD3D)/
+@@ -1321,7 +1413,7 @@ $(VKD3D_CONFIGURE_FILES32): $(MAKEFILE_DEP) $(VULKAN_H32) $(SPIRV_H32) $(VKD3D)/
$(abspath $(VKD3D))/configure \
--disable-tests \
--prefix=$(abspath $(TOOLS_DIR32)) \