From e700e6be84f51d2a7c6d78f5f465cdcd84648594 Mon Sep 17 00:00:00 2001 From: Steven Voges Date: Sun, 14 Apr 2024 10:57:56 +0700 Subject: system/wine-staging: Updated for version 9.6. Signed-off-by: Willy Sudiarto Raharjo --- system/wine-staging/README.MULTILIB | 31 +++++++++++++++++++++++++++++ system/wine-staging/wine-staging.SlackBuild | 31 +++++++++++++++++++++++------ system/wine-staging/wine-staging.info | 10 +++++----- system/wine-staging/writecopy.patch | 18 ----------------- 4 files changed, 61 insertions(+), 29 deletions(-) create mode 100644 system/wine-staging/README.MULTILIB delete mode 100644 system/wine-staging/writecopy.patch 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/wine-staging.SlackBuild b/system/wine-staging/wine-staging.SlackBuild index b19acbe462..4c669faaec 100644 --- a/system/wine-staging/wine-staging.SlackBuild +++ b/system/wine-staging/wine-staging.SlackBuild @@ -33,9 +33,10 @@ cd $(dirname $0) ; CWD=$(pwd) PRGNAM=wine-staging -VERSION=${VERSION:-9.5} -WINEVERSION=${WINEVERSION:-9.5} -STAGINGVERSION=$WINEVERSION +VERSION=${VERSION:-9.6} +WINEVERSION=$VERSION +STAGINGVERSION=$VERSION +ARCHS="i386,x86_64" BUILD=${BUILD:-1} TAG=${TAG:-_SBo} PKGTYPE=${PKGTYPE:-tgz} @@ -87,6 +88,26 @@ case "$ARCH" in ;; 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 @@ -115,8 +136,6 @@ find -L . \ # Fix for flex. 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* @@ -135,7 +154,7 @@ if [ "$WINE64" = "yes" ]; then --sysconfdir=/etc \ --mandir=/usr/man \ --enable-win64 \ - --enable-archs="i386,x86_64" \ + --enable-archs=$ARCHS \ --with-x \ --with-gnutls \ --${do_opengl}-opengl \ diff --git a/system/wine-staging/wine-staging.info b/system/wine-staging/wine-staging.info index 5e7b18942c..9eba5cc053 100644 --- a/system/wine-staging/wine-staging.info +++ b/system/wine-staging/wine-staging.info @@ -1,10 +1,10 @@ PRGNAM="wine-staging" -VERSION="9.5" +VERSION="9.6" HOMEPAGE="https://wiki.winehq.org/Wine-Staging" -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="https://dl.winehq.org/wine/source/9.x/wine-9.6.tar.xz \ + https://github.com/wine-staging/wine-staging/archive/v9.6/wine-staging-9.6.tar.gz" +MD5SUM="9bc6c11d200b717fa2ad33be31d91da2 \ + ab997f4aded3004ed736d0bdbf114fb3" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="" diff --git a/system/wine-staging/writecopy.patch b/system/wine-staging/writecopy.patch deleted file mode 100644 index d067dccd92..0000000000 --- a/system/wine-staging/writecopy.patch +++ /dev/null @@ -1,18 +0,0 @@ -@@ -, +, @@ ---- - 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; - } - - --- -- cgit v1.2.3