[SOLVED] Steam/proton issues with some games, related to ALSA
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Oh hey, I think I know what's going on. Are y'all using Alien Bob's steam package? He's got a few things with workarounds, and I don't think they're strictly necessary anymore.
in /usr/bin/steam, he's got these libraries loaded:
export LD_LIBRARY_PATH=/usr/lib/seamonkey
export LD_PRELOAD='/usr/$LIB/libasound.so.2'
# Audio output goes to first "hw" device of ALSA
export SDL_AUDIODRIVER=alsa
export AUDIODEV=hw
I've got them all commented out, and everything works fine for me. I played Skyrim SE the other night, and aside from the normal glitch that was fixed with Glorious Eggroll's proton, everything was fine.
You might need to rebuild Steam's pin libraries after commenting out the above.
...I'm suspecting that the issue could be obsolete hacks made to steam rather than any problem with SDL2 (which is only minimally patched on -current).
Yes Pat you are right, the problem is not SDL2, the problem was the slackbuild.
Thank you both Pat and Garpu.
I downloaded steam_1.0.0.74.tar.gz from here https://repo.steampowered.com/steam/pool/steam/s/steam/ changed the source directory from steam-launcher to steam compress back to tar.gz and edited the 1.0.0.54 slackbuild to this:
and now it work as it should.
Code:
#!/bin/sh
# $Id: steamclient.SlackBuild,v 1.21 2016/12/17 20:04:35 root Exp root $
# Copyright 2012, 2013, 2014, 2015, 2016 Eric Hameleers, Eindhoven, NL
# All rights reserved.
#
# Permission to use, copy, modify, and distribute this software for
# any purpose with or without fee is hereby granted, provided that
# the above copyright notice and this permission notice appear in all
# copies.
#
# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
# -----------------------------------------------------------------------------
#
# Slackware SlackBuild script
# ===========================
# By: Eric Hameleers <alien@slackware.com>
# For: steamclient
# Descr: Linux client for the Steam gaming platform
# URL: http://valvesoftware.com/
# Needs:
# Changelog:
# 20121216-1: 16/Dec/2012 by Eric Hameleers <alien@slackware.com>
# * Initial build.
# 1.0.0.22-1: 28/jan/2013 by Eric Hameleers <alien@slackware.com>
# * Update.
# 1.0.0.25-1: 11/feb/2013 by Eric Hameleers <alien@slackware.com>
# * Update.
# 1.0.0.27-1: 14/feb/2013 by Eric Hameleers <alien@slackware.com>
# * Update. No longer in Beta!
# 1.0.0.28-1: 16/feb/2013 by Eric Hameleers <alien@slackware.com>
# * Update.
# 1.0.0.31-1: 23/feb/2013 by Eric Hameleers <alien@slackware.com>
# * Update.
# 1.0.0.33-1: 24/feb/2013 by Eric Hameleers <alien@slackware.com>
# * Update.
# 1.0.0.34-1: 25/feb/2013 by Eric Hameleers <alien@slackware.com>
# * Update.
# 1.0.0.35-1: 02/mar/2013 by Eric Hameleers <alien@slackware.com>
# * Update.
# 1.0.0.36-1: 02/mar/2013 by Eric Hameleers <alien@slackware.com>
# * Update.
# 1.0.0.38-1: 25/apr/2013 by Eric Hameleers <alien@slackware.com>
# * Update.
# 1.0.0.39-1: 10/may/2013 by Eric Hameleers <alien@slackware.com>
# * Update.
# 1.0.0.40-1: 01/sep/2013 by Eric Hameleers <alien@slackware.com>
# * An update which is not really relevant to Slackware.
# 1.0.0.41-1: 09/sep/2013 by Eric Hameleers <alien@slackware.com>
# * Update.
# 1.0.0.42-1: 14/sep/2013 by Eric Hameleers <alien@slackware.com>
# * Update.
# 1.0.0.44-1: 16/nov/2013 by Eric Hameleers <alien@slackware.com>
# * Update.
# 1.0.0.45-1: 30/nov/2013 by Eric Hameleers <alien@slackware.com>
# * Update.
# 1.0.0.48-1: 21/jun/2014 by Eric Hameleers <alien@slackware.com>
# * Update.
# 1.0.0.49-1: 29/aug/2014 by Eric Hameleers <alien@slackware.com>
# * Update.
# 1.0.0.50-1: 08/may/2015 by Eric Hameleers <alien@slackware.com>
# * Update. The libXinerama and libXext were added to the
# bootstrap runtime to fix AMD graphics driver crashing
# 1.0.0.51-1: 19/nov/2015 by Eric Hameleers <alien@slackware.com>
# - Add uinput rule for the Steam Controller.
# - Remove udev rule for the Oculus Rift VR headset.
# - Add udev rule for HTC Vive VR headset.
# 1.0.0.51-2: 19/dec/2015 by Eric Hameleers <alien@slackware.com>
# - use LD_PRELOAD to favor the system ALSA library - this fixes
# a steam-runtime conflict. Thanks to Ryan McQuen.
# 1.0.0.54-1: 17/dec/2016 by Eric Hameleers <alien@slackware.com>
# - update.
#
# Run 'sh steamclient.SlackBuild' to build a Slackware package.
# The package (.tgz) and .txt file as well as build logs are created in /tmp .
# Install it using 'installpkg'.
#
# -----------------------------------------------------------------------------
PRGNAM=steamclient
VERSION=${VERSION:-1.0.0.74} # Use "LATEST" to just dowload the latest version.
ARCH=i386
BUILD=${BUILD:-1}
TAG=${TAG:-alien}
# Where do we look for sources?
SRCDIR=$(cd $(dirname $0); pwd)
# Place to build (TMP) package (PKG) and output (OUTPUT) the program:
TMP=${TMP:-/tmp/build}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$VERSION" = "LATEST" ]; then
# We'll re-define VERSION later.
SRCURL="http://repo.steampowered.com/steam/archive/precise/steam_latest.tar.gz"
SOURCE="$SRCDIR/steam_latest.tar.gz"
else
SRCURL="http://repo.steampowered.com/steam/pool/steam/s/steam/steam_${VERSION}.tar.gz"
SOURCE="$SRCDIR/steam_${VERSION}.tar.gz"
fi
##
## --- with a little luck, you won't have to edit below this point --- ##
##
# Exit the script on errors:
set -e
trap 'echo "$0 FAILED at line ${LINENO}" | tee $OUTPUT/error-${PRGNAM}.log' ERR
# Catch unitialized variables:
set -u
P1=${1:-1}
# Save old umask and set to 0022:
_UMASK_=$(umask)
umask 0022
# Create working directories:
mkdir -p $OUTPUT # place for the package to be saved
mkdir -p $TMP/tmp-$PRGNAM # location to build the source
mkdir -p $PKG # place for the package to be built
rm -rf $PKG/* # always erase old package's contents
rm -rf $TMP/tmp-$PRGNAM/* # remove the remnants of previous build
rm -rf $OUTPUT/{configure,make,install,error,makepkg}-$PRGNAM.log
# remove old log files
# Source file availability:
if ! [ -f ${SOURCE} ]; then
echo "Source '$(basename ${SOURCE})' not available yet..."
# Check if the $SRCDIR is writable at all - if not, download to $OUTPUT
[ -w "$SRCDIR" ] || SOURCE="$OUTPUT/$(basename $SOURCE)"
if [ -f ${SOURCE} ]; then echo "Ah, found it!"; continue; fi
if ! [ "x${SRCURL}" == "x" ]; then
echo "Will download file to $(dirname $SOURCE)"
wget -nv -T 20 -O "${SOURCE}" "${SRCURL}" || true
if [ $? -ne 0 -o ! -s "${SOURCE}" ]; then
echo "Downloading '$(basename ${SOURCE})' failed... aborting the build."
mv -f "${SOURCE}" "${SOURCE}".FAIL
exit 1
fi
else
echo "File '$(basename ${SOURCE})' not available... aborting the build."
exit 1
fi
fi
if [ "$P1" == "--download" ]; then
echo "Download complete."
exit 0
fi
# --- PACKAGE BUILDING ---
echo "++"
echo "|| $PRGNAM-$VERSION"
echo "++"
cd $TMP/tmp-$PRGNAM
echo "Extracting the source archive(s) for $PRGNAM..."
tar xf ${SOURCE}
# Version check in case we downloaded the "latest" client:
if [ "$VERSION" = "LATEST" ]; then
echo -n "Changing package version from '$VERSION' to"
VERSION=$(head -1 steam*/debian/changelog | cut -d'(' -f2 | cut -d')' -f1)
echo " '$VERSION'."
fi
mv steam steam-${VERSION} 2>/dev/null
cd steam-${VERSION}
chown -R root:root .
chmod -R u+w,go+r-w,a+X-s .
# Move the binaries into place:
install -d -m 755 $PKG/usr/bin/
install -p -m 755 bin_steam.sh $PKG/usr/bin/steam
install -p -m 755 steamdeps $PKG/usr/bin/
# We don't use apt or dpkg or whatever:
cat << EOT > $PKG/usr/bin/steamdeps
#!/bin/sh
echo "Slackware 32-bit: Check the 'deps/<slackwareversion>' directory where you downloaded this package and install/upgrade the packages you find there."
echo "Slackware 64-bit multilib: Install/upgrade the packages in the 'deps/<slackwareversion>/multilib' subdirectory instead."
echo ""
exit 0
EOT
# Install the desktop file plus icons:
install -d -m 755 $PKG/usr/share/applications
install -p -m 644 steam.desktop $PKG/usr/share/applications/
for size in 16 24 32 48 256 ; do
install -d -m 755 $PKG/usr/share/icons/hicolor/${size}x${size}/apps/
install -p -m 644 icons/${size}/steam.png \
$PKG/usr/share/icons/hicolor/${size}x${size}/apps/
done
install -d -m 755 $PKG/usr/share/pixmaps/
install -p -m 644 icons/48/steam.png $PKG/usr/share/pixmaps/
install -p -m 644 icons/48/steam.png $PKG/usr/share/pixmaps/steam_tray.png
install -p -m 644 icons/48/steam_tray_mono.png $PKG/usr/share/pixmaps/steam_tray_mono.png
# Install the steam bootstrap:
install -d -m 755 $PKG/usr/lib/steam/
install -p -m 644 bootstraplinux_*_32.tar.xz $PKG/usr/lib/steam/
# Install udev rule for the Steam Controller:
#install -d -m 755 $PKG/lib/udev/rules.d
#install -p -m 644 lib/udev/rules.d/99-steam-controller-perms.rules \
# $PKG/lib/udev/rules.d/
# Add some documentation:
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -ia COPYING README steam_install_agreement.txt \
$PKG/usr/doc/$PRGNAM-$VERSION || true
cp -a $SRCDIR/README.Slackware $PKG/usr/doc/$PRGNAM-$VERSION || true
cat $SRCDIR/$(basename $0) > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
chown -R root:root $PKG/usr/doc/$PRGNAM-$VERSION
find $PKG/usr/doc -type f -exec chmod 644 {} \;
# Take care of the man page:
install -d -m 755 $PKG/usr/man/man6/
install -p -m 644 steam.6 $PKG/usr/man/man6/
gzip $PKG/usr/man/man6/steam.6
cd ${PKG}
# Apply changes to the steam script which we need on Slackware:
sed -i -e '/env bash/ a\
# --- Start Slackware mod ---\
# On window close, minimize to the system tray area:\
export STEAM_FRAME_FORCE_CLOSE=1\
# Add any custom variable exports here\
[ -f ${HOME}/.steam4slackware ] \&\& . ${HOME}/.steam4slackware\
# --- End Slackware mod ---' $PKG/usr/bin/steam
# We need to add a symlink to /sbin/pidof in order to make it be found:
sed -i -e '/bin\/bash/{N;s#$#\nexport PATH="/usr/lib/steam/local:$PATH"#}' $PKG/usr/bin/steam
sed -i -e 's/xterm/${TERM}/' $PKG/usr/bin/steam
# Our 'pidof' workaround:
mkdir $PKG/usr/lib/steam/local
ln -sf /sbin/pidof $PKG/usr/lib/steam/local/pidof
# Add this to the doinst.sh:
mkdir -p $PKG/install
cat <<EOINS >> $PKG/install/doinst.sh
# Handle the incoming configuration files:
config() {
for infile in \$1; do
NEW="\$infile"
OLD="\`dirname \$NEW\`/\`basename \$NEW .new\`"
# If there's no config file by that name, mv it over:
if [ ! -r \$OLD ]; then
mv \$NEW \$OLD
elif [ "\`cat \$OLD | md5sum\`" = "\`cat \$NEW | md5sum\`" ]; then
# toss the redundant copy
rm \$NEW
fi
# Otherwise, we leave the .new copy for the admin to consider...
done
}
# An example of how you handle your '.new' config files:
#config etc/steamclient.conf.new
# Update the desktop database:
if [ -x usr/bin/update-desktop-database ]; then
chroot . /usr/bin/update-desktop-database usr/share/applications > /dev/null 2>&1
fi
# Update hicolor theme cache:
if [ -d usr/share/icons/hicolor ]; then
if [ -x /usr/bin/gtk-update-icon-cache ]; then
chroot . /usr/bin/gtk-update-icon-cache -f -t usr/share/icons/hicolor 1> /dev/null 2> /dev/null
fi
fi
# Update the mime database:
if [ -x usr/bin/update-mime-database ]; then
chroot . /usr/bin/update-mime-database usr/share/mime >/dev/null 2>&1
fi
EOINS
# Add a package description:
mkdir -p $PKG/install
cat $SRCDIR/slack-desc > $PKG/install/slack-desc
if [ -f $SRCDIR/doinst.sh ]; then
cat $SRCDIR/doinst.sh >> $PKG/install/doinst.sh
fi
if [ -f $SRCDIR/slack-required ]; then
cat $SRCDIR/slack-required > $PKG/install/slack-required
fi
# Build the package:
cd $PKG
makepkg --linkadd y --chown n $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-tgz} 2>&1 | tee $OUTPUT/makepkg-${PRGNAM}.log
cd $OUTPUT
md5sum ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-tgz} > ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-tgz}.md5
cd -
cat $PKG/install/slack-desc | grep "^${PRGNAM}" > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txt
if [ -f $PKG/install/slack-required ]; then
cat $PKG/install/slack-required > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.dep
fi
# Restore the original umask:
umask ${_UMASK_}
FWIW I used Dugan's multilib, wine-staging build script for years, modding it slightly after he left Slackware, but somewhere I found this one. I wish it was signed so I could give credit but much like Dugan's, it downloads whatever source you want and the staging patches and builds a multilib wine-staging package for Slackware. It has worked on both 14.2 and on Current/15.0-RCc=x for me. It does not require MingW.
Code:
#!/bin/env bash
# Builds Wine with the wine-staging patches. This is meant for a multilib system, and will build a WOW64-enabled WINE (one "wine"
# executable for both 32-bit and 64-bit apps).
#
# This is based on the SBo SlackBuild.
set -e
# Change this as needed.
VERSION=6.23
BUILD=${BUILD:-1}
TAG=${TAG:-dc}
TMP=${TMP:-/tmp}
PKG=$TMP/package-wine
BRANCH=6.x
#export PATH=${PATH}:/usr/mingw-w64-v7.0.0_gcc9.3.0/bin
if [[ -z $ARCH ]]; then
case $( uname -m ) in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
case $ARCH in
"i486")
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
;;
"i686")
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
;;
"x86_64")
SLKCFLAGS="-O2 -fPIC"
;;
*)
SLKCFLAGS="-O2"
;;
esac
rm -rf "$PKG" "$TMP/wine_src"
cd "$TMP"
mkdir wine_src
cd wine_src
wget "https://dl.winehq.org/wine/source/$BRANCH/wine-$VERSION.tar.xz"
wget https://raw.githubusercontent.com/Ponce/slackbuilds/master/system/wine/slack-desc
tar xvf wine-${VERSION}.tar.xz
# comment this out for building without staging
wget --content-disposition "https://github.com/wine-staging/wine-staging/archive/v$VERSION.tar.gz"
tar xvf wine-staging-${VERSION}.tar.gz
cd wine-staging-$VERSION/patches
./patchinstall.sh --all DESTDIR="$TMP/wine_src/wine-$VERSION"
#cd $TMP/wine_src
#wget -c "https://github.com/acomminos/wine-pba/archive/master.zip"
#### Apply PBA patches
#unzip -o master.zip
#cd $TMP/wine_src/wine-$VERSION
# for PBA_PATCH in /tmp/wine_src/wine-pba-master/patches/*
# do
# patch -p1 < $PBA_PATCH
# done
cd "$TMP/wine_src/wine-$VERSION"
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
-o -perm 511 \) -exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
autoreconf -i
mkdir "$TMP/wine_src/win64-build"
cd "$TMP/wine_src/win64-build"
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
"$TMP/wine_src/wine-$VERSION/configure" \
--enable-win64 \
--prefix=/usr \
--mandir=/usr/man \
--docdir=/usr/doc/wine-"$VERSION" \
--disable-tests \
--build="$ARCH"-slackware-linux
make
mkdir -p "$TMP/wine_src/win32-build"
cd "$TMP/wine_src/win32-build"
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
"$TMP/wine_src/wine-$VERSION/configure" \
--with-wine64=../win64-build \
--prefix=/usr \
--mandir=/usr/man \
--docdir=/usr/doc/wine-"$VERSION" \
--disable-tests \
--build="$ARCH"-slackware-linux
make
make install DESTDIR="$PKG"
cd ../win64-build
make install DESTDIR="$PKG"
find "$PKG" -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
find "$PKG"/usr/man -type f -exec gzip -9 {} \;
for i in $( find "$PKG/usr/man" -type l ) ; do ln -s "$( readlink "$i" ).gz" "$i.gz" ; rm $i ; done
mkdir -p "$PKG/usr/doc/wine-$VERSION"
cp -a "$TMP"/wine_src/wine-"$VERSION"/[[:upper:]][[:upper:]]* "$PKG/usr/doc/wine-$VERSION"
mkdir -p "$PKG/install"
cat "$TMP/wine_src/slack-desc" > "$PKG/install/slack-desc"
cd "$PKG"
/sbin/makepkg -l y -c n "$TMP/wine-${VERSION}-${ARCH}-$BUILD$TAG.txz"
FWIW I used Dugan's multilib, wine-staging build script for years, modding it slightly after he left Slackware, but somewhere I found this one. I wish it was signed so I could give credit but much like Dugan's, it downloads whatever source you want and the staging patches and builds a multilib wine-staging package for Slackware. It has worked on both 14.2 and on Current/15.0-RCc=x for me. It does not require MingW.
Code:
#!/bin/env bash
# Builds Wine with the wine-staging patches. This is meant for a multilib system, and will build a WOW64-enabled WINE (one "wine"
# executable for both 32-bit and 64-bit apps).
#
# This is based on the SBo SlackBuild.
set -e
# Change this as needed.
VERSION=6.23
BUILD=${BUILD:-1}
TAG=${TAG:-dc}
TMP=${TMP:-/tmp}
PKG=$TMP/package-wine
BRANCH=6.x
#export PATH=${PATH}:/usr/mingw-w64-v7.0.0_gcc9.3.0/bin
if [[ -z $ARCH ]]; then
case $( uname -m ) in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
case $ARCH in
"i486")
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
;;
"i686")
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
;;
"x86_64")
SLKCFLAGS="-O2 -fPIC"
;;
*)
SLKCFLAGS="-O2"
;;
esac
rm -rf "$PKG" "$TMP/wine_src"
cd "$TMP"
mkdir wine_src
cd wine_src
wget "https://dl.winehq.org/wine/source/$BRANCH/wine-$VERSION.tar.xz"
wget https://raw.githubusercontent.com/Ponce/slackbuilds/master/system/wine/slack-desc
tar xvf wine-${VERSION}.tar.xz
# comment this out for building without staging
wget --content-disposition "https://github.com/wine-staging/wine-staging/archive/v$VERSION.tar.gz"
tar xvf wine-staging-${VERSION}.tar.gz
cd wine-staging-$VERSION/patches
./patchinstall.sh --all DESTDIR="$TMP/wine_src/wine-$VERSION"
#cd $TMP/wine_src
#wget -c "https://github.com/acomminos/wine-pba/archive/master.zip"
#### Apply PBA patches
#unzip -o master.zip
#cd $TMP/wine_src/wine-$VERSION
# for PBA_PATCH in /tmp/wine_src/wine-pba-master/patches/*
# do
# patch -p1 < $PBA_PATCH
# done
cd "$TMP/wine_src/wine-$VERSION"
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
-o -perm 511 \) -exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
autoreconf -i
mkdir "$TMP/wine_src/win64-build"
cd "$TMP/wine_src/win64-build"
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
"$TMP/wine_src/wine-$VERSION/configure" \
--enable-win64 \
--prefix=/usr \
--mandir=/usr/man \
--docdir=/usr/doc/wine-"$VERSION" \
--disable-tests \
--build="$ARCH"-slackware-linux
make
mkdir -p "$TMP/wine_src/win32-build"
cd "$TMP/wine_src/win32-build"
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
"$TMP/wine_src/wine-$VERSION/configure" \
--with-wine64=../win64-build \
--prefix=/usr \
--mandir=/usr/man \
--docdir=/usr/doc/wine-"$VERSION" \
--disable-tests \
--build="$ARCH"-slackware-linux
make
make install DESTDIR="$PKG"
cd ../win64-build
make install DESTDIR="$PKG"
find "$PKG" -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
find "$PKG"/usr/man -type f -exec gzip -9 {} \;
for i in $( find "$PKG/usr/man" -type l ) ; do ln -s "$( readlink "$i" ).gz" "$i.gz" ; rm $i ; done
mkdir -p "$PKG/usr/doc/wine-$VERSION"
cp -a "$TMP"/wine_src/wine-"$VERSION"/[[:upper:]][[:upper:]]* "$PKG/usr/doc/wine-$VERSION"
mkdir -p "$PKG/install"
cat "$TMP/wine_src/slack-desc" > "$PKG/install/slack-desc"
cd "$PKG"
/sbin/makepkg -l y -c n "$TMP/wine-${VERSION}-${ARCH}-$BUILD$TAG.txz"
Seems to me it fits in either thread (I saw the other right after I posted here) but I have no problem in it being moved... wherever it might be the most useful is best.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.