diff options
Diffstat (limited to 'system/wine-staging/wine-staging.SlackBuild')
-rw-r--r-- | system/wine-staging/wine-staging.SlackBuild | 133 |
1 files changed, 73 insertions, 60 deletions
diff --git a/system/wine-staging/wine-staging.SlackBuild b/system/wine-staging/wine-staging.SlackBuild index 609d80457e..4c669faaec 100644 --- a/system/wine-staging/wine-staging.SlackBuild +++ b/system/wine-staging/wine-staging.SlackBuild @@ -1,8 +1,9 @@ -#!/bin/sh +#!/bin/bash # # 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,12 +30,20 @@ # 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:-5.2} +VERSION=${VERSION:-9.6} +WINEVERSION=$VERSION +STAGINGVERSION=$VERSION +ARCHS="i386,x86_64" BUILD=${BUILD:-1} TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} + +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} if [ -z "$ARCH" ]; then case "$( uname -m )" in @@ -44,56 +53,71 @@ if [ -z "$ARCH" ]; then esac fi -CWD=$(pwd) -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} -WIN32=${WIN32:-yes} -WIN64=${WIN64:-no} +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 -if [ "$WIN32" = "no" ] && [ "$WIN64" = "no" ]; 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" +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-$VERSION -tar xvf $CWD/wine-$VERSION.tar.xz -tar xvf $CWD/$PRGNAM-$VERSION.tar.gz +rm -rf $PRGNAM-$STAGINGVERSION wine-$WINEVERSION +tar xvf $CWD/wine-$WINEVERSION.tar.xz +tar xvf $CWD/$PRGNAM-$STAGINGVERSION.tar.gz -cd $PRGNAM-$VERSION/patches +cd $PRGNAM-$STAGINGVERSION chown -R root:root . find -L . \ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ @@ -101,9 +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 {} \; -./patchinstall.sh DESTDIR=$TMP/wine-$VERSION --all - -cd $TMP/wine-$VERSION +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 \ @@ -112,17 +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* -# Remove -fPIC for i?86 or the build will hang. -if [ "$ARCH" == "i?86" ]; then - patch -p1 --verbose < $CWD/x86_remove_fpic.patch -fi - -if [ "$WIN64" = "yes" ]; then +if [ "$WINE64" = "yes" ]; then wine64="--with-wine64=../wine64" mkdir wine64 cd wine64 @@ -131,12 +148,13 @@ if [ "$WIN64" = "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 \ @@ -144,17 +162,15 @@ if [ "$WIN64" = "yes" ]; then --program-suffix= \ --disable-tests \ --build=$BUILD_ARCH - make depend make make install DESTDIR=$PKG cd .. fi -if [ "$WIN32" = "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" \ @@ -174,7 +190,6 @@ if [ "$WIN32" = "yes" ]; then --program-suffix= \ --disable-tests \ --build=$BUILD_ARCH - make depend make make install DESTDIR=$PKG @@ -191,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 @@ -210,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 @@ -222,4 +235,4 @@ cat $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/doinst.sh > $PKG/install/doinst.sh cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE |