network/icecat: Updated for version 31.2.0.

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
melikamp 2014-10-23 22:36:30 +07:00 committed by Willy Sudiarto Raharjo
parent 68b3a7e21a
commit c78a3d404f
3 changed files with 131 additions and 43 deletions

View File

@ -2,17 +2,29 @@ GNUzilla is the GNU version of the Mozilla suite, and GNU IceCat is
the GNU version of the Firefox browser. Its main advantage is an
ethical one: it is entirely free software. While the Firefox source
code from the Mozilla project is free software, they distribute and
recommend non-free software as plug-ins and addons.
recommend non-free software as plug-ins and addons. Also their
trademark license restricts distribution in several ways incompatible
with freedom 0. Icecat includes the following privacy protection
features:
In addition, GNU IceCat includes some privacy protection features,
included in a separate addon:
LibreJS: GNU LibreJS aims to address the JavaScript problem described
in Richard Stallman's article The JavaScript Trap.
1. Some sites refer to zero-size images on other hosts to keep track
of cookies. When IceCat detects this mechanism it blocks cookies
from the site hosting the zero-length image file. (It is possible
to re-enable such a site by removing it from the blocked hosts
list.)
Https-Everywhere: Extension that encrypts your communications with
many major websites, making your browsing more secure.
2. Other sites rewrite the host name in links redirecting the user to
another site, mainly to "spy" on clicks. When this behavior is
detected, IceCat shows a message alerting the user.
SpyBlock: Blocks privacy trackers while in normal browsing mode, and
all third party requests when in private browsing mode. Based on
Adblock Plus.
AboutIceCat: Adds a custom "about:icecat" homepage with links to
information about the free software and privacy features in IceCat,
and checkboxes to enable and disable the ones more prone to break
websites.
Fingerprinting countermeasures: Fingerprinting is a series of
techniques allowing to uniquely identify a browser based on specific
characterisics of that particular instance (like what fonts are
available in that machine). Unlike cookies the user cannot opt-out of
being tracked this way, so the browser has to avoid giving away that
kind of hints.

View File

@ -3,11 +3,14 @@
# Slackware build script for icecat
# Written by David Negroni <dnegroni.italy@gmail.com>
# Modified by melikamp <melikamp@melikamp.net>
# With some code copy-pasted from Patrick J. Volkerding's
# firefox build script.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
# (at your option) any later version, with the following exception:
# the text of the GPL license may be omitted.
# This program is distributed in the hope that it will be useful, but
# without any warranty; without even the implied warranty of
@ -17,15 +20,12 @@
# including the end of all existence and the Universe as we know it.
# See the GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program (most likely, a file named COPYING). If
# not, see <http://www.gnu.org/licenses/>.
# You can get the latest version of this slackbuild early at
# http://melikamp.com/features/slackbuilds.shtml
# You may have received a copy of the GNU General Public License along
# with this program (most likely, a file named COPYING). If not, see
# <http://www.gnu.org/licenses/>.
PRGNAM="icecat"
VERSION=${VERSION:-24.0}
VERSION=${VERSION:-31.2.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@ -43,55 +43,131 @@ PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
SLKCFLAGS=""
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
OPTIMIZE=" --enable-optimize=-O2 "
# On IA32, use gold since GNU ld runs out of memory linking libxul.so:
PATH="$(pwd)/gold:$PATH"
export CC="gcc -B$(pwd)/gold"
export CXX="g++ -B$(pwd)/gold"
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
OPTIMIZE=" --enable-optimize=-O2 "
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
OPTIMIZE=" --enable-optimize=-O2 "
elif [ "$ARCH" = "arm" ]; then
SLKCFLAGS="-O2 -march=armv4 -mtune=xscale"
LIBDIRSUFFIX=""
OPTIMIZE=" --enable-optimize=-O2 "
elif [ "$ARCH" = "armel" ]; then
SLKCFLAGS="-O2 -march=armv4t"
LIBDIRSUFFIX=""
OPTIMIZE=" --enable-optimize=-O2 "
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
OPTIMIZE=" --enable-optimize=-O2 "
fi
#NUMJOBS=${NUMJOBS:-" -j7 "}
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/${PRGNAM}-$VERSION.tar.gz || exit 1
tar xvf $CWD/${PRGNAM}-$VERSION.tar.xz
cd ${PRGNAM}-$VERSION
# Fix a long standing bug that's prevented staying current on GTK+.
# Thanks to the BLFS folks. :-)
cat << EOF >> layout/build/Makefile.in
ifdef MOZ_ENABLE_CANVAS
EXTRA_DSO_LDOPTS += \$(XLDFLAGS) -lX11 -lXrender
endif
EOF
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 \
-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 {} \;
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
cp -v .mozconfig{,.orig}
sed -i '/--prefix/s:/usr/local:/usr:' .mozconfig
sed -i '/--with-system-jpeg/s/^/#/' .mozconfig
echo 'ac_add_options --enable-gio' >> .mozconfig
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
# Our building options, in a configure-like display ;)
OPTIONS="\
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--build=$ARCH-slackware-linux
--with-system-zlib \
--enable-application=browser \
--enable-default-toolkit=cairo-gtk2 \
--enable-startup-notification \
--enable-crypto \
--enable-svg \
--enable-canvas \
--enable-logging \
--enable-xft \
--enable-webm \
--enable-xinerama \
$OPTIMIZE \
--enable-reorder \
--enable-strip \
--enable-cpp-rtti \
--enable-single-profile \
--disable-gnomevfs \
--disable-ldap \
--disable-accessibility \
--disable-crashreporter \
--disable-debug \
--disable-pedantic \
--disable-pulseaudio \
--disable-installer \
--disable-mailnews \
--disable-composer \
--disable-profilesharing"
# Complains about missing APNG support in Slackware's libpng:
# --with-system-png \
# This option breaks mozilla-12.0:
# --enable-system-cairo \
make
make install DESTDIR=$PKG
export CFLAGS="$SLKCFLAGS"
export CXXFLAGS="$SLKCFLAGS"
#export MOZ_MAKE_FLAGS="$NUMJOBS"
# Stripping is done in .mozconfig, but there is something we can erase:
rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/icecat-devel-$VERSION
# Clear some variables that could break the build
unset DBUS_SESSION_BUS_ADDRESS ORBIT_SOCKETDIR SESSION_MANAGER \
XDG_SESSION_COOKIE XAUTHORITY MAKEFLAGS
# Assemble our .mozconfig, we use this method for building, seems
# needed for PGO.
echo ". \$topsrcdir/browser/config/mozconfig" > .mozconfig
# Mozilla devs enforce using an objdir for building
# https://developer.mozilla.org/en/Configuring_Build_Options#Building_with_an_objdir
mkdir obj
echo "mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj" >> .mozconfig
# Write in it the options above
for option in $OPTIONS; do echo "ac_add_options $option" >> .mozconfig; done
echo "ac_add_options --disable-tests" >> .mozconfig
make -f client.mk build
make -f client.mk install DESTDIR=$PKG
# We don't need these (just symlinks anyway):
rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/firefox-devel-$RELEASEVER
# Nor these:
rm -rf $PKG/usr/include
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
ChangeLog LEGAL LICENSE README.ICECAT README.txt config.cache \
cp -a Changelog.IceCat LEGAL LICENSE README.IceCat README.txt AUTHORS \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild

View File

@ -1,8 +1,8 @@
PRGNAM="icecat"
VERSION="24.0"
VERSION="31.2.0"
HOMEPAGE="http://www.gnu.org/software/gnuzilla/"
DOWNLOAD="ftp://ftp.gnu.org/gnu/gnuzilla/24/icecat-24.0.tar.gz"
MD5SUM="0d3fdcec3f5fde494dedb595387e8f21"
DOWNLOAD="http://ftp.gnu.org/gnu/gnuzilla/31.2.0/icecat-31.2.0.tar.xz"
MD5SUM="52f310b515cf185636e889d55f9d615d"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""