summaryrefslogtreecommitdiff
path: root/libre/iceweasel-libre
diff options
context:
space:
mode:
authorNicolás Reynolds <fauno@kiwwwi.com.ar>2012-04-07 23:23:44 -0300
committerNicolás Reynolds <fauno@kiwwwi.com.ar>2012-04-07 23:23:44 -0300
commit0838c4ecf155760b4127f672c01c472ebcfa69c8 (patch)
tree9e5984602b6330287512a6710eae476fdc813de5 /libre/iceweasel-libre
parentb1dae9aeffb64b11071e2b3a8cfc2bb80972bc32 (diff)
parent6b2e8fe65431c01a01ab5dfd31689c31f10c643b (diff)
Merge branch 'master' of ssh://gparabola/abslibre
Diffstat (limited to 'libre/iceweasel-libre')
-rw-r--r--libre/iceweasel-libre/PKGBUILD156
-rw-r--r--libre/iceweasel-libre/iceweasel-install-dir.patch28
-rw-r--r--libre/iceweasel-libre/iceweasel.install13
-rw-r--r--libre/iceweasel-libre/libre.patch242
-rw-r--r--libre/iceweasel-libre/mozconfig55
-rw-r--r--libre/iceweasel-libre/mozconfig.pgo4
-rw-r--r--libre/iceweasel-libre/region.properties23
-rw-r--r--libre/iceweasel-libre/vendor.js9
-rw-r--r--libre/iceweasel-libre/xulrunner-copy-stub.patch11
9 files changed, 541 insertions, 0 deletions
diff --git a/libre/iceweasel-libre/PKGBUILD b/libre/iceweasel-libre/PKGBUILD
new file mode 100644
index 000000000..3ef4da470
--- /dev/null
+++ b/libre/iceweasel-libre/PKGBUILD
@@ -0,0 +1,156 @@
+# 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 (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>
+
+_pgo=false
+
+# We're getting this from Debian Sid
+_debname=iceweasel
+_debver=11.0
+_debrel=2
+_debrepo=http://ftp.debian.org/debian/pool/main/
+debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; }
+
+_pkgname=iceweasel
+pkgname=iceweasel-libre
+pkgver=${_debver}.${_debrel}
+pkgrel=1
+
+if [ -z "$pkgname" ]; then pkgname=$_pkgname; fi
+if $_pgo; then
+ pkgname+='-pgo'
+fi
+
+pkgdesc="A libre version of Debian Iceweasel, the browser based on Mozilla Firefox."
+arch=('i586' '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.1' 'sqlite3' 'startup-notification')
+makedepends=( 'autoconf2.13' 'diffutils' 'imagemagick' 'libidl2' 'librsvg' 'libxslt' 'mesa' 'pkg-config' 'python2' 'quilt' 'unzip' 'wireless_tools' 'yasm' 'zip')
+if $_pgo; then
+ makedepends+=('xorg-server-xvfb')
+ options=(!ccache)
+fi
+
+url="http://www.geticeweasel.org/"
+install=iceweasel.install
+source=("${_debrepo}/`debfile ${_debname}`_${_debver}.orig.tar.bz2"
+ "${_debrepo}/`debfile ${_debname}`_${_debver}-${_debrel}.debian.tar.gz"
+ "${_debrepo}/`debfile ${_debname}`_${_debver}-${_debrel}.dsc"
+ mozconfig
+ mozconfig.pgo
+ xulrunner-copy-stub.patch
+ libre.patch
+ iceweasel-install-dir.patch
+ region.properties
+ vendor.js)
+md5sums=('01d9d18909ca9fff2483d8fd779a0f89'
+ '59349da94b095fe0623d09ce75696766'
+ 'f407208a750cdc9bea3a6a3a3e42dd89'
+ 'eab149c1994ab14392e55af3abb08e80'
+ 'ac29b01c189f20abae2f3eef1618ffc0'
+ 'a485a2b5dc544a8a2bd40c985d2e5813'
+ 'addd3a3420cebeda152b447705b086e9'
+ 'e529742c0a425648087bc3ce537fe4c5'
+ 'f1c76e7e244257856a386ca2de69bdf0'
+ '0d053487907de4376d67d8f499c5502b')
+
+if [ "$_pkgname" != "$pkgname" ]; then
+ provides+=("$_pkgname=$pkgver")
+ conflicts+=("$_pkgname")
+fi
+
+dpkg-source() {
+ # This will simulate dpkg-source -x ${_debname}_${_debver}-${_debrel}.dsc
+ export QUILT_PATCHES=debian/patches
+ export QUILT_REFRESH_ARGS='-p ab --no-timestamps --no-index'
+ export QUILT_DIFF_ARGS='--no-timestamps'
+ mv mozilla-release "${_debname}-${_debver}"
+ mv debian "${_debname}-${_debver}"
+ cd "${_debname}-${_debver}"
+
+# Doesn't apply and seems unimportant
+ rm -v debian/patches/l10n/Place-google-and-gmail-before-yandex.patch || true
+
+ quilt push -a
+ find .pc -name .timestamp -delete # why isn't "--no-timestamps" doing this?
+ cd ..
+}
+
+build() {
+# Don't run this if we're using -e
+if [ $NOEXTRACT -eq 0 ]; then
+ msg2 "Applying Debian patches..."
+ cd "${srcdir}"
+ dpkg-source -x ${_debname}_${_debver}-${_debrel}.dsc
+
+ msg2 "Starting normal build..."
+ mv "${_debname}-${_debver}" "$srcdir/mozilla-build"
+ cd "$srcdir/mozilla-build"
+
+ cp "$srcdir/mozconfig" .mozconfig # Load our build config, disable SafeSearch
+ patch -Np1 -i "$srcdir/iceweasel-install-dir.patch" # install to /usr/lib/$_pkgname
+ patch -Np1 -i "$srcdir/xulrunner-copy-stub.patch" # small fix
+ patch -Np1 -i "$srcdir/libre.patch"
+fi
+
+ cd "$srcdir/mozilla-build"
+ cp -f ${srcdir}/region.properties ./browser/locales/en-US/chrome/browser-region/
+
+ if $_pgo; then
+ cat "$srcdir/mozconfig.pgo" >> .mozconfig
+ fi
+
+ # Fix PRE_RELEASE_SUFFIX
+ sed -i '/^PRE_RELEASE_SUFFIX := ""/s/ ""//' \
+ browser/base/Makefile.in
+
+ export LDFLAGS="$LDFLAGS -Wl,-rpath,/usr/lib/$_pkgname"
+ export PYTHON="/usr/bin/python2"
+
+ 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() {
+ cd "$srcdir/mozilla-build"
+ make -j1 -f client.mk DESTDIR="$pkgdir" install
+
+ install -m644 "$srcdir"/vendor.js "$pkgdir/usr/lib/$_pkgname/defaults/pref"
+
+ # I don't even know why we're hitting the objdir, and ConnOS didn't.
+ _brandingdir=debian/branding
+ brandingdir=moz-objdir/$_brandingdir
+ icondir="$pkgdir/usr/share/icons/hicolor"
+ for i in 16x16 32x32 48x48 64x64; do
+ install -Dm644 "$brandingdir/default${i/x*/}.png" "$icondir/$i/apps/$_pkgname.png"
+ done
+ install -Dm644 "$brandingdir/mozicon128.png" "$icondir/128x128/apps/$_pkgname.png"
+ install -Dm644 "$_brandingdir/iceweasel_icon.svg" "$icondir/scalable/apps/$_pkgname.svg"
+
+ install -d "$pkgdir/usr/share/applications"
+ install -m644 debian/iceweasel.desktop "$pkgdir/usr/share/applications"
+ #install -m644 debian/iceweasel-safe.desktop "$pkgdir/usr/share/applications"
+
+ 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 -rf "$pkgdir"/usr/{include,lib/$_pkgname-devel,share/idl}
+
+ # Workaround for now: https://bugzilla.mozilla.org/show_bug.cgi?id=658850
+ ln -sf $_pkgname "$pkgdir/usr/lib/$_pkgname/$_pkgname-bin"
+}
diff --git a/libre/iceweasel-libre/iceweasel-install-dir.patch b/libre/iceweasel-libre/iceweasel-install-dir.patch
new file mode 100644
index 000000000..f80a3eca9
--- /dev/null
+++ b/libre/iceweasel-libre/iceweasel-install-dir.patch
@@ -0,0 +1,28 @@
+diff -Nur iceweasel-9.0.1.orig/config/autoconf.mk.in iceweasel-9.0.1/config/autoconf.mk.in
+--- iceweasel-9.0.1.orig/config/autoconf.mk.in 2011-12-31 17:07:52.000000000 -0500
++++ iceweasel-9.0.1/config/autoconf.mk.in 2011-12-31 17:11:18.000000000 -0500
+@@ -68,8 +68,8 @@
+ mandir = @mandir@
+ idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_BASE_VERSION)
+
+-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_BASE_VERSION)
+-sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_BASE_VERSION)
++installdir = $(libdir)/$(MOZ_APP_NAME)
++sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel
+
+ DIST = $(DEPTH)/dist
+ LIBXUL_SDK = @LIBXUL_SDK@
+diff -Nur iceweasel-9.0.1.orig/js/src/config/autoconf.mk.in iceweasel-9.0.1/js/src/config/autoconf.mk.in
+--- iceweasel-9.0.1.orig/js/src/config/autoconf.mk.in 2011-12-20 18:28:21.000000000 -0500
++++ iceweasel-9.0.1/js/src/config/autoconf.mk.in 2011-12-31 17:11:43.000000000 -0500
+@@ -60,8 +60,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/iceweasel-libre/iceweasel.install b/libre/iceweasel-libre/iceweasel.install
new file mode 100644
index 000000000..c1fe8284a
--- /dev/null
+++ b/libre/iceweasel-libre/iceweasel.install
@@ -0,0 +1,13 @@
+post_install() {
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
+
diff --git a/libre/iceweasel-libre/libre.patch b/libre/iceweasel-libre/libre.patch
new file mode 100644
index 000000000..c1bb0a8c7
--- /dev/null
+++ b/libre/iceweasel-libre/libre.patch
@@ -0,0 +1,242 @@
+diff -urN iceweasel-9.0.1.orig/browser/app/profile/firefox.js iceweasel-9.0.1/browser/app/profile/firefox.js
+--- mozilla-build/browser/app/profile/firefox.js.orig 2012-03-20 01:04:55.890545738 -0300
++++ mozilla-build/browser/app/profile/firefox.js 2012-03-20 01:05:03.330545430 -0300
+@@ -64,11 +64,11 @@
+ // Preferences for AMO integration
+ pref("extensions.getAddons.cache.enabled", true);
+ pref("extensions.getAddons.maxResults", 15);
+-pref("extensions.getAddons.get.url", "https://services.addons.mozilla.org/%LOCALE%/firefox/api/%API_VERSION%/search/guid:%IDS%?src=firefox&appOS=%OS%&appVersion=%VERSION%");
+-pref("extensions.getAddons.getWithPerformance.url", "https://services.addons.mozilla.org/%LOCALE%/firefox/api/%API_VERSION%/search/guid:%IDS%?src=firefox&appOS=%OS%&appVersion=%VERSION%&tMain=%TIME_MAIN%&tFirstPaint=%TIME_FIRST_PAINT%&tSessionRestored=%TIME_SESSION_RESTORED%");
+-pref("extensions.getAddons.search.browseURL", "https://addons.mozilla.org/%LOCALE%/firefox/search?q=%TERMS%");
+-pref("extensions.getAddons.search.url", "https://services.addons.mozilla.org/%LOCALE%/firefox/api/%API_VERSION%/search/%TERMS%/all/%MAX_RESULTS%/%OS%/%VERSION%/%COMPATIBILITY_MODE%?src=firefox");
+-pref("extensions.webservice.discoverURL", "https://services.addons.mozilla.org/%LOCALE%/firefox/discovery/pane/%VERSION%/%OS%");
+++pref("extensions.getAddons.get.url", "");
+++pref("extensions.getAddons.get.url", "http://www.gnu.org/s/gnuzilla/addons.html");
+++pref("extensions.getAddons.search.browseURL", "http://www.gnu.org/s/gnuzilla/addons.html");
+++pref("extensions.getAddons.search.url", "http://www.gnu.org/s/gnuzilla/addons.html");
+++pref("extensions.webservice.discoverURL", "http://www.gnu.org/s/gnuzilla/addons.html");
+
+ // Blocklist preferences
+ pref("extensions.blocklist.enabled", true);
+@@ -80,7 +80,7 @@
+ pref("extensions.autoDisableScopes", 15);
+
+ // Dictionary download preference
+-pref("browser.dictionaries.download.url", "https://addons.mozilla.org/%LOCALE%/firefox/dictionaries/");
++pref("browser.dictionaries.download.url", "");
+
+ // The minimum delay in seconds for the timer to fire.
+ // default=2 minutes
+@@ -200,7 +200,7 @@
+ pref("extensions.update.interval", 86400); // Check for updates to Extensions and
+ // Themes every day
+ // Non-symmetric (not shared by extensions) extension-specific [update] preferences
+-pref("extensions.getMoreThemesURL", "https://addons.mozilla.org/%LOCALE%/firefox/getpersonas");
++pref("extensions.getMoreThemesURL", "http://www.gnu.org/software/gnuzilla/addons.html#themes");
+ pref("extensions.dss.enabled", false); // Dynamic Skin Switching
+ pref("extensions.dss.switchPending", false); // Non-dynamic switch pending after next
+ // restart.
+@@ -234,7 +234,7 @@
+ // 0 = blank, 1 = home (browser.startup.homepage), 2 = last visited page, 3 = resume previous browser session
+ // The behavior of option 3 is detailed at: http://wiki.mozilla.org/Session_Restore
+ pref("browser.startup.page", 1);
+-pref("browser.startup.homepage", "chrome://branding/locale/browserconfig.properties");
++pref("browser.startup.homepage", "about:home");
+
+ // This url, if changed, MUST continue to point to an https url. Pulling arbitrary content to inject into
+ // this page over http opens us up to a man-in-the-middle attack that we'd rather not face. If you are a downstream
+@@ -324,7 +324,7 @@
+ pref("browser.download.manager.resumeOnWakeDelay", 10000);
+
+ // search engines URL
+-pref("browser.search.searchEnginesURL", "https://addons.mozilla.org/%LOCALE%/firefox/search-engines/");
++pref("browser.search.searchEnginesURL", "http://www.gnu.org/software/gnuzilla/addons.html");
+
+ // pointer to the default engine name
+ pref("browser.search.defaultenginename", "chrome://browser-region/locale/region.properties");
+@@ -563,7 +563,7 @@
+ pref("accessibility.typeaheadfind.flashBar", 1);
+
+ // plugin finder service url
+-pref("pfs.datasource.url", "https://pfs.mozilla.org/plugins/PluginFinderService.php?mimetype=%PLUGIN_MIMETYPE%&appID=%APP_ID%&appVersion=%APP_VERSION%&clientOS=%CLIENT_OS%&chromeLocale=%CHROME_LOCALE%&appRelease=%APP_RELEASE%");
++pref("pfs.datasource.url", "http://gnuzilla.gnu.org/plugins/PluginFinderService.php?mimetype=%PLUGIN_MIMETYPE%&appID=%APP_ID%&appVersion=%APP_VERSION%&clientOS=%CLIENT_OS%&chromeLocale=%CHROME_LOCALE%&appRelease=%APP_RELEASE%");
+
+ // by default we show an infobar message when pages require plugins the user has not installed, or are outdated
+ pref("plugins.hide_infobar_for_missing_plugin", false);
+diff -urN iceweasel-9.0.1.orig/browser/base/content/syncSetup.js iceweasel-9.0.1/browser/base/content/syncSetup.js
+--- iceweasel-9.0.1.orig/browser/base/content/syncSetup.js 2011-12-16 20:29:12.000000000 +0000
++++ iceweasel-9.0.1/browser/base/content/syncSetup.js 2011-12-21 10:05:15.888062669 +0000
+@@ -59,7 +59,7 @@
+ // Broader than we'd like, but after this changed from api-secure.recaptcha.net
+ // we had no choice. At least we only do this for the duration of setup.
+ // See discussion in Bugs 508112 and 653307.
+-const RECAPTCHA_DOMAIN = "https://www.google.com";
++const RECAPTCHA_DOMAIN = "https://www.duckduckgo.com";
+
+ Cu.import("resource://services-sync/main.js");
+ Cu.import("resource://gre/modules/XPCOMUtils.jsm");
+diff -urN iceweasel-9.0.1.orig/browser/locales/en-US/chrome/browser-region/region.properties iceweasel-9.0.1/browser/locales/en-US/chrome/browser-region/region.properties
+--- iceweasel-9.0.1.orig/browser/locales/en-US/chrome/browser-region/region.properties 2011-12-16 20:29:13.000000000 +0000
++++ iceweasel-9.0.1/browser/locales/en-US/chrome/browser-region/region.properties 2011-12-21 09:55:31.032062468 +0000
+@@ -1,8 +1,8 @@
+ # Default search engine
+-browser.search.defaultenginename=Google
++browser.search.defaultenginename=DuckDuckGo
+
+ # Search engine order (order displayed in the search bar dropdown)s
+-browser.search.order.1=Google
++browser.search.order.1=DuckDuckGo
+ browser.search.order.2=Yahoo
+ browser.search.order.3=Bing
+
+@@ -17,7 +17,7 @@
+ # 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=http://duckduck.go.com/?q={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
+diff -urN iceweasel-9.0.1.orig/build/pgo/blueprint/elements.html iceweasel-9.0.1/build/pgo/blueprint/elements.html
+--- iceweasel-9.0.1.orig/build/pgo/blueprint/elements.html 2011-12-16 20:29:13.000000000 +0000
++++ iceweasel-9.0.1/build/pgo/blueprint/elements.html 2011-12-21 10:04:42.988062659 +0000
+@@ -143,7 +143,7 @@
+ </p>
+ <p>
+ <a>&lt;a&gt; anchor</a><br>
+- <a href="http://www.google.com">&lt;a&gt; a + href</a>
++ <a href="http://www.duckduckgo.com">&lt;a&gt; a + href</a>
+ </p>
+ <p>
+ <abbr title="extended abbr text should show when mouse over">&lt;abbr&gt; abbr - extended text when mouseover.</abbr><br>
+diff -urN iceweasel-9.0.1.orig/dom/ipc/test.xul iceweasel-9.0.1/dom/ipc/test.xul
+--- iceweasel-9.0.1.orig/dom/ipc/test.xul 2011-12-16 20:29:17.000000000 +0000
++++ iceweasel-9.0.1/dom/ipc/test.xul 2011-12-21 10:03:33.224062635 +0000
+@@ -301,6 +301,6 @@
+ oncommand="document.getElementById('page').QueryInterface(Components.interfaces.nsIFrameLoaderOwner).frameLoader.delayRemoteDialogs = this.checked;"/>
+ </toolbar>
+
+- <browser type="content" src="http://www.google.com/" flex="1" id="page" remote="true"/>
++ <browser type="content" src="http://www.duckduckgo.com/" flex="1" id="page" remote="true"/>
+ <label id="messageLog" value="" crop="center"/>
+ </window>
+diff -urN iceweasel-9.0.1.orig/layout/ipc/test-ipcbrowser.xul iceweasel-9.0.1/layout/ipc/test-ipcbrowser.xul
+--- iceweasel-9.0.1.orig/layout/ipc/test-ipcbrowser.xul 2011-12-16 20:29:28.000000000 +0000
++++ iceweasel-9.0.1/layout/ipc/test-ipcbrowser.xul 2011-12-21 10:03:06.408062626 +0000
+@@ -69,6 +69,6 @@
+ label="setViewportScale"/>
+ </toolbar>
+
+- <browser type="content" src="http://www.google.com/" flex="1" id="content"
++ <browser type="content" src="http://www.duckduckgo.com/" flex="1" id="content"
+ remote="true"/>
+ </window>
+diff -urN iceweasel-9.0.1.orig/mobile/xul/app/mobile.js iceweasel-9.0.1/mobile/xul/app/mobile.js
+--- mozilla-build/mobile/xul/app/mobile.js.orig 2012-03-20 01:02:30.300551777 -0300
++++ mozilla-build/mobile/xul/app/mobile.js 2012-03-20 01:02:40.820551342 -0300
+@@ -218,13 +218,12 @@
+ /* preferences for the Get Add-ons pane */
+ pref("extensions.getAddons.cache.enabled", true);
+ pref("extensions.getAddons.maxResults", 15);
+-pref("extensions.getAddons.recommended.browseURL", "https://addons.mozilla.org/%LOCALE%/mobile/recommended/");
+-pref("extensions.getAddons.recommended.url", "https://services.addons.mozilla.org/%LOCALE%/mobile/api/%API_VERSION%/list/featured/all/%MAX_RESULTS%/%OS%/%VERSION%");
+-pref("extensions.getAddons.search.browseURL", "https://addons.mozilla.org/%LOCALE%/mobile/search?q=%TERMS%");
+-pref("extensions.getAddons.search.url", "https://services.addons.mozilla.org/%LOCALE%/mobile/api/%API_VERSION%/search/%TERMS%/all/%MAX_RESULTS%/%OS%/%VERSION%");
+-pref("extensions.getAddons.browseAddons", "https://addons.mozilla.org/%LOCALE%/mobile/");
+-pref("extensions.getAddons.get.url", "https://services.addons.mozilla.org/%LOCALE%/mobile/api/%API_VERSION%/search/guid:%IDS%?src=mobile&appOS=%OS%&appVersion=%VERSION%");
+-pref("extensions.getAddons.getWithPerformance.url", "https://services.addons.mozilla.org/%LOCALE%/mobile/api/%API_VERSION%/search/guid:%IDS%?src=mobile&appOS=%OS%&appVersion=%VERSION%&tMain=%TIME_MAIN%&tFirstPaint=%TIME_FIRST_PAINT%&tSessionRestored=%TIME_SESSION_RESTORED%");
+++pref("extensions.getAddons.recommended.browseURL", "http://www.gnu.org/s/gnuzilla/addons.html");
+++pref("extensions.getAddons.recommended.url", "http://www.gnu.org/s/gnuzilla/addons.html");
+++pref("extensions.getAddons.search.browseURL", "http://www.gnu.org/s/gnuzilla/addons.html");
+++pref("extensions.getAddons.search.url", "http://www.gnu.org/s/gnuzilla/addons.html");
+++pref("extensions.getAddons.browseAddons", "http://www.gnu.org/s/gnuzilla/addons.html");
+++pref("extensions.getAddons.get.url", "http://www.gnu.org/s/gnuzilla/addons.html");
+
+ /* preference for the locale picker */
+ pref("extensions.getLocales.get.url", "");
+@@ -239,7 +240,7 @@
+ pref("privacy.popups.showBrowserMessage", true);
+
+ pref("keyword.enabled", true);
+-pref("keyword.URL", "http://www.google.com/m?ie=UTF-8&oe=UTF-8&sourceid=navclient&gfns=1&q=");
++pref("keyword.URL", "http://duckduckgo.com/?q=");
+
+ pref("accessibility.typeaheadfind", false);
+ pref("accessibility.typeaheadfind.timeout", 5000);
+diff -urN iceweasel-9.0.1.orig/mobile/locales/en-US/chrome/region.properties iceweasel-9.0.1/mobile/locales/en-US/chrome/region.properties
+--- iceweasel-9.0.1.orig/mobile/locales/en-US/chrome/region.properties 2011-12-16 20:29:36.000000000 +0000
++++ iceweasel-9.0.1/mobile/locales/en-US/chrome/region.properties 2011-12-21 09:54:17.560062443 +0000
+@@ -1,8 +1,8 @@
+ # Default search engine
+-browser.search.defaultenginename=Google
++browser.search.defaultenginename=DuckDuckGo
+
+ # Search engine order (order displayed in the search bar dropdown)s
+-browser.search.order.1=Google
++browser.search.order.1=DuckDuckGo
+
+ # This is the default set of web based feed handlers shown in the reader
+ # selection UI
+@@ -12,7 +12,7 @@
+ browser.contentHandlers.types.1.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=http://duckduckgo.com/?q=
+
+ # 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
+diff -urN iceweasel-9.0.1.orig/modules/libpref/src/init/all.js iceweasel-9.0.1/modules/libpref/src/init/all.js
+--- iceweasel-9.0.1.orig/modules/libpref/src/init/all.js 2011-12-21 09:07:20.000000000 +0000
++++ iceweasel-9.0.1/modules/libpref/src/init/all.js 2011-12-21 10:09:17.136062754 +0000
+@@ -47,7 +47,7 @@
+ // SYNTAX HINTS: dashes are delimiters. Use underscores instead.
+ // The first character after a period must be alphabetic.
+
+-pref("keyword.URL", "http://www.google.com/search?ie=UTF-8&oe=utf-8&q=");
++pref("keyword.URL", "http://duckduckgo.com/?q=");
+ pref("keyword.enabled", false);
+ pref("general.useragent.locale", "chrome://global/locale/intl.properties");
+ pref("general.useragent.compatMode.firefox", false);
+diff -urN iceweasel-9.0.1.orig/toolkit/locales/en-US/chrome/global-region/region.properties iceweasel-9.0.1/toolkit/locales/en-US/chrome/global-region/region.properties
+--- iceweasel-9.0.1.orig/toolkit/locales/en-US/chrome/global-region/region.properties 2011-12-16 20:29:43.000000000 +0000
++++ iceweasel-9.0.1/toolkit/locales/en-US/chrome/global-region/region.properties 2011-12-21 12:51:31.188066096 +0000
+@@ -4,10 +4,10 @@
+ pluginStartupMessage=Starting Plugin for type
+
+ # plug-ins URLs
+-more_plugins_label=mozilla.org
+-more_plugins_url=https://pfs.mozilla.org/plugins/
+-pluginupdates_label=mozilla.com/plugincheck
+-pluginupdates_url=http://www.mozilla.com/plugincheck/
+-plugindoc_label=plugindoc.mozdev.org
+-plugindoc_url=http://plugindoc.mozdev.org/
++more_plugins_label=gnuzilla.gnu.org
++more_plugins_url=http://www.gnu.org/s/gnuzilla/addons.html
++pluginupdates_label=gnuzilla.gnu.org
++pluginupdates_url=http://www.gnu.org/s/gnuzilla/addons.html
++plugindoc_label=gnuzilla.gnu.org
++plugindoc_url=http://www.gnu.org/s/gnuzilla/addons.html
+
+--- iceweasel-10.0.orig/browser/locales/generic/profile/bookmarks.html.in 2012-02-07 15:40:34.279657460 -0300
++++ iceweasel-10.0/browser/locales/generic/profile/bookmarks.html.in 2012-02-07 15:40:19.226324812 -0300
+@@ -11,13 +11,13 @@
+ <DT><H3 PERSONAL_TOOLBAR_FOLDER="true" ID="rdf:#$FvPhC3">@bookmarks_toolbarfolder@</H3>
+ <DD>@bookmarks_toolbarfolder_description@
+ <DL><p>
+- <DT><A HREF="http://www.mozilla.com/@AB_CD@/firefox/central/" ID="rdf:#$GvPhC3">@getting_started@</A>
++ <DT><A HREF="http://www.connochaetos.org/">ConnochaetOS</A>
++ <DT><A HREF="https://parabolagnulinux.org/">Parabola</A>
+ </DL><p>
+ <DT><H3 ID="rdf:#$ZvPhC3">@firefox_heading@</H3>
+ <DL><p>
+- <DT><A HREF="http://www.mozilla.com/@AB_CD@/firefox/help/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg==" ID="rdf:#$22iCK1">@firefox_help@</A>
+- <DT><A HREF="http://www.mozilla.com/@AB_CD@/firefox/customize/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg==" ID="rdf:#$32iCK1">@firefox_customize@</A>
+- <DT><A HREF="http://www.mozilla.com/@AB_CD@/firefox/community/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg==" ID="rdf:#$42iCK1">@firefox_community@</A>
+- <DT><A HREF="http://www.mozilla.com/@AB_CD@/about/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg==" ID="rdf:#$52iCK1">@firefox_about@</A>
++ <DT><A HREF="http://www.fsf.org/">Free Software Foundation</A>
++ <DT><A HREF="http://libreplanet.org/">LibrePlanet</A>
++ <DT><a href="http://www.gnu.org/software/gnuzilla/addons.html">Free addons</A>
+ </DL><p>
+ </DL><p>
diff --git a/libre/iceweasel-libre/mozconfig b/libre/iceweasel-libre/mozconfig
new file mode 100644
index 000000000..e79896323
--- /dev/null
+++ b/libre/iceweasel-libre/mozconfig
@@ -0,0 +1,55 @@
+. $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-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
+
+export MOZILLA_OFFICIAL=1
+mk_add_options MOZILLA_OFFICIAL=1
+mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/moz-objdir
+
+# Iceweasel
+ac_add_options --disable-official-branding
+ac_add_options --with-branding=debian/branding
+
+# 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
+ac_add_options --disable-safe-browsing
+export BUILD_OFFICIAL=1
+mk_add_options BUILD_OFFICIAL=1
+
+# Build-generated
diff --git a/libre/iceweasel-libre/mozconfig.pgo b/libre/iceweasel-libre/mozconfig.pgo
new file mode 100644
index 000000000..b0c249ebf
--- /dev/null
+++ b/libre/iceweasel-libre/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/iceweasel-libre/region.properties b/libre/iceweasel-libre/region.properties
new file mode 100644
index 000000000..2e980987e
--- /dev/null
+++ b/libre/iceweasel-libre/region.properties
@@ -0,0 +1,23 @@
+# Default search engine
+browser.search.defaultenginename=Duck Duck Go (SSL)
+
+# Search engine order (order displayed in the search bar dropdown)s
+browser.search.order.1=Duck Duck Go (SSL)
+browser.search.order.2=Duck Duck Go (Lite)
+
+
+# Keyword URL (for location bar searches)
+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=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
+# profile database. Note that "new" is defined as "has a different URL"; this
+# means that it's not possible to update the name of existing handler, so
+# don't make any spelling errors here.
+#gecko.handlerService.defaultHandlersVersion=3
diff --git a/libre/iceweasel-libre/vendor.js b/libre/iceweasel-libre/vendor.js
new file mode 100644
index 000000000..d8d606bc1
--- /dev/null
+++ b/libre/iceweasel-libre/vendor.js
@@ -0,0 +1,9 @@
+// Use LANG environment variable to choose locale
+pref("intl.locale.matchOS", true);
+
+// Disable default browser checking.
+pref("browser.shell.checkDefaultBrowser", false);
+
+// Don't disable our bundled extensions in the application directory
+pref("extensions.autoDisableScopes", 11);
+pref("extensions.shownSelectionUI", true);
diff --git a/libre/iceweasel-libre/xulrunner-copy-stub.patch b/libre/iceweasel-libre/xulrunner-copy-stub.patch
new file mode 100644
index 000000000..e3b8e9376
--- /dev/null
+++ b/libre/iceweasel-libre/xulrunner-copy-stub.patch
@@ -0,0 +1,11 @@
+--- iceweasel-9.0.1/browser/app/Makefile.in~ 2011-12-25 16:19:29.000000000 -0500
++++ iceweasel-9.0.1/browser/app/Makefile.in 2011-12-25 16:19:55.000000000 -0500
+@@ -257,7 +257,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/iceweasel$(BIN_SUFFIX)
+ endif
+ endif
+