From 2962454900e1a58bef3030e2404c10f2de47843a Mon Sep 17 00:00:00 2001 From: David Woodfall Date: Wed, 10 Jan 2018 23:52:21 +0000 Subject: system/wine: Updated for version 2.0.4. Signed-off-by: David Spencer --- system/wine/README | 49 +++++++-- system/wine/wine.SlackBuild | 102 +++++++++++-------- system/wine/wine.info | 8 +- system/wine/x86_remove_fpic.patch | 202 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 309 insertions(+), 52 deletions(-) create mode 100644 system/wine/x86_remove_fpic.patch diff --git a/system/wine/README b/system/wine/README index 578c86d92e..cd197eb7fd 100644 --- a/system/wine/README +++ b/system/wine/README @@ -1,17 +1,50 @@ Wine is an Open Source implementation of the Windows API on top of X -and Unix. +for Linux and Unix. NOTE: This builds the stable version of wine. If you need cutting-edge then you may want to check out wine-staging. -If your video card does not support hardware-accelerated OpenGL, then -run the script like this: OPENGL=NO ./wine.SlackBuild +Options: -NOTE: This will not build on a stock 64bit Slackware system, and we -do not support doing so with 32bit-compatibility packages. That -doesn't mean that it won't work - we just don't support it at all. +To build wine to run 64bit Windows executable support, use: + +WIN64=yes ./wine.SlackBuild + +To disable OpenGL support, use: + +OPENGL=no ./wine.SlackBuild + +The above options can be combined. Optional dependencies: -fontforge -webcore-fonts +fontforge: +(to build tahoma, tahomabd, and marlett fonts) + +webcore-fonts: +(for tahoma, lucida console, MS fonts for the web and Win Vista) + +==================================================================== + +NOTES + +To build 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). + +AlienBOB's multilib readme and repo: + +https://docs.slackware.com/slackware:multilib +http://www.slackware.com/~alien/multilib/ + +I have made a script that rsyncs with alienBOB's repo and installs +the multilib packages which can be found here: + +http://dawoodfall.net/files/scripts/slackware/alien-multilib-rysnc.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 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 diff --git a/system/wine/wine.info b/system/wine/wine.info index 5ad55628a9..c307993a07 100644 --- a/system/wine/wine.info +++ b/system/wine/wine.info @@ -1,9 +1,9 @@ PRGNAM="wine" -VERSION="2.0.3" +VERSION="2.0.4" HOMEPAGE="http://www.winehq.com/" -DOWNLOAD="http://prdownloads.sourceforge.net/wine/wine-2.0.3.tar.xz" -MD5SUM="f85b3919cf45aa640f7784d3093a8995" -DOWNLOAD_x86_64="UNSUPPORTED" +DOWNLOAD="http://prdownloads.sourceforge.net/wine/wine-2.0.4.tar.xz" +MD5SUM="15916710f16119ec135cc450818db76f" +DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="" MAINTAINER="David Woodfall" diff --git a/system/wine/x86_remove_fpic.patch b/system/wine/x86_remove_fpic.patch new file mode 100644 index 0000000000..ac949dc86d --- /dev/null +++ b/system/wine/x86_remove_fpic.patch @@ -0,0 +1,202 @@ +diff -Naur a/configure b/configure +--- a/configure 2018-01-02 20:58:13.000000000 +0000 ++++ b/configure 2018-01-08 18:31:55.480995247 +0000 +@@ -8072,7 +8072,7 @@ + done + + LIBEXT="dylib" +- DLLFLAGS="$DLLFLAGS -fPIC" ++ DLLFLAGS="$DLLFLAGS " + LDRPATH_INSTALL="-Wl,-rpath,@loader_path/\`\$(MAKEDEP) -R \${bindir} \${libdir}\`" + LDRPATH_LOCAL="-Wl,-rpath,@loader_path/\$(top_builddir)/libs/wine" + COREFOUNDATION_LIBS="-framework CoreFoundation" +@@ -8304,14 +8304,14 @@ + ;; + + linux-android*) +- DLLFLAGS="$DLLFLAGS -fPIC" +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fPIC -Wl,--export-dynamic" >&5 +-$as_echo_n "checking whether the compiler supports -fPIC -Wl,--export-dynamic... " >&6; } ++ DLLFLAGS="$DLLFLAGS " ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,--export-dynamic" >&5 ++$as_echo_n "checking whether the compiler supports -Wl,--export-dynamic... " >&6; } + if ${ac_cv_cflags__fPIC__Wl___export_dynamic+:} false; then : + $as_echo_n "(cached) " >&6 + else + ac_wine_try_cflags_saved=$CFLAGS +-CFLAGS="$CFLAGS -fPIC -Wl,--export-dynamic" ++CFLAGS="$CFLAGS -Wl,--export-dynamic" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + int main(int argc, char **argv) { return 0; } +@@ -8330,14 +8330,14 @@ + if test "x$ac_cv_cflags__fPIC__Wl___export_dynamic" = xyes; then : + LDEXECFLAGS="-Wl,--export-dynamic" + fi +- as_ac_var=`$as_echo "ac_cv_cflags_-fPIC -Wl,--rpath,\\$ORIGIN/../lib" | $as_tr_sh` +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fPIC -Wl,--rpath,\$ORIGIN/../lib" >&5 +-$as_echo_n "checking whether the compiler supports -fPIC -Wl,--rpath,\$ORIGIN/../lib... " >&6; } ++ as_ac_var=`$as_echo "ac_cv_cflags_ -Wl,--rpath,\\$ORIGIN/../lib" | $as_tr_sh` ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,--rpath,\$ORIGIN/../lib" >&5 ++$as_echo_n "checking whether the compiler supports -Wl,--rpath,\$ORIGIN/../lib... " >&6; } + if eval \${$as_ac_var+:} false; then : + $as_echo_n "(cached) " >&6 + else + ac_wine_try_cflags_saved=$CFLAGS +-CFLAGS="$CFLAGS -fPIC -Wl,--rpath,\$ORIGIN/../lib" ++CFLAGS="$CFLAGS -Wl,--rpath,\$ORIGIN/../lib" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + int main(int argc, char **argv) { return 0; } +@@ -8358,14 +8358,14 @@ + LDRPATH_INSTALL="-Wl,--rpath,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \${bindir} \${libdir}\`" + LDRPATH_LOCAL="-Wl,--rpath,\\\$\$ORIGIN/\$(top_builddir)/libs/wine" + else +- as_ac_var=`$as_echo "ac_cv_cflags_-fPIC -Wl,-R,\\$ORIGIN/../lib" | $as_tr_sh` +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fPIC -Wl,-R,\$ORIGIN/../lib" >&5 +-$as_echo_n "checking whether the compiler supports -fPIC -Wl,-R,\$ORIGIN/../lib... " >&6; } ++ as_ac_var=`$as_echo "ac_cv_cflags_ -Wl,-R,\\$ORIGIN/../lib" | $as_tr_sh` ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,-R,\$ORIGIN/../lib" >&5 ++$as_echo_n "checking whether the compiler supports -Wl,-R,\$ORIGIN/../lib... " >&6; } + if eval \${$as_ac_var+:} false; then : + $as_echo_n "(cached) " >&6 + else + ac_wine_try_cflags_saved=$CFLAGS +-CFLAGS="$CFLAGS -fPIC -Wl,-R,\$ORIGIN/../lib" ++CFLAGS="$CFLAGS -Wl,-R,\$ORIGIN/../lib" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + int main(int argc, char **argv) { return 0; } +@@ -8448,7 +8448,7 @@ + ;; + + *) +- DLLFLAGS="$DLLFLAGS -fPIC" ++ DLLFLAGS="$DLLFLAGS " + LDEXECFLAGS="" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can build a GNU style ELF dll" >&5 + $as_echo_n "checking whether we can build a GNU style ELF dll... " >&6; } +@@ -8456,7 +8456,7 @@ + $as_echo_n "(cached) " >&6 + else + ac_wine_try_cflags_saved=$CFLAGS +-CFLAGS="$CFLAGS -fPIC -shared -Wl,-Bsymbolic" ++CFLAGS="$CFLAGS -shared -Wl,-Bsymbolic" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + void myfunc() {} +@@ -8475,13 +8475,13 @@ + if test "$ac_cv_c_dll_gnuelf" = "yes" + then + LIBWINE_LDFLAGS="-shared" +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fPIC -shared -Wl,-soname,confest.so.1" >&5 +-$as_echo_n "checking whether the compiler supports -fPIC -shared -Wl,-soname,confest.so.1... " >&6; } ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -shared -Wl,-soname,confest.so.1" >&5 ++$as_echo_n "checking whether the compiler supports -shared -Wl,-soname,confest.so.1... " >&6; } + if ${ac_cv_cflags__fPIC__shared__Wl__soname_confest_so_1+:} false; then : + $as_echo_n "(cached) " >&6 + else + ac_wine_try_cflags_saved=$CFLAGS +-CFLAGS="$CFLAGS -fPIC -shared -Wl,-soname,confest.so.1" ++CFLAGS="$CFLAGS -shared -Wl,-soname,confest.so.1" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + int main(int argc, char **argv) { return 0; } +@@ -8500,13 +8500,13 @@ + if test "x$ac_cv_cflags__fPIC__shared__Wl__soname_confest_so_1" = xyes; then : + LIBWINE_LDFLAGS="-shared -Wl,-soname,libwine.so.$libwine_soversion" + else +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fPIC -shared -Wl,-h,confest.so.1" >&5 +-$as_echo_n "checking whether the compiler supports -fPIC -shared -Wl,-h,confest.so.1... " >&6; } ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -shared -Wl,-h,confest.so.1" >&5 ++$as_echo_n "checking whether the compiler supports -shared -Wl,-h,confest.so.1... " >&6; } + if ${ac_cv_cflags__fPIC__shared__Wl__h_confest_so_1+:} false; then : + $as_echo_n "(cached) " >&6 + else + ac_wine_try_cflags_saved=$CFLAGS +-CFLAGS="$CFLAGS -fPIC -shared -Wl,-h,confest.so.1" ++CFLAGS="$CFLAGS -shared -Wl,-h,confest.so.1" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + int main(int argc, char **argv) { return 0; } +@@ -8528,13 +8528,13 @@ + fi + + echo '{ global: *; };' >conftest.map +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fPIC -shared -Wl,--version-script=conftest.map" >&5 +-$as_echo_n "checking whether the compiler supports -fPIC -shared -Wl,--version-script=conftest.map... " >&6; } ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -shared -Wl,--version-script=conftest.map" >&5 ++$as_echo_n "checking whether the compiler supports -shared -Wl,--version-script=conftest.map... " >&6; } + if ${ac_cv_cflags__fPIC__shared__Wl___version_script_conftest_map+:} false; then : + $as_echo_n "(cached) " >&6 + else + ac_wine_try_cflags_saved=$CFLAGS +-CFLAGS="$CFLAGS -fPIC -shared -Wl,--version-script=conftest.map" ++CFLAGS="$CFLAGS -shared -Wl,--version-script=conftest.map" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + int main(int argc, char **argv) { return 0; } +@@ -8555,13 +8555,13 @@ + fi + rm -f conftest.map + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fPIC -Wl,--export-dynamic" >&5 +-$as_echo_n "checking whether the compiler supports -fPIC -Wl,--export-dynamic... " >&6; } ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,--export-dynamic" >&5 ++$as_echo_n "checking whether the compiler supports -Wl,--export-dynamic... " >&6; } + if ${ac_cv_cflags__fPIC__Wl___export_dynamic+:} false; then : + $as_echo_n "(cached) " >&6 + else + ac_wine_try_cflags_saved=$CFLAGS +-CFLAGS="$CFLAGS -fPIC -Wl,--export-dynamic" ++CFLAGS="$CFLAGS -Wl,--export-dynamic" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + int main(int argc, char **argv) { return 0; } +@@ -8581,14 +8581,14 @@ + LDEXECFLAGS="-Wl,--export-dynamic" + fi + +- as_ac_var=`$as_echo "ac_cv_cflags_-fPIC -Wl,--rpath,\\$ORIGIN/../lib" | $as_tr_sh` +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fPIC -Wl,--rpath,\$ORIGIN/../lib" >&5 +-$as_echo_n "checking whether the compiler supports -fPIC -Wl,--rpath,\$ORIGIN/../lib... " >&6; } ++ as_ac_var=`$as_echo "ac_cv_cflags_ -Wl,--rpath,\\$ORIGIN/../lib" | $as_tr_sh` ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,--rpath,\$ORIGIN/../lib" >&5 ++$as_echo_n "checking whether the compiler supports -Wl,--rpath,\$ORIGIN/../lib... " >&6; } + if eval \${$as_ac_var+:} false; then : + $as_echo_n "(cached) " >&6 + else + ac_wine_try_cflags_saved=$CFLAGS +-CFLAGS="$CFLAGS -fPIC -Wl,--rpath,\$ORIGIN/../lib" ++CFLAGS="$CFLAGS -Wl,--rpath,\$ORIGIN/../lib" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + int main(int argc, char **argv) { return 0; } +@@ -8609,14 +8609,14 @@ + LDRPATH_INSTALL="-Wl,--rpath,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \${bindir} \${libdir}\`" + LDRPATH_LOCAL="-Wl,--rpath,\\\$\$ORIGIN/\$(top_builddir)/libs/wine" + else +- as_ac_var=`$as_echo "ac_cv_cflags_-fPIC -Wl,-R,\\$ORIGIN/../lib" | $as_tr_sh` +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fPIC -Wl,-R,\$ORIGIN/../lib" >&5 +-$as_echo_n "checking whether the compiler supports -fPIC -Wl,-R,\$ORIGIN/../lib... " >&6; } ++ as_ac_var=`$as_echo "ac_cv_cflags_ -Wl,-R,\\$ORIGIN/../lib" | $as_tr_sh` ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,-R,\$ORIGIN/../lib" >&5 ++$as_echo_n "checking whether the compiler supports -Wl,-R,\$ORIGIN/../lib... " >&6; } + if eval \${$as_ac_var+:} false; then : + $as_echo_n "(cached) " >&6 + else + ac_wine_try_cflags_saved=$CFLAGS +-CFLAGS="$CFLAGS -fPIC -Wl,-R,\$ORIGIN/../lib" ++CFLAGS="$CFLAGS -Wl,-R,\$ORIGIN/../lib" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + int main(int argc, char **argv) { return 0; } +@@ -8804,7 +8804,7 @@ + $as_echo_n "(cached) " >&6 + else + ac_wine_try_cflags_saved=$CFLAGS +-CFLAGS="$CFLAGS -fPIC -Wl,-G,-h,conftest.so.1.0,-B,symbolic" ++CFLAGS="$CFLAGS -Wl,-G,-h,conftest.so.1.0,-B,symbolic" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + void myfunc() {} -- cgit v1.2.3