summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorStelios Tsampas2021-09-02 01:02:00 +0300
committerStelios Tsampas2021-09-02 01:06:08 +0300
commit4b4ea1df13284fffbee3584ac7e06cac53706a83 (patch)
treed6972058d8937c393fbcaa9a83e680ef82ec1393
downloadaur-4b4ea1df13284fffbee3584ac7e06cac53706a83.tar.gz
Version 6.16-GE-1
-rw-r--r--.SRCINFO174
-rw-r--r--30-win32-aliases.conf20
-rw-r--r--PKGBUILD234
-rw-r--r--wine-binfmt.conf2
-rw-r--r--wine-ge-custom-more_8x5_res.patch15
-rw-r--r--wine-ge-custom-wmclass.patch24
-rw-r--r--wine.install7
7 files changed, 476 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..154fdab960fd
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,174 @@
+pkgbase = wine-ge-custom
+ pkgdesc = A compatibility layer for running Windows programs - GloriousEggroll branch
+ pkgver = 6.16.GE.1
+ pkgrel = 1
+ url = https://github.com/GloriousEggroll/wine-ge-custom
+ install = wine.install
+ arch = x86_64
+ arch = x86_64_v3
+ license = LGPL
+ makedepends = autoconf
+ makedepends = bison
+ makedepends = perl
+ makedepends = fontforge
+ makedepends = flex
+ makedepends = mingw-w64-gcc
+ makedepends = git
+ makedepends = giflib
+ makedepends = lib32-giflib
+ makedepends = libpng
+ makedepends = lib32-libpng
+ makedepends = gnutls
+ makedepends = lib32-gnutls
+ makedepends = libxinerama
+ makedepends = lib32-libxinerama
+ makedepends = libxcomposite
+ makedepends = lib32-libxcomposite
+ makedepends = libxmu
+ makedepends = lib32-libxmu
+ makedepends = libxxf86vm
+ makedepends = lib32-libxxf86vm
+ makedepends = libldap
+ makedepends = lib32-libldap
+ makedepends = mpg123
+ makedepends = lib32-mpg123
+ makedepends = openal
+ makedepends = lib32-openal
+ makedepends = v4l-utils
+ makedepends = lib32-v4l-utils
+ makedepends = alsa-lib
+ makedepends = lib32-alsa-lib
+ makedepends = libxcomposite
+ makedepends = lib32-libxcomposite
+ makedepends = mesa
+ makedepends = lib32-mesa
+ makedepends = mesa-libgl
+ makedepends = lib32-mesa-libgl
+ makedepends = opencl-icd-loader
+ makedepends = lib32-opencl-icd-loader
+ makedepends = libxslt
+ makedepends = lib32-libxslt
+ makedepends = libpulse
+ makedepends = lib32-libpulse
+ makedepends = libva
+ makedepends = lib32-libva
+ makedepends = gtk3
+ makedepends = lib32-gtk3
+ makedepends = gst-plugins-base-libs
+ makedepends = lib32-gst-plugins-base-libs
+ makedepends = vulkan-icd-loader
+ makedepends = lib32-vulkan-icd-loader
+ makedepends = sdl2
+ makedepends = lib32-sdl2
+ makedepends = vkd3d
+ makedepends = lib32-vkd3d
+ makedepends = libcups
+ makedepends = lib32-libcups
+ makedepends = sane
+ makedepends = libgphoto2
+ makedepends = gsm
+ makedepends = ffmpeg
+ makedepends = samba
+ makedepends = opencl-headers
+ depends = attr
+ depends = lib32-attr
+ depends = fontconfig
+ depends = lib32-fontconfig
+ depends = lcms2
+ depends = lib32-lcms2
+ depends = libxml2
+ depends = lib32-libxml2
+ depends = libxcursor
+ depends = lib32-libxcursor
+ depends = libxrandr
+ depends = lib32-libxrandr
+ depends = libxdamage
+ depends = lib32-libxdamage
+ depends = libxi
+ depends = lib32-libxi
+ depends = gettext
+ depends = lib32-gettext
+ depends = freetype2
+ depends = lib32-freetype2
+ depends = glu
+ depends = lib32-glu
+ depends = libsm
+ depends = lib32-libsm
+ depends = gcc-libs
+ depends = lib32-gcc-libs
+ depends = libpcap
+ depends = lib32-libpcap
+ depends = faudio
+ depends = lib32-faudio
+ depends = desktop-file-utils
+ optdepends = giflib
+ optdepends = lib32-giflib
+ optdepends = libpng
+ optdepends = lib32-libpng
+ optdepends = libldap
+ optdepends = lib32-libldap
+ optdepends = gnutls
+ optdepends = lib32-gnutls
+ optdepends = mpg123
+ optdepends = lib32-mpg123
+ optdepends = openal
+ optdepends = lib32-openal
+ optdepends = v4l-utils
+ optdepends = lib32-v4l-utils
+ optdepends = libpulse
+ optdepends = lib32-libpulse
+ optdepends = alsa-plugins
+ optdepends = lib32-alsa-plugins
+ optdepends = alsa-lib
+ optdepends = lib32-alsa-lib
+ optdepends = libjpeg-turbo
+ optdepends = lib32-libjpeg-turbo
+ optdepends = libxcomposite
+ optdepends = lib32-libxcomposite
+ optdepends = libxinerama
+ optdepends = lib32-libxinerama
+ optdepends = opencl-icd-loader
+ optdepends = lib32-opencl-icd-loader
+ optdepends = libxslt
+ optdepends = lib32-libxslt
+ optdepends = libva
+ optdepends = lib32-libva
+ optdepends = gtk3
+ optdepends = lib32-gtk3
+ optdepends = gst-plugins-base-libs
+ optdepends = lib32-gst-plugins-base-libs
+ optdepends = vulkan-icd-loader
+ optdepends = lib32-vulkan-icd-loader
+ optdepends = sdl2
+ optdepends = lib32-sdl2
+ optdepends = vkd3d
+ optdepends = lib32-vkd3d
+ optdepends = sane
+ optdepends = libgphoto2
+ optdepends = gsm
+ optdepends = ffmpeg
+ optdepends = cups
+ optdepends = samba
+ optdepends = dosbox
+ provides = wine=6.16.GE.1
+ provides = wine-wow64=6.16.GE.1
+ conflicts = wine
+ conflicts = wine-wow64
+ options = !staticlibs
+ options = !lto
+ source = wine-ge-custom::git+https://github.com/GloriousEggroll/wine-ge-custom#tag=6.16-GE-1
+ source = wine-gloriouseggroll::git+https://github.com/GloriousEggroll/wine.git
+ source = wine-ge-custom-more_8x5_res.patch
+ source = wine-ge-custom-wmclass.patch
+ source = 30-win32-aliases.conf
+ source = wine-binfmt.conf
+ validpgpkeys = 5AC1A08B03BD7A313E0A955AF5E6E9EEB9461DD7
+ validpgpkeys = DA23579A74D4AD9AF9D3F945CEFAC8EAAF17519D
+ sha512sums = SKIP
+ sha512sums = SKIP
+ sha512sums = SKIP
+ sha512sums = SKIP
+ sha512sums = 6e54ece7ec7022b3c9d94ad64bdf1017338da16c618966e8baf398e6f18f80f7b0576edf1d1da47ed77b96d577e4cbb2bb0156b0b11c183a0accf22654b0a2bb
+ sha512sums = bdde7ae015d8a98ba55e84b86dc05aca1d4f8de85be7e4bd6187054bfe4ac83b5a20538945b63fb073caab78022141e9545685e4e3698c97ff173cf30859e285
+
+pkgname = wine-ge-custom
diff --git a/30-win32-aliases.conf b/30-win32-aliases.conf
new file mode 100644
index 000000000000..99ae1f7b83a5
--- /dev/null
+++ b/30-win32-aliases.conf
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+ <alias binding="same">
+ <family>MS Shell Dlg</family>
+ <accept><family>Microsoft Sans Serif</family></accept>
+ <default><family>sans-serif</family></default>
+ </alias>
+ <alias binding="same">
+ <family>MS Shell Dlg 2</family>
+ <accept><family>Tahoma</family></accept>
+ <default><family>sans-serif</family></default>
+ </alias>
+
+ <alias binding="same">
+ <family>MS Sans Serif</family>
+ <prefer><family>Microsoft Sans Serif</family></prefer>
+ <default><family>sans-serif</family></default>
+ </alias>
+</fontconfig>
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..6ce8fada1bd7
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,234 @@
+# Maintainer: loathingkernel <loathingkernel _a_ gmail _d_ com>
+# Contributor: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
+# Contributor: Eduardo Romero <eduardo@archlinux.org>
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
+
+pkgname=wine-ge-custom
+_srctag=6.16-GE-1
+pkgver=${_srctag//-/.}
+pkgrel=1
+
+#_winever=${pkgver%.*}
+_winever=$pkgver
+_pkgbasever=${pkgver/rc/-rc}
+
+source=(wine-ge-custom::git+https://github.com/GloriousEggroll/wine-ge-custom#tag=$_srctag
+ wine-gloriouseggroll::git+https://github.com/GloriousEggroll/wine.git
+ wine-ge-custom-more_8x5_res.patch
+ wine-ge-custom-wmclass.patch
+ 30-win32-aliases.conf
+ wine-binfmt.conf)
+sha512sums=('SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ '6e54ece7ec7022b3c9d94ad64bdf1017338da16c618966e8baf398e6f18f80f7b0576edf1d1da47ed77b96d577e4cbb2bb0156b0b11c183a0accf22654b0a2bb'
+ 'bdde7ae015d8a98ba55e84b86dc05aca1d4f8de85be7e4bd6187054bfe4ac83b5a20538945b63fb073caab78022141e9545685e4e3698c97ff173cf30859e285')
+validpgpkeys=(5AC1A08B03BD7A313E0A955AF5E6E9EEB9461DD7
+ DA23579A74D4AD9AF9D3F945CEFAC8EAAF17519D)
+
+pkgdesc="A compatibility layer for running Windows programs - GloriousEggroll branch"
+url="https://github.com/GloriousEggroll/wine-ge-custom"
+arch=(x86_64 x86_64_v3)
+options=(!staticlibs !lto)
+license=(LGPL)
+
+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
+ faudio lib32-faudio
+ desktop-file-utils
+)
+
+makedepends=(autoconf bison perl fontforge flex mingw-w64-gcc git
+ 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 lib32-sdl2
+ vkd3d lib32-vkd3d
+ libcups lib32-libcups
+ sane
+ libgphoto2
+ gsm
+ ffmpeg
+ samba
+ 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
+ sdl2 lib32-sdl2
+ vkd3d lib32-vkd3d
+ sane
+ libgphoto2
+ gsm
+ ffmpeg
+ cups
+ samba dosbox
+)
+
+provides=("wine=$pkgver" "wine-wow64=$pkgver")
+conflicts=('wine' 'wine-wow64')
+install=wine.install
+
+prepare() {
+
+ pushd $pkgname
+ git submodule init wine
+ git config submodule.wine.url "$srcdir"/wine-gloriouseggroll
+ git submodule update wine
+ pushd wine
+ patch -p1 -i "$srcdir"/wine-ge-custom-more_8x5_res.patch
+ patch -p1 -i "$srcdir"/wine-ge-custom-wmclass.patch
+ dlls/winevulkan/make_vulkan
+ tools/make_requests
+ autoreconf -f
+ popd
+ popd
+
+ export CFLAGS="-O3 -march=nocona -mtune=core-avx2 -pipe"
+ export CXXFLAGS="-O3 -march=nocona -mtune=core-avx2 -pipe"
+ # Doesn't compile without remove these flags as of 4.10
+ export CFLAGS="${CFLAGS/-fno-plt/}"
+ export CXXFLAGS="${CXXFLAGS/-fno-plt/}"
+ export LDFLAGS="${LDFLAGS/,-z,now/}"
+ # MingW Wine builds fail with relro
+ export LDFLAGS="${LDFLAGS/,-z,relro/}"
+ # Disable AVX instead of using 02, same as dxvk, the rest are from Proton
+ export CFLAGS+=" -mno-avx -mfpmath=sse -fwrapv -fno-strict-aliasing -gdwarf-2 -gstrict-dwarf"
+ export CXXFLAGS+=" -mno-avx -mfpmath=sse -fwrapv -fno-strict-aliasing -gdwarf-2 -gstrict-dwarf -std=c++17"
+
+ export CROSSCFLAGS="$CFLAGS"
+ export CROSSCXXFLAGS="$CXXFLAGS"
+ export CROSSLDFLAGS="$LDFGFLAGS -Wl,--file-alignment,4096"
+
+ sed 's|OpenCL/opencl.h|CL/opencl.h|g' -i $pkgname/wine/configure*
+
+ # Get rid of old build dirs
+ rm -rf $pkgname-{32,64}-build
+ mkdir $pkgname-{32,64}-build
+}
+
+build() {
+ cd "$srcdir"
+
+ msg2 "Building Wine-64..."
+
+ cd "$srcdir/$pkgname-64-build"
+ ../$pkgname/wine/configure \
+ --prefix=/usr \
+ --libdir=/usr/lib \
+ --with-x \
+ --with-faudio \
+ --with-gstreamer \
+ --with-mingw \
+ --with-alsa \
+ --without-oss \
+ --disable-winemenubuilder \
+ --disable-win16 \
+ --disable-tests \
+ --enable-win64 \
+ --with-xattr
+
+ make
+
+ msg2 "Building Wine-32..."
+
+ export CFLAGS+=" -mstackrealign"
+ export CXXFLAGS+=" -mstackrealign"
+ export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
+ cd "$srcdir/$pkgname-32-build"
+ ../$pkgname/wine/configure \
+ --prefix=/usr \
+ --with-x \
+ --with-faudio \
+ --with-gstreamer \
+ --with-mingw \
+ --with-alsa \
+ --without-oss \
+ --disable-winemenubuilder \
+ --disable-win16 \
+ --disable-tests \
+ --with-xattr \
+ --libdir=/usr/lib32 \
+ --with-wine64="$srcdir/$pkgname-64-build"
+
+ make
+}
+
+package() {
+ msg2 "Packaging Wine-32..."
+ cd "$srcdir/$pkgname-32-build"
+
+ make prefix="$pkgdir/usr" \
+ libdir="$pkgdir/usr/lib32" \
+ dlldir="$pkgdir/usr/lib32/wine" install
+
+ msg2 "Packaging Wine-64..."
+ cd "$srcdir/$pkgname-64-build"
+ make prefix="$pkgdir/usr" \
+ libdir="$pkgdir/usr/lib" \
+ dlldir="$pkgdir/usr/lib/wine" install
+
+ # Font aliasing settings for Win32 applications
+ install -d "$pkgdir"/usr/share/fontconfig/conf.{avail,default}
+ install -m644 "$srcdir/30-win32-aliases.conf" "$pkgdir/usr/share/fontconfig/conf.avail"
+ ln -s ../conf.avail/30-win32-aliases.conf "$pkgdir/usr/share/fontconfig/conf.default/30-win32-aliases.conf"
+ install -Dm 644 "$srcdir/wine-binfmt.conf" "$pkgdir/usr/lib/binfmt.d/wine.conf"
+
+ i686-w64-mingw32-strip --strip-unneeded "$pkgdir"/usr/lib32/wine/i386-windows/*.{dll,exe}
+ x86_64-w64-mingw32-strip --strip-unneeded "$pkgdir"/usr/lib/wine/x86_64-windows/*.{dll,exe}
+}
+
+# vim:set ts=8 sts=2 sw=2 et:
diff --git a/wine-binfmt.conf b/wine-binfmt.conf
new file mode 100644
index 000000000000..4d4307336587
--- /dev/null
+++ b/wine-binfmt.conf
@@ -0,0 +1,2 @@
+# Start WINE on Windows executables
+:DOSWin:M::MZ::/usr/bin/wine:
diff --git a/wine-ge-custom-more_8x5_res.patch b/wine-ge-custom-more_8x5_res.patch
new file mode 100644
index 000000000000..acc09936ffd3
--- /dev/null
+++ b/wine-ge-custom-more_8x5_res.patch
@@ -0,0 +1,15 @@
+diff --git a/dlls/winex11.drv/fs.c b/dlls/winex11.drv/fs.c
+index c37899605e7..6470d2ffbb9 100644
+--- a/dlls/winex11.drv/fs.c
++++ b/dlls/winex11.drv/fs.c
+@@ -78,6 +78,10 @@ static struct fs_monitor_size fs_monitor_sizes[] =
+ {2880, 1620}, /* 16:9 */
+ {2954, 1662}, /* 16:9 - 'FSR 2160p Ultra Quality' */
+ {3200, 1800}, /* 16:9 */
++ {640, 400}, /* 8:5 */
++ {840, 525}, /* 8:5 */
++ {960, 600}, /* 8:5 */
++ {1280, 800}, /* 8:5 */
+ {1440, 900}, /* 8:5 */
+ {1680, 1050}, /* 8:5 */
+ {1920, 1200}, /* 8:5 */
diff --git a/wine-ge-custom-wmclass.patch b/wine-ge-custom-wmclass.patch
new file mode 100644
index 000000000000..43595d6a89b8
--- /dev/null
+++ b/wine-ge-custom-wmclass.patch
@@ -0,0 +1,24 @@
+diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c
+index 221f4392aa9..5485eb0f8e8 100644
+--- a/dlls/winex11.drv/window.c
++++ b/dlls/winex11.drv/window.c
+@@ -1034,8 +1034,17 @@ static void set_initial_wm_hints( Display *display, Window window )
+ /* class hints */
+ if ((class_hints = XAllocClassHint()))
+ {
+- class_hints->res_name = process_name;
+- class_hints->res_class = process_name;
++ const char *wine_wmclass = getenv("WINE_WMCLASS");
++ char window_class[128];
++
++ if (wine_wmclass && *wine_wmclass){
++ snprintf(window_class, sizeof(window_class), "%s", wine_wmclass);
++ class_hints->res_name = window_class;
++ class_hints->res_class = window_class;
++ } else {
++ class_hints->res_name = process_name;
++ class_hints->res_class = process_name;
++ }
+ XSetClassHint( display, window, class_hints );
+ XFree( class_hints );
+ }
diff --git a/wine.install b/wine.install
new file mode 100644
index 000000000000..cbe10cc59dc7
--- /dev/null
+++ b/wine.install
@@ -0,0 +1,7 @@
+post_install() {
+ echo "Run 'systemctl restart systemd-binfmt' in order to make the wine binfmt available on your system."
+}
+
+post_remove() {
+ echo "binfmt binary formats will be updated at reboot"
+}