diff options
Diffstat (limited to 'system/wine-staging')
-rw-r--r-- | system/wine-staging/README | 83 | ||||
-rw-r--r-- | system/wine-staging/README.MULTILIB | 31 | ||||
-rw-r--r-- | system/wine-staging/README.SLACKWARE | 21 | ||||
-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 | 116 | ||||
-rw-r--r-- | system/wine-staging/wine-staging.info | 14 |
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 5a52cc5c50..457e977dd9 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.9} -WINEVERSION=${WINEVERSION:-7.9} +VERSION=${VERSION:-9.17} +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 982590ebd7..f1d7a91901 100644 --- a/system/wine-staging/wine-staging.info +++ b/system/wine-staging/wine-staging.info @@ -1,12 +1,12 @@ PRGNAM="wine-staging" -VERSION="7.9" +VERSION="9.17" HOMEPAGE="https://wiki.winehq.org/Wine-Staging" -DOWNLOAD="https://dl.winehq.org/wine/source/7.x/wine-7.9.tar.xz \ - https://github.com/wine-staging/wine-staging/archive/v7.9/wine-staging-7.9.tar.gz" -MD5SUM="ffd325202ee6412dde6d826bcc91bb29 \ - 11c389b8e754ecc2195c027e7075fe9b" +DOWNLOAD="https://dl.winehq.org/wine/source/9.x/wine-9.17.tar.xz \ + https://github.com/wine-staging/wine-staging/archive/v9.17/wine-staging-9.17.tar.gz" +MD5SUM="1e60759082833b0a09c65d21d86bef09 \ + e5f8d54c04a45ccbae7e8f3845ae2bd2" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="" -MAINTAINER="Dave Woodfall" -EMAIL="dave@slackbuilds.org" +MAINTAINER="Steven Voges" +EMAIL="svoges.sbo@gmail.com" |