network/PaleMoon: Support different compilers.

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
khronosschoty 2017-05-12 00:53:19 +07:00 committed by Willy Sudiarto Raharjo
parent 4e54323f02
commit e3402942e7
3 changed files with 57 additions and 10 deletions

View file

@ -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} \

View file

@ -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"

View file

@ -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