diff options
author | Stelios Tsampas | 2020-06-08 20:36:12 +0300 |
---|---|---|
committer | Stelios Tsampas | 2020-06-08 20:36:12 +0300 |
commit | 6baa2d6882afd5d6b03f6e51a095cf8978c86195 (patch) | |
tree | 6260917f83317243726a2f34f4d20a3e72e538d3 | |
parent | 2ebc035e729ab72cdec47216f9c91be9572e7de2 (diff) | |
download | aur-6baa2d6882afd5d6b03f6e51a095cf8978c86195.tar.gz |
Version 5.0-8
-rw-r--r-- | .SRCINFO | 21 | ||||
-rw-r--r-- | PKGBUILD | 41 | ||||
-rw-r--r-- | proton-disable_lock.patch | 16 | ||||
-rw-r--r-- | proton-unfuck_makefile.patch | 115 | ||||
-rw-r--r-- | wine-gcc10.patch | 479 |
5 files changed, 595 insertions, 77 deletions
@@ -1,7 +1,7 @@ pkgbase = proton-native pkgdesc = Compatibility tool for Steam Play based on Wine and additional components. Monolithic distribution - pkgver = 5.0.7 - pkgrel = 2 + pkgver = 5.0.8 + pkgrel = 1 epoch = 1 url = https://github.com/ValveSoftware/Proton arch = x86_64 @@ -99,7 +99,6 @@ pkgbase = proton-native makedepends = python makedepends = steam-native-runtime makedepends = wine-gecko-bin>=2.47.1 - makedepends = wine-mono-bin>=4.9.4 depends = fontconfig depends = lib32-fontconfig depends = lcms2 @@ -132,7 +131,6 @@ pkgbase = proton-native depends = python depends = steam-native-runtime depends = wine-gecko-bin>=2.47.1 - depends = wine-mono-bin>=4.9.4 optdepends = giflib optdepends = lib32-giflib optdepends = libpng @@ -171,7 +169,8 @@ pkgbase = proton-native optdepends = cups optdepends = samba optdepends = dosbox - source = proton::git+https://github.com/ValveSoftware/Proton.git#tag=proton-5.0-7 + noextract = wine-mono-bin-4.9.4.tar.gz + source = proton::git+https://github.com/ValveSoftware/Proton.git#tag=proton-5.0-8 source = wine-valve::git+https://github.com/ValveSoftware/wine.git source = vkd3d-valve::git+https://github.com/ValveSoftware/vkd3d.git source = dxvk-valve::git+https://github.com/ValveSoftware/dxvk.git @@ -181,14 +180,18 @@ pkgbase = proton-native source = SPIRV-Headers::git+https://github.com/KhronosGroup/SPIRV-Headers.git source = Vulkan-Headers::git+https://github.com/KhronosGroup/Vulkan-Headers.git source = FAudio::git+https://github.com/FNA-XNA/FAudio.git + source = glib::git+https://gitlab.gnome.org/GNOME/glib.git source = gstreamer::git+https://gitlab.freedesktop.org/gstreamer/gstreamer.git + source = gst-orc::git+https://gitlab.freedesktop.org/gstreamer/orc.git source = gst-plugins-base::git+https://gitlab.freedesktop.org/gstreamer/gst-plugins-base.git source = gst-plugins-good::git+https://gitlab.freedesktop.org/gstreamer/gst-plugins-good.git - source = glib::git+https://gitlab.gnome.org/GNOME/glib.git + source = https://github.com/madewokherd/wine-mono/releases/download/wine-mono-4.9.4/wine-mono-bin-4.9.4.tar.gz source = proton-unfuck_makefile.patch source = proton-disable_lock.patch source = proton-user_compat_data.patch source = dxvk-extraopts.patch + source = wine-gcc10.patch + sha256sums = SKIP sha256sums = SKIP sha256sums = SKIP sha256sums = SKIP @@ -203,10 +206,12 @@ pkgbase = proton-native sha256sums = SKIP sha256sums = SKIP sha256sums = SKIP - sha256sums = 2c47db5b0381fe1d83cf96f531ce63c7781892bba56db033899fbb8ba6e1a2bc - sha256sums = ce7a59545f5a077e8f93684eddfdad39df807ffeb3a39d6054ca5d1c61644b04 + sha256sums = df97cdb904a583a1f92ce17d9d4793aed063ebc9bb139b6d1989b22a534c7b63 + sha256sums = 4cce6f7f262fa42f9e6b4c30d3b75852c186b71e91ccbe5cc5980563d3296120 + sha256sums = 8263a3ffb7f8e7a5d81bfbffe1843d6f84502d3443fe40f065bcae02b36ba954 sha256sums = 20f7cd3e70fad6f48d2f1a26a485906a36acf30903bf0eefbf82a7c400e248f3 sha256sums = bc17f1ef1e246db44c0fa3874290ad0a5852b0b3fe75902b39834913e3811d98 + sha256sums = 311dd7461619c2f31e0ec281f1aca2f46dec23d3e21246b9b8d7775081998e32 pkgname = proton-native @@ -1,12 +1,11 @@ # Maintainer: loathingkernel <loathingkernel _a_ gmail _d_ com> pkgname=proton-native -_srctag=5.0-7 +_srctag=5.0-8 pkgver=${_srctag//-/.} _geckover=2.47.1 _monover=4.9.4 -#_dxvkver=1.5 -pkgrel=2 +pkgrel=1 epoch=1 pkgdesc="Compatibility tool for Steam Play based on Wine and additional components. Monolithic distribution" arch=(x86_64) @@ -31,8 +30,6 @@ depends=( python steam-native-runtime "wine-gecko-bin>=$_geckover" - "wine-mono-bin>=$_monover" -# "dxvk>=$_dxvkver" ) makedepends=(autoconf ncurses bison perl fontforge flex meson 'gcc>=4.5.0-2' @@ -57,13 +54,10 @@ makedepends=(autoconf ncurses bison perl fontforge flex meson libxslt lib32-libxslt gst-plugins-base-libs lib32-gst-plugins-base-libs vulkan-icd-loader lib32-vulkan-icd-loader -# vkd3d lib32-vkd3d sdl2 lib32-sdl2 libgphoto2 sane gsm -# vulkan-headers -# spirv-headers samba opencl-headers git @@ -85,11 +79,9 @@ optdepends=( libjpeg-turbo lib32-libjpeg-turbo libxcomposite lib32-libxcomposite libxinerama lib32-libxinerama -# ncurses lib32-ncurses opencl-icd-loader lib32-opencl-icd-loader libxslt lib32-libxslt gst-plugins-base-libs lib32-gst-plugins-base-libs -# vkd3d lib32-vkd3d sdl2 lib32-sdl2 libgphoto2 sane @@ -110,14 +102,20 @@ source=( SPIRV-Headers::git+https://github.com/KhronosGroup/SPIRV-Headers.git Vulkan-Headers::git+https://github.com/KhronosGroup/Vulkan-Headers.git FAudio::git+https://github.com/FNA-XNA/FAudio.git + glib::git+https://gitlab.gnome.org/GNOME/glib.git gstreamer::git+https://gitlab.freedesktop.org/gstreamer/gstreamer.git + gst-orc::git+https://gitlab.freedesktop.org/gstreamer/orc.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 - glib::git+https://gitlab.gnome.org/GNOME/glib.git + https://github.com/madewokherd/wine-mono/releases/download/wine-mono-${_monover}/wine-mono-bin-${_monover}.tar.gz proton-unfuck_makefile.patch proton-disable_lock.patch proton-user_compat_data.patch dxvk-extraopts.patch + wine-gcc10.patch +) +noextract=( + wine-mono-bin-${_monover}.tar.gz ) sha256sums=( SKIP @@ -125,6 +123,7 @@ sha256sums=( SKIP SKIP SKIP + SKIP SKIP SKIP SKIP @@ -134,15 +133,19 @@ sha256sums=( SKIP SKIP SKIP - '2c47db5b0381fe1d83cf96f531ce63c7781892bba56db033899fbb8ba6e1a2bc' - 'ce7a59545f5a077e8f93684eddfdad39df807ffeb3a39d6054ca5d1c61644b04' + 'df97cdb904a583a1f92ce17d9d4793aed063ebc9bb139b6d1989b22a534c7b63' + '4cce6f7f262fa42f9e6b4c30d3b75852c186b71e91ccbe5cc5980563d3296120' + '8263a3ffb7f8e7a5d81bfbffe1843d6f84502d3443fe40f065bcae02b36ba954' '20f7cd3e70fad6f48d2f1a26a485906a36acf30903bf0eefbf82a7c400e248f3' 'bc17f1ef1e246db44c0fa3874290ad0a5852b0b3fe75902b39834913e3811d98' + '311dd7461619c2f31e0ec281f1aca2f46dec23d3e21246b9b8d7775081998e32' ) prepare() { - [ ! -d build ] && mkdir build + [ ! -d mono ] && mkdir mono + cp "wine-mono-bin-${_monover}.tar.gz" mono/ + [ ! -d build ] && mkdir build cd proton for submodule in ffmpeg openvr SPIRV-Headers Vulkan-Headers FAudio fonts/liberation-fonts; do git submodule init "${submodule}" @@ -156,7 +159,7 @@ prepare() { git submodule update "${submodule}" done - for submodule in gstreamer gst-plugins-{base,good} glib; do + for submodule in gstreamer gst-{plugins-{base,good},orc} glib; do git submodule init "${submodule}" git config submodule."${submodule}".url ../"${submodule#*/}" git submodule update "${submodule}" @@ -166,6 +169,8 @@ prepare() { patch -p1 -i "$srcdir"/proton-disable_lock.patch patch -p1 -i "$srcdir"/proton-user_compat_data.patch + patch -p1 -i "$srcdir"/wine-gcc10.patch + # Uncomment to enable extra optimizations # Patch crossfiles with extra optimizations from makepkg.conf patch -p1 -i "$srcdir"/dxvk-extraopts.patch @@ -225,9 +230,9 @@ build() { WINEESYNC=0 \ WINEFSYNC=0 \ NO_DXVK=0 \ - SYSTEM_GSTREAMER=0\ + SYSTEM_GSTREAMER=0 \ SYSTEM_GECKO=1 \ - SYSTEM_MONO=1 \ + SYSTEM_MONO=0 \ make -j1 dist } @@ -249,8 +254,6 @@ package() { -exec chmod 644 {} \; chmod 755 "$pkgdir/usr/share/steam/compatibilitytools.d/${pkgname%-git}"/{proton,dist/bin/{msidb,wine{,64},wine{,64}-preloader,wineserver}} - ln -s /usr/share/wine/mono \ - "$pkgdir/usr/share/steam/compatibilitytools.d/${pkgname%-git}"/dist/share/wine/mono ln -s /usr/share/wine/gecko \ "$pkgdir/usr/share/steam/compatibilitytools.d/${pkgname%-git}"/dist/share/wine/gecko diff --git a/proton-disable_lock.patch b/proton-disable_lock.patch index 5377655e6e39..4341658471d8 100644 --- a/proton-disable_lock.patch +++ b/proton-disable_lock.patch @@ -1,8 +1,8 @@ diff --git a/proton b/proton -index d1b0e6a..8f11730 100755 +index 8183820..7acc32a 100755 --- a/proton +++ b/proton -@@ -102,39 +102,15 @@ class Proton: +@@ -102,7 +102,6 @@ class Proton: self.user_settings_file = self.path("user_settings.py") self.wine_bin = self.bin_dir + "wine" self.wineserver_bin = self.bin_dir + "wineserver" @@ -10,12 +10,12 @@ index d1b0e6a..8f11730 100755 def path(self, d): return self.base_dir + d +@@ -114,35 +113,14 @@ class Proton: + not filecmp.cmp(self.version_file, self.path("dist/version")) def extract_tarball(self): - with self.dist_lock: -- if not os.path.exists(self.dist_dir) or \ -- not os.path.exists(self.path("dist/version")) or \ -- not filecmp.cmp(self.version_file, self.path("dist/version")): +- if self.need_tarball_extraction(): - if os.path.exists(self.dist_dir): - shutil.rmtree(self.dist_dir) - tar = None @@ -31,10 +31,14 @@ index d1b0e6a..8f11730 100755 - try_copy(self.version_file, self.dist_dir) + return True + def missing_default_prefix(self): + '''Check if the default prefix dir is missing. Returns true if missing, false if present''' + return not os.path.isdir(self.default_pfx_dir) + def make_default_prefix(self): - with self.dist_lock: - local_env = dict(g_session.env) -- if not os.path.isdir(self.default_pfx_dir): +- if self.missing_default_prefix(): - #make default prefix - local_env["WINEPREFIX"] = self.default_pfx_dir - local_env["WINEDEBUG"] = "-all" diff --git a/proton-unfuck_makefile.patch b/proton-unfuck_makefile.patch index a3f48aed8e89..bb8ff4909a8c 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 79ac5b2..d38c79e 100644 +index 00e2a13..4c74509 100644 --- a/build/makefile_base.mak +++ b/build/makefile_base.mak @@ -89,8 +89,8 @@ SELECT_DOCKER_IMAGE := @@ -22,7 +22,7 @@ index 79ac5b2..d38c79e 100644 SANITY_FLAGS := -fwrapv -fno-strict-aliasing COMMON_FLAGS := $(OPTIMIZE_FLAGS) $(SANITY_FLAGS) -@@ -213,6 +214,16 @@ GST_GOOD_OBJ64 := ./obj-gst-good64 +@@ -217,6 +218,16 @@ GST_GOOD_OBJ64 := ./obj-gst-good64 FAUDIO := $(SRCDIR)/FAudio FAUDIO_OBJ32 := ./obj-faudio32 FAUDIO_OBJ64 := ./obj-faudio64 @@ -39,7 +39,7 @@ index 79ac5b2..d38c79e 100644 LSTEAMCLIENT := $(SRCDIR)/lsteamclient LSTEAMCLIENT32 := ./syn-lsteamclient32/lsteamclient -@@ -229,6 +240,16 @@ WINE_DST32 := ./dist-wine32 +@@ -233,6 +244,16 @@ WINE_DST32 := ./dist-wine32 WINE_OBJ32 := ./obj-wine32 WINE_OBJ64 := ./obj-wine64 WINEMAKER := $(abspath $(WINE)/tools/winemaker/winemaker) @@ -56,7 +56,7 @@ index 79ac5b2..d38c79e 100644 # Wine outputs that need to exist for other steps (dist) WINE_OUT_BIN := $(DST_DIR)/bin/wine64 -@@ -236,9 +257,11 @@ WINE_OUT_SERVER := $(DST_DIR)/bin/wineserver +@@ -240,9 +261,11 @@ WINE_OUT_SERVER := $(DST_DIR)/bin/wineserver WINE_OUT := $(WINE_OUT_BIN) $(WINE_OUT_SERVER) # Tool-only build outputs needed for other projects WINEGCC32 := $(TOOLS_DIR32)/bin/winegcc @@ -68,7 +68,7 @@ index 79ac5b2..d38c79e 100644 WINEBUILD64 := $(TOOLS_DIR64)/bin/winebuild WINE_BUILDTOOLS64 := $(WINEGCC64) $(WINEBUILD64) -@@ -246,6 +269,12 @@ WINEWIDL_OBJ32 := ./obj-widl32 +@@ -250,6 +273,12 @@ WINEWIDL_OBJ32 := ./obj-widl32 WINEWIDL_OBJ64 := ./obj-widl64 WINEWIDL32 := $(WINEWIDL_OBJ32)/tools/widl/widl WINEWIDL64 := $(WINEWIDL_OBJ64)/tools/widl/widl @@ -81,7 +81,7 @@ index 79ac5b2..d38c79e 100644 VRCLIENT := $(SRCDIR)/vrclient_x64 VRCLIENT32 := ./syn-vrclient32 -@@ -261,22 +290,38 @@ VULKAN_H_OBJ32 := ./obj-vulkan-headers32 +@@ -265,22 +294,38 @@ VULKAN_H_OBJ32 := ./obj-vulkan-headers32 VULKAN_H_OBJ64 := ./obj-vulkan-headers64 VULKAN_H32 := $(TOOLS_DIR32)/include/vulkan/vulkan.h VULKAN_H64 := $(TOOLS_DIR64)/include/vulkan/vulkan.h @@ -122,7 +122,7 @@ index 79ac5b2..d38c79e 100644 BISON_VER = 3.3.2 BISON_TARBALL := bison-$(BISON_VER).tar.xz -@@ -285,6 +330,10 @@ BISON_OBJ32 := ./obj-bison32 +@@ -289,6 +334,10 @@ BISON_OBJ32 := ./obj-bison32 BISON_OBJ64 := ./obj-bison64 BISON_BIN32 := $(BISON_OBJ32)/built/bin/bison BISON_BIN64 := $(BISON_OBJ64)/built/bin/bison @@ -133,7 +133,7 @@ index 79ac5b2..d38c79e 100644 FONTS := $(SRCDIR)/fonts -@@ -388,11 +437,26 @@ DIST_GECKO64 := $(DIST_GECKO_DIR)/wine-gecko-$(GECKO_VER)-x86_64 +@@ -393,11 +442,26 @@ DIST_GECKO64 := $(DIST_GECKO_DIR)/wine-gecko-$(GECKO_VER)-x86_64 DIST_WINEMONO_DIR := $(DST_DIR)/share/wine/mono DIST_WINEMONO := $(DIST_WINEMONO_DIR)/wine-mono-$(WINEMONO_VER) DIST_FONTS := $(DST_DIR)/share/fonts @@ -161,7 +161,7 @@ index 79ac5b2..d38c79e 100644 DEPLOY_COPY_TARGETS := $(DIST_COPY_TARGETS) $(DIST_VERSION) $(DIST_LICENSE) $(DIST_OFL_LICENSE) REDIST_COPY_TARGETS := $(DEPLOY_COPY_TARGETS) $(DIST_COMPAT_MANIFEST) -@@ -468,7 +532,7 @@ $(DIST_FONTS): fonts +@@ -473,7 +537,7 @@ $(DIST_FONTS): fonts ALL_TARGETS += dist GOAL_TARGETS += dist @@ -170,7 +170,7 @@ index 79ac5b2..d38c79e 100644 echo `date '+%s'` `GIT_DIR=$(abspath $(SRCDIR)/.git) git describe --tags` > $(DIST_VERSION) cp $(DIST_VERSION) $(DST_BASE)/ rm -rf $(abspath $(DIST_PREFIX)) && \ -@@ -515,6 +579,8 @@ module64: +@@ -520,6 +584,8 @@ module64: module: module32 module64 @@ -179,7 +179,7 @@ index 79ac5b2..d38c79e 100644 ## ## glib ## -@@ -523,6 +589,10 @@ GLIB_CONFIGURE_FILES32 := $(GLIB_OBJ32)/build.ninja +@@ -528,6 +594,10 @@ GLIB_CONFIGURE_FILES32 := $(GLIB_OBJ32)/build.ninja GLIB_CONFIGURE_FILES64 := $(GLIB_OBJ64)/build.ninja GLIB_MESON_ARGS := -Dlibmount=false @@ -190,7 +190,7 @@ index 79ac5b2..d38c79e 100644 # 64-bit configure. Remove coredata file if already configured (due to e.g. makefile changing) $(GLIB_CONFIGURE_FILES64): SHELL = $(CONTAINER_SHELL64) -@@ -531,6 +601,7 @@ $(GLIB_CONFIGURE_FILES64): $(MAKEFILE_DEP) | $(GLIB_OBJ64) +@@ -536,6 +606,7 @@ $(GLIB_CONFIGURE_FILES64): $(MAKEFILE_DEP) | $(GLIB_OBJ64) rm -f "$(abspath $(GLIB_OBJ64))"/meson-private/coredata.dat; \ fi cd "$(abspath $(GLIB))" && \ @@ -198,7 +198,7 @@ index 79ac5b2..d38c79e 100644 meson --prefix="$(abspath $(TOOLS_DIR64))" --libdir="lib" $(GLIB_MESON_ARGS) $(MESON_STRIP_ARG) --buildtype=release "$(abspath $(GLIB_OBJ64))" # 32-bit configure. Remove coredata file if already configured (due to e.g. makefile changing) -@@ -540,6 +611,10 @@ $(GLIB_CONFIGURE_FILES32): $(MAKEFILE_DEP) | $(GLIB_OBJ32) +@@ -545,6 +616,10 @@ $(GLIB_CONFIGURE_FILES32): $(MAKEFILE_DEP) | $(GLIB_OBJ32) rm -f "$(abspath $(GLIB_OBJ32))"/meson-private/coredata.dat; \ fi cd "$(abspath $(GLIB))" && \ @@ -209,19 +209,29 @@ index 79ac5b2..d38c79e 100644 meson --prefix="$(abspath $(TOOLS_DIR32))" --libdir="lib" $(GLIB_MESON_ARGS) $(MESON_STRIP_ARG) --buildtype=release "$(abspath $(GLIB_OBJ32))" ## glib goals -@@ -584,6 +659,8 @@ glib32: $(GLIB_CONFIGURE_FILES32) - ## +@@ -585,6 +660,8 @@ glib32: $(GLIB_CONFIGURE_FILES32) + GST_COMMON_MESON_ARGS := \ + -Db_lto=true \ + -Db_pie=true \ -Dexamples=disabled \ -Dtests=disabled \ - -Dtools=disabled \ -@@ -597,6 +674,10 @@ GST_COMMON_MESON_ARGS := \ - GSTREAMER_MESON_ARGS := \ + -Dgtk_doc=disabled \ +@@ -626,6 +703,9 @@ $(GST_ORC_CONFIGURE_FILES32): $(MAKEFILE_DEP) glib32 | $(GST_ORC_OBJ32) + fi + cd "$(abspath $(GST_ORC))" && \ + PATH="$(abspath $(TOOLS_DIR32))/bin:$(PATH)" \ ++ CFLAGS="-m32 $(COMMON_FLAGS)" \ ++ CXXFLAGS="-m32 $(COMMON_FLAGS)" \ ++ PKG_CONFIG="i686-pc-linux-gnu-pkg-config" \ + PKG_CONFIG_PATH=$(abspath $(TOOLS_DIR32))/lib/pkgconfig \ + meson --prefix="$(abspath $(TOOLS_DIR32))" --libdir="lib" $(GST_ORC_MESON_ARGS) $(MESON_STRIP_ARG) "$(abspath $(GST_ORC_OBJ32))" + +@@ -667,6 +747,10 @@ GSTREAMER_MESON_ARGS := \ -Dgst_parse=false \ -Dbenchmarks=disabled \ + -Dtools=disabled \ + -Dbash-completion=disabled \ + -Dptp-helper-permissions=capabilities \ + -Ddbghelp=disabled \ @@ -229,7 +239,7 @@ index 79ac5b2..d38c79e 100644 $(GST_COMMON_MESON_ARGS) GSTREAMER_CONFIGURE_FILES32 := $(GSTREAMER_OBJ32)/build.ninja -@@ -621,6 +702,9 @@ $(GSTREAMER_CONFIGURE_FILES32): $(MAKEFILE_DEP) glib32 | $(GSTREAMER_OBJ32) +@@ -691,6 +775,9 @@ $(GSTREAMER_CONFIGURE_FILES32): $(MAKEFILE_DEP) gst_orc32 | $(GSTREAMER_OBJ32) fi cd "$(abspath $(GSTREAMER))" && \ PATH="$(abspath $(TOOLS_DIR32))/bin:$(PATH)" \ @@ -239,15 +249,15 @@ index 79ac5b2..d38c79e 100644 PKG_CONFIG_PATH=$(abspath $(TOOLS_DIR32))/lib/pkgconfig \ meson --prefix="$(abspath $(TOOLS_DIR32))" --libdir="lib" $(GSTREAMER_MESON_ARGS) $(MESON_STRIP_ARG) --buildtype=release "$(abspath $(GSTREAMER_OBJ32))" -@@ -681,6 +765,7 @@ GST_BASE_MESON_ARGS := \ - -Dx11=disabled \ +@@ -756,6 +843,7 @@ GST_BASE_MESON_ARGS := \ -Dxshm=disabled \ -Dxvideo=disabled \ + -Dtools=disabled \ + -Dpackage-name="GStreamer Base Plugins (Proton)" \ $(GST_COMMON_MESON_ARGS) GST_BASE_CONFIGURE_FILES32 := $(GST_BASE_OBJ32)/build.ninja -@@ -705,6 +790,9 @@ $(GST_BASE_CONFIGURE_FILES32): $(MAKEFILE_DEP) gstreamer32 | $(GST_BASE_OBJ32) +@@ -780,6 +868,9 @@ $(GST_BASE_CONFIGURE_FILES32): $(MAKEFILE_DEP) gstreamer32 | $(GST_BASE_OBJ32) fi cd "$(abspath $(GST_BASE))" && \ PATH="$(abspath $(TOOLS_DIR32))/bin:$(PATH)" \ @@ -257,15 +267,15 @@ index 79ac5b2..d38c79e 100644 PKG_CONFIG_PATH=$(abspath $(TOOLS_DIR32))/lib/pkgconfig \ meson --prefix="$(abspath $(TOOLS_DIR32))" --libdir="lib" $(GST_BASE_MESON_ARGS) $(MESON_STRIP_ARG) --buildtype=release "$(abspath $(GST_BASE_OBJ32))" -@@ -790,6 +878,7 @@ GST_GOOD_MESON_ARGS := \ - -Dwavenc=disabled \ +@@ -870,6 +961,7 @@ GST_GOOD_MESON_ARGS := \ -Dximagesrc=disabled \ -Dy4m=disabled \ -+ -Dpackage-name="GStreamer Good Plugins (Proton)" \ + -Dtools=disabled \ ++ -Dpackage-name="GStreamer Good Plugins (Proton)" \ $(GST_COMMON_MESON_ARGS) GST_GOOD_CONFIGURE_FILES32 := $(GST_GOOD_OBJ32)/build.ninja -@@ -814,6 +903,9 @@ $(GST_GOOD_CONFIGURE_FILES32): $(MAKEFILE_DEP) gst_base32 | $(GST_GOOD_OBJ32) +@@ -894,6 +986,9 @@ $(GST_GOOD_CONFIGURE_FILES32): $(MAKEFILE_DEP) gst_base32 | $(GST_GOOD_OBJ32) fi cd "$(abspath $(GST_GOOD))" && \ PATH="$(abspath $(TOOLS_DIR32))/bin:$(PATH)" \ @@ -275,7 +285,7 @@ index 79ac5b2..d38c79e 100644 PKG_CONFIG_PATH=$(abspath $(TOOLS_DIR32))/lib/pkgconfig \ meson --prefix="$(abspath $(TOOLS_DIR32))" --libdir="lib" $(GST_GOOD_MESON_ARGS) $(MESON_STRIP_ARG) --buildtype=release "$(abspath $(GST_GOOD_OBJ32))" -@@ -845,6 +937,7 @@ gst_good32: $(GST_GOOD_CONFIGURE_FILES32) +@@ -929,6 +1024,7 @@ gst_good32: $(GST_GOOD_CONFIGURE_FILES32) cp -a $(TOOLS_DIR32)/lib/libgst* $(DST_DIR)/lib/ && \ cp -a $(TOOLS_DIR32)/lib/gstreamer-1.0 $(DST_DIR)/lib/ @@ -283,7 +293,7 @@ index 79ac5b2..d38c79e 100644 ## ## ffmpeg -@@ -862,13 +955,15 @@ $(FFMPEG_CONFIGURE_FILES64): $(FFMPEG)/configure $(MAKEFILE_DEP) | $(FFMPEG_OBJ6 +@@ -946,13 +1042,15 @@ $(FFMPEG_CONFIGURE_FILES64): $(FFMPEG)/configure $(MAKEFILE_DEP) | $(FFMPEG_OBJ6 $(abspath $(FFMPEG))/configure \ --cc=$(CC_QUOTED) --cxx=$(CXX_QUOTED) \ --prefix=$(abspath $(TOOLS_DIR64)) \ @@ -300,7 +310,7 @@ index 79ac5b2..d38c79e 100644 --disable-swscale \ --disable-postproc \ --disable-avfilter \ -@@ -894,17 +989,19 @@ $(FFMPEG_CONFIGURE_FILES64): $(FFMPEG)/configure $(MAKEFILE_DEP) | $(FFMPEG_OBJ6 +@@ -978,17 +1076,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 $@) && \ @@ -322,7 +332,7 @@ index 79ac5b2..d38c79e 100644 --disable-swscale \ --disable-postproc \ --disable-avfilter \ -@@ -947,14 +1044,14 @@ ffmpeg64: $(FFMPEG_CONFIGURE_FILES64) +@@ -1031,14 +1131,14 @@ ffmpeg64: $(FFMPEG_CONFIGURE_FILES64) +$(MAKE) -C $(FFMPEG_OBJ64) +$(MAKE) -C $(FFMPEG_OBJ64) install mkdir -pv $(DST_DIR)/lib64 @@ -339,7 +349,7 @@ index 79ac5b2..d38c79e 100644 endif # ifeq ($(WITH_FFMPEG),1) -@@ -980,19 +1077,22 @@ FAUDIO_CONFIGURE_FILES32 := $(FAUDIO_OBJ32)/Makefile +@@ -1064,19 +1164,22 @@ FAUDIO_CONFIGURE_FILES32 := $(FAUDIO_OBJ32)/Makefile FAUDIO_CONFIGURE_FILES64 := $(FAUDIO_OBJ64)/Makefile $(FAUDIO_CONFIGURE_FILES32): SHELL = $(CONTAINER_SHELL32) @@ -368,7 +378,7 @@ index 79ac5b2..d38c79e 100644 faudio32: SHELL = $(CONTAINER_SHELL32) faudio32: $(FAUDIO_CONFIGURE_FILES32) -@@ -1183,36 +1283,48 @@ WINE32_MAKE_ARGS := \ +@@ -1267,36 +1370,48 @@ WINE32_MAKE_ARGS := \ # 64bit-configure $(WINE_CONFIGURE_FILES64): SHELL = $(CONTAINER_SHELL64) @@ -425,7 +435,15 @@ index 79ac5b2..d38c79e 100644 CC=$(CC_QUOTED) \ CXX=$(CXX_QUOTED) -@@ -1367,6 +1479,8 @@ vrclient32: $(VRCLIENT_CONFIGURE_FILES32) | $(WINE_BUILDTOOLS32) $(filter $(MAKE +@@ -1372,7 +1487,6 @@ $(VRCLIENT_CONFIGURE_FILES64): SHELL = $(CONTAINER_SHELL64) + $(VRCLIENT_CONFIGURE_FILES64): $(MAKEFILE_DEP) $(VRCLIENT) $(VRCLIENT)/vrclient_x64 | $(VRCLIENT_OBJ64) $(WINEMAKER) + cd $(VRCLIENT) && \ + $(WINEMAKER) --nosource-fix --nolower-include --nodlls --nomsvcrt \ +- --nosource-fix --nolower-include --nodlls --nomsvcrt \ + -I"$(abspath $(TOOLS_DIR64))"/include/ \ + -I"$(abspath $(TOOLS_DIR64))"/include/wine/ \ + -I"$(abspath $(TOOLS_DIR64))"/include/wine/windows/ \ +@@ -1451,6 +1565,8 @@ vrclient32: $(VRCLIENT_CONFIGURE_FILES32) | $(WINE_BUILDTOOLS32) $(filter $(MAKE ## Create & configure object directory for cmake @@ -434,7 +452,7 @@ index 79ac5b2..d38c79e 100644 CMAKE_CONFIGURE_FILES32 := $(CMAKE_OBJ32)/Makefile CMAKE_CONFIGURE_FILES64 := $(CMAKE_OBJ64)/Makefile -@@ -1418,12 +1532,16 @@ cmake32-intermediate: $(CMAKE_CONFIGURE_FILES32) $(filter $(MAKECMDGOALS),cmake3 +@@ -1502,12 +1618,16 @@ cmake32-intermediate: $(CMAKE_CONFIGURE_FILES32) $(filter $(MAKECMDGOALS),cmake3 +$(MAKE) -C $(CMAKE_OBJ32) install touch $(CMAKE_BIN32) @@ -451,7 +469,7 @@ index 79ac5b2..d38c79e 100644 $(BISON): if [ -e "$(SRCDIR)/../bison/$(BISON_TARBALL)" ]; then \ mkdir -p $(dir $@); \ -@@ -1488,6 +1606,8 @@ bison32-intermediate: $(BISON_CONFIGURE_FILES32) $(filter $(MAKECMDGOALS),bison3 +@@ -1572,6 +1692,8 @@ bison32-intermediate: $(BISON_CONFIGURE_FILES32) $(filter $(MAKECMDGOALS),bison3 +$(MAKE) -C $(BISON_OBJ32) install touch $(BISON_BIN32) @@ -460,7 +478,7 @@ index 79ac5b2..d38c79e 100644 ## ## dxvk ## -@@ -1508,7 +1628,7 @@ $(DXVK_CONFIGURE_FILES64): $(MAKEFILE_DEP) $(DXVK)/build-win64.txt | $(DXVK_OBJ6 +@@ -1592,7 +1714,7 @@ $(DXVK_CONFIGURE_FILES64): $(MAKEFILE_DEP) $(DXVK)/build-win64.txt | $(DXVK_OBJ6 fi cd "$(abspath $(DXVK))" && \ PATH="$(abspath $(SRCDIR))/glslang/bin/:$(PATH)" \ @@ -469,7 +487,7 @@ index 79ac5b2..d38c79e 100644 # 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) -@@ -1517,7 +1637,7 @@ $(DXVK_CONFIGURE_FILES32): $(MAKEFILE_DEP) $(DXVK)/build-win32.txt | $(DXVK_OBJ3 +@@ -1601,7 +1723,7 @@ $(DXVK_CONFIGURE_FILES32): $(MAKEFILE_DEP) $(DXVK)/build-win32.txt | $(DXVK_OBJ3 fi cd "$(abspath $(DXVK))" && \ PATH="$(abspath $(SRCDIR))/glslang/bin/:$(PATH)" \ @@ -478,7 +496,7 @@ index 79ac5b2..d38c79e 100644 ## dxvk goals DXVK_TARGETS = dxvk dxvk_configure dxvk32 dxvk64 dxvk_configure32 dxvk_configure64 -@@ -1536,7 +1656,7 @@ dxvk_configure32: $(DXVK_CONFIGURE_FILES32) +@@ -1620,7 +1742,7 @@ dxvk_configure32: $(DXVK_CONFIGURE_FILES32) dxvk: dxvk32 dxvk64 dxvk64: $(DXVK_CONFIGURE_FILES64) @@ -487,7 +505,7 @@ index 79ac5b2..d38c79e 100644 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 -@@ -1549,7 +1669,7 @@ dxvk64: $(DXVK_CONFIGURE_FILES64) +@@ -1633,7 +1755,7 @@ dxvk64: $(DXVK_CONFIGURE_FILES64) dxvk32: $(DXVK_CONFIGURE_FILES32) @@ -496,7 +514,16 @@ index 79ac5b2..d38c79e 100644 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/ -@@ -1568,24 +1688,24 @@ VULKAN_H_CONFIGURE_FILES32 := $(VULKAN_H_OBJ32)/Makefile +@@ -1641,7 +1763,7 @@ dxvk32: $(DXVK_CONFIGURE_FILES32) + cp "$(DXVK_OBJ32)"/bin/d3d10_1.dll "$(DST_DIR)"/lib/wine/dxvk/ + cp "$(DXVK_OBJ32)"/bin/d3d10core.dll "$(DST_DIR)"/lib/wine/dxvk/ + cp "$(DXVK_OBJ32)"/bin/d3d9.dll "$(DST_DIR)"/lib/wine/dxvk/ +- cp "$(DXVK_OBJ32)"/bin/dxvk_config.dll "$(DST_DIR)"/lib/wine/dxvk ++ 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 + + endif # NO_DXVK +@@ -1652,24 +1774,24 @@ VULKAN_H_CONFIGURE_FILES32 := $(VULKAN_H_OBJ32)/Makefile VULKAN_H_CONFIGURE_FILES64 := $(VULKAN_H_OBJ64)/Makefile $(VULKAN_H_CONFIGURE_FILES32): SHELL = $(CONTAINER_SHELL32) @@ -527,7 +554,7 @@ index 79ac5b2..d38c79e 100644 # SPIRV-Headers -@@ -1593,24 +1713,24 @@ SPIRV_H_CONFIGURE_FILES32 := $(SPIRV_H_OBJ32)/Makefile +@@ -1677,24 +1799,24 @@ SPIRV_H_CONFIGURE_FILES32 := $(SPIRV_H_OBJ32)/Makefile SPIRV_H_CONFIGURE_FILES64 := $(SPIRV_H_OBJ64)/Makefile $(SPIRV_H_CONFIGURE_FILES32): SHELL = $(CONTAINER_SHELL32) @@ -558,7 +585,7 @@ index 79ac5b2..d38c79e 100644 # widl; required for vkd3d, which is built before wine -@@ -1618,14 +1738,18 @@ WINEWIDL_CONFIGURE_FILES64 := $(WINEWIDL_OBJ64)/Makefile +@@ -1702,14 +1824,18 @@ WINEWIDL_CONFIGURE_FILES64 := $(WINEWIDL_OBJ64)/Makefile WINEWIDL_CONFIGURE_FILES32 := $(WINEWIDL_OBJ32)/Makefile $(WINEWIDL_CONFIGURE_FILES32): SHELL = $(CONTAINER_SHELL32) @@ -580,7 +607,7 @@ index 79ac5b2..d38c79e 100644 LDFLAGS=-L$(abspath $(TOOLS_DIR32))/lib \ PKG_CONFIG_PATH=$(abspath $(TOOLS_DIR32))/lib/pkgconfig \ CC=$(CC_QUOTED) \ -@@ -1637,14 +1761,18 @@ $(WINEWIDL32): $(WINEWIDL_CONFIGURE_FILES32) +@@ -1721,14 +1847,18 @@ $(WINEWIDL32): $(WINEWIDL_CONFIGURE_FILES32) make tools/widl $(WINEWIDL_CONFIGURE_FILES64): SHELL = $(CONTAINER_SHELL64) @@ -601,7 +628,7 @@ index 79ac5b2..d38c79e 100644 CFLAGS=-I$(abspath $(TOOLS_DIR64))"/include -g $(COMMON_FLAGS)" \ LDFLAGS=-L$(abspath $(TOOLS_DIR64))/lib \ PKG_CONFIG_PATH=$(abspath $(TOOLS_DIR64))/lib/pkgconfig \ -@@ -1672,7 +1800,7 @@ $(VKD3D_CONFIGURE_FILES32): $(MAKEFILE_DEP) $(VULKAN_H32) $(SPIRV_H32) $(VKD3D)/ +@@ -1756,7 +1886,7 @@ $(VKD3D_CONFIGURE_FILES32): $(MAKEFILE_DEP) $(VULKAN_H32) $(SPIRV_H32) $(VKD3D)/ $(abspath $(VKD3D))/configure \ --disable-tests \ --prefix=$(abspath $(TOOLS_DIR32)) \ diff --git a/wine-gcc10.patch b/wine-gcc10.patch new file mode 100644 index 000000000000..35cc5f0afbbd --- /dev/null +++ b/wine-gcc10.patch @@ -0,0 +1,479 @@ +From 5740b735cdb44fb89a41f3090dcc3dabf360ab41 Mon Sep 17 00:00:00 2001 +From: Michael Cronenworth <mike@cchtml.com> +Date: Thu, 23 Jan 2020 17:05:19 -0600 +Subject: [PATCH] crypt32: Global variable compatibility update for gcc 10. + +Signed-off-by: Michael Cronenworth <mike@cchtml.com> +Signed-off-by: Alexandre Julliard <julliard@winehq.org> +--- + dlls/crypt32/crypt32_private.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/dlls/crypt32/crypt32_private.h b/dlls/crypt32/crypt32_private.h +index 3d0129e7d40..d92eb1a1570 100644 +--- a/wine/dlls/crypt32/crypt32_private.h ++++ b/wine/dlls/crypt32/crypt32_private.h +@@ -152,7 +152,7 @@ BOOL WINAPI CRYPT_AsnEncodePubKeyInfoNoNull(DWORD dwCertEncodingType, + */ + HCRYPTPROV WINAPI I_CryptGetDefaultCryptProv(ALG_ID); + +-HINSTANCE hInstance DECLSPEC_HIDDEN; ++extern HINSTANCE hInstance DECLSPEC_HIDDEN; + + void crypt_oid_init(void) DECLSPEC_HIDDEN; + void crypt_oid_free(void) DECLSPEC_HIDDEN; +From fba65a153759dd60f470fe9a787f074cbf0f7ea8 Mon Sep 17 00:00:00 2001 +From: Michael Cronenworth <mike@cchtml.com> +Date: Thu, 23 Jan 2020 17:05:20 -0600 +Subject: [PATCH] dsound: Global variable compatibility update for gcc 10. + +Signed-off-by: Michael Cronenworth <mike@cchtml.com> +Signed-off-by: Andrew Eikum <aeikum@codeweavers.com> +Signed-off-by: Alexandre Julliard <julliard@winehq.org> +--- + dlls/dsound/dsound_private.h | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/dlls/dsound/dsound_private.h b/dlls/dsound/dsound_private.h +index 69c4a2f3902..930c3e92ec8 100644 +--- a/wine/dlls/dsound/dsound_private.h ++++ b/wine/dlls/dsound/dsound_private.h +@@ -188,9 +188,9 @@ HRESULT IDirectSoundBufferImpl_Duplicate( + IDirectSoundBufferImpl **ppdsb, + IDirectSoundBufferImpl *pdsb) DECLSPEC_HIDDEN; + void secondarybuffer_destroy(IDirectSoundBufferImpl *This) DECLSPEC_HIDDEN; +-const IDirectSound3DListenerVtbl ds3dlvt DECLSPEC_HIDDEN; +-const IDirectSound3DBufferVtbl ds3dbvt DECLSPEC_HIDDEN; +-const IKsPropertySetVtbl iksbvt DECLSPEC_HIDDEN; ++extern const IDirectSound3DListenerVtbl ds3dlvt DECLSPEC_HIDDEN; ++extern const IDirectSound3DBufferVtbl ds3dbvt DECLSPEC_HIDDEN; ++extern const IKsPropertySetVtbl iksbvt DECLSPEC_HIDDEN; + + HRESULT IKsPrivatePropertySetImpl_Create(REFIID riid, void **ppv) DECLSPEC_HIDDEN; + +From 453980e13015e20dd551531be69b3361b63f22b1 Mon Sep 17 00:00:00 2001 +From: Michael Cronenworth <mike@cchtml.com> +Date: Thu, 23 Jan 2020 17:05:21 -0600 +Subject: [PATCH] gphoto2.ds: Global variable compatibility update for gcc 10. + +Signed-off-by: Michael Cronenworth <mike@cchtml.com> +Signed-off-by: Alexandre Julliard <julliard@winehq.org> +--- + dlls/gphoto2.ds/gphoto2_i.h | 4 +++- + dlls/gphoto2.ds/gphoto2_main.c | 2 ++ + 2 files changed, 5 insertions(+), 1 deletion(-) + +diff --git a/dlls/gphoto2.ds/gphoto2_i.h b/dlls/gphoto2.ds/gphoto2_i.h +index 9ab8bbbf33b..4171fcae4f4 100644 +--- a/wine/dlls/gphoto2.ds/gphoto2_i.h ++++ b/wine/dlls/gphoto2.ds/gphoto2_i.h +@@ -100,7 +100,9 @@ struct tagActiveDS + struct jpeg_decompress_struct jd; + struct jpeg_error_mgr jerr; + #endif +-} activeDS DECLSPEC_HIDDEN; ++}; ++ ++extern struct tagActiveDS activeDS DECLSPEC_HIDDEN; + + /* Helper functions */ + extern TW_UINT16 GPHOTO2_SaneCapability (pTW_CAPABILITY pCapability, TW_UINT16 action) DECLSPEC_HIDDEN; +diff --git a/dlls/gphoto2.ds/gphoto2_main.c b/dlls/gphoto2.ds/gphoto2_main.c +index 28100414cc7..4d71c89e2e2 100644 +--- a/wine/dlls/gphoto2.ds/gphoto2_main.c ++++ b/wine/dlls/gphoto2.ds/gphoto2_main.c +@@ -33,6 +33,8 @@ + + WINE_DEFAULT_DEBUG_CHANNEL(twain); + ++struct tagActiveDS activeDS; ++ + DSMENTRYPROC GPHOTO2_dsmentry; + + #ifdef HAVE_GPHOTO2 +From e402fdf364fc76838ba4e11a11fef3c552110639 Mon Sep 17 00:00:00 2001 +From: Michael Cronenworth <mike@cchtml.com> +Date: Thu, 23 Jan 2020 17:05:22 -0600 +Subject: [PATCH] mshtml: Global variable compatibility update for gcc 10. + +Signed-off-by: Jacek Caban <jacek@codeweavers.com> +Signed-off-by: Alexandre Julliard <julliard@winehq.org> +--- + dlls/mshtml/htmlstyle.h | 2 +- + dlls/mshtml/main.c | 7 +++++++ + dlls/mshtml/mshtml_private.h | 12 ++++++------ + 3 files changed, 14 insertions(+), 7 deletions(-) + +diff --git a/dlls/mshtml/htmlstyle.h b/dlls/mshtml/htmlstyle.h +index 9dcf3d9eed1..7a83897043b 100644 +--- a/wine/dlls/mshtml/htmlstyle.h ++++ b/wine/dlls/mshtml/htmlstyle.h +@@ -142,7 +142,7 @@ void init_css_style(CSSStyle*,nsIDOMCSSStyleDeclaration*,style_qi_t, + dispex_static_data_t*,compat_mode_t) DECLSPEC_HIDDEN; + + void CSSStyle_init_dispex_info(dispex_data_t *info, compat_mode_t mode) DECLSPEC_HIDDEN; +-const dispex_static_data_vtbl_t CSSStyle_dispex_vtbl DECLSPEC_HIDDEN; ++extern const dispex_static_data_vtbl_t CSSStyle_dispex_vtbl DECLSPEC_HIDDEN; + + HRESULT get_style_property(CSSStyle*,styleid_t,BSTR*) DECLSPEC_HIDDEN; + HRESULT get_style_property_var(CSSStyle*,styleid_t,VARIANT*) DECLSPEC_HIDDEN; +diff --git a/dlls/mshtml/main.c b/dlls/mshtml/main.c +index 29396a5475a..e2c927c5f9d 100644 +--- a/wine/dlls/mshtml/main.c ++++ b/wine/dlls/mshtml/main.c +@@ -51,6 +51,13 @@ WINE_DEFAULT_DEBUG_CHANNEL(mshtml); + HINSTANCE hInst; + DWORD mshtml_tls = TLS_OUT_OF_INDEXES; + ++void (__cdecl *ccp_init)(ExternalCycleCollectionParticipant*,const CCObjCallback*); ++nsrefcnt (__cdecl *ccref_decr)(nsCycleCollectingAutoRefCnt*,nsISupports*,ExternalCycleCollectionParticipant*); ++nsrefcnt (__cdecl *ccref_incr)(nsCycleCollectingAutoRefCnt*,nsISupports*); ++void (__cdecl *ccref_init)(nsCycleCollectingAutoRefCnt*,nsrefcnt); ++void (__cdecl *describe_cc_node)(nsCycleCollectingAutoRefCnt*,const char*,nsCycleCollectionTraversalCallback*); ++void (__cdecl *note_cc_edge)(nsISupports*,const char*,nsCycleCollectionTraversalCallback*); ++ + static HINSTANCE shdoclc = NULL; + static WCHAR *status_strings[IDS_STATUS_LAST-IDS_STATUS_FIRST+1]; + static IMultiLanguage2 *mlang; +diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h +index 9612b326088..cc9eefc5283 100644 +--- a/wine/dlls/mshtml/mshtml_private.h ++++ b/wine/dlls/mshtml/mshtml_private.h +@@ -355,12 +355,12 @@ typedef struct { + + DEFINE_GUID(IID_nsXPCOMCycleCollectionParticipant, 0x9674489b,0x1f6f,0x4550,0xa7,0x30, 0xcc,0xae,0xdd,0x10,0x4c,0xf9); + +-nsrefcnt (__cdecl *ccref_incr)(nsCycleCollectingAutoRefCnt*,nsISupports*) DECLSPEC_HIDDEN; +-nsrefcnt (__cdecl *ccref_decr)(nsCycleCollectingAutoRefCnt*,nsISupports*,ExternalCycleCollectionParticipant*) DECLSPEC_HIDDEN; +-void (__cdecl *ccref_init)(nsCycleCollectingAutoRefCnt*,nsrefcnt) DECLSPEC_HIDDEN; +-void (__cdecl *ccp_init)(ExternalCycleCollectionParticipant*,const CCObjCallback*) DECLSPEC_HIDDEN; +-void (__cdecl *describe_cc_node)(nsCycleCollectingAutoRefCnt*,const char*,nsCycleCollectionTraversalCallback*) DECLSPEC_HIDDEN; +-void (__cdecl *note_cc_edge)(nsISupports*,const char*,nsCycleCollectionTraversalCallback*) DECLSPEC_HIDDEN; ++extern nsrefcnt (__cdecl *ccref_incr)(nsCycleCollectingAutoRefCnt*,nsISupports*) DECLSPEC_HIDDEN; ++extern nsrefcnt (__cdecl *ccref_decr)(nsCycleCollectingAutoRefCnt*,nsISupports*,ExternalCycleCollectionParticipant*) DECLSPEC_HIDDEN; ++extern void (__cdecl *ccref_init)(nsCycleCollectingAutoRefCnt*,nsrefcnt) DECLSPEC_HIDDEN; ++extern void (__cdecl *ccp_init)(ExternalCycleCollectionParticipant*,const CCObjCallback*) DECLSPEC_HIDDEN; ++extern void (__cdecl *describe_cc_node)(nsCycleCollectingAutoRefCnt*,const char*,nsCycleCollectionTraversalCallback*) DECLSPEC_HIDDEN; ++extern void (__cdecl *note_cc_edge)(nsISupports*,const char*,nsCycleCollectionTraversalCallback*) DECLSPEC_HIDDEN; + + void init_dispex_with_compat_mode(DispatchEx*,IUnknown*,dispex_static_data_t*,compat_mode_t) DECLSPEC_HIDDEN; + void release_dispex(DispatchEx*) DECLSPEC_HIDDEN; +From cc7f698b8245a48669d248569e7589ff824f2c70 Mon Sep 17 00:00:00 2001 +From: Michael Cronenworth <mike@cchtml.com> +Date: Thu, 23 Jan 2020 17:05:23 -0600 +Subject: [PATCH] msi: Global variable compatibility update for gcc 10. + +Signed-off-by: Michael Cronenworth <mike@cchtml.com> +Signed-off-by: Hans Leidekker <hans@codeweavers.com> +Signed-off-by: Alexandre Julliard <julliard@winehq.org> +--- + dlls/msi/msi.c | 2 ++ + dlls/msi/msipriv.h | 2 +- + 2 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/dlls/msi/msi.c b/dlls/msi/msi.c +index 7bf5004bed1..6387b0a9372 100644 +--- a/wine/dlls/msi/msi.c ++++ b/wine/dlls/msi/msi.c +@@ -51,6 +51,8 @@ + + WINE_DEFAULT_DEBUG_CHANNEL(msi); + ++BOOL is_wow64; ++ + static const WCHAR installerW[] = {'\\','I','n','s','t','a','l','l','e','r',0}; + + UINT msi_locate_product(LPCWSTR szProduct, MSIINSTALLCONTEXT *context) +diff --git a/dlls/msi/msipriv.h b/dlls/msi/msipriv.h +index fca2f9e7b4d..6b87cfb3d86 100644 +--- a/wine/dlls/msi/msipriv.h ++++ b/wine/dlls/msi/msipriv.h +@@ -42,7 +42,7 @@ + #include "winemsi.h" + + static const BOOL is_64bit = sizeof(void *) > sizeof(int); +-BOOL is_wow64 DECLSPEC_HIDDEN; ++extern BOOL is_wow64 DECLSPEC_HIDDEN; + + #define MSI_DATASIZEMASK 0x00ff + #define MSITYPE_VALID 0x0100 +From c13d58780f78393571dfdeb5b4952e3dcd7ded90 Mon Sep 17 00:00:00 2001 +From: Michael Cronenworth <mike@cchtml.com> +Date: Thu, 23 Jan 2020 17:05:24 -0600 +Subject: [PATCH] sane.ds: Global variable compatibility update for gcc 10. + +Signed-off-by: Michael Cronenworth <mike@cchtml.com> +Signed-off-by: Alexandre Julliard <julliard@winehq.org> +--- + dlls/sane.ds/sane_i.h | 6 ++++-- + dlls/sane.ds/sane_main.c | 18 ++++++++++++++++++ + 2 files changed, 22 insertions(+), 2 deletions(-) + +diff --git a/dlls/sane.ds/sane_i.h b/dlls/sane.ds/sane_i.h +index 941e8b9e1b9..9351bdc2229 100644 +--- a/wine/dlls/sane.ds/sane_i.h ++++ b/wine/dlls/sane.ds/sane_i.h +@@ -36,7 +36,7 @@ + #include "twain.h" + + #ifdef SONAME_LIBSANE +-#define MAKE_FUNCPTR(f) typeof(f) * p##f DECLSPEC_HIDDEN; ++#define MAKE_FUNCPTR(f) extern typeof(f) * p##f DECLSPEC_HIDDEN; + MAKE_FUNCPTR(sane_init) + MAKE_FUNCPTR(sane_exit) + MAKE_FUNCPTR(sane_get_devices) +@@ -84,7 +84,9 @@ struct tagActiveDS + TW_FIX32 defaultXResolution; + BOOL YResolutionSet; + TW_FIX32 defaultYResolution; +-} activeDS DECLSPEC_HIDDEN; ++}; ++ ++extern struct tagActiveDS activeDS DECLSPEC_HIDDEN; + + /* Helper functions */ + extern TW_UINT16 SANE_SaneCapability (pTW_CAPABILITY pCapability, TW_UINT16 action) DECLSPEC_HIDDEN; +diff --git a/dlls/sane.ds/sane_main.c b/dlls/sane.ds/sane_main.c +index 7af0a2321ac..0cf211d0983 100644 +--- a/wine/dlls/sane.ds/sane_main.c ++++ b/wine/dlls/sane.ds/sane_main.c +@@ -30,9 +30,27 @@ + + WINE_DEFAULT_DEBUG_CHANNEL(twain); + ++struct tagActiveDS activeDS; ++ + DSMENTRYPROC SANE_dsmentry; + + #ifdef SONAME_LIBSANE ++#define MAKE_FUNCPTR(f) typeof(f) * p##f; ++MAKE_FUNCPTR(sane_init) ++MAKE_FUNCPTR(sane_exit) ++MAKE_FUNCPTR(sane_get_devices) ++MAKE_FUNCPTR(sane_open) ++MAKE_FUNCPTR(sane_close) ++MAKE_FUNCPTR(sane_get_option_descriptor) ++MAKE_FUNCPTR(sane_control_option) ++MAKE_FUNCPTR(sane_get_parameters) ++MAKE_FUNCPTR(sane_start) ++MAKE_FUNCPTR(sane_read) ++MAKE_FUNCPTR(sane_cancel) ++MAKE_FUNCPTR(sane_set_io_mode) ++MAKE_FUNCPTR(sane_get_select_fd) ++MAKE_FUNCPTR(sane_strstatus) ++#undef MAKE_FUNCPTR + + HINSTANCE SANE_instance; + +From 93888fbb3e4d973f5878a0aab16a9d64fb73a764 Mon Sep 17 00:00:00 2001 +From: Michael Cronenworth <mike@cchtml.com> +Date: Thu, 23 Jan 2020 17:05:25 -0600 +Subject: [PATCH] secur32: Global variable compatibility update for gcc 10. + +Signed-off-by: Michael Cronenworth <mike@cchtml.com> +Signed-off-by: Alexandre Julliard <julliard@winehq.org> +--- + dlls/secur32/ntlm.c | 4 ++-- + dlls/secur32/secur32_priv.h | 3 --- + 2 files changed, 2 insertions(+), 5 deletions(-) + +diff --git a/dlls/secur32/ntlm.c b/dlls/secur32/ntlm.c +index b368a5f0165..4e3fda3ea98 100644 +--- a/wine/dlls/secur32/ntlm.c ++++ b/wine/dlls/secur32/ntlm.c +@@ -1387,8 +1387,8 @@ static const SecPkgInfoA infoA = { + ntlm_comment_A + }; + +-SecPkgInfoA *ntlm_package_infoA = (SecPkgInfoA *)&infoA; +-SecPkgInfoW *ntlm_package_infoW = (SecPkgInfoW *)&infoW; ++static SecPkgInfoA *ntlm_package_infoA = (SecPkgInfoA *)&infoA; ++static SecPkgInfoW *ntlm_package_infoW = (SecPkgInfoW *)&infoW; + + static SecPkgInfoW *build_package_infoW( const SecPkgInfoW *info ) + { +diff --git a/dlls/secur32/secur32_priv.h b/dlls/secur32/secur32_priv.h +index 5ed26d67ef2..1bff1372b08 100644 +--- a/wine/dlls/secur32/secur32_priv.h ++++ b/wine/dlls/secur32/secur32_priv.h +@@ -190,9 +190,6 @@ void SECUR32_arc4Cleanup(arc4_info *a4i) DECLSPEC_HIDDEN; + #define NTLMSSP_NEGOTIATE_56 0x80000000 + + +-SecPkgInfoW *ntlm_package_infoW DECLSPEC_HIDDEN; +-SecPkgInfoA *ntlm_package_infoA DECLSPEC_HIDDEN; +- + /* schannel internal interface */ + typedef struct schan_imp_session_opaque *schan_imp_session; + +From 4a91eb362666b3af549c48b95e093051756628e0 Mon Sep 17 00:00:00 2001 +From: Michael Cronenworth <mike@cchtml.com> +Date: Thu, 23 Jan 2020 17:05:26 -0600 +Subject: [PATCH] twain_32: Global variable compatibility update for gcc 10. + +Signed-off-by: Michael Cronenworth <mike@cchtml.com> +Signed-off-by: Alexandre Julliard <julliard@winehq.org> +--- + dlls/twain_32/twain32_main.c | 4 +++- + dlls/twain_32/twain_i.h | 6 +++--- + 2 files changed, 6 insertions(+), 4 deletions(-) + +diff --git a/dlls/twain_32/twain32_main.c b/dlls/twain_32/twain32_main.c +index b1beb969580..0f8ee144306 100644 +--- a/wine/dlls/twain_32/twain32_main.c ++++ b/wine/dlls/twain_32/twain32_main.c +@@ -29,7 +29,9 @@ + + WINE_DEFAULT_DEBUG_CHANNEL(twain); + +-extern HINSTANCE DSM_hinstance; ++TW_UINT16 DSM_twCC; ++activeDS *activeSources; ++HINSTANCE DSM_hinstance; + + BOOL WINAPI DllMain (HINSTANCE hinstance, DWORD reason, LPVOID reserved) + { +diff --git a/dlls/twain_32/twain_i.h b/dlls/twain_32/twain_i.h +index 7939d233bb0..ad513458cdc 100644 +--- a/wine/dlls/twain_32/twain_i.h ++++ b/wine/dlls/twain_32/twain_i.h +@@ -45,11 +45,11 @@ typedef struct tagActiveDS + HWND event_window; + } activeDS; + +-TW_UINT16 DSM_twCC DECLSPEC_HIDDEN; /* current condition code of Source Manager */ ++extern TW_UINT16 DSM_twCC DECLSPEC_HIDDEN; /* current condition code of Source Manager */ + +-activeDS *activeSources DECLSPEC_HIDDEN; /* list of active data sources */ ++extern activeDS *activeSources DECLSPEC_HIDDEN; /* list of active data sources */ + +-HINSTANCE DSM_hinstance DECLSPEC_HIDDEN; ++extern HINSTANCE DSM_hinstance DECLSPEC_HIDDEN; + + /* Implementation of operation triplets (From Application to Source Manager) */ + extern TW_UINT16 TWAIN_CloseDS +From bc51c5d589de709e1d393b58b0cc5985c78061ac Mon Sep 17 00:00:00 2001 +From: Michael Cronenworth <mike@cchtml.com> +Date: Thu, 23 Jan 2020 17:05:28 -0600 +Subject: [PATCH] webservices: Global variable compatibility update for gcc 10. + +Signed-off-by: Michael Cronenworth <mike@cchtml.com> +Signed-off-by: Hans Leidekker <hans@codeweavers.com> +Signed-off-by: Alexandre Julliard <julliard@winehq.org> +--- + dlls/webservices/webservices_private.h | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/dlls/webservices/webservices_private.h b/dlls/webservices/webservices_private.h +index 6f2b90dad28..b352aa52d49 100644 +--- a/wine/dlls/webservices/webservices_private.h ++++ b/wine/dlls/webservices/webservices_private.h +@@ -18,7 +18,7 @@ + + #include "winhttp.h" + +-_locale_t c_locale DECLSPEC_HIDDEN; ++extern _locale_t c_locale DECLSPEC_HIDDEN; + + #define STREAM_BUFSIZE 4096 + +@@ -50,8 +50,8 @@ struct dictionary + ULONG current_sequence; + ULONG *sequence; + }; +-struct dictionary dict_builtin DECLSPEC_HIDDEN; +-const struct dictionary dict_builtin_static DECLSPEC_HIDDEN; ++extern struct dictionary dict_builtin DECLSPEC_HIDDEN; ++extern const struct dictionary dict_builtin_static DECLSPEC_HIDDEN; + + int find_string( const struct dictionary *, const unsigned char *, ULONG, ULONG * ) DECLSPEC_HIDDEN; + HRESULT insert_string( struct dictionary *, unsigned char *, ULONG, int, ULONG * ) DECLSPEC_HIDDEN; +From da21c305164c3e585e29e20242afc5a31f91989f Mon Sep 17 00:00:00 2001 +From: Michael Cronenworth <mike@cchtml.com> +Date: Thu, 23 Jan 2020 17:05:27 -0600 +Subject: [PATCH] wbemprox: Global variable compatibility update for gcc 10. + +Signed-off-by: Michael Cronenworth <mike@cchtml.com> +Signed-off-by: Alexandre Julliard <julliard@winehq.org> +--- + dlls/wbemprox/main.c | 2 ++ + dlls/wbemprox/wbemprox_private.h | 4 ++-- + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/dlls/wbemprox/main.c b/dlls/wbemprox/main.c +index d90f4f8cc63..09084414983 100644 +--- a/wine/dlls/wbemprox/main.c ++++ b/wine/dlls/wbemprox/main.c +@@ -35,6 +35,8 @@ WINE_DEFAULT_DEBUG_CHANNEL(wbemprox); + + static HINSTANCE instance; + ++struct list *table_list; ++ + typedef HRESULT (*fnCreateInstance)( LPVOID *ppObj ); + + typedef struct +diff --git a/dlls/wbemprox/wbemprox_private.h b/dlls/wbemprox/wbemprox_private.h +index 9d39a7c92ba..9096b392e38 100644 +--- a/wine/dlls/wbemprox/wbemprox_private.h ++++ b/wine/dlls/wbemprox/wbemprox_private.h +@@ -20,8 +20,8 @@ + #include "wine/heap.h" + #include "wine/list.h" + +-IClientSecurity client_security DECLSPEC_HIDDEN; +-struct list *table_list DECLSPEC_HIDDEN; ++extern IClientSecurity client_security DECLSPEC_HIDDEN; ++extern struct list *table_list DECLSPEC_HIDDEN; + + enum param_direction + { +From 388348ddbf7d138fed3a6fe48bf6666a95ef3528 Mon Sep 17 00:00:00 2001 +From: Michael Cronenworth <mike@cchtml.com> +Date: Thu, 23 Jan 2020 17:05:29 -0600 +Subject: [PATCH] winebus: Global variable compatibility update for gcc 10. + +Signed-off-by: Michael Cronenworth <mike@cchtml.com> +Signed-off-by: Alexandre Julliard <julliard@winehq.org> +--- + dlls/winebus.sys/bus.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/dlls/winebus.sys/bus.h b/dlls/winebus.sys/bus.h +index 041a37ad040..22a4b46a516 100644 +--- a/wine/dlls/winebus.sys/bus.h ++++ b/wine/dlls/winebus.sys/bus.h +@@ -54,5 +54,5 @@ DEVICE_OBJECT* bus_enumerate_hid_devices(const platform_vtbl *vtbl, enum_func fu + DWORD check_bus_option(const UNICODE_STRING *option, DWORD default_value) DECLSPEC_HIDDEN; + BOOL is_xbox_gamepad(WORD vid, WORD pid) DECLSPEC_HIDDEN; + +-HANDLE driver_key DECLSPEC_HIDDEN; +-DEVICE_OBJECT *bus_pdo DECLSPEC_HIDDEN; ++extern HANDLE driver_key DECLSPEC_HIDDEN; ++extern DEVICE_OBJECT *bus_pdo DECLSPEC_HIDDEN; +From 44e69405adcdc98d6b0777e6c0acb2697d776ef8 Mon Sep 17 00:00:00 2001 +From: Michael Cronenworth <mike@cchtml.com> +Date: Thu, 23 Jan 2020 17:05:30 -0600 +Subject: [PATCH] xinput: Global variable compatibility update for gcc 10. + +Signed-off-by: Andrew Eikum <aeikum@codeweavers.com> +Signed-off-by: Alexandre Julliard <julliard@winehq.org> +--- + dlls/xinput1_3/xinput_private.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/dlls/xinput1_3/xinput_private.h b/dlls/xinput1_3/xinput_private.h +index 7de9a2a2e4d..0de4f3b0b03 100644 +--- a/wine/dlls/xinput1_3/xinput_private.h ++++ b/wine/dlls/xinput1_3/xinput_private.h +@@ -27,8 +27,8 @@ typedef struct _xinput_controller + XINPUT_VIBRATION vibration; + } xinput_controller; + +-CRITICAL_SECTION xinput_crit; +-xinput_controller controllers[XUSER_MAX_COUNT]; ++extern CRITICAL_SECTION xinput_crit; ++extern xinput_controller controllers[XUSER_MAX_COUNT]; + + void HID_find_gamepads(xinput_controller *devices) DECLSPEC_HIDDEN; + void HID_destroy_gamepads(xinput_controller *devices) DECLSPEC_HIDDEN; |