summaryrefslogtreecommitdiff
path: root/libre/icecat
diff options
context:
space:
mode:
Diffstat (limited to 'libre/icecat')
-rw-r--r--libre/icecat/PKGBUILD108
-rw-r--r--libre/icecat/icecat-safe.desktop2
-rw-r--r--libre/icecat/libre.patch27
-rw-r--r--libre/icecat/mozconfig41
-rw-r--r--libre/icecat/mozconfig.pgo5
5 files changed, 83 insertions, 100 deletions
diff --git a/libre/icecat/PKGBUILD b/libre/icecat/PKGBUILD
index 1ae705964..d32a96d52 100644
--- a/libre/icecat/PKGBUILD
+++ b/libre/icecat/PKGBUILD
@@ -10,56 +10,22 @@
# Contributor: evr <evanroman at gmail>
# Contributor: Muhammad 'MJ' Jassim <UnbreakableMJ@gmail.com>
-# If you are updating this package, don't forget to update the version number in
-# the value for 'browser.dictionaries.download.url' in 'libre.patch'
+_pgo=true
-_pgo=false
pkgname=icecat
pkgver=17.0.1
-pkgrel=4
-pkgdesc='The GNUzilla web browser, based on Mozilla Firefox. SafeBrowsing and other Google services disabled!'
+pkgrel=7
+pkgdesc='GNU IceCat, the standalone web browser based on Mozilla Firefox.'
arch=(i686 x86_64 mips64el)
-license=(GPL2 MPL LGPL)
-depends=(
- alsa-lib
- dbus-glib
- desktop-file-utils
- gtk2
- hicolor-icon-theme
- hunspell
- libevent
- libnotify
- libvpx
- libxt
- mime-types
- mozilla-common
- mozilla-searchplugins
- 'nss>=3.13.3'
- sqlite3
- startup-notification
-)
-makedepends=(
- autoconf2.13
- diffutils
- imagemagick
- libidl2
- librsvg
- libxslt
- mesa
- pkg-config
- python2
- unzip
- wireless_tools
- zip
-)
-optdepends=(
- 'wireless_tools: Location detection via available WiFi networks'
-)
+license=(MPL GPL LGPL)
+depends=(alsa-lib dbus-glib desktop-file-utils gtk2 hicolor-icon-theme hunspell libevent libnotify libvpx libxt mime-types mozilla-common mozilla-searchplugins nss sqlite startup-notification)
+makedepends=(autoconf2.13 diffutils imagemagick libidl2 librsvg libxslt mesa pkg-config python2 unzip zip)
+options=(!emptydirs)
if $_pgo; then
makedepends+=(xorg-server-xvfb)
- options=(!ccache)
+ options+=(!ccache)
fi
-options=(!emptydirs)
+optdepends=('networkmanager: Location detection via available WiFi networks')
url=http://www.gnu.org/software/gnuzilla/
install=$pkgname.install
source=(
@@ -76,25 +42,27 @@ source=(
)
md5sums=(
c88a29aa92fc41a07e777a0e63ac5f7e
- a22327391a1995703436ed42fe703d3f
- ac29b01c189f20abae2f3eef1618ffc0
+ 855f11c20d38133d107cc3c6f48162a8
+ 383e8e2a97a8b13fe56d153adb6878b6
3009b176cc5f9b1e416b1bf7c45b064b
+ 1dec37a964098fb3bc46bc767a5c0587
b41f82994fa056ffa5f8e6d99570e27a
- e81ad01dbc16ba28bf92ba4b7c309ca7
- d93fe402b87cd000a869e1fd6badc6c9
+ b30ba2b5562558d510fdd09d626d0faa
64826fcf48816b13090042eefddbaa58
- 0d053487907de4376d67d8f499c5502b
+ e7b54d4bd68b2af4cfdef074e3ed08a2
#c8552d030494443218d88792f4dbbd0f
)
-build() {
+prepare() {
mv $pkgname-$pkgver $srcdir/gnuzilla-build
cd $srcdir/gnuzilla-build
cp $srcdir/mozconfig .mozconfig # Load our build config, disable SafeSearch
+
if $_pgo; then
cat $srcdir/mozconfig.pgo >> .mozconfig
fi
+
patch -Np1 -i $srcdir/$pkgname-install-dir.patch # install to /usr/lib/$pkgname
patch -Np1 -i $srcdir/xulrunner-copy-stub.patch # small fix
patch -Np1 -i $srcdir/libre.patch # Remove Google+Mozilla stuff
@@ -104,11 +72,7 @@ build() {
sed -i 's/\(MOZ_PKG_FATAL_WARNINGS =\).*/\1 0/' \
browser/installer/Makefile.in
- # Fix PRE_RELEASE_SUFFIX
- sed -i '/^PRE_RELEASE_SUFFIX := ""/s/ ""//' \
- browser/base/Makefile.in
-
- # This is a bug, we should fix it.
+ # This is a bug, we should fix it
if [ $CARCH = mips64el ]; then
# Fix MIPS N32 support.
sed -i 's/defined(_ABIO32)/(defined(_ABIO32) || defined(_ABIN32))/' \
@@ -123,15 +87,43 @@ build() {
fi
chmod +x build/unix/run-icecat.sh # fix bug for bad file permition
+
+ # Fix PRE_RELEASE_SUFFIX
+ sed -i '/^PRE_RELEASE_SUFFIX := ""/s/ ""//' \
+ browser/base/Makefile.in
+
+ mkdir "$srcdir/path"
+
+ # WebRTC build tries to execute "python" and expects Python 2
+ ln -s /usr/bin/python2 "$srcdir/path/python"
+
+ # configure script misdetects the preprocessor without an optimization level
+ # https://bugs.archlinux.org/task/34644
+ # TODO: re-enable when we're building with GCC >= 4.8 again
+ #sed -i '/ac_cpp=/s/$CPPFLAGS/& -O2/' configure
+}
+
+build() {
+ cd $srcdir/gnuzilla-build
+
+ export PATH="$srcdir/path:$PATH"
export LDFLAGS="$LDFLAGS -Wl,-rpath,/usr/lib/$pkgname"
- export PYTHON=/usr/bin/python2
+ export PYTHON="/usr/bin/python2"
+ export MOZ_MAKE_FLAGS="$MAKEFLAGS"
+ unset MAKEFLAGS
if $_pgo; then
- LD_PRELOAD="" /usr/bin/Xvfb -nolisten tcp -extension GLX -screen 0 1280x1024x24 :99 &
- LD_PRELOAD="" DISPLAY=:99 make -j1 -f client.mk profiledbuild MOZ_MAKE_FLAGS=$MAKEFLAGS
+ # Enable PGO
+ export DISPLAY=:99
+ Xvfb -nolisten tcp -extension GLX -screen 0 1280x1024x24 $DISPLAY &
+ _fail=0
+
+ make -f client.mk build MOZ_PGO=1 || _fail=1
+
kill $! || true
+ return $_fail
else
- LD_PRELOAD="" make -j1 -f client.mk build MOZ_MAKE_FLAGS=$MAKEFLAGS
+ make -f client.mk build
fi
}
diff --git a/libre/icecat/icecat-safe.desktop b/libre/icecat/icecat-safe.desktop
index 87acc970c..e33d75469 100644
--- a/libre/icecat/icecat-safe.desktop
+++ b/libre/icecat/icecat-safe.desktop
@@ -1,6 +1,6 @@
[Desktop Entry]
Encoding=UTF-8
-Exec=/usr/bin/icecat -safe-mode %u
+Exec=/usr/lib/icecat/icecat -safe-mode %u
Icon=icecat
Type=Application
Terminal=false
diff --git a/libre/icecat/libre.patch b/libre/icecat/libre.patch
index 497b8cd10..38b9fca01 100644
--- a/libre/icecat/libre.patch
+++ b/libre/icecat/libre.patch
@@ -17,10 +17,18 @@ diff -urN a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js
diff -urN a/browser/locales/en-US/chrome/browser-region/region.properties b/browser/locales/en-US/chrome/browser-region/region.properties
--- a/browser/locales/en-US/chrome/browser-region/region.properties
+++ b/browser/locales/en-US/chrome/browser-region/region.properties
-@@ -10,23 +10,11 @@
- browser.search.order.2=Google
- browser.search.order.3=Yahoo
+@@ -3,30 +3,18 @@
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ # Default search engine
+-browser.search.defaultenginename=DuckDuckGo
++browser.search.defaultenginename=DuckDuckGo HTML
+
+ # Search engine order (order displayed in the search bar dropdown)s
+-browser.search.order.1=DuckDuckGo
+-browser.search.order.2=Google
+-browser.search.order.3=Yahoo
+-
-# This is the default set of web based feed handlers shown in the reader
-# selection UI
-browser.contentHandlers.types.0.title=Bloglines
@@ -32,7 +40,10 @@ diff -urN a/browser/locales/en-US/chrome/browser-region/region.properties b/brow
-
-# Keyword URL (for location bar searches)
-keyword.URL=http://www.google.com/search?ie=UTF-8&oe=UTF-8&sourceid=navclient&gfns=1&q=
--
++browser.search.order.1=DuckDuckGo HTML
++browser.search.order.2=DuckDuckGo Lite
++browser.search.order.3=Seeks Search
+
# URL for site-specific search engines
# TRANSLATION NOTE: {moz:domain} and {searchTerms} are placeholders for the site
# to be searched and the user's search query. Place them in the appropriate location
@@ -48,12 +59,12 @@ diff -urN a/browser/locales/en-US/chrome/browser-region/region.properties b/brow
gecko.handlerService.defaultHandlersVersion=3
+
+# The default set of protocol handlers for irc:
-+gecko.handlerService.schemes.irc.0.name=Freenode
-+gecko.handlerService.schemes.irc.0.uriTemplate=https://webchat.freenode.net/?channels=%s
++gecko.handlerService.schemes.irc.0.name=Freenode Web IRC
++gecko.handlerService.schemes.irc.0.uriTemplate=https://webchat.freenode.net
+
+# The default set of protocol handlers for ircs:
-+gecko.handlerService.schemes.ircs.0.name=Freenode
-+gecko.handlerService.schemes.ircs.0.uriTemplate=https://webchat.freenode.net/?channels=%s
++gecko.handlerService.schemes.ircs.0.name=Freenode Web IRC
++gecko.handlerService.schemes.ircs.0.uriTemplate=https://webchat.freenode.net
diff -Nur a/dom/ipc/test.xul b/dom/ipc/test.xul
--- a/dom/ipc/test.xul
+++ b/dom/ipc/test.xul
diff --git a/libre/icecat/mozconfig b/libre/icecat/mozconfig
index 5df8547f7..75b61828a 100644
--- a/libre/icecat/mozconfig
+++ b/libre/icecat/mozconfig
@@ -3,6 +3,12 @@
ac_add_options --prefix=/usr
ac_add_options --libdir=/usr/lib
+# IceCat
+ac_add_options --disable-official-branding
+ac_add_options --with-branding=browser/branding/unofficial
+ac_add_options --with-distribution-id=org.gnu.gnuzilla
+ac_add_options --with-user-appdir=.gnuzilla
+
# System libraries
ac_add_options --with-system-nspr
ac_add_options --with-system-nss
@@ -15,46 +21,21 @@ ac_add_options --with-system-libvpx
ac_add_options --enable-system-hunspell
ac_add_options --enable-system-sqlite
ac_add_options --enable-system-ffi
-ac_add_options --disable-system-cairo
+#ac_add_options --enable-system-cairo
ac_add_options --enable-system-pixman
ac_add_options --with-pthreads
# Features
ac_add_options --enable-startup-notification
-ac_add_options --enable-gio
+#ac_add_options --enable-gstreamer
-ac_add_options --disable-gnomevfs
ac_add_options --disable-crashreporter
ac_add_options --disable-updater
ac_add_options --disable-tests
-ac_add_options --disable-mochitest
ac_add_options --disable-installer
-# Optimization
-ac_add_options --enable-optimize
-
-export MOZILLA_OFFICIAL=1
-mk_add_options MOZILLA_OFFICIAL=1
-mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/moz-objdir
-
-# Icecat
-export MOZ_PHOENIX=1
-mk_add_options MOZ_PHOENIX=1
-
-ac_add_options --disable-official-branding
-ac_add_options --with-branding=browser/branding/unofficial
-ac_add_options --with-distribution-id=org.gnu.gnuzilla
-ac_add_options --with-user-appdir=.gnuzilla
-
-# ConnochaetOS
-#ac_add_options --build=i586-pc-linux-gnu
-#ac_add_options --host=i586-pc-linux-gnu
-#export USE_SHORT_LIBNAME=1
-#mk_add_options USE_SHORT_LIBNAME=1
-
-# Parabola
+# Parabola features
ac_add_options --disable-safe-browsing
-export BUILD_OFFICIAL=1
-mk_add_options BUILD_OFFICIAL=1
-# Build-generated
+# Other
+mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/moz-objdir
diff --git a/libre/icecat/mozconfig.pgo b/libre/icecat/mozconfig.pgo
index b0c249ebf..2f4ebe32b 100644
--- a/libre/icecat/mozconfig.pgo
+++ b/libre/icecat/mozconfig.pgo
@@ -1,4 +1,3 @@
+
# PGO
-ac_add_options --enable-profile-guided-optimization
-mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) $(MOZ_OBJDIR)/_profile/pgo/profileserver.py'
-mk_add_options PYTHONPATH='$(OBJDIR)/_profile/pgo'
+mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) $(MOZ_OBJDIR)/_profile/pgo/profileserver.py 10'