summaryrefslogtreecommitdiffstats
path: root/system/wine-staging
diff options
context:
space:
mode:
Diffstat (limited to 'system/wine-staging')
-rw-r--r--system/wine-staging/README83
-rw-r--r--system/wine-staging/README.MULTILIB31
-rw-r--r--system/wine-staging/README.SLACKWARE21
-rw-r--r--system/wine-staging/flex.patch (renamed from system/wine-staging/0001-winhlp32-Workaround-a-bug-in-Flex.patch)6
-rw-r--r--system/wine-staging/wine-staging.SlackBuild116
-rw-r--r--system/wine-staging/wine-staging.info14
6 files changed, 131 insertions, 140 deletions
diff --git a/system/wine-staging/README b/system/wine-staging/README
index f24ee13cc5..e9b882a9b8 100644
--- a/system/wine-staging/README
+++ b/system/wine-staging/README
@@ -1,76 +1,39 @@
-wine-staging (Wine Staging is the testing area of winehq.org)
+Wine is an Open Source implementation of the Windows API on top of X
+for Linux and Unix.
-It contains bug fixes and features, which have not been integrated
-into the development branch yet. The idea of Wine Staging is to
-provide experimental features faster to end users and to give
-developers the possibility to discuss and improve their patches
-before they are integrated into the main branch.
+wine-staging is the current development branch of wine appended with
+full patches of the staging branch.
-This is a current development branch of Wine appended with full
-patches of the Staging branch.
+It contains bug fixes and features, which have not been integrated into
+the development branch yet. The idea of wine-staging is to provide
+experimental features faster to end users and to give developers the
+possibility to discuss and improve their patches before they are
+integrated into the main branch.
-============================================================
+NOTE: This builds the cutting-edge version of wine. If you need
+something more stable then you may want to check out wine.
-OPTIONS
-
-This SlackBuild will try to autodetect whether to build for 32 or 64
-bits or both. WINE64 and WINE32 can be used to enable/disable each
-ARCH:
-
- WINE64=no ./wine.SlackBuild
- WINE32=no ./wine.SlackBuild
-
-The executable for 64 bit wine is named wine64.
-
-To disable OpenGL support, use:
-
- OPENGL=no ./wine.SlackBuild
-
-The above options can be combined.
-
-============================================================
+=======================================================================
OPTIONAL DEPENDENCIES
-fontforge: To build tahoma, tahomabd, and marlett fonts.
+fontforge: To build tahoma, tahomabd, and marlett fonts.
webcore-fonts: For MS fonts for the web and Windows Vista.
-oss
-libcapi20
-============================================================
+=======================================================================
-MULTILIB
-
-To build the 32 bit wine on x86_64 you will need to have
-multilib packages installed, unless you want to build for
-Windows 64 bit applications only (using WIN64=yes WIN32=no.)
-
-alienBOB's multilib readme and repo:
-
-https://docs.slackware.com/slackware:multilib
-http://www.slackware.com/~alien/multilib/
-
-A script that rsyncs with alienBOB's repo and installs the
-multilib packages which can be found here:
-
-http://tty1.uk/scripts/slackware/alien-multilib-rsync.sh
+OPTIONS
-Be sure to read the short instructions at the top. If you
-use slackpkg then you will also want to blacklist his
-packages in /etc/slackpkg/blacklist:
+If your video card does not support hardware accelerated OpenGL,
+you may disable OpenGL support by using:
-[0-9]+alien
-[0-9]+compat32
+ OPENGL=no ./wine.SlackBuild
-============================================================
+=======================================================================
NOTES
-With 64 bit support you would use the wine64 binary. If you
-have a combined 32 and 64 bit package you need to set the
-environmental variable WINEPREFIX to point to the 64 bit
-wine directory when running wine64, which should be
-different to the 32 bit directory (~/.wine by default).
-Example:
-
-WINEPREFIX=~/.wine64 wine64 notepad
+64bit systems now default to the new WOW64 mode which builds both 64bit
+and 32bit PE dlls. This has removed the multilib dependency that was
+pereviously required and will allow execution of both 64bit and 32bit
+binaries. No multilib required.
diff --git a/system/wine-staging/README.MULTILIB b/system/wine-staging/README.MULTILIB
new file mode 100644
index 0000000000..d14bd8b2ad
--- /dev/null
+++ b/system/wine-staging/README.MULTILIB
@@ -0,0 +1,31 @@
+The legacy method to build 32 bit wine on x86_64 will will require
+a multilib installation.
+
+Please read up alienBOB's multilib readme and repo:
+
+https://docs.slackware.com/slackware:multilib
+http://www.slackware.com/~alien/multilib/
+
+A script that rsyncs with alienBOB's repo and installs the multilib
+packages which can be found here:
+
+https://slackware.uk/~dive/scripts/alien-multilib-rsync.sh
+
+Be sure to read the short instructions at the top. If you use slackpkg
+then you will also want to blacklist his packages in
+/etc/slackpkg/blacklist:
+
+[0-9]+alien
+[0-9]+compat32
+
+If you have a combined 32 and 64 bit package you need to set the
+environmental variable WINEPREFIX to point to the 64 bit wine directory
+when running wine64, which should be different to the 32 bit directory
+(~/.wine by default).
+
+Example:
+
+WINEPREFIX=~/.wine64 wine64 notepad
+
+To build wine using the legacy method, pass MULTILIB=yes to the build
+script.
diff --git a/system/wine-staging/README.SLACKWARE b/system/wine-staging/README.SLACKWARE
index 5b02735897..1885540021 100644
--- a/system/wine-staging/README.SLACKWARE
+++ b/system/wine-staging/README.SLACKWARE
@@ -15,11 +15,11 @@ List:
| |------ + glib2-compat32
| | |------ + libffi-compat32
| |------ + pixman-compat32
- | |------ + gtk+3-compat32 (Self conversion)
+ | |------ + gtk+3-compat32
| | |------ + atk-compat32
- | | |------ + at-spi2-atk (current only)
+ | | |------ + at-spi2-atk
| | |------ + gdk-pixbuf2-compat32
- | | |------ + libepoxy-compat32 (current only)
+ | | |------ + libepoxy-compat32
| | |------ + libICE-compat32
| | |------ + libSM-compat32
| | | |------ + at-spi2-atk-compat32
@@ -29,7 +29,6 @@ List:
| | |------ + pango-compat32
| | | |------ + harfbuzz-compat32
| | | |------ + libXft-compat32
- | | |------ + udev-compat32
| |------ ? This is only needed if you care about GTK3 theme support.
|----- x dbus-compat32
|----- + fontconfig-compat32
@@ -40,7 +39,7 @@ List:
| | to spit out error messages of it missing.
|----- + gnutls-compat32
| |------ + gmp-compat32
- | |------ + libidn-compat32 (current only)
+ | |------ + libidn-compat32
| |------ + nettle-compat32
| |------ + p11-kit-compat32
| |------ + zlib-compat32
@@ -53,6 +52,8 @@ List:
| |------ ? Needed by some programs but compiles without it.
|----- + libjpeg-turbo-compat32
|----- + libpng-compat32
+ |----- x libva-compat32
+ | |------ ? VAAPI backend for DXVA2 GPU decoding.
|----- + libXcomposite-compat32
|----- + libXcursor-compat32
| |------ + libXfixes-compat32
@@ -68,14 +69,12 @@ List:
|----- + libXxf86dga-compat32
|----- + libXxf86vm-compat32
|----- x libxml2-compat32
- | |------ + aaa_elflibs-compat32
+ | |------ + aaa_libraries-compat32
| |------ ? This is needed for .NET to work correctly.
- |----- x libva-compat32
- | |------ ? VAAPI backend for DXVA2 GPU decoding.
|----- + mesa-compat32
|----- + mpg123-compat32
| |------ + libtool-compat32
- |----- + OpenAL-compat32
- |----- x oss
+ |----- + openal-soft-compat32
+ |----- x oss (self conversion)
|----- + openjpeg-compat32
- |----- x PulseAudio
+ |----- x pulseaudio
diff --git a/system/wine-staging/0001-winhlp32-Workaround-a-bug-in-Flex.patch b/system/wine-staging/flex.patch
index d674ead817..52fc3ff53a 100644
--- a/system/wine-staging/0001-winhlp32-Workaround-a-bug-in-Flex.patch
+++ b/system/wine-staging/flex.patch
@@ -19,8 +19,8 @@ index 8f6945ca988..da2dd22e447 100644
+%option noinput nounput never-interactive 8bit noyywrap
%x quote
%{
- #include "config.h"
-@@ -367,7 +367,3 @@ WINHELP_WINDOW* MACRO_CurrentWindow(void)
+ #include <assert.h>
+@@ -366,7 +366,3 @@ WINHELP_WINDOW* MACRO_CurrentWindow(void)
{
return lex_data ? lex_data->window : Globals.active_win;
}
@@ -29,5 +29,3 @@ index 8f6945ca988..da2dd22e447 100644
-int yywrap(void) { return 1; }
-#endif
--
-2.11.0
-
diff --git a/system/wine-staging/wine-staging.SlackBuild b/system/wine-staging/wine-staging.SlackBuild
index 57d47c3918..138bf6251d 100644
--- a/system/wine-staging/wine-staging.SlackBuild
+++ b/system/wine-staging/wine-staging.SlackBuild
@@ -2,7 +2,8 @@
#
# Slackware build script for wine-staging.
#
-# Copyright 2016-2019 Edinaldo P. Silva, Rio de Janeiro, Brazil.
+# Copyright 2023-2024 Steven Voges <Oregon, USA>
+# Copyright 2016-2019 Edinaldo P. Silva, Rio de Janeiro, Brazil.
# Copyright 2015 Gethyn ThomasQuail <gethyn@bloodbathsoftworks.com>
#
# All rights reserved.
@@ -29,13 +30,13 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-# Now maintained by Dave Woodfall <dave@slackbuilds.org>
-
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=wine-staging
-VERSION=${VERSION:-7.10}
-WINEVERSION=${WINEVERSION:-7.10}
+VERSION=${VERSION:-9.7}
+WINEVERSION=$VERSION
+STAGINGVERSION=$VERSION
+ARCHS="i386,x86_64"
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -52,65 +53,71 @@ if [ -z "$ARCH" ]; then
esac
fi
-# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
-# the name of the created package would be, and then exit. This information
-# could be useful to other scripts.
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
exit 0
fi
-# If your video card does not support hardware accelerated OpenGL,
-# run the script like: OPENGL=NO ./wine.SlackBuild
-if [ "${OPENGL:-YES}" = "YES" ]; then
+OPENGL=${OPENGL@L}
+if [ "${OPENGL:-yes}" = "yes" ]; then
do_opengl="with"
else
do_opengl="without"
fi
-# auto find which ARCHs to build for
-WINETMP="$( mktemp -d $TMP/wine-test-XXXXXX )"
-echo "int main(void) {; return(0); }" > "$WINETMP/test.c"
-gcc -m32 "$WINETMP/test.c" -o /dev/null >/dev/null 2>&1 && WINE32=${WINE32:-yes}
-gcc -m64 "$WINETMP/test.c" -o /dev/null >/dev/null 2>&1 && WINE64=${WINE64:-yes}
-rm -rf "$WINETMP"
-
-if [ "${WINE32:-no}${WINE64:-no}" = "nono" ]; then
- echo "Both 64 and 32 bit builds disabled. Nothing to do."
- exit 1
-fi
-
-# These should work for anything not specified below
BUILD_ARCH="$ARCH-slackware-linux"
SLKCFLAGS="-O2"
case "$ARCH" in
- arm)
- BUILD_ARCH="$ARCH-slackware-linux-gnueabi"
- ;;
- i?86)
- # -Os was -O2, fix for:
- # https://bugs.winehq.org/show_bug.cgi?id=42406
- # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78911
- # https://bugs.gentoo.org/613128
- SLKCFLAGS="-Os -march=$ARCH -mtune=i686"
- ;;
- x86_64)
- SLKCFLAGS="-O2 -fPIC"
- LIBDIRSUFFIX="64"
- ;;
+ arm)
+ BUILD_ARCH="$ARCH-slackware-linux-gnueabi"
+ SLKCFLAGS="-O2"
+ ;;
+ i?86)
+ # -Os was -O2, fix for:
+ # https://bugs.winehq.org/show_bug.cgi?id=42406
+ # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78911
+ # https://bugs.gentoo.org/613128
+ SLKCFLAGS="-Os -march=$ARCH -mtune=i686"
+ WINE32="yes"
+ ;;
+ x86_64)
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+ WINE64="yes"
+ ;;
esac
+MULTILIB=${MULTILIB@L}
+if [[ "$ARCH" != "x86_64" && "$MULTILIB" = "yes" ]]; then
+ echo "Cannot build for multilib on non-64bit systems."
+ exit 1
+elif [[ "$ARCH" = "x86_64" && "$MULTILIB" = "yes" ]]; then
+ WINETMP="$( mktemp -d $TMP/wine-test-XXXXXX )"
+ echo "int main(void) {; return(0); }" > "$WINETMP/test.c"
+ gcc -m32 "$WINETMP/test.c" -o /dev/null >/dev/null 2>&1 && WINE32TEST=${WINE32TEST:-yes}
+ rm -rf "$WINETMP"
+ if [[ $WINE32TEST = "yes" ]]; then
+ ARCHS="x86_64"
+ WINE32="yes"
+ else
+ echo "MULTILIB was requested, however the multilib test has failed."
+ echo "Have the compat32 libraries been installed?"
+ echo "Please see README.MULTILIB"
+ exit 1
+ fi
+fi
+
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM-$VERSION wine-$WINEVERSION
+rm -rf $PRGNAM-$STAGINGVERSION wine-$WINEVERSION
tar xvf $CWD/wine-$WINEVERSION.tar.xz
-tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+tar xvf $CWD/$PRGNAM-$STAGINGVERSION.tar.gz
-cd $PRGNAM-$VERSION
+cd $PRGNAM-$STAGINGVERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
@@ -118,10 +125,8 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-cd patches
-./patchinstall.sh DESTDIR=$TMP/wine-$WINEVERSION --all
-
cd $TMP/wine-$WINEVERSION
+python3 $TMP/$PRGNAM-$STAGINGVERSION/staging/patchinstall.py --all
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
@@ -130,12 +135,11 @@ find -L . \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
# Fix for flex.
-patch -p1 --verbose < $CWD/0001-winhlp32-Workaround-a-bug-in-Flex.patch
-
-# fix path of opencl headers.
+patch -p1 < $CWD/flex.patch
+# Fix path of opencl headers.
sed 's|OpenCL/opencl.h|CL/opencl.h|g' -i configure*
-if [ "${WINE64:-no}" = "yes" ]; then
+if [ "$WINE64" = "yes" ]; then
wine64="--with-wine64=../wine64"
mkdir wine64
cd wine64
@@ -144,12 +148,13 @@ if [ "${WINE64:-no}" = "yes" ]; then
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
../configure \
- --enable-win64 \
--prefix=/usr \
--libdir=/usr/lib64 \
--localstatedir=/var \
--sysconfdir=/etc \
--mandir=/usr/man \
+ --enable-win64 \
+ --enable-archs=$ARCHS \
--with-x \
--with-gnutls \
--${do_opengl}-opengl \
@@ -157,17 +162,15 @@ if [ "${WINE64:-no}" = "yes" ]; then
--program-suffix= \
--disable-tests \
--build=$BUILD_ARCH
-
make depend
make
make install DESTDIR=$PKG
cd ..
fi
-if [ "${WINE32:-no}" = "yes" ]; then
+if [ "$WINE32" = "yes" ]; then
mkdir wine32
cd wine32
-
export PKG_CONFIG_PATH="/usr/lib/pkgconfig:$PKG_CONFIG_PATH"
LDFLAGS="-L/usr/lib -ldl" \
@@ -187,7 +190,6 @@ if [ "${WINE32:-no}" = "yes" ]; then
--program-suffix= \
--disable-tests \
--build=$BUILD_ARCH
-
make depend
make
make install DESTDIR=$PKG
@@ -204,7 +206,7 @@ for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; r
install -d $PKG/etc/fonts/conf.{avail,d}
install -m644 $CWD/30-win32-aliases.conf $PKG/etc/fonts/conf.avail
ln -sf /etc/fonts/conf.avail/30-win32-aliases.conf $PKG/etc/fonts/conf.d/30-win32-aliases.conf
-install -Dm 644 $CWD/wine-binfmt.conf $PKG/usr/lib/binfmt.d/wine.conf
+install -Dm 644 $CWD/wine-binfmt.conf $PKG/usr/lib$LIBDIRSUFFIX/binfmt.d/wine.conf
# Create Wine menu structure:
mkdir -p $PKG/etc/xdg/menus/applications-merged
@@ -223,11 +225,9 @@ convert $CWD/winecfg.png -scale 64 $PKG/usr/share/pixmaps/wine-uninstaller.png
cp programs/winecfg/winecfg.svg $PKG/usr/share/icons/hicolor/scalable/apps/
cp $CWD/*.desktop $PKG/usr/share/applications/
-DOCS="ANNOUNCE AUTHORS COPYING.LIB LICENSE* MAINTAINERS README VERSION"
-FONTS_LICENSE="COPYING.arial COPYING.cour COPYING.msyh COPYING.times"
-
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp $DOCS $FONTS_LICENSE $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a ANNOUNCE.md AUTHORS COPYING.* LICENSE* MAINTAINERS README.md VERSION \
+ $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/system/wine-staging/wine-staging.info b/system/wine-staging/wine-staging.info
index a383cfa06c..019dab3def 100644
--- a/system/wine-staging/wine-staging.info
+++ b/system/wine-staging/wine-staging.info
@@ -1,12 +1,12 @@
PRGNAM="wine-staging"
-VERSION="7.10"
+VERSION="9.7"
HOMEPAGE="https://wiki.winehq.org/Wine-Staging"
-DOWNLOAD="https://dl.winehq.org/wine/source/7.x/wine-7.10.tar.xz \
- https://github.com/wine-staging/wine-staging/archive/v7.10/wine-staging-7.10.tar.gz"
-MD5SUM="0c85cb7fd7724cceca8ea219680c94c3 \
- 9e015cac2002a11cef3dc3c64dcb7fe0"
+DOWNLOAD="https://dl.winehq.org/wine/source/9.x/wine-9.7.tar.xz \
+ https://github.com/wine-staging/wine-staging/archive/v9.7/wine-staging-9.7.tar.gz"
+MD5SUM="a419a59b3a00a0aa49646065c1aa78a0 \
+ 26234ce1a1f9eacce2ea9b19ca70137b"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="Dave Woodfall"
-EMAIL="dave@slackbuilds.org"
+MAINTAINER="Steven Voges"
+EMAIL="svoges.sbo@gmail.com"