summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkhronosschoty <khronosschoty@posteo.org>2017-05-12 00:53:19 +0700
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2017-05-13 06:59:37 +0700
commite3402942e7d99c38c370eaa14c43535b54dcc129 (patch)
treee23745c453eb6b0f2102b80500f3aeea7b6c9efc
parent4e54323f023ab19939428c9846a3a8be9542393f (diff)
downloadslackbuilds-e3402942e7d99c38c370eaa14c43535b54dcc129.tar.gz
network/PaleMoon: Support different compilers.
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-rw-r--r--network/PaleMoon/PaleMoon.SlackBuild40
-rw-r--r--network/PaleMoon/PaleMoon.info4
-rw-r--r--network/PaleMoon/README23
3 files changed, 57 insertions, 10 deletions
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