diff options
-rw-r--r-- | .SRCINFO | 181 | ||||
-rw-r--r-- | 30-win32-aliases.conf | 20 | ||||
-rw-r--r-- | PKGBUILD | 230 | ||||
-rw-r--r-- | wine-staging.install | 12 |
4 files changed, 443 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..4e7bb2d6557b --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,181 @@ +# Generated by mksrcinfo v8 +# Sun Mar 27 06:20:50 UTC 2016 +pkgbase = wine-staging-git + pkgdesc = A compatibility layer for running Windows programs (staging branch, Git version) + pkgver = 1.9.6.r34.g96fddf8+wine.1.9.6.r144.g4315cae + pkgrel = 1 + url = https://github.com/wine-compholio/wine-staging/ + install = wine-staging.install + arch = i686 + arch = x86_64 + license = LGPL + makedepends = git + makedepends = autoconf + makedepends = ncurses + makedepends = bison + makedepends = perl + makedepends = fontforge + makedepends = flex + makedepends = gcc>=4.5.0-2 + makedepends = gcc-multilib>=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 = libgl + makedepends = lib32-libgl + makedepends = libcl + makedepends = lib32-libcl + 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 = samba + makedepends = opencl-headers + makedepends = attr + makedepends = lib32-attr + makedepends = fontconfig + makedepends = lib32-fontconfig + makedepends = lcms2 + makedepends = lib32-lcms2 + makedepends = libxml2 + makedepends = lib32-libxml2 + makedepends = libxcursor + makedepends = lib32-libxcursor + makedepends = libxrandr + makedepends = lib32-libxrandr + makedepends = libxdamage + makedepends = lib32-libxdamage + makedepends = libxi + makedepends = lib32-libxi + makedepends = gettext + makedepends = lib32-gettext + makedepends = freetype2 + makedepends = lib32-freetype2 + makedepends = glu + makedepends = lib32-glu + makedepends = libsm + makedepends = lib32-libsm + makedepends = gcc-libs + makedepends = lib32-gcc-libs + makedepends = libpcap + makedepends = lib32-libpcap + makedepends = 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 = libcl + optdepends = lib32-libcl + 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 = cups + optdepends = dosbox + optdepends = samba + provides = wine=1.9.6.r144.g4315cae + provides = wine-wow64=1.9.6.r144.g4315cae + provides = wine-staging=1.9.6.r34.g96fddf8 + provides = wine-git + conflicts = wine + conflicts = wine-wow64 + conflicts = wine-staging + conflicts = wine-git + options = staticlibs + source = wine-git::git://source.winehq.org/git/wine.git + source = wine-staging-git::git+https://github.com/wine-compholio/wine-staging.git + source = 30-win32-aliases.conf + sha256sums = SKIP + sha256sums = SKIP + sha256sums = 9901a5ee619f24662b241672a7358364617227937d5f6d3126f70528ee5111e7 + +pkgname = wine-staging-git + 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 + 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..1ad00cbc15eb --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,230 @@ +# Maintainer: Daniel Bermond < yahoo-com: danielbermond > + +pkgname=wine-staging-git +pkgver=1.9.6.r34.g96fddf8+wine.1.9.6.r144.g4315cae +pkgrel=1 +pkgdesc="A compatibility layer for running Windows programs (staging branch, Git version)" +arch=('i686' 'x86_64') +url="https://github.com/wine-compholio/wine-staging/" +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=('git' 'autoconf' 'ncurses' 'bison' 'perl' 'fontforge' 'flex' + 'gcc>=4.5.0-2' 'gcc-multilib>=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' + 'libgl' 'lib32-libgl' + 'libcl' 'lib32-libcl' + 'libxslt' 'lib32-libxslt' + 'libpulse' 'lib32-libpulse' + 'libva' 'lib32-libva' + 'gtk3' 'lib32-gtk3' + 'gst-plugins-base-libs' 'lib32-gst-plugins-base-libs' + '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' + 'libcl' 'lib32-libcl' + 'libxslt' 'lib32-libxslt' + 'libva' 'lib32-libva' + 'gtk3' 'lib32-gtk3' + 'gst-plugins-base-libs' 'lib32-gst-plugins-base-libs' + 'cups' 'dosbox' + 'samba' +) +options=('staticlibs') +install=wine-staging.install +source=(wine-git::'git://source.winehq.org/git/wine.git' + "$pkgname"::'git+https://github.com/wine-compholio/wine-staging.git' + '30-win32-aliases.conf') +sha256sums=('SKIP' + 'SKIP' + '9901a5ee619f24662b241672a7358364617227937d5f6d3126f70528ee5111e7') + +if [ "$CARCH" = "i686" ]; then + # Strip lib32 etc. on i686 + _depends=(${_depends[@]/*32-*/}) + makedepends=(${makedepends[@]/*32-*/} ${_depends[@]}) + makedepends=(${makedepends[@]/*-multilib*/}) + optdepends=(${optdepends[@]/*32-*/}) + provides=( + "wine=$(echo ${pkgver} | grep -o '+.*' | cut -c7-)" + "wine-staging=$(echo ${pkgver} | grep -o '.*+' | sed 's/.\{1\}$//')" + 'wine-git' + ) + conflicts=('wine' 'wine-staging' 'wine-git') +else + makedepends=(${makedepends[@]} ${_depends[@]}) + provides=( + "wine=$(echo ${pkgver} | grep -o '+.*' | cut -c7-)" + "wine-wow64=$(echo ${pkgver} | grep -o '+.*' | cut -c7-)" + "wine-staging=$(echo ${pkgver} | grep -o '.*+' | sed 's/.\{1\}$//')" + 'wine-git' + ) + conflicts=('wine' 'wine-wow64' 'wine-staging' 'wine-git') +fi + +pkgver() { + cd "${srcdir}" + + printf "%s+%s" \ + "$(cd ${pkgname} && git describe --long \ + | sed 's/\([^-]*-g\)/r\1/;s/-/./g' \ + | sed -e "s/latest.release/$(git tag \ + | sort -hr \ + | head -1 \ + | cut -c2-)/g")" \ + "$(cd wine-git && git describe --long | sed 's/\([^-]*-g\)/r\1/;s/-/./g')" +} + +prepare() { + cd "$srcdir/wine-git" + + msg2 "Cleaning the wine source code tree..." + + # Restore the wine tree to its git origin state, without wine-staging patches + #+(necessary for reapllying wine-staging patches in succedent builds, + #+otherwise the patches will fail to be reapplied) + git reset --hard HEAD # Restore tracked files + git clean -d -x -f # Delete untracked files +} + +build() { + cd "${srcdir}" + + # Delete old build dirs (from previous builds) and make new ones + rm --recursive --force "$pkgname"-{32,64}-build + mkdir --parents "$pkgname"-32-build + + # Apply all wine-staging patches + msg2 "Applying wine-staging patches..." + ./"$pkgname"/patches/patchinstall.sh DESTDIR="${srcdir}/wine-git" --all + + + # Build wine 64-bit + #+(according to the wine wiki this 64-bit/32-bit building order is mandatory) + + if [ "$CARCH" = "x86_64" ]; then + msg2 "Building Wine-64..." + + mkdir --parents "$pkgname"-64-build + cd "$pkgname"-64-build + + ../wine-git/configure \ + --prefix=/usr \ + --libdir=/usr/lib \ + --with-x \ + --with-gstreamer \ + --enable-win64 \ + --with-xattr + + make + + _wine32opts=( + --libdir=/usr/lib32 + --with-wine64="${srcdir}/${pkgname}-64-build" + ) + + export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" + + fi + + + # Build wine 32-bit + + msg2 "Building Wine-32..." + + cd "$srcdir"/"$pkgname"-32-build + + ../wine-git/configure \ + --prefix=/usr \ + --with-x \ + --with-gstreamer \ + --with-xattr \ + "${_wine32opts[@]}" + + make + +} + +package() { + depends=(${_depends[@]}) + + # Package wine 32-bit + #+(according to the wine wiki this reverse 32-bit/64-bit packaging order is important) + + msg2 "Packaging Wine-32..." + + cd "$srcdir"/"$pkgname"-32-build + + if [ "$CARCH" = "i686" ]; then + + make prefix="$pkgdir/usr" install + + else + + make prefix="${pkgdir}/usr" \ + libdir="${pkgdir}/usr/lib32" \ + dlldir="${pkgdir}/usr/lib32/wine" install + + + # Package wine 64-bit + + msg2 "Packaging Wine-64..." + + cd "$srcdir"/"$pkgname"-64-build + + make prefix="${pkgdir}/usr" \ + libdir="${pkgdir}/usr/lib" \ + dlldir="${pkgdir}/usr/lib/wine" install + + fi + + + # 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" +} diff --git a/wine-staging.install b/wine-staging.install new file mode 100644 index 000000000000..0548b7ffd127 --- /dev/null +++ b/wine-staging.install @@ -0,0 +1,12 @@ +post_install() { + update-desktop-database -q + #echo "This wine package is wow64 enabled. This means it can run 32bit/64bit Windows apps on x86_64." + #echo "If you are on x86_64, the default WINEARCH will be win64." + #echo "This will cause a lot of Windows applications to malfunction even if they usually work in wine." + #echo "Please create your ~/.wine with 'WINEARCH=win32 winecfg' if you are unsure and on x86_64." + #echo "See the Arch wiki on wine for more information." +} + +post_remove() { + update-desktop-database -q +} |