diff options
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 |
commit | 7dc94cf747caf0b447af8ea4665632c4cf7e0cec (patch) | |
tree | 3db64388b1863990f18f4be47afecc5f501eddc8 | |
parent | c6f2106ba5d8337cbbab1177290ad78accaec5f0 (diff) | |
download | slackbuilds-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/README | 49 | ||||
-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.SlackBuild | 66 | ||||
-rw-r--r-- | system/wine-staging/wine-staging.info | 10 | ||||
-rw-r--r-- | system/wine-staging/writecopy.patch | 18 |
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; + } + + +-- |