From e3402942e7d99c38c370eaa14c43535b54dcc129 Mon Sep 17 00:00:00 2001 From: khronosschoty Date: Fri, 12 May 2017 00:53:19 +0700 Subject: network/PaleMoon: Support different compilers. Signed-off-by: Willy Sudiarto Raharjo --- network/PaleMoon/PaleMoon.SlackBuild | 40 +++++++++++++++++++++++++++++++++--- network/PaleMoon/PaleMoon.info | 4 ++-- network/PaleMoon/README | 23 ++++++++++++++++----- 3 files changed, 57 insertions(+), 10 deletions(-) (limited to 'network') diff --git a/network/PaleMoon/PaleMoon.SlackBuild b/network/PaleMoon/PaleMoon.SlackBuild index 1498a83aa7..c1e26d93d7 100644 --- a/network/PaleMoon/PaleMoon.SlackBuild +++ b/network/PaleMoon/PaleMoon.SlackBuild @@ -26,7 +26,7 @@ PRGNAM=PaleMoon VERSION=${VERSION:-27.3.0} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then @@ -60,6 +60,33 @@ else LIBDIRSUFFIX="" fi +# Set the compiler that will be used. The ideal compiler for +# PaleMoon is most likely gcc-4.9.4. +# +# If the user has specified a compiler, use that. Other wise +# look to see if gcc-4.9.4 and g++-4.9.4 can be found. +if [ "$CC" = "" ] && [ "$CXX" = "" ]; then + GCC494=$(type -P gcc-4.9.4) && GCXX494=$(type -P g++-gcc-4.9.4) +fi +# If no compiler is specified by the user, default to using +# gcc-4.9.4 and g++-gcc-4.9.4; if they are present and can be found. +if [ "$GCC494" != "" ] && [ "$GCXX494" != "" ]; then + CC=gcc-4.9.4 && CXX=g++-gcc-4.9.4 +# If gcc-4.9.4 is not found look for it, and if found, use gcc-4.8.2 +elif [ "$GCC494" = "" ] && [ "$GCXX494" = "" ]; then + GCC482=$(type -P gcc-4.8.2) && GCXX482=$(type -P g++-gcc-4.8.2) + if [ "$GCC482" != "" ] && [ "$GCXX482" != "" ]; then + CC=gcc-4.8.2 && CXX=g++-gcc-4.8.2 +# Lastly, if there is no user defined compiler to use, and, +# gcc-4.9.4 can not be found, use the default Slackware gcc +# and g++. + else CC=gcc && CXX=g++ + fi +fi + +export CC="$CC" +export CXX="$CXX" + rm -rf $PKG $TMP/pmbuild $TMP/gold mkdir -p $TMP $PKG $OUTPUT $TMP/pmbuild $TMP/gold @@ -74,8 +101,8 @@ if [ "${ENABLE_DEBUG:-no}" = "yes" ]; then cp $TMP/gold/gold $TMP/gold/ld chmod +x $TMP/gold/* PATH="$TMP/gold:$PATH" - export CC="gcc -B$TMP/gold" - export CXX="g++ -B$TMP/gold" + export CC="$CC -B$TMP/gold" + export CXX="$CXX -B$TMP/gold" fi fi @@ -135,12 +162,18 @@ if [ "$LIBDIRSUFFIX" = "64" ]; then xpcom/io/nsAppFileLocationProvider.cpp fi + +# Without LANG=C, building the Python environment may fail with: +# "UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 36: ordinal not in range(128)" +export LANG=C + export MOZBUILD_STATE_PATH="$TMP/Pale-Moon-${VERSION}_Release/moz.build" export MOZCONFIG="$TMP/Pale-Moon-${VERSION}_Release/.mozconfig" export MOZILLA_OFFICIAL=1 export MOZ_MAKE_FLAGS=$MAKEFLAGS export CFLAGS="$SLKCFLAGS" export CXXFLAGS="$SLKCFLAGS" +export PYTHON=/usr/bin/python2 # Dev tools are enabled by default in the official binaries, so we should do the same here; # passing DEVTOOLS=no to the script, however, will disable them. @@ -162,6 +195,7 @@ OPTIONS="\ --disable-mochitests \ --enable-jemalloc \ --with-pthreads \ + --enable-shared-js \ $DEVTOOLS \ $DEBUG \ --x-libraries=/usr/lib${LIBDIRSUFFIX} \ diff --git a/network/PaleMoon/PaleMoon.info b/network/PaleMoon/PaleMoon.info index e0feb757da..af029d1e49 100644 --- a/network/PaleMoon/PaleMoon.info +++ b/network/PaleMoon/PaleMoon.info @@ -6,9 +6,9 @@ DOWNLOAD="https://github.com/MoonchildProductions/Pale-Moon/archive/27.3.0_Relea http://ponce.cc/slackware/sources/repo/autoconf-2.13-consolidated_fixes-1.patch.gz" MD5SUM="4fe110f7aab01b6d7ad26947e800e29e \ f2994d302cf736e7e71974edfa51da3c \ - d6cdb231911a8d0b08a25b8dd8c5935c" + d6cdb231911a8d0b08a25b8dd8c5935c" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="ffmpeg" MAINTAINER="khronosschoty" -EMAIL="khronosschoty@utmail.net" +EMAIL="khronosschoty@posteo.org" diff --git a/network/PaleMoon/README b/network/PaleMoon/README index 67fe910948..f41e8b9a9e 100644 --- a/network/PaleMoon/README +++ b/network/PaleMoon/README @@ -21,17 +21,30 @@ Slackware style, in a manner that conforms to official Pale Moon Linux releases; while, at the same time, providing useful and easy ways to deviate if desired. -To package this version of Pale Moon for installation along side any -other version of Pale Moon, (such as the before mentioned version known -here as "palemoon") pass the script the parameter: +To package this version of Pale Moon for installation along side any other version of +Pale Moon, (such as the before mentioned version known here as "palemoon") pass the +script the parameter: APPEND_VERSION_SUFFIX=yes See http://docs.slackware.com/howtos:software:palemoon for additional tips and help resources. Using the Oxygen theme is known to cause Pale Moon to crash; if you are -experiencing crashes, and segfaults, make sure you are not using this theme. -See the help doc link above for creative tips and workarounds. +experiencing crashes, and segfaults, make sure you are not using this theme; +or use Alienbob's patched oxygen-gtk2; which will fix this issue. +http://www.slackware.com/~alien/slackbuilds/oxygen-gtk2/build/ +See the help doc link above for other creative tips and workarounds. + +If you experience crashes when visiting some sites, notable yahoo.com, +using a different compiler will likely resolve these issues. Gcc-4.9.4 +is most likely the "best" compiler to use. Some users report that compiling +with clang also resolves crashes. Both, clang and the default GCC Slackware +ships with, however, are unsupported; but may work. If gcc-4.9.4 is installed +and detected, the script will compile PaleMoon with it; however, if you pass +the script the variable CC=clang and CXX=clang++ (for example) the script will +atempt to compile PaleMoon using clang (replace clang and clang++ with +whatever compiler is desired, and present in the system). If you desire to +install and use gcc-4.9.4 (and need help), visit the wiki help link above. If you are having issues with media such as h.264 html 5 video, make sure ffmpeg is installed before compiling Pale Moon -- installing ffmpeg -- cgit v1.2.3