summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
author Steven Voges <svoges.sbo@gmail.com>2024-03-25 09:29:52 +0700
committer Willy Sudiarto Raharjo <willysr@slackbuilds.org>2024-03-27 05:51:49 +0700
commit7dc94cf747caf0b447af8ea4665632c4cf7e0cec (patch)
tree3db64388b1863990f18f4be47afecc5f501eddc8
parentc6f2106ba5d8337cbbab1177290ad78accaec5f0 (diff)
downloadslackbuilds-7dc94cf74.tar.gz
slackbuilds-7dc94cf74.tar.xz
system/wine-staging: Updated for version 9.5.
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-rw-r--r--system/wine-staging/README49
-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.SlackBuild66
-rw-r--r--system/wine-staging/wine-staging.info10
-rw-r--r--system/wine-staging/writecopy.patch18
5 files changed, 57 insertions, 92 deletions
diff --git a/system/wine-staging/README b/system/wine-staging/README
index 4183b2a8f7..e9b882a9b8 100644
--- a/system/wine-staging/README
+++ b/system/wine-staging/README
@@ -29,52 +29,11 @@ you may disable OpenGL support by using:
OPENGL=no ./wine.SlackBuild
-The above options can be combined.
-
-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.
-
-=======================================================================
-
-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.
-
-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
-
=======================================================================
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/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 3e428c2951..b19acbe462 100644
--- a/system/wine-staging/wine-staging.SlackBuild
+++ b/system/wine-staging/wine-staging.SlackBuild
@@ -33,8 +33,8 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=wine-staging
-VERSION=${VERSION:-9.0}
-WINEVERSION=${WINEVERSION:-9.0}
+VERSION=${VERSION:-9.5}
+WINEVERSION=${WINEVERSION:-9.5}
STAGINGVERSION=$WINEVERSION
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -64,37 +64,27 @@ else
do_opengl="without"
fi
-WINE32=${WINE32@L}
-WINE64=${WINE64@L}
-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
-
BUILD_ARCH="$ARCH-slackware-linux"
SLKCFLAGS="-O2"
+
case "$ARCH" in
- 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"
- ;;
- 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
set -e
@@ -124,7 +114,9 @@ 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
+patch -p1 < $CWD/flex.patch
+# WriteCopy Fix.
+patch -p1 < $CWD/writecopy.patch
# Fix path of opencl headers.
sed 's|OpenCL/opencl.h|CL/opencl.h|g' -i configure*
@@ -137,12 +129,13 @@ if [ "$WINE64" = "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="i386,x86_64" \
--with-x \
--with-gnutls \
--${do_opengl}-opengl \
@@ -159,7 +152,6 @@ fi
if [ "$WINE32" = "yes" ]; then
mkdir wine32
cd wine32
-
export PKG_CONFIG_PATH="/usr/lib/pkgconfig:$PKG_CONFIG_PATH"
LDFLAGS="-L/usr/lib -ldl" \
@@ -195,7 +187,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
@@ -214,11 +206,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.md AUTHORS COPYING.LIB LICENSE* MAINTAINERS README.md 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 77f37c13a9..5e7b18942c 100644
--- a/system/wine-staging/wine-staging.info
+++ b/system/wine-staging/wine-staging.info
@@ -1,10 +1,10 @@
PRGNAM="wine-staging"
-VERSION="9.0"
+VERSION="9.5"
HOMEPAGE="https://wiki.winehq.org/Wine-Staging"
-DOWNLOAD="https://dl.winehq.org/wine/source/9.0/wine-9.0.tar.xz \
- https://github.com/wine-staging/wine-staging/archive/v9.0/wine-staging-9.0.tar.gz"
-MD5SUM="78e1cb8d77d20b44820461b056a15069 \
- 6d5290e19ff019016ea2729e99a881d1"
+DOWNLOAD="https://dl.winehq.org/wine/source/9.x/wine-9.5.tar.xz \
+ https://github.com/wine-staging/wine-staging/archive/v9.5/wine-staging-9.5.tar.gz"
+MD5SUM="15d0aeeeb4221f349b30edefffdc25e1 \
+ 3edfd7c8c6a782be9d547dbfde462b20"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/wine-staging/writecopy.patch b/system/wine-staging/writecopy.patch
new file mode 100644
index 0000000000..d067dccd92
--- /dev/null
+++ b/system/wine-staging/writecopy.patch
@@ -0,0 +1,18 @@
+@@ -, +, @@
+---
+ dlls/kernelbase/memory.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+--- a/dlls/kernelbase/memory.c
++++ a/dlls/kernelbase/memory.c
+@@ -481,7 +481,9 @@ BOOL WINAPI DECLSPEC_HOTPATCH VirtualLock( void *addr, SIZE_T size )
+ */
+ BOOL WINAPI DECLSPEC_HOTPATCH VirtualProtect( void *addr, SIZE_T size, DWORD new_prot, DWORD *old_prot )
+ {
+- return VirtualProtectEx( GetCurrentProcess(), addr, size, new_prot, old_prot );
++ BOOL ret = VirtualProtectEx( GetCurrentProcess(), addr, size, new_prot, old_prot );
++ if (*old_prot == PAGE_WRITECOPY) *old_prot = PAGE_READWRITE;
++ return ret;
+ }
+
+
+--