wine: Add PKGBUILD

This commit is contained in:
Les De Ridder 2017-07-18 21:15:31 +02:00
parent 665173613a
commit dcf62d6428
2 changed files with 212 additions and 0 deletions

4
wine/.gitignore vendored Normal file
View File

@ -0,0 +1,4 @@
*
!.gitignore
!PKGBUILD
!0001-Use-ALSA-device-hints.patch

208
wine/PKGBUILD Normal file
View File

@ -0,0 +1,208 @@
# $Id$
# Maintainer: Les De Ridder <les@lesderid.net>
pkgname=wine-staging-lesderid
pkgver=2.12
pkgrel=1
_pkgbasever=${pkgver/rc/-rc}
_ninepatchver=${pkgver}
source=("https://github.com/wine-compholio/wine-patched/archive/staging-$_pkgbasever.tar.gz"
"https://github.com/sarnex/wine-d3d9-patches/archive/wine-d3d9-$_ninepatchver.tar.gz"
'30-win32-aliases.conf'::'https://aur.archlinux.org/cgit/aur.git/plain/30-win32-aliases.conf?h=wine-staging-git'
'0001-Use-ALSA-device-hints.patch'
'crossover-steam-webhelper-hack.patch'::'https://bugs.winehq.org/attachment.cgi?id=52560')
sha512sums=('3ed89c3545e8dd3485dc8fed01068caa548876759912cf2407d462b80c1c5786d106110e20e32c2a904b480a893c41f120b57a4252b6dc7376aec4e15721ca32'
'8fe9b37ff54372984a234b18037bc736f69f2adf41478f037bc93e3d72893c46174fc3fbff78042ac66bb03d31ea85d293dbadc2b32630218ae53be8e360425d'
'6e54ece7ec7022b3c9d94ad64bdf1017338da16c618966e8baf398e6f18f80f7b0576edf1d1da47ed77b96d577e4cbb2bb0156b0b11c183a0accf22654b0a2bb'
'9829c04b9270a3e3db4cb83a736dd3bb33772123c9b52efcb8697f09101c455fb4d251accf4b21a9ec87f9e29bc710263821136e90a4ebdc380d5246e86b0d1a'
'd3629118dc2b64192b841a8d60036cbb2e85153e48ab0634976e04697608cda31c844cdbd08aae616a28d79ce239c2a420fa072161c0d9dae9dc948916f6b066')
pkgdesc="A compatibility layer for running Windows programs - Staging branch with the gallium-nine patches"
url="http://www.wine-staging.com"
arch=(i686 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' '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
mesa-libgl lib32-mesa-libgl
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
samba
opencl-headers
xorg-server-devel
)
optdepends=(
giflib lib32-giflib
libpng lib32-libpng
libldap lib32-libldap
gnutls lib32-gnutls
mpg123 lib32-mpg123
openal lib32-openal
v4l-utils lib32-v4l-utils
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
cups
samba dosbox
)
if [[ $CARCH == i686 ]]; then
# Strip lib32 etc. on i686
_depends=(${_depends[@]/*32-*/})
makedepends=(${makedepends[@]/*32-*/} ${_depends[@]})
makedepends=(${makedepends[@]/*-multilib*/})
optdepends=(${optdepends[@]/*32-*/})
provides=("wine=$pkgver" "wine-staging=$pkgver")
conflicts=('wine' 'wine-staging')
else
makedepends=(${makedepends[@]} ${_depends[@]})
provides=("wine=$pkgver" "wine-wow64=$pkgver" "wine-staging=$pkgver")
conflicts=('wine' 'wine-wow64' 'wine-staging')
fi
prepare() {
# Allow ccache to work
mv wine-patched-staging-$_pkgbasever $pkgname
sed 's|OpenCL/opencl.h|CL/opencl.h|g' -i $pkgname/configure*
# Apply the patchsets
pushd $pkgname
patch -Np1 -i ../wine-d3d9-patches-wine-d3d9-${_ninepatchver}/staging-helper.patch
patch -Np1 -i ../wine-d3d9-patches-wine-d3d9-${_ninepatchver}/wine-d3d9.patch
patch -Np1 -i ../0001-Use-ALSA-device-hints.patch
patch -Np1 -i ../crossover-steam-webhelper-hack.patch
autoreconf -f
popd
# Get rid of old build dirs
rm -rf $pkgname-{32,64}-build
mkdir $pkgname-32-build
}
build() {
cd "$srcdir"
export CFLAGS="-march=native -Ofast"
export CC="clang"
if [[ $CARCH == x86_64 ]]; then
msg2 "Building Wine-64..."
mkdir $pkgname-64-build
cd "$srcdir/$pkgname-64-build"
../$pkgname/configure \
--prefix=/usr \
--libdir=/usr/lib \
--with-x \
--with-gstreamer \
--with-d3d9-nine \
--enable-win64 \
--with-xattr \
--without-pulse
make
_wine32opts=(
--libdir=/usr/lib32
--with-wine64="$srcdir/$pkgname-64-build"
)
export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
fi
msg2 "Building Wine-32..."
cd "$srcdir/$pkgname-32-build"
../$pkgname/configure \
--prefix=/usr \
--with-x \
--with-gstreamer \
--with-d3d9-nine \
--with-xattr \
--without-pulse \
"${_wine32opts[@]}"
make
}
package() {
depends=(${_depends[@]})
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
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"
}
# vim:set ts=8 sts=2 sw=2 et: