LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 12-25-2021, 07:48 PM   #16
garpu
Senior Member
 
Registered: Oct 2009
Distribution: Slackware
Posts: 1,536

Rep: Reputation: 899Reputation: 899Reputation: 899Reputation: 899Reputation: 899Reputation: 899Reputation: 899

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.
 
4 members found this post helpful.
Old 12-27-2021, 10:27 AM   #17
adcdam
Member
 
Registered: Aug 2020
Location: Berisso, Argentina
Distribution: Slackware
Posts: 255

Rep: Reputation: 205Reputation: 205Reputation: 205
Quote:
Originally Posted by volkerdi View Post
Where are you obtaining steam from? Based on reading this entire thread:

https://github.com/ValveSoftware/ste...ime/issues/357

...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_}

Last edited by adcdam; 12-27-2021 at 10:47 AM.
 
Old 12-27-2021, 12:11 PM   #18
garpu
Senior Member
 
Registered: Oct 2009
Distribution: Slackware
Posts: 1,536

Rep: Reputation: 899Reputation: 899Reputation: 899Reputation: 899Reputation: 899Reputation: 899Reputation: 899
Yay! Yeah, I don't think those fixes are needed for current. I can't vouch for what's going on with 14.2.
 
Old 12-29-2021, 06:41 PM   #19
enorbet
Senior Member
 
Registered: Jun 2003
Location: Virginia
Distribution: Slackware = Main OpSys
Posts: 4,784

Rep: Reputation: 4434Reputation: 4434Reputation: 4434Reputation: 4434Reputation: 4434Reputation: 4434Reputation: 4434Reputation: 4434Reputation: 4434Reputation: 4434Reputation: 4434
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"
 
Old 12-29-2021, 11:56 PM   #20
adcdam
Member
 
Registered: Aug 2020
Location: Berisso, Argentina
Distribution: Slackware
Posts: 255

Rep: Reputation: 205Reputation: 205Reputation: 205
Quote:
Originally Posted by enorbet View Post
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"
Hi enorbet isnt your post more related to this one? https://www.linuxquestions.org/quest...ld-4175705297/
 
Old 12-30-2021, 12:03 AM   #21
enorbet
Senior Member
 
Registered: Jun 2003
Location: Virginia
Distribution: Slackware = Main OpSys
Posts: 4,784

Rep: Reputation: 4434Reputation: 4434Reputation: 4434Reputation: 4434Reputation: 4434Reputation: 4434Reputation: 4434Reputation: 4434Reputation: 4434Reputation: 4434Reputation: 4434
Quote:
Originally Posted by adcdam View Post
Hi enorbet isnt your post more related to this one? https://www.linuxquestions.org/quest...ld-4175705297/
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.
 
Old 12-30-2021, 02:16 AM   #22
adcdam
Member
 
Registered: Aug 2020
Location: Berisso, Argentina
Distribution: Slackware
Posts: 255

Rep: Reputation: 205Reputation: 205Reputation: 205
Dont worry man, either place is fine.
 
  


Reply

Tags
alsa, libasound, proton, steam, wine



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
setcap works with Wine but not with Proton (Proton "ignores" it) Liemaeu Linux - Software 2 03-24-2021 08:18 AM
LXer: There's now over 6,000 Linux games on Steam plus thousands more playable with Steam Play Proton LXer Syndicated Linux News 0 04-24-2020 02:38 AM
LXer: Steam Play Proton 4.11-9 is out with a few fixes, plus a new release of Proton GE LXer Syndicated Linux News 0 11-28-2019 06:12 PM
LXer: Want a more up to date Proton for Steam Play on Linux? Proton GE has a big new release out LXer Syndicated Linux News 0 09-04-2019 11:51 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 01:31 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration