diff options
author | Manuel Reimer | 2018-07-30 22:29:21 +0200 |
---|---|---|
committer | Manuel Reimer | 2018-08-05 16:15:27 +0200 |
commit | 7a8c355ae64ef3ff64c2220b90e40ca82fae293b (patch) | |
tree | b9ceee08bfe57c499632b93de47c4dc09ef37122 | |
download | aur-7a8c355ae64ef3ff64c2220b90e40ca82fae293b.tar.gz |
Imported official wine-staging PKGBUILD
-rw-r--r-- | .SRCINFO | 159 | ||||
-rw-r--r-- | 30-win32-aliases.conf | 20 | ||||
-rw-r--r-- | PKGBUILD | 185 | ||||
-rw-r--r-- | harmony-fix.diff | 63 | ||||
-rw-r--r-- | wine-binfmt.conf | 2 | ||||
-rw-r--r-- | wine.install | 7 |
6 files changed, 436 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..ad20c1802944 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,159 @@ +pkgbase = wine-staging + pkgdesc = A compatibility layer for running Windows programs - Staging branch + pkgver = 3.13 + pkgrel = 1 + url = http://www.wine-staging.com + install = wine.install + arch = x86_64 + license = LGPL + makedepends = autoconf + makedepends = ncurses + makedepends = bison + makedepends = perl + makedepends = fontforge + makedepends = flex + makedepends = gcc>=4.5.0-2 + 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 = 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 = 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 = ncurses + optdepends = lib32-ncurses + 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 = cups + optdepends = samba + optdepends = dosbox + provides = wine=3.13 + provides = wine-wow64=3.13 + conflicts = wine + conflicts = wine-wow64 + options = staticlibs + source = https://dl.winehq.org/wine/source/3.x/wine-3.13.tar.xz + source = https://dl.winehq.org/wine/source/3.x/wine-3.13.tar.xz.sign + source = wine-staging-v3.13.tar.gz::https://github.com/wine-staging/wine-staging/archive/v3.13.tar.gz + source = harmony-fix.diff + source = 30-win32-aliases.conf + source = wine-binfmt.conf + validpgpkeys = 5AC1A08B03BD7A313E0A955AF5E6E9EEB9461DD7 + validpgpkeys = DA23579A74D4AD9AF9D3F945CEFAC8EAAF17519D + sha512sums = a07a3d2a19261f9251f165ca4c14871e6ebda4d3f99da16f9fc41f06e80cae3fb50aeab96628c7a739e635e896dbb31c55df8b42c4637a058f9035c664c93a59 + sha512sums = SKIP + sha512sums = 0124950cc18d566daecc532a432bce27d712f48eaaa9b37bf930e056b460e30a8fb1806aa179f72b44a95dc56963a3dc063b4acb71affb7b8ddff3001fe59b9a + sha512sums = b86edf07bfc560f403fdfd5a71f97930ee2a4c3f76c92cc1a0dbb2e107be9db3bed3a727a0430d8a049583c63dd11f5d4567fb7aa69b193997c6da241acc4f2e + sha512sums = 6e54ece7ec7022b3c9d94ad64bdf1017338da16c618966e8baf398e6f18f80f7b0576edf1d1da47ed77b96d577e4cbb2bb0156b0b11c183a0accf22654b0a2bb + sha512sums = bdde7ae015d8a98ba55e84b86dc05aca1d4f8de85be7e4bd6187054bfe4ac83b5a20538945b63fb073caab78022141e9545685e4e3698c97ff173cf30859e285 + +pkgname = wine-staging + 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..afd716fda65f --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,185 @@ +# $Id$ +# Maintainer: 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-staging +pkgver=3.13 +pkgrel=1 + +_pkgbasever=${pkgver/rc/-rc} + +source=(https://dl.winehq.org/wine/source/3.x/wine-$_pkgbasever.tar.xz{,.sign} + "wine-staging-v$_pkgbasever.tar.gz::https://github.com/wine-staging/wine-staging/archive/v$_pkgbasever.tar.gz" + harmony-fix.diff + 30-win32-aliases.conf + wine-binfmt.conf) +sha512sums=('a07a3d2a19261f9251f165ca4c14871e6ebda4d3f99da16f9fc41f06e80cae3fb50aeab96628c7a739e635e896dbb31c55df8b42c4637a058f9035c664c93a59' + 'SKIP' + '0124950cc18d566daecc532a432bce27d712f48eaaa9b37bf930e056b460e30a8fb1806aa179f72b44a95dc56963a3dc063b4acb71affb7b8ddff3001fe59b9a' + 'b86edf07bfc560f403fdfd5a71f97930ee2a4c3f76c92cc1a0dbb2e107be9db3bed3a727a0430d8a049583c63dd11f5d4567fb7aa69b193997c6da241acc4f2e' + '6e54ece7ec7022b3c9d94ad64bdf1017338da16c618966e8baf398e6f18f80f7b0576edf1d1da47ed77b96d577e4cbb2bb0156b0b11c183a0accf22654b0a2bb' + 'bdde7ae015d8a98ba55e84b86dc05aca1d4f8de85be7e4bd6187054bfe4ac83b5a20538945b63fb073caab78022141e9545685e4e3698c97ff173cf30859e285') +validpgpkeys=(5AC1A08B03BD7A313E0A955AF5E6E9EEB9461DD7 + DA23579A74D4AD9AF9D3F945CEFAC8EAAF17519D) + +pkgdesc="A compatibility layer for running Windows programs - Staging branch" +url="http://www.wine-staging.com" +arch=(x86_64) +options=(staticlibs) +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 + desktop-file-utils +) + +makedepends=(autoconf ncurses bison perl fontforge flex + 'gcc>=4.5.0-2' + 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 + 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 + ncurses lib32-ncurses + 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 + cups + samba dosbox +) + +provides=("wine=$pkgver" "wine-wow64=$pkgver") +conflicts=('wine' 'wine-wow64') +install=wine.install + +prepare() { + # Allow ccache to work + mv wine-$_pkgbasever $pkgname + + # apply wine-staging patchset + pushd wine-staging-$_pkgbasever/patches + ./patchinstall.sh DESTDIR="$srcdir/$pkgname" --all + popd + + # https://bugs.winehq.org/show_bug.cgi?id=43530 + export CFLAGS="${CFLAGS/-fno-plt/}" + export LDFLAGS="${LDFLAGS/,-z,now/}" + + patch -d $pkgname -Np1 < harmony-fix.diff + + sed 's|OpenCL/opencl.h|CL/opencl.h|g' -i $pkgname/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/configure \ + --prefix=/usr \ + --libdir=/usr/lib \ + --with-x \ + --with-gstreamer \ + --enable-win64 \ + --with-xattr + + make + + msg2 "Building Wine-32..." + + export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" + cd "$srcdir/$pkgname-32-build" + ../$pkgname/configure \ + --prefix=/usr \ + --with-x \ + --with-gstreamer \ + --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"/etc/fonts/conf.{avail,d} + install -m644 "$srcdir/30-win32-aliases.conf" "$pkgdir/etc/fonts/conf.avail" + ln -s ../conf.avail/30-win32-aliases.conf "$pkgdir/etc/fonts/conf.d/30-win32-aliases.conf" + install -Dm 644 "$srcdir/wine-binfmt.conf" "$pkgdir/usr/lib/binfmt.d/wine.conf" +} + +# vim:set ts=8 sts=2 sw=2 et: diff --git a/harmony-fix.diff b/harmony-fix.diff new file mode 100644 index 000000000000..fe0c8c929d4a --- /dev/null +++ b/harmony-fix.diff @@ -0,0 +1,63 @@ +diff -u -r wine/dlls/gdi32/freetype.c wine-ft281/dlls/gdi32/freetype.c +--- wine/dlls/gdi32/freetype.c 2017-10-04 18:01:36.000000000 +0200 ++++ wine-ft281/dlls/gdi32/freetype.c 2017-10-10 10:29:17.506632615 +0200 +@@ -996,18 +996,23 @@ + + static BOOL is_subpixel_rendering_enabled( void ) + { +-#ifdef FT_LCD_FILTER_H + static int enabled = -1; + if (enabled == -1) + { +- enabled = (pFT_Library_SetLcdFilter && +- pFT_Library_SetLcdFilter( NULL, 0 ) != FT_Err_Unimplemented_Feature); ++ /* >= 2.8.1 provides LCD rendering without filters */ ++ if (FT_Version.major > 2 || ++ FT_Version.major == 2 && FT_Version.minor > 8 || ++ FT_Version.major == 2 && FT_Version.minor == 8 && FT_Version.patch >= 1) ++ enabled = TRUE; ++#ifdef FT_LCD_FILTER_H ++ else if (pFT_Library_SetLcdFilter && ++ pFT_Library_SetLcdFilter( NULL, 0 ) != FT_Err_Unimplemented_Feature) ++ enabled = TRUE; ++#endif ++ else enabled = FALSE; + TRACE("subpixel rendering is %senabled\n", enabled ? "" : "NOT "); + } + return enabled; +-#else +- return FALSE; +-#endif + } + + +@@ -7271,7 +7276,6 @@ + case WINE_GGO_HBGR_BITMAP: + case WINE_GGO_VRGB_BITMAP: + case WINE_GGO_VBGR_BITMAP: +-#ifdef FT_LCD_FILTER_H + { + switch (ft_face->glyph->format) + { +@@ -7357,8 +7361,11 @@ + if ( needsTransform ) + pFT_Outline_Transform (&ft_face->glyph->outline, &transMatTategaki); + ++#ifdef FT_LCD_FILTER_H + if ( pFT_Library_SetLcdFilter ) + pFT_Library_SetLcdFilter( library, FT_LCD_FILTER_DEFAULT ); ++#endif ++ + pFT_Render_Glyph (ft_face->glyph, render_mode); + + src = ft_face->glyph->bitmap.buffer; +@@ -7439,9 +7446,6 @@ + + break; + } +-#else +- return GDI_ERROR; +-#endif + + case GGO_NATIVE: + { 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.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" +} |