summaryrefslogtreecommitdiff
path: root/libre/icecat
diff options
context:
space:
mode:
Diffstat (limited to 'libre/icecat')
-rw-r--r--libre/icecat/PKGBUILD206
-rw-r--r--libre/icecat/firefox-install-dir.patch28
-rw-r--r--libre/icecat/firefox-version.patch2
-rw-r--r--libre/icecat/libre.patch66
-rw-r--r--libre/icecat/libvpx.patch12
-rw-r--r--libre/icecat/mozconfig61
-rw-r--r--libre/icecat/mozconfig.default63
-rw-r--r--libre/icecat/mozconfig.firefox46
-rw-r--r--libre/icecat/mozconfig.old78
-rw-r--r--libre/icecat/mozconfig.pgo4
-rw-r--r--libre/icecat/vendor.js5
11 files changed, 441 insertions, 130 deletions
diff --git a/libre/icecat/PKGBUILD b/libre/icecat/PKGBUILD
index 718f03057..79274ce21 100644
--- a/libre/icecat/PKGBUILD
+++ b/libre/icecat/PKGBUILD
@@ -1,130 +1,150 @@
-# Maintainer: Figue <ffigue at gmail>
+# Contributor (ConnochaetOS): Henry Jensen <hjensen@connochaetos.org>
+# Contributor (Parabola): Luke Shumaker <lukeshu@sbcglobal.net>
# Contributor: Figue <ffigue at gmail>
# Contributor (Parabola): fauno <fauno@kiwwwi.com.ar>
# Contributor (Parabola): vando <facundo@esdebian.org>
+# Contributor (Parabola): emulatorman <andre.paulista@adinet.com.uy>
+# Contributor (Arch): Jakub Schmidtke <sjakub@gmail.com>
# Thank you very much to the older contributors:
# Contributor: evr <evanroman at gmail>
# Contributor: Muhammad 'MJ' Jassim <UnbreakableMJ@gmail.com>
-# Changelog
-# =6.0
-# * Build with PGO support
-# =3.6.13
-# * Installed Privacy Extension by default
-# * DDG is now the default search engine
-# =3.6.9
-# * Added libnotify as required by configure
-# =3.6.7
-# * Added duckduckgo.com secure search engine
-# =3.6.4
-# * Disabled SafeBrowsing until we find a non-google alternative (25/6/10)
-# * Disabled ContentHandlers and other Google/Yahoo! related services
-
-pkgname=icecat
-pkgver=7.0.1
+# 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=false
+
+_pkgname=icecat
+pkgver=10.0
pkgrel=1
-pkgdesc="GNU version of the Firefox browser. SafeBrowsing and other Google services disabled!"
+
+if [ -z "$pkgname" ]; then pkgname=$_pkgname; fi
+if $_pgo; then
+ pkgname+='-pgo'
+fi
+
+pkgdesc="The GNUzilla web browser, based on Mozilla Firefox. SafeBrowsing and other Google services disabled!"
arch=('i686' 'x86_64' 'mips64el')
-license=('MPL' 'GPL' 'LGPL')
-depends=('gtk2' 'mozilla-common' 'nss' 'libxt' 'hunspell' 'startup-notification' 'mime-types' 'dbus-glib' 'alsa-lib' 'sqlite3' 'libnotify' 'desktop-file-utils' 'libvpx' 'libevent' 'hicolor-icon-theme')
-makedepends=('p7zip-libre' 'zip' 'pkg-config' 'diffutils' 'python2-libre' 'wireless_tools' 'yasm' 'mesa' 'autoconf2.13' 'libidl2' 'xorg-server-xvfb')
-options=(!buildflags !distcc)
+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.1'
+ 'sqlite3'
+ 'startup-notification'
+)
+makedepends=(
+ 'autoconf2.13'
+ 'diffutils'
+ 'libidl2'
+ 'mesa'
+ 'pkg-config'
+ 'python2'
+ 'unzip'
+ 'wireless_tools'
+ 'yasm'
+ 'zip'
+)
+if $_pgo; then
+ makedepends+=('xorg-server-xvfb')
+ options=(!ccache)
+fi
+
url="http://www.gnu.org/software/gnuzilla/"
install=icecat.install
source=(ftp://ftp.gnu.org/gnu/gnuzilla/${pkgver}/${pkgname}-${pkgver}.tar.xz
mozconfig
+ mozconfig.pgo
icecat.desktop
icecat-safe.desktop
- mozilla-firefox-1.0-lang.patch
- firefox-version.patch
-# Search engines
- internet-archive.xml
- jamendo-en.xml
- logless-search.xml
- scroogle-ssl-english.xml
- yacy.xml
- duck-duck-go-ssl.xml
- duck-duck-go-lite.xml
- Makefile.in
-# Default options
- firefox.js
- region.properties)
-md5sums=('eb20dad67baeb5e71c5cfe469dbba378'
- '927c3ac9ad0ba682e0ec9b66ed8cc4d3'
- 'e81ad01dbc16ba28bf92ba4b7c309ca7'
- 'd93fe402b87cd000a869e1fd6badc6c9'
- 'bd5db57c23c72a02a489592644f18995'
- 'ff4654144499faf630271cddc2261b7c'
- '462c68585461f8cdc23c93c46f6ee4cf'
- '2d492295c4308f9bba9ece28d8b3af2d'
- '937ac0e5392b060d93bd33e761fbfa51'
- 'cf97082e77e3ef5f1bd74b1db9329965'
- '24528ca3f7f1e1a0ba735231aa3ac1de'
- 'c5f00b6b24222aacd5a749d1f59c4d24'
- 'e1bda0854de7d764f7401c81bb82b5ef'
- 'ff83f1796ee13d3aec494649491d93cc'
- '9952048383966926eea6d67384102425'
- 'f1c76e7e244257856a386ca2de69bdf0')
+ libre.patch
+ firefox-install-dir.patch
+ vendor.js
+ libvpx.patch)
-build() {
- ICECATDIR="/usr/lib/${pkgname}-${pkgver}" && export ICECATDIR
+if [ "$_pkgname" != "$pkgname" ]; then
+ provides+=("$_pkgname")
+ conflicts+=("$_pkgname")
+fi
- cd "${srcdir}/${pkgname}-${pkgver}/"
- patch -Np1 -i "${srcdir}/mozilla-firefox-1.0-lang.patch"
-
-# Solve missing reporter locales and preprocessor.pl
- cp --remove-destination ${srcdir}/Makefile.in ./browser/locales/
+build() {
+ mv "$_pkgname-$pkgver" "$srcdir/mozilla-build"
+ cd "$srcdir/mozilla-build"
-# Default prefs, remove Google stuff
- cp --remove-destination ${srcdir}/region.properties ./browser/locales/en-US/chrome/browser-region/
- cp --remove-destination ${srcdir}/firefox.js ./browser/app/profile/
+ cp "$srcdir/mozconfig" .mozconfig # Load our build config, disable SafeSearch
+ patch -Np1 -i "$srcdir/firefox-install-dir.patch" # install to /usr/lib/$pkgname
+ patch -Np1 -i "$srcdir/libre.patch" # Remove Google+Mozilla stuff
+ patch -Np1 -i "$srcdir/libvpx.patch" # patch from Arch
- cp "$srcdir/mozconfig" .mozconfig
- patch -Np1 -i "$srcdir/mozilla-firefox-1.0-lang.patch"
- patch -Np1 -i "$srcdir/firefox-version.patch"
+ if $_pgo; then
+ cat "$srcdir/mozconfig.pgo" >> .mozconfig
+ fi
# Fix PRE_RELEASE_SUFFIX
sed -i '/^PRE_RELEASE_SUFFIX := ""/s/ ""//' \
- browser/base/Makefile.in
+ browser/base/Makefile.in
- export LDFLAGS="$LDFLAGS -Wl,-rpath,/usr/lib/icecat-7.0"
+ export LDFLAGS="$LDFLAGS -Wl,-rpath,/usr/lib/$_pkgname"
export PYTHON="/usr/bin/python2"
- 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"
- kill $! || true
+ 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"
+ kill $! || true
+ else
+ LD_PRELOAD="" make -j1 -f client.mk build MOZ_MAKE_FLAGS="$MAKEFLAGS"
+ fi
}
package() {
- ICECATDIR="/usr/lib/${pkgname}-${pkgver}" && export ICECATDIR
-
- cd "${srcdir}/${pkgname}-${pkgver}/"
+ cd "$srcdir/mozilla-build"
make -j1 -f client.mk DESTDIR="$pkgdir" install
- msg2 "Finishing..."
- install -m755 -d ${pkgdir}/usr/share/applications
- install -m755 -d ${pkgdir}/usr/share/pixmaps
- install -m644 ${srcdir}/${pkgname}-${pkgver}/browser/branding/unofficial/default48.png ${pkgdir}/usr/share/pixmaps/icecat.png
- install -m644 ${srcdir}/icecat.desktop ${pkgdir}/usr/share/applications/
- install -m644 ${srcdir}/icecat-safe.desktop ${pkgdir}/usr/share/applications/
+ install -m644 "$srcdir"/vendor.js "$pkgdir/usr/lib/$_pkgname/defaults/pref"
+
+ brandingdir="browser/branding/unofficial"
+ icondir="$pkgdir/usr/share/icons/hicolor"
+ for i in 16x16 32x32 48x48; do
+ install -Dm644 "$brandingdir/default${i/x*/}.png" "$icondir/$i/apps/$_pkgname.png"
+ done
- cd ${pkgdir}/usr/lib
- ln -s ${ICECATDIR} icecat
+ install -d "$pkgdir/usr/share/applications"
+ install -m644 "$srcdir/icecat.desktop" "$pkgdir/usr/share/applications"
+ install -m644 "$srcdir/icecat-safe.desktop" "$pkgdir/usr/share/applications"
- rm -rf "$pkgdir"/usr/lib/icecat-7.0/{dictionaries,hyphenation}
- ln -sf /usr/share/hunspell "$pkgdir/usr/lib/icecat-7.0/dictionaries"
- ln -sf /usr/share/hyphen "$pkgdir/usr/lib/icecat-7.0/hyphenation"
+ rm -rf "$pkgdir/usr/lib/$_pkgname/"{dictionaries,hyphenation,searchplugins,plugins}
+ ln -sf /usr/share/hunspell "$pkgdir/usr/lib/$_pkgname/dictionaries"
+ ln -sf /usr/share/hyphen "$pkgdir/usr/lib/$_pkgname/hyphenation"
+ ln -sf /usr/lib/mozilla/plugins "$pkgdir/usr/lib/$_pkgname/plugins"
+ ln -sf /usr/lib/mozilla/searchplugins "$pkgdir/usr/lib/$_pkgname/searchplugins"
# We don't want the development stuff
- rm -r "$pkgdir"/usr/{include,lib/icecat-devel-$pkgver,share/idl}
+ rm -rf "$pkgdir"/usr/{include,lib/$_pkgname-devel,share/idl}
- #workaround for now
- #https://bugzilla.mozilla.org/show_bug.cgi?id=658850
- ln -sf /usr/lib/icecat-7.0/icecat-bin "$pkgdir/usr/lib/icecat-7.0/icecat"
+ # Fix a bug with https-everywhere (duplicate rules)
+ rm -f "$pkgdir/usr/lib/$pkgname/extensions/https-everywhere@eff.org/chrome/content/rules/GoogleMaps.xml~HEAD"
- msg2 "Removing proprietary and anti-privacy search engines"
- rm -f ${pkgdir}${ICECATDIR}/searchplugins/{google,answers,amazondotcom,eBay,yahoo,bing}.xml
- msg2 "And provide better ones..."
- install -m755 -d ${pkgdir}${ICECATDIR}/searchplugins/
- install -m644 ${srcdir}/*.xml ${pkgdir}${ICECATDIR}/searchplugins/
+ # Workaround for now: https://bugzilla.mozilla.org/show_bug.cgi?id=658850
+ ln -sf $_pkgname "$pkgdir/usr/lib/$_pkgname/$_pkgname-bin"
}
+
+md5sums=('5a30f5c5422fb7c9b1a2d253028df9d7'
+ '6f3a8fd65c416216a1b56b0c2d2d81aa'
+ 'ac29b01c189f20abae2f3eef1618ffc0'
+ 'e81ad01dbc16ba28bf92ba4b7c309ca7'
+ 'd93fe402b87cd000a869e1fd6badc6c9'
+ '145f453ef82f643711c10d97ec57a805'
+ '1e4bcac59e93d21fffa6a1d1ad235247'
+ 'c382e35315047e4ca368d09383b39b8d'
+ '5d418ecdbdb9f40597df6b978b0b5ee5')
diff --git a/libre/icecat/firefox-install-dir.patch b/libre/icecat/firefox-install-dir.patch
new file mode 100644
index 000000000..b6f9700b3
--- /dev/null
+++ b/libre/icecat/firefox-install-dir.patch
@@ -0,0 +1,28 @@
+diff -Nur mozilla-release.orig/config/autoconf.mk.in mozilla-release/config/autoconf.mk.in
+--- mozilla-release.orig/config/autoconf.mk.in 2011-11-06 14:06:44.462920048 +0000
++++ mozilla-release/config/autoconf.mk.in 2011-11-06 14:20:45.124169469 +0000
+@@ -68,8 +68,8 @@
+ mandir = @mandir@
+ idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+
+-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+-sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
++installdir = $(libdir)/$(MOZ_APP_NAME)
++sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel
+
+ DIST = $(DEPTH)/dist
+ LIBXUL_SDK = @LIBXUL_SDK@
+diff -Nur mozilla-release.orig/js/src/config/autoconf.mk.in mozilla-release/js/src/config/autoconf.mk.in
+--- mozilla-release.orig/js/src/config/autoconf.mk.in 2011-11-06 14:06:45.586263727 +0000
++++ mozilla-release/js/src/config/autoconf.mk.in 2011-11-06 14:21:01.770993669 +0000
+@@ -61,8 +61,8 @@
+ datadir = @datadir@
+ mandir = @mandir@
+
+-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+-sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
++installdir = $(libdir)/$(MOZ_APP_NAME)
++sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel
+
+ TOP_DIST = @TOP_DIST@
+ ifneq (,$(filter /%,$(TOP_DIST)))
diff --git a/libre/icecat/firefox-version.patch b/libre/icecat/firefox-version.patch
index ab5dda540..8b2d74896 100644
--- a/libre/icecat/firefox-version.patch
+++ b/libre/icecat/firefox-version.patch
@@ -5,7 +5,7 @@ diff -Nur mozilla-release.orig/browser/installer/Makefile.in mozilla-release/bro
include $(DEPTH)/config/autoconf.mk
-+MOZ_APP_VERSION="7.0"
++MOZ_APP_VERSION="10.0"
+
include $(topsrcdir)/config/rules.mk
diff --git a/libre/icecat/libre.patch b/libre/icecat/libre.patch
new file mode 100644
index 000000000..3dca93ee7
--- /dev/null
+++ b/libre/icecat/libre.patch
@@ -0,0 +1,66 @@
+--- icecat-9.0.1.orig/browser/app/profile/firefox.js 2011-12-26 23:11:39.000000000 -0500
++++ icecat-9.0.1/browser/app/profile/firefox.js 2011-12-26 23:12:15.000000000 -0500
+@@ -74,7 +76,7 @@
+ pref("extensions.update.autoUpdateDefault", true);
+
+ // Dictionary download preference
+-pref("browser.dictionaries.download.url", "https://addons.mozilla.org/%LOCALE%/firefox/dictionaries/");
++pref("browser.dictionaries.download.url", "http://gnuzilla.gnu.org/download/langpacks/10.0/");
+
+ // The minimum delay in seconds for the timer to fire.
+ // default=2 minutes
+@@ -876,7 +878,7 @@
+ pref("browser.bookmarks.editDialog.firstEditField", "namePicker");
+
+ // base url for the wifi geolocation network provider
+-pref("geo.wifi.uri", "https://www.google.com/loc/json");
++pref("geo.wifi.uri", "http://geomena.org");
+ pref("geo.wifi.protocol", 0);
+
+ // Whether to use a panel that looks like an OS X sheet for customization
+--- icecat-9.0.1.orig/browser/locales/en-US/chrome/browser-region/region.properties 2011-12-26 07:34:23.000000000 -0500
++++ icecat-9.0.1/browser/locales/en-US/chrome/browser-region/region.properties 2011-12-26 19:59:04.000000000 -0500
+@@ -1,27 +1,19 @@
+ # Default search engine
+-browser.search.defaultenginename=Google
++browser.search.defaultenginename=Duck Duck Go (SSL)
+
+ # Search engine order (order displayed in the search bar dropdown)s
+-browser.search.order.1=Google
+-browser.search.order.2=Yahoo
++browser.search.order.1=Duck Duck Go (SSL)
++browser.search.order.2=Duck Duck Go (Lite)
+
+-# This is the default set of web based feed handlers shown in the reader
+-# selection UI
+-browser.contentHandlers.types.0.title=Bloglines
+-browser.contentHandlers.types.0.uri=http://www.bloglines.com/login?r=/sub/%s
+-browser.contentHandlers.types.1.title=My Yahoo
+-browser.contentHandlers.types.1.uri=http://add.my.yahoo.com/rss?url=%s
+-browser.contentHandlers.types.2.title=Google
+-browser.contentHandlers.types.2.uri=http://fusion.google.com/add?feedurl=%s
+
+ # Keyword URL (for location bar searches)
+-keyword.URL=http://www.google.com/search?ie=UTF-8&oe=UTF-8&sourceid=navclient&gfns=1&q=
++keyword.URL=https://duckduckgo.com/?q=
+
+ # 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
+ # for your locale's URL but do not translate them.
+-browser.search.siteSearchURL=http://www.google.com/search?ie=UTF-8&oe=UTF-8&sourceid=navclient&q=site%3A{moz:domain}+{searchTerms}
++browser.search.siteSearchURL=https://duckduckgo.com/?q=site%3A{moz:domain}+{searchTerms}
+
+ # increment this number when anything gets changed in the list below. This will
+ # cause Firefox to re-read these prefs and inject any new handlers into the
+--- icecat-9.0.1.orig/browser/app/Makefile.in 2011-12-27 00:22:26.000000000 -0500
++++ icecat-9.0.1/browser/app/Makefile.in 2011-12-27 00:23:10.000000000 -0500
+@@ -269,7 +269,7 @@
+ else
+ ifdef LIBXUL_SDK
+ libs::
+- cp $(LIBXUL_DIST)/bin/$(XULRUNNER_STUB_NAME)$(BIN_SUFFIX) $(DIST)/bin/firefox$(BIN_SUFFIX)
++ cp $(LIBXUL_DIST)/bin/$(XULRUNNER_STUB_NAME)$(BIN_SUFFIX) $(DIST)/bin/icecat$(BIN_SUFFIX)
+ endif
+ endif
+
diff --git a/libre/icecat/libvpx.patch b/libre/icecat/libvpx.patch
new file mode 100644
index 000000000..f883b8e08
--- /dev/null
+++ b/libre/icecat/libvpx.patch
@@ -0,0 +1,12 @@
+diff -Nur mozilla-release.orig/configure.in mozilla-release/configure.in
+--- mozilla-release.orig/configure.in 2012-02-05 16:01:35.722024142 +0000
++++ mozilla-release/configure.in 2012-02-05 16:03:34.871064547 +0000
+@@ -5629,7 +5629,7 @@
+ dnl v0.9.6 one to check for.
+ AC_TRY_COMPILE([
+ #include <vpx/vpx_decoder.h>
+- #if !defined(VPX_CODEC_USE_INPUT_PARTITION)
++ #if !defined(VPX_CODEC_USE_INPUT_FRAGMENTS)
+ #error "test failed."
+ #endif
+ ],
diff --git a/libre/icecat/mozconfig b/libre/icecat/mozconfig
index a5810e33a..b769079d8 100644
--- a/libre/icecat/mozconfig
+++ b/libre/icecat/mozconfig
@@ -1,8 +1,9 @@
. $topsrcdir/browser/config/mozconfig
-ac_add_options --disable-official-branding
ac_add_options --prefix=/usr
ac_add_options --libdir=/usr/lib
+
+# System libraries
ac_add_options --with-system-nspr
ac_add_options --with-system-nss
ac_add_options --with-system-jpeg
@@ -13,53 +14,41 @@ ac_add_options --with-system-libevent
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 --enable-system-cairo
+ac_add_options --enable-system-pixman
ac_add_options --with-pthreads
-ac_add_options --enable-default-toolkit=cairo-gtk2
-ac_add_options --disable-safe-browsing
-ac_add_options --enable-extensions=default
+# Features
ac_add_options --enable-startup-notification
-ac_add_options --enable-pango
-ac_add_options --enable-svg
-ac_add_options --enable-canvas
-ac_add_options --enable-smil
-ac_add_options --enable-canvas3d
-ac_add_options --enable-places
-ac_add_options --enable-url-classifier
-
-ac_add_options --enable-optimize
-ac_add_options --enable-strip
-ac_add_options --enable-install-strip
-ac_add_options --enable-jemalloc
-ac_add_options --enable-xterm-updates
-ac_add_options --enable-printing
-ac_add_options --enable-xinerama
-ac_add_options --with-distribution-id=org.gnu.gnuzilla
-ac_add_options --with-user-appdir=.gnuzilla
-ac_add_options --with-branding=browser/branding/unofficial
+ac_add_options --enable-gio
-ac_add_options --disable-javaxpcom
+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-debug
ac_add_options --disable-installer
-ac_add_options --disable-pedantic
-ac_add_options --disable-static
-ac_add_options --enable-gio
-ac_add_options --disable-gnomevfs
-ac_add_options --enable-libnotify
+# Optimization
+ac_add_options --enable-optimize
-export BUILD_OFFICIAL=1
export MOZILLA_OFFICIAL=1
-mk_add_options BUILD_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
+
+# Parabola
+ac_add_options --disable-safe-browsing
+export BUILD_OFFICIAL=1
+mk_add_options BUILD_OFFICIAL=1
-# PGO
-ac_add_options --enable-profile-guided-optimization
-mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/ff-pgo
-mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) $(MOZ_OBJDIR)/_profile/pgo/profileserver.py'
-mk_add_options PYTHONPATH='$(OBJDIR)/_profile/pgo'
+# Build-generated
diff --git a/libre/icecat/mozconfig.default b/libre/icecat/mozconfig.default
new file mode 100644
index 000000000..01e047fc3
--- /dev/null
+++ b/libre/icecat/mozconfig.default
@@ -0,0 +1,63 @@
+# This is a better commented version of the default .mozconfig from 9.0.1
+ac_add_options --enable-application=browser
+
+ac_add_options --prefix=/usr/local
+#ac_add_options --with-default-mozilla-five-home=/usr/local/lib
+
+# System libraries
+ac_add_options --with-system-jpeg
+ac_add_options --with-system-zlib
+#ac_add_options --with-system-png
+ac_add_options --disable-system-cairo
+#ac_add_options --with-pthreads
+
+ac_add_options --disable-toolkit-qt
+ac_add_options --enable-toolkit-cairo-gtk2
+ac_add_options --enable-default-toolkit=cairo-gtk2
+ac_add_options --enable-svg-renderer=cairo
+
+# Features
+ac_add_options --enable-extensions="default spellcheck"
+ac_add_options --enable-freetype2
+ac_add_options --enable-pango
+ac_add_options --enable-crypto
+#ac_add_options --enable-postscript
+ac_add_options --enable-svg
+ac_add_options --enable-xft
+
+ac_add_options --disable-chatzilla
+ac_add_options --disable-accessibility
+ac_add_options --disable-calendar
+ac_add_options --disable-composer
+
+#ac_add_options --disable-jsd
+#ac_add_options --disable-libxul
+ac_add_options --disable-ipc
+ac_add_options --disable-ldap
+ac_add_options --disable-mailnews
+ac_add_options --disable-negotiateauth
+ac_add_options --disable-profilesharing
+ac_add_options --disable-xinerama
+ac_add_options --disable-xprint
+
+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
+
+ac_add_options --disable-debug
+
+# Optimization
+ac_add_options --disable-elf-dynstr-gc
+ac_add_options --enable-optimize="-pipe -O3"
+ac_add_options --enable-strip
+
+# 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
diff --git a/libre/icecat/mozconfig.firefox b/libre/icecat/mozconfig.firefox
new file mode 100644
index 000000000..428503642
--- /dev/null
+++ b/libre/icecat/mozconfig.firefox
@@ -0,0 +1,46 @@
+# This is the .mozconfig used by Arch for Firefox
+. $topsrcdir/browser/config/mozconfig
+
+ac_add_options --prefix=/usr
+ac_add_options --libdir=/usr/lib
+
+# System libraries
+ac_add_options --with-system-nspr
+ac_add_options --with-system-nss
+ac_add_options --with-system-jpeg
+ac_add_options --with-system-zlib
+ac_add_options --with-system-bz2
+ac_add_options --with-system-png
+ac_add_options --with-system-libevent
+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 --enable-system-cairo
+ac_add_options --enable-system-pixman
+ac_add_options --with-pthreads
+
+# Features
+ac_add_options --enable-official-branding
+ac_add_options --enable-safe-browsing
+ac_add_options --enable-startup-notification
+ac_add_options --enable-gio
+
+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
+
+# PGO
+ac_add_options --enable-profile-guided-optimization
+mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/ff-pgo
+mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) $(MOZ_OBJDIR)/_profile/pgo/profileserver.py'
+mk_add_options PYTHONPATH='$(OBJDIR)/_profile/pgo'
+
+export MOZILLA_OFFICIAL=1
+mk_add_options MOZILLA_OFFICIAL=1
diff --git a/libre/icecat/mozconfig.old b/libre/icecat/mozconfig.old
new file mode 100644
index 000000000..a790aee48
--- /dev/null
+++ b/libre/icecat/mozconfig.old
@@ -0,0 +1,78 @@
+# This is a better commented version of the .mozconfig used by the Parabola
+# package < v9
+. $topsrcdir/browser/config/mozconfig
+
+ac_add_options --prefix=/usr
+ac_add_options --libdir=/usr/lib
+
+# System libraries
+ac_add_options --with-system-nspr
+ac_add_options --with-system-nss
+ac_add_options --with-system-jpeg
+ac_add_options --with-system-zlib
+ac_add_options --with-system-bz2
+ac_add_options --with-system-png
+ac_add_options --with-system-libevent
+ac_add_options --with-system-libvpx
+ac_add_options --enable-system-hunspell
+ac_add_options --enable-system-sqlite
+ac_add_options --enable-system-cairo
+ac_add_options --with-pthreads
+
+ac_add_options --enable-default-toolkit=cairo-gtk2
+
+# Features
+ac_add_options --enable-extensions=default
+
+ac_add_options --enable-url-classifier
+ac_add_options --enable-startup-notification
+ac_add_options --enable-gio
+
+ac_add_options --enable-canvas
+ac_add_options --enable-canvas3d
+ac_add_options --enable-places
+ac_add_options --enable-smil
+ac_add_options --enable-svg
+
+ac_add_options --disable-javaxpcom
+ac_add_options --enable-libnotify
+ac_add_options --enable-printing
+ac_add_options --enable-xinerama
+ac_add_options --enable-xterm-updates
+
+ac_add_options --disable-gnomevfs
+ac_add_options --disable-crashreporter
+ac_add_options --disable-update
+ac_add_options --disable-tests
+ac_add_options --disable-mochitest
+ac_add_options --disable-installer
+
+ac_add_options --disable-debug
+
+# Optimization
+ac_add_options --disable-pedantic
+ac_add_options --disable-static
+ac_add_options --enable-install-strip
+ac_add_options --enable-jemalloc
+ac_add_options --enable-optimize
+ac_add_options --enable-strip
+
+# PGO
+ac_add_options --enable-profile-guided-optimization
+mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/ff-pgo
+mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) $(MOZ_OBJDIR)/_profile/pgo/profileserver.py'
+mk_add_options PYTHONPATH='$(OBJDIR)/_profile/pgo'
+
+export MOZILLA_OFFICIAL=1
+mk_add_options MOZILLA_OFFICIAL=1
+
+# 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
+
+# Parabola
+ac_add_options --disable-safe-browsing
+export BUILD_OFFICIAL=1
+mk_add_options BUILD_OFFICIAL=1
diff --git a/libre/icecat/mozconfig.pgo b/libre/icecat/mozconfig.pgo
new file mode 100644
index 000000000..b0c249ebf
--- /dev/null
+++ b/libre/icecat/mozconfig.pgo
@@ -0,0 +1,4 @@
+# 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'
diff --git a/libre/icecat/vendor.js b/libre/icecat/vendor.js
new file mode 100644
index 000000000..808d1b118
--- /dev/null
+++ b/libre/icecat/vendor.js
@@ -0,0 +1,5 @@
+// Use LANG environment variable to choose locale
+pref("intl.locale.matchOS", true);
+
+// Disable default browser checking.
+pref("browser.shell.checkDefaultBrowser", false);