summaryrefslogtreecommitdiff
path: root/system/wine/wine.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'system/wine/wine.SlackBuild')
-rw-r--r--system/wine/wine.SlackBuild102
1 files changed, 62 insertions, 40 deletions
diff --git a/system/wine/wine.SlackBuild b/system/wine/wine.SlackBuild
index 9304f5889b..94702848f0 100644
--- a/system/wine/wine.SlackBuild
+++ b/system/wine/wine.SlackBuild
@@ -24,17 +24,9 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=wine
-VERSION=${VERSION:-2.0.3}
+VERSION=${VERSION:-2.0.4}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
-if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) ARCH=i586 ;;
- arm*) ARCH=arm ;;
- *) ARCH=$( uname -m ) ;;
- esac
-fi
-
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
@@ -42,22 +34,44 @@ OUTPUT=${OUTPUT:-/tmp}
# If your video card does not support hardware accelerated OpenGL,
# then run the script like: OPENGL=NO ./wine.SlackBuild
-OPENGL=${OPENGL:-YES}
-
-if [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
- LIBDIRSUFFIX=""
+if [ "${OPENGL:-YES}" = "YES" ]; then
+ do_opengl="with"
else
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
+ do_opengl="without"
+fi
+
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$(uname -m) ;;
+ esac
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"
+ SLKLDFLAGS="-L/usr/lib -ldl"
+ ;;
+ x86_64)
+ [ -n "$WIN64" ] && WIN64="--enable-win64"
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+ SLKLDFLAGS="-L/usr/lib64"
+ ;;
+esac
+
set -e
rm -rf $PKG
@@ -68,34 +82,42 @@ tar xvf $CWD/$PRGNAM-$VERSION.tar.xz
cd $PRGNAM-$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 {} \;
-
-# If OPENGL=YES above, then enable opengl; otherwise, disable it.
-if [ "$OPENGL" = "YES" ]; then
- do_opengl="with"
- else
- do_opengl="without"
-fi
+ \( -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 {} \;
# Fix for flex
patch -p1 --verbose < $CWD/0001-winhlp32-Workaround-a-bug-in-Flex.patch
+# Remove -fPIC for i?86 or the build will hang
+if [ "$ARCH" == "i?86" ]; then
+ patch -p1 --verbose < $CWD/x86_remove_fpic.patch
+fi
+
+LDFLAGS="$SLKLDFLAGS" \
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
./configure \
- --prefix=/usr \
- --mandir=/usr/man \
- --docdir=/usr/doc/$PRGNAM-$VERSION \
- --with-gnutls=yes \
- --${do_opengl}-opengl \
- --build=$ARCH-slackware-linux
+ $WIN64 \
+ --prefix=/usr \
+ --localstatedir=/var \
+ --libdir=/usr/lib$LIBDIRSUFFIX \
+ --sysconfdir=/etc \
+ --mandir=/usr/man \
+ --with-x \
+ --with-gnutls \
+ --${do_opengl}-opengl \
+ --program-prefix= \
+ --program-suffix= \
+ --disable-tests \
+ --build=$BUILD_ARCH
make
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
+ | 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