|
# Maintainer: Daniel Bermond < yahoo-com: danielbermond >
|
|
|
|
pkgname=wine-staging-git
|
|
pkgver=2.3.r1.g3b947eae+wine.2.3.r0.ga2460b2424
|
|
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'
|
|
'opencl-icd-loader' 'lib32-opencl-icd-loader'
|
|
'libxslt' 'lib32-libxslt'
|
|
'libpulse' 'lib32-libpulse'
|
|
'libva' 'lib32-libva'
|
|
'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'
|
|
'opencl-icd-loader' 'lib32-opencl-icd-loader'
|
|
'libxslt' 'lib32-libxslt'
|
|
'libtxc_dxtn' 'lib32-libtxc_dxtn'
|
|
'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'
|
|
)
|
|
options=('staticlibs')
|
|
source=(wine-git::'git://source.winehq.org/git/wine.git'
|
|
"$pkgname"::'git+https://github.com/wine-compholio/wine-staging.git'
|
|
#'bleed-patches.tar.gz'
|
|
'30-win32-aliases.conf'
|
|
custompatch_default-documents-dir.patch
|
|
custompatch_glsl_shader.patch
|
|
custompatch_msi-add-dummyactionthreads.patch
|
|
custompatch_photoshop_getticks_input.c.patch
|
|
custompatch_photoshop_keepfocus_message.c.patch
|
|
custompatch_photoshop_tooltip_win.c.patch
|
|
custompatch_steam.patch
|
|
custompatch_disable_automatic_menubuilding.patch
|
|
)
|
|
sha256sums=('SKIP'
|
|
'SKIP'
|
|
'9901a5ee619f24662b241672a7358364617227937d5f6d3126f70528ee5111e7'
|
|
'0bd6ae866253e446fc631b080e90dc0a500274e62175f9298277256e7c8eae8e'
|
|
'ca0dbe562eb43e4049c06f12b9352cb732ef14137c7da3d8fb71d9872c81aa60'
|
|
'05b21e50c3942acfbedd274dfe4ee454f64cb03ada3a00e46f1d23bead06ff39'
|
|
'e934579174bc3f4d05f72fb02e6b4ec081e97f375f1965541465e83a8bc77cfe'
|
|
'7f379b5fc985c8c87531c02ebd120b52b0f8801fbbb3dcd2a958f6550696c22f'
|
|
'bbbb3ab76dc1769d1e0a5253964aaf20e9db0eef6e02f2094df7c9fca3a870bc'
|
|
'972d6b114f7621c5f3bd34b1105dd390b318db18fbc76328001c984db488a9b0'
|
|
'11ddb9d6a4e1fd12f5e92d66458cc44aecfcc789efd04c1ed15d1f9b14c0efad')
|
|
|
|
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}/${pkgname}"
|
|
_staging_tag="$(git tag | sort -r | head -n1 | sed 's/-/./g;s/^v//')"
|
|
_staging_version="$(git describe --long \
|
|
| sed 's/\([^-]*-g\)/r\1/;s/-/./g;s/^v//' \
|
|
| sed "s/^latest.release/${_staging_tag}/")"
|
|
cd "${srcdir}/wine-git"
|
|
_wine_version="$(git describe --long | sed 's/\([^-]*-g\)/r\1/;s/-/./g')"
|
|
|
|
printf "%s+%s" "$_staging_version" "$_wine_version"
|
|
}
|
|
|
|
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
|
|
|
|
# Change back to the wine upstream commit that this version of wine-staging is based in
|
|
git checkout $(../"$pkgname"/patches/patchinstall.sh --upstream-commit)
|
|
}
|
|
|
|
build() {
|
|
msg2 "Applying custom patches..."
|
|
mv $srcdir/custompatch_disable_automatic_menubuilding.patch $srcdir/custompatch_disable_automatic_menubuilding.patch.disabled #Just a hack, because this fails with Wine-Staging for now
|
|
cd "${srcdir}"/wine-git
|
|
for i in $srcdir/*.patch
|
|
do
|
|
patch -Np1 < $i
|
|
done
|
|
|
|
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
|
|
|
|
# We must apply this patch AFTER all Wine Staging patches, otherwise it fails
|
|
cd "${srcdir}"/wine-git
|
|
mv $srcdir/custompatch_disable_automatic_menubuilding.patch.disabled $srcdir/custompatch_disable_automatic_menubuilding.patch
|
|
patch -Np1 -i $srcdir/custompatch_disable_automatic_menubuilding.patch
|
|
cd "${srcdir}"
|
|
|
|
# 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
|
|
|
|
make prefix="${pkgdir}/usr32" \
|
|
libdir="${pkgdir}/usr32/lib" \
|
|
dlldir="${pkgdir}/usr32/lib/wine" install
|
|
|
|
# Package wine 64-bit
|
|
|
|
msg2 "Packaging Wine-64..."
|
|
|
|
cd "$srcdir"/"$pkgname"-64-build
|
|
|
|
make prefix="${pkgdir}/usr64" \
|
|
libdir="${pkgdir}/usr64/lib64" \
|
|
dlldir="${pkgdir}/usr64/lib64/wine" install
|
|
|
|
mkdir -p $pkgdir/usr32/lib64
|
|
cp -R $pkgdir/usr64/share/{wine,applications} $pkgdir/usr32/share
|
|
|
|
# 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"
|
|
}
|