summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndré Fabian Silva Delgado <emulatorman@parabola.nu>2015-08-26 01:37:51 -0300
committercoadde [Márcio Alexandre Silva Delgado] <coadde@parabola.nu>2015-08-28 18:37:20 -0300
commita5885883426b91698e3ba22dd39ed40ae751e87c (patch)
treec17f98a22901e5323579a6e34d887063d7e458cf
parent487b1f06afbdbf8107c490d4aa6384e28d7d2ccb (diff)
icecat-38.2.0_gnu1-1: move package to [libre]
-rw-r--r--libre-testing/icecat/PKGBUILD165
-rw-r--r--libre-testing/icecat/freetype26.patch30
-rw-r--r--libre-testing/icecat/gnu_headshadow.pngbin6785 -> 0 bytes
-rw-r--r--libre-testing/icecat/icecat-fixed-loading-icon.pngbin12184 -> 0 bytes
-rw-r--r--libre-testing/icecat/icecat-install-dir.patch12
-rw-r--r--libre-testing/icecat/icecat.desktop352
-rw-r--r--libre-testing/icecat/icecat.install13
-rw-r--r--libre-testing/icecat/libre.patch890
-rw-r--r--libre-testing/icecat/mozconfig38
-rw-r--r--libre-testing/icecat/vendor.js28
-rw-r--r--libre/icecat/PKGBUILD60
-rw-r--r--libre/icecat/fixing_nullptr_31.7.0.patch174
-rw-r--r--libre/icecat/libre.patch43
-rw-r--r--libre/icecat/mozconfig3
-rw-r--r--libre/icecat/mozconfig.pgo3
-rw-r--r--libre/icecat/remove-google-play-services-support.patch64
-rw-r--r--libre/icecat/rhbz-966424.patch14
17 files changed, 101 insertions, 1788 deletions
diff --git a/libre-testing/icecat/PKGBUILD b/libre-testing/icecat/PKGBUILD
deleted file mode 100644
index 9b0c72ba6..000000000
--- a/libre-testing/icecat/PKGBUILD
+++ /dev/null
@@ -1,165 +0,0 @@
-# Maintainer: André Silva <emulatorman@parabola.nu>
-# Contributor: Márcio Silva <coadde@parabola.nu>
-# Contributor (ConnochaetOS): Henry Jensen <hjensen@connochaetos.org>
-# Contributor: Luke Shumaker <lukeshu@sbcglobal.net>
-# Contributor: fauno <fauno@kiwwwi.com.ar>
-# Contributor: vando <facundo@esdebian.org>
-# Contributor (Arch): Jakub Schmidtke <sjakub@gmail.com>
-# Contributor: Figue <ffigue at gmail>
-# Thank you very much to the older contributors:
-# Contributor: evr <evanroman at gmail>
-# Contributor: Muhammad 'MJ' Jassim <UnbreakableMJ@gmail.com>
-
-_pgo=true
-
-pkgname=icecat
-_pkgver=38.2.0-gnu1
-pkgver=${_pkgver//-/_}
-pkgrel=1
-
-pkgdesc="GNU IceCat, the standalone web browser based on Mozilla Firefox."
-arch=(i686 x86_64)
-license=(MPL GPL LGPL)
-depends=(alsa-lib dbus-glib desktop-file-utils gtk2 hicolor-icon-theme hunspell icu=55.1 libevent libvpx=1.4.0 libxt mime-types mozilla-common mozilla-searchplugins nss sqlite startup-notification)
-makedepends=(diffutils gst-plugins-base-libs imake inetutils libpulse mesa python2 unzip yasm zip)
-options=(!emptydirs !makeflags debug)
-if $_pgo; then
- makedepends+=(xorg-server-xvfb)
- options+=(!ccache)
-fi
-optdepends=('networkmanager: Location detection via available WiFi networks'
- 'gst-plugins-good: h.264 video'
- 'gst-libav: h.264 video')
-url="http://www.gnu.org/software/gnuzilla/"
-install=$pkgname.install
-#source=(http://ftp.gnu.org/gnu/gnuzilla/${_pkgver%-*}/$pkgname-$_pkgver.tar.bz2{,.sig}
-source=(http://jenkins.trisquel.info/$pkgname/$pkgname-$_pkgver.tar.bz2
- mozconfig
- libre.patch
- gnu_headshadow.png
- $pkgname.desktop
- $pkgname-install-dir.patch
- freetype26.patch
- vendor.js
- $pkgname-fixed-loading-icon.png)
-sha256sums=('eef4addf37f6fc885f28eea936cee7258d42f0cb11d79703ec7ec1fe2b80ef8d'
- '33a8cf07373c63a0bea70ec2c3983d2cca990752c0f946cb5dbd91f1e2b6410f'
- 'e333901df4fc8a881d08c9434e3c302885ed4a989316114e13af828417510410'
- '93e3001ce152e1d142619e215a9ef07dd429943b99d21726c25da9ceb31e31cd'
- '52df9ffeb52166ed4abd9a132ee4a9017b9c4980f0725ba383610ccfb06d4745'
- '5bdab2de5520fb4d3dbc453d9f73d20e0e077bf652bc780fc17184ba6c718a47'
- 'b9c440406644fde5097da8717f0b5e5e973d11ec4dd6d4a0570ca7094d96dc85'
- '977aa49b940f1da049cefa2878a63ac6669a78e63e9d55bb11db7b8f8fb64c33'
- '68e3a5b47c6d175cc95b98b069a15205f027cab83af9e075818d38610feb6213')
-#validpgpkeys=('A57369A8BABC2542B5A0368C3C76EED7D7E04784') # Ruben Rodriguez
-
-prepare() {
- export GNU_BUILD="gnuzilla-release"
-
- mv $pkgname-${pkgver%_*} "$srcdir/$GNU_BUILD"
- cd "$srcdir/$GNU_BUILD"
-
- # Put gnu_headshadow.png on the source code
- install -m644 "$srcdir/gnu_headshadow.png" \
- browser/base/content/abouthome
-
- # Install to /usr/lib/$pkgname
- patch -Np1 -i "$srcdir/$pkgname-install-dir.patch"
-
- # https://bugzilla.mozilla.org/show_bug.cgi?id=1143411
- patch -Np1 -i "$srcdir/freetype26.patch"
-
- # Patch and remove anything that's left
- patch -Np1 -i "$srcdir/libre.patch"
- rm -v browser/base/content/abouthome/snippet*.png || true
- sed -i '\|abouthome/snippet|d
- ' browser/base/jar.mn
-
- # Replace common URLs
- sed -i '\|extensions[.]getAddons[.]get[.]url| s|https://services[.]addons[.]mozilla[.]org.\+["][)][;]|https://trisquel.info/en/browser");|g;
- \|extensions[.]getAddons[.]search[.]browseURL| s|https://addons[.]mozilla[.]org.\+["][)][;]|https://trisquel.info/en/browser");|g;
- \|extensions[.]getAddons[.]search[.]url| s|https://services[.]addons[.]mozilla[.]org.\+["][)][;]|https://trisquel.info/en/browser");|g;
- \|extensions[.]getAddons[.]search[.]url| s|https://directory[.]fsf[.]org.\+["][)][;]|https://trisquel.info/en/browser");|g;
- \|extensions[.]webservice[.]discoverURL| s|https://services[.]addons[.]mozilla[.]org.\+["][)][;]|https://trisquel.info/en/browser");|g;
- \|extensions[.]webservice[.]discoverURL| s|https://directory[.]fsf[.]org.\+["][)][;]|https://trisquel.info/en/browser");|g;
- \|browser[.]search[.]searchEnginesURL| s|https://addons[.]mozilla[.]org.\+["][)][;]|https://trisquel.info/en/browser");|g;
- \|browser[.]search[.]searchEnginesURL| s|https://mycroft[.]mozdev[.]org.\+["][)][;]|https://trisquel.info/en/browser");|g;
- \|plugins[.]update[.]url| s|https://www[.]mozilla[.]org/[%]LOCALE[%]/plugincheck/["][)][;]|https://trisquel.info/en/browser");|g;
- \|plugins[.]update[.]url| s|https://www[.]gnu[.]org/software/gnuzilla/["][)][;]|https://trisquel.info/en/browser");|g;
- ' browser/app/profile/icecat.js
-
- # Load our build config, disable SafeSearch
- cp "$srcdir/mozconfig" .mozconfig
-
- 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
- sed -i '/ac_cpp=/s/$CPPFLAGS/& -O2/' configure
-
- # Fix tab loading icon (doesn't work with libpng 1.6)
- # https://bugzilla.mozilla.org/show_bug.cgi?id=841734
- cp "$srcdir/$pkgname-fixed-loading-icon.png" \
- browser/themes/linux/tabbrowser/loading.png
-}
-
-build() {
- export GNU_BUILD="gnuzilla-release"
-
- cd "$srcdir/$GNU_BUILD"
-
- export PATH="$srcdir/path:$PATH"
- export PYTHON="/usr/bin/python2"
-
- if $_pgo; then
- # Do PGO
- xvfb-run -a -s "-extension GLX -screen 0 1280x1024x24" \
- make -f client.mk build MOZ_PGO=1
- else
- make -f client.mk build
- fi
-}
-
-package() {
- export GNU_BUILD="gnuzilla-release"
-
- cd "$srcdir/$GNU_BUILD"
- make -f client.mk DESTDIR="$pkgdir" INSTALL_SDK= install
-
- install -Dm644 ../vendor.js "$pkgdir/usr/lib/$pkgname/browser/defaults/preferences/vendor.js"
-
-
- brandingdir=browser/branding/official
- 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
- install -Dm644 "$brandingdir/content/icon64.png" \
- "$icondir/64x64/apps/$pkgname.png"
- install -Dm644 "$brandingdir/mozicon128.png" \
- "$icondir/128x128/apps/$pkgname.png"
- install -Dm644 "$brandingdir/content/about-logo.png" \
- "$icondir/192x192/apps/$pkgname.png"
- install -Dm644 "$brandingdir/content/about-logo@2x.png" \
- "$icondir/384x384/apps/$pkgname.png"
-
- install -d "$pkgdir/usr/share/applications"
- install -m644 "$srcdir/$pkgname.desktop" \
- "$pkgdir/usr/share/applications"
-
- # Use system-provided dictionaries
- rm -rf "$pkgdir/usr/lib/$pkgname/"{dictionaries,hyphenation}
- ln -s /usr/share/hunspell "$pkgdir/usr/lib/$pkgname/dictionaries"
- ln -s /usr/share/hyphen "$pkgdir/usr/lib/$pkgname/hyphenation"
-
- rm -rf "$pkgdir/usr/lib/$pkgname/browser/"{searchplugins,plugins}
- ln -sf /usr/lib/mozilla/plugins "$pkgdir/usr/lib/$pkgname/browser/plugins"
- ln -sf /usr/lib/mozilla/searchplugins "$pkgdir/usr/lib/$pkgname/browser/searchplugins"
-
- # 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-testing/icecat/freetype26.patch b/libre-testing/icecat/freetype26.patch
deleted file mode 100644
index c1eb49497..000000000
--- a/libre-testing/icecat/freetype26.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-
-# HG changeset patch
-# User NiLuJe <ninuje@gmail.com>
-# Date 1426721573 14400
-# Node ID afd840d66e6a775dc2ed35dd3add01ff07f950fe
-# Parent 35515400af363bfc141353acd474814567c43c54
-Bug 1143411 - Fix build against latest freetype code. r=glandium
-
-diff --git a/config/system-headers b/config/system-headers
---- a/config/system-headers
-+++ b/config/system-headers
-@@ -465,16 +465,17 @@ freetype/tttables.h
- freetype/t1tables.h
- freetype/ftlcdfil.h
- freetype/ftsizes.h
- freetype/ftadvanc.h
- freetype/ftbitmap.h
- freetype/ftxf86.h
- freetype.h
- ftcache.h
-+ftfntfmt.h
- ftglyph.h
- ftsynth.h
- ftoutln.h
- ttnameid.h
- tttables.h
- t1tables.h
- ftlcdfil.h
- ftsizes.h
-
diff --git a/libre-testing/icecat/gnu_headshadow.png b/libre-testing/icecat/gnu_headshadow.png
deleted file mode 100644
index e0f73a3bf..000000000
--- a/libre-testing/icecat/gnu_headshadow.png
+++ /dev/null
Binary files differ
diff --git a/libre-testing/icecat/icecat-fixed-loading-icon.png b/libre-testing/icecat/icecat-fixed-loading-icon.png
deleted file mode 100644
index 55f25e591..000000000
--- a/libre-testing/icecat/icecat-fixed-loading-icon.png
+++ /dev/null
Binary files differ
diff --git a/libre-testing/icecat/icecat-install-dir.patch b/libre-testing/icecat/icecat-install-dir.patch
deleted file mode 100644
index e15bf0b68..000000000
--- a/libre-testing/icecat/icecat-install-dir.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nur a/config/baseconfig.mk c/config/baseconfig.mk
---- a/config/baseconfig.mk 2014-10-09 12:52:39.000000000 -0200
-+++ b/config/baseconfig.mk 2014-10-21 18:34:35.803894661 -0200
-@@ -4,7 +4,7 @@
- # whether a normal build is happening or whether the check is running.
- includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
- idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
--installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-+installdir = $(libdir)/$(MOZ_APP_NAME)
- sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
- ifndef TOP_DIST
- TOP_DIST = dist
diff --git a/libre-testing/icecat/icecat.desktop b/libre-testing/icecat/icecat.desktop
deleted file mode 100644
index d2c0ccb03..000000000
--- a/libre-testing/icecat/icecat.desktop
+++ /dev/null
@@ -1,352 +0,0 @@
-[Desktop Entry]
-Name=GNU IceCat
-GenericName=Web Browser
-GenericName[ar]=متصفح ويب
-GenericName[ast]=Restolador Web
-GenericName[bn]=ওয়েব ব্রাউজার
-GenericName[ca]=Navegador web
-GenericName[cs]=Webový prohlížeč
-GenericName[da]=Webbrowser
-GenericName[el]=Περιηγητής διαδικτύου
-GenericName[es]=Navegador web
-GenericName[et]=Veebibrauser
-GenericName[fa]=مرورگر اینترنتی
-GenericName[fi]=WWW-selain
-GenericName[fr]=Navigateur Web
-GenericName[gl]=Navegador Web
-GenericName[he]=דפדפן אינטרנט
-GenericName[hr]=Web preglednik
-GenericName[hu]=Webböngésző
-GenericName[it]=Browser web
-GenericName[ja]=ウェブ・ブラウザ
-GenericName[ko]=웹 브라우저
-GenericName[ku]=Geroka torê
-GenericName[lt]=Interneto naršyklė
-GenericName[nb]=Nettleser
-GenericName[nl]=Webbrowser
-GenericName[nn]=Nettlesar
-GenericName[no]=Nettleser
-GenericName[pl]=Przeglądarka WWW
-GenericName[pt]=Navegador Web
-GenericName[pt_BR]=Navegador Web
-GenericName[ro]=Navigator Internet
-GenericName[ru]=Веб-браузер
-GenericName[sk]=Internetový prehliadač
-GenericName[sl]=Spletni brskalnik
-GenericName[sv]=Webbläsare
-GenericName[tr]=Web Tarayıcı
-GenericName[ug]=توركۆرگۈ
-GenericName[uk]=Веб-браузер
-GenericName[vi]=Trình duyệt Web
-GenericName[zh_CN]=网络浏览器
-GenericName[zh_TW]=網路瀏覽器
-Comment=Browse the World Wide Web
-Comment[ar]=تصفح الشبكة العنكبوتية العالمية
-Comment[ast]=Restola pela Rede
-Comment[bn]=ইন্টারনেট ব্রাউজ করুন
-Comment[ca]=Navegueu per la web
-Comment[cs]=Prohlížení stránek World Wide Webu
-Comment[da]=Surf på internettet
-Comment[de]=Im Internet surfen
-Comment[el]=Μπορείτε να περιηγηθείτε στο διαδίκτυο (Web)
-Comment[es]=Navegue por la web
-Comment[et]=Lehitse veebi
-Comment[fa]=صفحات شبکه جهانی اینترنت را مرور نمایید
-Comment[fi]=Selaa Internetin WWW-sivuja
-Comment[fr]=Naviguer sur le Web
-Comment[gl]=Navegar pola rede
-Comment[he]=גלישה ברחבי האינטרנט
-Comment[hr]=Pretražite web
-Comment[hu]=A világháló böngészése
-Comment[it]=Esplora il web
-Comment[ja]=ウェブを閲覧します
-Comment[ko]=웹을 돌아 다닙니다
-Comment[ku]=Li torê bigere
-Comment[lt]=Naršykite internete
-Comment[nb]=Surf på nettet
-Comment[nl]=Verken het internet
-Comment[nn]=Surf på nettet
-Comment[no]=Surf på nettet
-Comment[pl]=Przeglądanie stron WWW
-Comment[pt]=Navegue na Internet
-Comment[pt_BR]=Navegue na Internet
-Comment[ro]=Navigați pe Internet
-Comment[ru]=Доступ в Интернет
-Comment[sk]=Prehliadanie internetu
-Comment[sl]=Brskajte po spletu
-Comment[sv]=Surfa på webben
-Comment[tr]=İnternet'te Gezinin
-Comment[ug]=دۇنيادىكى توربەتلەرنى كۆرگىلى بولىدۇ
-Comment[uk]=Перегляд сторінок Інтернету
-Comment[vi]=Để duyệt các trang web
-Comment[zh_CN]=浏览互联网
-Comment[zh_TW]=瀏覽網際網路
-Exec=icecat %u
-Terminal=false
-Type=Application
-Icon=icecat
-Categories=Network;WebBrowser;
-MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;
-StartupNotify=true
-Actions=NewTab;NewWindow;NewPrivateWindow;
-
-[Desktop Action NewTab]
-Name=Open new tab
-Name[ach]=Yab dirica matidi manyen
-Name[af]=Open nuwe oortjie
-Name[an]=Ubrir una pestanya nueva
-Name[ar]=افتح لسانًا جديدًا
-Name[as]=নতুন টেব খোলক
-Name[ast]=Abrir llingüeta nueva
-Name[az]=Yeni vərəq aç
-Name[be]=Адкрыць новую ўстаўку
-Name[bg]=Отваряне на нов подпрозорец
-Name[bn_BD]=নতুন ট্যাব খুলুন
-Name[bn_IN]=নতুন ট্যাব খুলুন
-Name[br]=Digeriñ un ivinell nevez
-Name[bs]=Otvori novi tab
-Name[ca]=Obre una pestanya nova
-Name[cs]=Otevřít nový panel
-Name[cy]=Agor tab newydd
-Name[da]=Åbn nyt faneblad
-Name[de]=Neuen Tab öffnen
-Name[dsb]=Nowy rejtark wócyniś
-Name[el]=Άνοιγμα νέας καρτέλας
-Name[eo]=Malfermi novan langeton
-Name[es_AR]=Abrir nueva pestaña
-Name[es_CL]=Abrir nueva pestaña
-Name[es_ES]=Abrir pestaña nueva
-Name[es_MX]=Abrir una pestaña nueva
-Name[et]=Ava uus kaart
-Name[eu]=Ireki fitxa berria
-Name[ff]=Uddit tabbere hesere
-Name[fi]=Avaa uusi välilehti
-Name[fr]=Ouvrir un nouvel onglet
-Name[fy_NL]=Iepenje nij ljepblêd
-Name[ga_IE]=Oscail i gcluaisín nua
-Name[gd]=Fosgail taba ùr
-Name[gl]=Abrir unha nova lapela
-Name[gu_IN]=નવી ટૅબને ખોલો
-Name[he]=פתיחת לשונית חדשה
-Name[hi_IN]=नया टैब खोलें
-Name[hr]=Otvori novu karticu
-Name[hsb]=Nowy rajtark wočinić
-Name[hu]=Új lap megnyitása
-Name[hy_AM]=Բացել նոր ներդիր
-Name[id]=Buka tab baru
-Name[is]=Opna nýjan flipa
-Name[it]=Apri nuova scheda
-Name[ja]=新しいタブ
-Name[kk]=Жаңа бетті ашу
-Name[kn]=ಹೊಸ ಹಾಳೆಯನ್ನು ತೆರೆ
-Name[ko]=새 탭 열기
-Name[lij]=Àrvi nêuvo féuggio
-Name[lt]=Atverti naują kortelę
-Name[mai]=नव टैब खोलू
-Name[mk]=Отвори ново јазиче
-Name[ml]=പുതിയ റ്റാബ് തുറക്കുക
-Name[mr]=नवीन टॅब उघडा
-Name[ms]=Buka tab baru
-Name[nb_NO]=Åpne ny fane
-Name[nl]=Nieuw tabblad openen
-Name[nn_NO]=Opna ny fane
-Name[or]=ନୂତନ ଟ୍ୟାବ ଖୋଲନ୍ତୁ
-Name[pa_IN]=ਨਵੀਂ ਟੈਬ ਖੋਲ੍ਹੋ
-Name[pl]=Otwórz nową kartę
-Name[pt_BR]=Nova aba
-Name[pt_PT]=Abrir novo separador
-Name[rm]=Avrir in nov tab
-Name[ro]=Deschide o filă nouă
-Name[ru]=Открыть новую вкладку
-Name[si]=නව ටැබය විවෘත කරන්න
-Name[sk]=Otvoriť novú kartu
-Name[sl]=Odpri nov zavihek
-Name[son]=Nor loku taaga feeri
-Name[sq]=Hap skedë të re
-Name[sr]=Отвори нови језичак
-Name[sv_SE]=Öppna ny flik
-Name[ta]=புதிய கீற்றைத் திற
-Name[te]=కొత్త టాబ్ తెరువుము
-Name[th]=เปิดแท็บใหม่
-Name[tr]=Yeni sekme aç
-Name[uk]=Відкрити нову вкладку
-Name[uz]=Yangi ichki oyna ochish
-Name[vi]=Mở thẻ mới
-Name[xh]=Vula ithebhu entsha
-Name[zh_CN]=打开新标签页
-Name[zh_TW]=開啟新分頁
-Exec=icecat -new-tab about:newtab
-
-[Desktop Action NewWindow]
-Name=Open new window
-Name[ach]=Yab dirica manyen
-Name[af]=Open nuwe venster
-Name[an]=Ubrir una nueva finestra
-Name[ar]=افتح نافذة جديدة
-Name[as]=নতুন উইন্ডো খোলক
-Name[ast]=Abrir ventana nueva
-Name[az]=Yeni pəncərə aç
-Name[be]=Адкрыць новае акно
-Name[bg]=Отваряне на нов прозорец
-Name[bn_BD]=নতুন উইন্ডো খুলুন
-Name[bn_IN]=নতুন উইন্ডো খুলুন
-Name[br]=Digeriñ ur prenestr nevez
-Name[bs]=Otvori novi prozor
-Name[ca]=Obre una finestra nova
-Name[cs]=Otevřít nové okno
-Name[cy]=Agor ffenestr newydd
-Name[da]=Åbn nyt vindue
-Name[de]=Neues Fenster öffnen
-Name[dsb]=Nowe wokno wócyniś
-Name[el]=Άνοιγμα νέου παραθύρου
-Name[eo]=Malfermi novan fenestron
-Name[es_AR]=Abrir nueva ventana
-Name[es_CL]=Abrir nueva ventana
-Name[es_ES]=Abrir nueva ventana
-Name[es_MX]=Abrir nueva ventana
-Name[et]=Ava uus aken
-Name[eu]=Ireki leiho berria
-Name[ff]=Uddit henorde hesere
-Name[fi]=Avaa uusi ikkuna
-Name[fr]=Ouvrir une nouvelle fenêtre
-Name[fy_NL]=Iepenje nij finster
-Name[ga_IE]=Oscail fuinneog nua
-Name[gd]=Fosgail uinneag ùr
-Name[gl]=Abrir unha nova xanela
-Name[gu_IN]=નવી વિન્ડોને ખોલો
-Name[he]=פתח חלון חדש
-Name[hi_IN]=नई विंडो खोलें
-Name[hr]=Otvori novi prozor
-Name[hsb]=Nowe wokno wočinić
-Name[hu]=Új ablak megnyitása
-Name[hy_AM]=Բացել նոր պատուհան
-Name[id]=Buka jendela baru
-Name[is]=Opna nýjan glugga
-Name[it]=Apri nuova finestra
-Name[ja]=新しいウィンドウ
-Name[kk]=Жаңа терезені ашу
-Name[kn]=ಹೊಸ ವಿಂಡೊವನ್ನು ತೆರೆ
-Name[ko]=새 창 열기
-Name[lij]=Àrvi nêuvo barcón
-Name[lt]=Atverti naują langą
-Name[mai]=नई विंडो खोलू
-Name[mk]=Отвори нов прозорец
-Name[ml]=പുതിയ ജാലകം തുറക്കുക
-Name[mr]=नवीन पटल उघडा
-Name[ms]=Buka tetingkap baru
-Name[nb_NO]=Åpne nytt vindu
-Name[nl]=Een nieuw venster openen
-Name[nn_NO]=Opna nytt vindauge
-Name[or]=ନୂତନ ୱିଣ୍ଡୋ ଖୋଲନ୍ତୁ
-Name[pa_IN]=ਨਵੀਂ ਵਿੰਡੋ ਖੋਲ੍ਹੋ
-Name[pl]=Otwórz nowe okno
-Name[pt_BR]=Nova janela
-Name[pt_PT]=Abrir nova janela
-Name[rm]=Avrir ina nova fanestra
-Name[ro]=Deschide o nouă fereastră
-Name[ru]=Открыть новое окно
-Name[si]=නව කවුළුවක් විවෘත කරන්න
-Name[sk]=Otvoriť nové okno
-Name[sl]=Odpri novo okno
-Name[son]=Zanfun taaga feeri
-Name[sq]=Hap dritare të re
-Name[sr]=Отвори нови прозор
-Name[sv_SE]=Öppna nytt fönster
-Name[ta]=புதிய சாளரத்தை திற
-Name[te]=కొత్త విండో తెరువుము
-Name[th]=เปิดหน้าต่างใหม่
-Name[tr]=Yeni pencere aç
-Name[uk]=Відкрити нове вікно
-Name[uz]=Yangi oyna ochish
-Name[vi]=Mở cửa sổ mới
-Name[xh]=Vula iwindow entsha
-Name[zh_CN]=打开新窗口
-Name[zh_TW]=開啟新視窗
-Exec=icecat -new-window
-
-[Desktop Action NewPrivateWindow]
-Name=New private window
-Name[ach]=Dirica manyen me mung
-Name[af]=Nuwe privaatvenster
-Name[an]=Nueva finestra de navegación privada
-Name[ar]=نافذة خاصة جديدة
-Name[as]=নতুন ব্যক্তিগত উইন্ডো
-Name[ast]=Ventana privada nueva
-Name[az]=Yeni məxfi pəncərə
-Name[be]=Новае акно адасаблення
-Name[bg]=Нов прозорец за поверително сърфиране
-Name[bn_BD]=নতুন ব্যক্তিগত উইন্ডো
-Name[bn_IN]=নতুন ব্যাক্তিগত উইন্ডো
-Name[br]=Prenestr merdeiñ prevez nevez
-Name[bs]=Novi privatni prozor
-Name[ca]=Finestra privada nova
-Name[cs]=Nové anonymní okno
-Name[cy]=Ffenestr breifat newydd
-Name[da]=Nyt privat vindue
-Name[de]=Neues privates Fenster öffnen
-Name[dsb]=Nowe priwatne wokno
-Name[el]=Νέο παράθυρο ιδιωτικής περιήγησης
-Name[eo]=Nova privata fenestro
-Name[es_AR]=Nueva ventana privada
-Name[es_CL]=Nueva ventana privada
-Name[es_ES]=Nueva ventana privada
-Name[es_MX]=Nueva ventana privada
-Name[et]=Uus privaatne aken
-Name[eu]=Leiho pribatu berria
-Name[ff]=Henorde suturo hesere
-Name[fi]=Uusi yksityinen ikkuna
-Name[fr]=Nouvelle fenêtre de navigation privée
-Name[fy_NL]=Nij priveefinster
-Name[ga_IE]=Fuinneog nua phríobháideach
-Name[gd]=Uinneag phrìobhaideach ùr
-Name[gl]=Nova xanela privada
-Name[gu_IN]=નવી ખાનગી વિન્ડો
-Name[he]=חלון פרטי חדש
-Name[hi_IN]=नया निजी विंडो
-Name[hr]=Novi privatni prozor
-Name[hsb]=Nowe priwatne wokno
-Name[hu]=Új privát ablak
-Name[hy_AM]=Գաղտնի դիտարկում
-Name[id]=Jendela mode pribadi baru
-Name[is]=Nýr einkagluggi
-Name[it]=Nuova finestra anonima
-Name[ja]=新しいプライベートウィンドウ
-Name[kk]=Жаңа жекелік терезе
-Name[kn]=ಹೊಸ ಖಾಸಗಿ ಕಿಟಕಿ
-Name[ko]=새 사생활 보호 창
-Name[lij]=Nêuvo barcón privòu
-Name[lt]=Atverti privačiojo naršymo langą
-Name[mai]=नव निज विंडो
-Name[mk]=Нов прозорец за приватно сурфање
-Name[ml]=പുതിയ സ്വകാര്യ ജാലകം
-Name[mr]=नवीन वैयक्तिक पटल
-Name[ms]=Tetingkap peribadi baharu
-Name[nb_NO]=Nytt privat vindu
-Name[nl]=Nieuw privévenster
-Name[nn_NO]=Nytt privat vindauge
-Name[or]=ନୂତନ ବ୍ୟକ୍ତିଗତ ୱିଣ୍ଡୋ
-Name[pa_IN]=ਨਵੀਂ ਪ੍ਰਾਈਵੇਟ ਵਿੰਡੋ
-Name[pl]=Nowe okno w trybie prywatnym
-Name[pt_BR]=Nova janela privativa
-Name[pt_PT]=Nova janela privada
-Name[rm]=Nova fanestra privata
-Name[ro]=Fereastră fără urme nouă
-Name[ru]=Новое приватное окно
-Name[si]=නව පුද්ගලික කවුළුව
-Name[sk]=Nové okno v režime Súkromné prehliadanie
-Name[sl]=Novo zasebno okno
-Name[son]=Sutura zanfun taaga
-Name[sq]=Dritare e re private
-Name[sr]=Нови приватни прозор
-Name[sv_SE]=Nytt privat fönster
-Name[ta]=புதிய தனிப்பட்ட சாளரம்
-Name[te]=కొత్త ఆంతరంగిక విండో
-Name[th]=หน้าต่างท่องเว็บแบบส่วนตัวใหม่
-Name[tr]=Yeni gizli pencere
-Name[uk]=Нове приватне вікно
-Name[uz]=Yangi shaxsiy oyna
-Name[vi]=Cửa sổ riêng tư mới
-Name[xh]=Ifestile yangasese entsha
-Name[zh_CN]=新建隐私浏览窗口
-Name[zh_TW]=新增隱私視窗
-Exec=icecat -private-window
diff --git a/libre-testing/icecat/icecat.install b/libre-testing/icecat/icecat.install
deleted file mode 100644
index 1a1f4b16b..000000000
--- a/libre-testing/icecat/icecat.install
+++ /dev/null
@@ -1,13 +0,0 @@
-post_install() {
- update-desktop-database -q
- gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
-
diff --git a/libre-testing/icecat/libre.patch b/libre-testing/icecat/libre.patch
deleted file mode 100644
index ee88c6d56..000000000
--- a/libre-testing/icecat/libre.patch
+++ /dev/null
@@ -1,890 +0,0 @@
-diff -Nur a/browser/app/profile/icecat.js b/browser/app/profile/icecat.js
---- a/browser/app/profile/icecat.js 2015-08-23 17:05:03.000000000 -0300
-+++ b/browser/app/profile/icecat.js 2015-08-25 04:49:18.450526750 -0300
-@@ -279,11 +279,6 @@
- pref("browser.slowStartup.timeThreshold", 40000);
- pref("browser.slowStartup.maxSamples", 5);
-
--// 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
--// repackager of this code using an alternate snippet url, please keep your users safe
--pref("browser.aboutHomeSnippets.updateUrl", "https://snippets.cdn.mozilla.net/%STARTPAGE_VERSION%/%NAME%/%VERSION%/%APPBUILDID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/");
--
- pref("browser.enable_automatic_image_resizing", true);
- pref("browser.casting.enabled", false);
- pref("browser.chrome.site_icons", true);
-@@ -2080,12 +2075,6 @@
- pref("pfs.datasource.url", "http://gnuzilla.gnu.org/plugins/PluginFinderService.php?mimetype=%PLUGIN_MIMETYPE%");
- pref("pfs.filehint.url", "http://gnuzilla.gnu.org/plugins/PluginFinderService.php?mimetype=%PLUGIN_MIMETYPE%");
-
--// I'm feeling Ducky.
--pref("keyword.URL", "https://duckduckgo.com/html?t=gnu&q=!+");
--pref("browser.search.defaultenginename", "DuckDuckGo");
--pref("browser.search.order.extra.duckduckgo", "DuckDuckGo");
--pref("browser.search.showOneOffButtons", false);
--
- // https://directory.fsf.org/wiki/Disable_DHE
- pref("security.ssl3.dhe_rsa_aes_128_sha", false);
- pref("security.ssl3.dhe_rsa_aes_256_sha", false);
-diff -Nur a/browser/base/content/abouthome/aboutHome.css b/browser/base/content/abouthome/aboutHome.css
---- a/browser/base/content/abouthome/aboutHome.css 2015-07-13 19:10:24.000000000 -0300
-+++ b/browser/base/content/abouthome/aboutHome.css 2015-08-18 02:37:30.095295232 -0300
-@@ -49,11 +49,6 @@
- background-repeat: no-repeat;
- }
-
--#searchForm,
--#snippets {
-- width: 470px;
--}
--
- #searchForm {
- display: -moz-box;
- }
-@@ -72,8 +67,7 @@
- #searchEngineLogo {
- display: inline-block;
- height: 28px;
-- width: 70px;
-- min-width: 70px;
-+ width: 28px;
- }
-
- #searchText {
-@@ -145,48 +139,6 @@
- transition-duration: 0ms;
- }
-
--#defaultSnippet1,
--#defaultSnippet2,
--#rightsSnippet {
-- display: block;
-- min-height: 38px;
-- background: 30px center no-repeat;
-- padding: 6px 0;
-- -moz-padding-start: 79px;
--}
--
--#rightsSnippet[hidden] {
-- display: none;
--}
--
--#defaultSnippet1:-moz-dir(rtl),
--#defaultSnippet2:-moz-dir(rtl),
--#rightsSnippet:-moz-dir(rtl) {
-- background-position: right 30px center;
--}
--
--#defaultSnippet1 {
-- background-image: url("chrome://browser/content/abouthome/snippet1.png");
--}
--
--#defaultSnippet2 {
-- background-image: url("chrome://browser/content/abouthome/snippet2.png");
--}
--
--#snippets {
-- display: inline-block;
-- text-align: start;
-- margin: 12px 0;
-- color: #3c3c3c;
-- font-size: 75%;
-- /* 12px is the computed font size, 15px the computed line height of the snippets
-- with Segoe UI on a default Windows 7 setup. The 15/12 multiplier approximately
-- converts em from units of font-size to units of line-height. The goal is to
-- preset the height of a three-line snippet to avoid visual moving/flickering as
-- the snippets load. */
-- min-height: calc(15/12 * 3em);
--}
--
- #launcher {
- display: -moz-box;
- -moz-box-align: center;
-@@ -335,26 +287,25 @@
- width: 32px;
- }
-
--#aboutMozilla {
-+#aboutGNU {
- display: block;
-- position: relative; /* pin wordmark to edge of document, not of viewport */
- -moz-box-ordinal-group: 0;
- opacity: .5;
- transition: opacity 150ms;
- }
-
--#aboutMozilla:hover {
-+#aboutGNU:hover {
- opacity: 1;
- }
-
--#aboutMozilla::before {
-- content: url("chrome://browser/content/abouthome/mozilla.png");
-+#aboutGNU::before {
-+ content: url("chrome://browser/content/abouthome/gnu_headshadow.png");
- display: block;
- position: absolute;
- top: 12px;
- right: 12px;
-- width: 69px;
-- height: 19px;
-+ width: 200px;
-+ height: 110px;
- }
-
- /* [HiDPI]
-@@ -366,26 +317,6 @@
- background-image: url("chrome://branding/content/about-logo@2x.png");
- }
-
-- #defaultSnippet1,
-- #defaultSnippet2,
-- #rightsSnippet {
-- background-size: 40px;
-- }
--
-- #defaultSnippet1 {
-- background-image: url("chrome://browser/content/abouthome/snippet1@2x.png");
-- }
--
-- #defaultSnippet2 {
-- background-image: url("chrome://browser/content/abouthome/snippet2@2x.png");
-- }
--
-- .launchButton::before,
-- #aboutMozilla::before {
-- transform: scale(.5);
-- transform-origin: 0 0;
-- }
--
- #downloads::before {
- content: url("chrome://browser/content/abouthome/downloads@2x.png");
- }
-@@ -421,9 +352,5 @@
- body[narrow] #restorePreviousSession::before {
- content: url("chrome://browser/content/abouthome/restore@2x.png");
- }
--
-- #aboutMozilla::before {
-- content: url("chrome://browser/content/abouthome/mozilla@2x.png");
-- }
- }
-
-diff -Nur a/browser/base/content/abouthome/aboutHome.js b/browser/base/content/abouthome/aboutHome.js
---- a/browser/base/content/abouthome/aboutHome.js 2015-07-13 19:10:24.000000000 -0300
-+++ b/browser/base/content/abouthome/aboutHome.js 2015-08-18 02:40:01.024730697 -0300
-@@ -3,149 +3,54 @@
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
- const SEARCH_ENGINES = {
-- "Google": {
-- // This is the "2x" image designed for OS X retina resolution, Windows at 192dpi, etc.;
-- // it will be scaled down as necessary on lower-dpi displays.
-- image: "data:image/png;base64," +
-- "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"
-+ "searx": {
-+ image: "data:image/png;base64,\
-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"
- }
- };
-
--// The process of adding a new default snippet involves:
--// * add a new entity to aboutHome.dtd
--// * add a <span/> for it in aboutHome.xhtml
--// * add an entry here in the proper ordering (based on spans)
--// The <a/> part of the snippet will be linked to the corresponding url.
--const DEFAULT_SNIPPETS_URLS = [ "" ];
--
--const SNIPPETS_UPDATE_INTERVAL_MS = 86400000; // 1 Day.
--
--// IndexedDB storage constants.
--const DATABASE_NAME = "abouthome";
--const DATABASE_VERSION = 1;
--const SNIPPETS_OBJECTSTORE_NAME = "snippets";
--
- // This global tracks if the page has been set up before, to prevent double inits
- let gInitialized = false;
- let gObserver = new MutationObserver(function (mutations) {
-@@ -153,7 +58,6 @@
- if (mutation.attributeName == "searchEngineName") {
- setupSearchEngine();
- if (!gInitialized) {
--// ensureSnippetsMapThen(loadSnippets);
- gInitialized = true;
- }
- return;
-@@ -178,118 +82,6 @@
- window.removeEventListener("resize", fitToWidth);
- });
-
--// This object has the same interface as Map and is used to store and retrieve
--// the snippets data. It is lazily initialized by ensureSnippetsMapThen(), so
--// be sure its callback returned before trying to use it.
--let gSnippetsMap;
--let gSnippetsMapCallbacks = [];
--
--/**
-- * Ensure the snippets map is properly initialized.
-- *
-- * @param aCallback
-- * Invoked once the map has been initialized, gets the map as argument.
-- * @note Snippets should never directly manage the underlying storage, since
-- * it may change inadvertently.
-- */
--function ensureSnippetsMapThen(aCallback)
--{
--return;
-- if (gSnippetsMap) {
-- aCallback(gSnippetsMap);
-- return;
-- }
--
-- // Handle multiple requests during the async initialization.
-- gSnippetsMapCallbacks.push(aCallback);
-- if (gSnippetsMapCallbacks.length > 1) {
-- // We are already updating, the callbacks will be invoked when done.
-- return;
-- }
--
-- let invokeCallbacks = function () {
-- if (!gSnippetsMap) {
-- gSnippetsMap = Object.freeze(new Map());
-- }
--
-- for (let callback of gSnippetsMapCallbacks) {
-- callback(gSnippetsMap);
-- }
-- gSnippetsMapCallbacks.length = 0;
-- }
--
-- let openRequest = indexedDB.open(DATABASE_NAME, DATABASE_VERSION);
--
-- openRequest.onerror = function (event) {
-- // Try to delete the old database so that we can start this process over
-- // next time.
-- indexedDB.deleteDatabase(DATABASE_NAME);
-- invokeCallbacks();
-- };
--
-- openRequest.onupgradeneeded = function (event) {
-- let db = event.target.result;
-- if (!db.objectStoreNames.contains(SNIPPETS_OBJECTSTORE_NAME)) {
-- db.createObjectStore(SNIPPETS_OBJECTSTORE_NAME);
-- }
-- }
--
-- openRequest.onsuccess = function (event) {
-- let db = event.target.result;
--
-- db.onerror = function (event) {
-- invokeCallbacks();
-- }
--
-- db.onversionchange = function (event) {
-- event.target.close();
-- invokeCallbacks();
-- }
--
-- let cache = new Map();
-- let cursorRequest = db.transaction(SNIPPETS_OBJECTSTORE_NAME)
-- .objectStore(SNIPPETS_OBJECTSTORE_NAME).openCursor();
-- cursorRequest.onerror = function (event) {
-- invokeCallbacks();
-- }
--
-- cursorRequest.onsuccess = function(event) {
-- let cursor = event.target.result;
--
-- // Populate the cache from the persistent storage.
-- if (cursor) {
-- cache.set(cursor.key, cursor.value);
-- cursor.continue();
-- return;
-- }
--
-- // The cache has been filled up, create the snippets map.
-- gSnippetsMap = Object.freeze({
-- get: function (aKey) cache.get(aKey),
-- set: function (aKey, aValue) {
-- db.transaction(SNIPPETS_OBJECTSTORE_NAME, "readwrite")
-- .objectStore(SNIPPETS_OBJECTSTORE_NAME).put(aValue, aKey);
-- return cache.set(aKey, aValue);
-- },
-- has: function (aKey) cache.has(aKey),
-- delete: function (aKey) {
-- db.transaction(SNIPPETS_OBJECTSTORE_NAME, "readwrite")
-- .objectStore(SNIPPETS_OBJECTSTORE_NAME).delete(aKey);
-- return cache.delete(aKey);
-- },
-- clear: function () {
-- db.transaction(SNIPPETS_OBJECTSTORE_NAME, "readwrite")
-- .objectStore(SNIPPETS_OBJECTSTORE_NAME).clear();
-- return cache.clear();
-- },
-- get size() cache.size
-- });
--
-- setTimeout(invokeCallbacks, 0);
-- }
-- }
--}
--
- function onSearchSubmit(aEvent)
- {
- let searchTerms = document.getElementById("searchText").value;
-@@ -339,159 +131,6 @@
-
- }
-
--/**
-- * Inform the test harness that we're done loading the page.
-- */
--function loadSucceeded()
--{
-- var event = new CustomEvent("AboutHomeLoadSnippetsSucceeded", {bubbles:true});
-- document.dispatchEvent(event);
--}
--
--/**
-- * Update the local snippets from the remote storage, then show them through
-- * showSnippets.
-- */
--function loadSnippets()
--{
--return;
-- if (!gSnippetsMap)
-- throw new Error("Snippets map has not properly been initialized");
--
-- // Allow tests to modify the snippets map before using it.
-- var event = new CustomEvent("AboutHomeLoadSnippets", {bubbles:true});
-- document.dispatchEvent(event);
--
-- // Check cached snippets version.
-- let cachedVersion = gSnippetsMap.get("snippets-cached-version") || 0;
-- let currentVersion = document.documentElement.getAttribute("snippetsVersion");
-- if (cachedVersion < currentVersion) {
-- // The cached snippets are old and unsupported, restart from scratch.
-- gSnippetsMap.clear();
-- }
--
-- // Check last snippets update.
-- let lastUpdate = gSnippetsMap.get("snippets-last-update");
-- let updateURL = document.documentElement.getAttribute("snippetsURL");
-- let shouldUpdate = !lastUpdate ||
-- Date.now() - lastUpdate > SNIPPETS_UPDATE_INTERVAL_MS;
-- if (updateURL && shouldUpdate) {
-- // Try to update from network.
-- let xhr = new XMLHttpRequest();
-- try {
-- xhr.open("GET", updateURL, true);
-- } catch (ex) {
-- showSnippets();
-- loadSucceeded();
-- return;
-- }
-- // Even if fetching should fail we don't want to spam the server, thus
-- // set the last update time regardless its results. Will retry tomorrow.
-- gSnippetsMap.set("snippets-last-update", Date.now());
-- xhr.onerror = function (event) {
-- showSnippets();
-- };
-- xhr.onload = function (event)
-- {
-- if (xhr.status == 200) {
-- gSnippetsMap.set("snippets", xhr.responseText);
-- gSnippetsMap.set("snippets-cached-version", currentVersion);
-- }
-- showSnippets();
-- loadSucceeded();
-- };
-- xhr.send(null);
-- } else {
-- showSnippets();
-- loadSucceeded();
-- }
--}
--
--/**
-- * Shows locally cached remote snippets, or default ones when not available.
-- *
-- * @note: snippets should never invoke showSnippets(), or they may cause
-- * a "too much recursion" exception.
-- */
--let _snippetsShown = false;
--function showSnippets()
--{
--return;
-- let snippetsElt = document.getElementById("snippets");
--
-- // Show about:rights notification, if needed.
-- let showRights = document.documentElement.getAttribute("showKnowYourRights");
-- if (showRights) {
-- let rightsElt = document.getElementById("rightsSnippet");
-- let anchor = rightsElt.getElementsByTagName("a")[0];
-- anchor.href = "about:rights";
-- snippetsElt.appendChild(rightsElt);
-- rightsElt.removeAttribute("hidden");
-- return;
-- }
--
-- if (!gSnippetsMap)
-- throw new Error("Snippets map has not properly been initialized");
-- if (_snippetsShown) {
-- // There's something wrong with the remote snippets, just in case fall back
-- // to the default snippets.
-- showDefaultSnippets();
-- throw new Error("showSnippets should never be invoked multiple times");
-- }
-- _snippetsShown = true;
--
-- let snippets = gSnippetsMap.get("snippets");
-- // If there are remotely fetched snippets, try to to show them.
-- if (snippets) {
-- // Injecting snippets can throw if they're invalid XML.
-- try {
-- snippetsElt.innerHTML = snippets;
-- // Scripts injected by innerHTML are inactive, so we have to relocate them
-- // through DOM manipulation to activate their contents.
-- Array.forEach(snippetsElt.getElementsByTagName("script"), function(elt) {
-- let relocatedScript = document.createElement("script");
-- relocatedScript.type = "text/javascript;version=1.8";
-- relocatedScript.text = elt.text;
-- elt.parentNode.replaceChild(relocatedScript, elt);
-- });
-- return;
-- } catch (ex) {
-- // Bad content, continue to show default snippets.
-- }
-- }
--
-- showDefaultSnippets();
--}
--
--/**
-- * Clear snippets element contents and show default snippets.
-- */
--function showDefaultSnippets()
--{
--return;
-- // Clear eventual contents...
-- let snippetsElt = document.getElementById("snippets");
-- snippetsElt.innerHTML = "";
--
-- // ...then show default snippets.
-- let defaultSnippetsElt = document.getElementById("defaultSnippets");
-- let entries = defaultSnippetsElt.querySelectorAll("span");
-- // Choose a random snippet. Assume there is always at least one.
-- let randIndex = Math.floor(Math.random() * entries.length);
-- let entry = entries[randIndex];
-- // Inject url in the eventual link.
-- if (DEFAULT_SNIPPETS_URLS[randIndex]) {
-- let links = entry.getElementsByTagName("a");
-- // Default snippets can have only one link, otherwise something is messed
-- // up in the translation.
-- if (links.length == 1) {
-- links[0].href = DEFAULT_SNIPPETS_URLS[randIndex];
-- }
-- }
-- // Move the default snippet to the snippets element.
-- snippetsElt.appendChild(entry);
--}
--
- function fitToWidth() {
- if (window.scrollMaxX) {
- document.body.setAttribute("narrow", "true");
-diff -Nur a/browser/base/content/abouthome/aboutHome.xhtml b/browser/base/content/abouthome/aboutHome.xhtml
---- a/browser/base/content/abouthome/aboutHome.xhtml 2015-07-13 19:10:24.000000000 -0300
-+++ b/browser/base/content/abouthome/aboutHome.xhtml 2015-08-18 02:41:35.756857459 -0300
-@@ -90,10 +90,10 @@
- <img src="chrome://branding/content/about-logo.png"/>
-
- <div id="searchContainer">
-- <form name="searchForm" id="searchForm" action="https://duckduckgo.com/html/">
-+ <form name="searchForm" id="searchForm" action="https://searx.laquadrature.net/">
- <input type="text" name="q" value="" id="searchText" maxlength="256"
- autofocus="autofocus"/>
-- <input id="searchSubmit" type="submit" value="&abouthome.searchEngineButton.label; DuckDuckGO"/>
-+ <input id="searchSubmit" type="submit" value="&abouthome.searchEngineButton.label; searx"/>
- </form>
- </div>
-
-@@ -101,6 +101,7 @@
-
- <div class="spacer"/>
-
-+ <a id="aboutGNU" href="http://gnu.org"></a>
- </body>
- </html>
-
-diff -Nur a/browser/base/jar.mn b/browser/base/jar.mn
---- a/browser/base/jar.mn 2014-10-09 12:53:30.000000000 -0200
-+++ b/browser/base/jar.mn 2014-10-21 14:24:18.198691296 -0200
-@@ -32,6 +32,7 @@
- content/browser/abouthome/settings.png (content/abouthome/settings.png)
- content/browser/abouthome/restore.png (content/abouthome/restore.png)
- content/browser/abouthome/restore-large.png (content/abouthome/restore-large.png)
-+ content/browser/abouthome/gnu_headshadow.png (content/abouthome/gnu_headshadow.png)
- content/browser/abouthome/snippet1@2x.png (content/abouthome/snippet1@2x.png)
- content/browser/abouthome/snippet2@2x.png (content/abouthome/snippet2@2x.png)
- content/browser/abouthome/downloads@2x.png (content/abouthome/downloads@2x.png)
-diff -Nur a/browser/locales/en-US/chrome/browser/aboutHome.dtd b/browser/locales/en-US/chrome/browser/aboutHome.dtd
---- a/browser/locales/en-US/chrome/browser/aboutHome.dtd 2015-08-23 17:05:01.000000000 -0300
-+++ b/browser/locales/en-US/chrome/browser/aboutHome.dtd 2015-08-25 04:47:50.321608830 -0300
-@@ -13,17 +13,6 @@
-
- <!ENTITY abouthome.searchEngineButton.label "Search">
-
--<!-- LOCALIZATION NOTE (abouthome.defaultSnippet1.v1):
-- text in <a/> will be linked to the IceCat features page on mozilla.com
---->
--<!ENTITY abouthome.defaultSnippet1.v1 "Thanks for choosing IceCat! To get the most out of your browser, learn more about the <a>latest features</a>.">
--<!-- LOCALIZATION NOTE (abouthome.defaultSnippet2.v1):
-- text in <a/> will be linked to the featured add-ons on addons.mozilla.org
---->
--<!ENTITY abouthome.defaultSnippet2.v1 "It's easy to customize your IceCat exactly the way you want it. <a>Choose from thousands of add-ons</a>.">
--<!-- LOCALIZATION NOTE (abouthome.rightsSnippet): text in <a/> will be linked to about:rights -->
--<!ENTITY abouthome.rightsSnippet "&brandFullName; is Free Software from the non-profit Mozilla Foundation. <a>Know your rights…</a>">
--
- <!ENTITY abouthome.bookmarksButton.label "Bookmarks">
- <!ENTITY abouthome.historyButton.label "History">
- <!-- LOCALIZATION NOTE (abouthome.preferencesButtonWin.label): The label for the
-diff -Nur 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 2015-07-13 19:14:26.000000000 -0300
-+++ b/browser/locales/en-US/chrome/browser-region/region.properties 2015-08-18 02:43:13.382178053 -0300
-@@ -3,17 +3,12 @@
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
- # Default search engine
--browser.search.defaultenginename=Google
-+browser.search.defaultenginename=searx
-
- # Search engine order (order displayed in the search bar dropdown)s
--browser.search.order.1=Google
--browser.search.order.2=Yahoo
--browser.search.order.3=Bing
--
--# This is the default set of web based feed handlers shown in the reader
--# selection UI
--browser.contentHandlers.types.0.title=My Yahoo!
--browser.contentHandlers.types.0.uri=https://add.my.yahoo.com/rss?url=%s
-+browser.search.order.1=searx
-+browser.search.order.2=DuckDuckGo HTML
-+browser.search.order.3=DuckDuckGo Lite
-
- # increment this number when anything gets changed in the list below. This will
- # cause IceCat to re-read these prefs and inject any new handlers into the
-@@ -22,20 +17,10 @@
- # don't make any spelling errors here.
- gecko.handlerService.defaultHandlersVersion=4
-
--# The default set of protocol handlers for webcal:
--gecko.handlerService.schemes.webcal.0.name=30 Boxes
--gecko.handlerService.schemes.webcal.0.uriTemplate=https://30boxes.com/external/widget?refer=ff&url=%s
--
--# The default set of protocol handlers for mailto:
--gecko.handlerService.schemes.mailto.0.name=Yahoo! Mail
--gecko.handlerService.schemes.mailto.0.uriTemplate=https://compose.mail.yahoo.com/?To=%s
--gecko.handlerService.schemes.mailto.1.name=Gmail
--gecko.handlerService.schemes.mailto.1.uriTemplate=https://mail.google.com/mail/?extsrc=mailto&url=%s
--
- # The default set of protocol handlers for irc:
--gecko.handlerService.schemes.irc.0.name=Mibbit
--gecko.handlerService.schemes.irc.0.uriTemplate=
-+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=Mibbit
--gecko.handlerService.schemes.ircs.0.uriTemplate=
-+gecko.handlerService.schemes.ircs.0.name=Freenode Web IRC
-+gecko.handlerService.schemes.ircs.0.uriTemplate=https://webchat.freenode.net
-diff -Nur a/browser/locales/generic/profile/bookmarks.html.in b/browser/locales/generic/profile/bookmarks.html.in
---- a/browser/locales/generic/profile/bookmarks.html.in 2015-06-03 17:49:30.000000000 -0300
-+++ b/browser/locales/generic/profile/bookmarks.html.in 2015-06-10 17:58:30.817963272 -0300
-@@ -11,8 +11,20 @@
- <DD>Add bookmarks to this folder to see them displayed on the Bookmarks Toolbar
- <DL><p>
- <HR>
-- <DT><A HREF="http://www.gnu.org/" ADD_DATE="1245542746" LAST_MODIFIED="1245542763" ICON_URI="http://www.gnu.org/graphics/gnu-head-mini.png" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgBAMAAACBVGfHAAAAGFBMVEVFRUV+fn6mpqa/v7/Ozs7Y2Njg4OD8/Pwuhn+TAAAAAWJLR0QAiAUdSAAAAAlwSFlzAAALEQAACxEBf2RfkQAAAAd0SU1FB9MBDhQ6Gd8s57cAAAEkSURBVHicXdFNc4JADAbgoP0Bi4d6dcGBMzp2z2rrnjulcsavnKuQ9+83K37vDAN5yIZsILws0uv3i7ugLTnAwpjBOsTLOE4VmmKQTFYBioGNKkI5drcCReRItmNAyinSCjianJo6A/aGRtRjtPadpB5CRkQRUaYPGbXW4UgKMfXQxDnJPIeJ0qyOrclrLXoqou8+5p7HM9EkT/JtyEsqB2QYnRv7sT2ArRPLf0kWOp1sA3hYPq3Oh/t0EAjjVIG703II9awr3l3BhxAf5foMLaaasPEZqm5A+0RzGCmuIKJbWi284csIJbzykBQ3aIADsL2CFtBWpovhA1Td7Q6NzqZ/B+38APG3HxU+sYO4B9Akt+AnqGbp/gmwTN6eAWt+gcv6B4rivVin0bWbAAAAAElFTkSuQmCC">GNU&#39;s not UNIX!</A>
-- <DT><A FEEDURL="http://planet.gnu.org/atom.xml" HREF="http://planet.gnu.org/">GNU Planet</A>
-- <DT><A HREF="http://www.fsf.org/" ADD_DATE="1245542771" LAST_MODIFIED="1245542780" ICON_URI="http://www.fsf.org/favicon.ico" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAACXBIWXMAAAsTAAALEwEAmpwYAAADG0lEQVQoFQEQA+/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQECAAAAAAAAAAAAAAAAAAAA2qOp7tTXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAP///wAAAAAAAOCyt7pUXQcSEgcQDwAAAP///wAAAAAAAAD//x9NSDqNhQEBAQQAAAAAAAAAAAAAAAAQJiQGDQ0aPToZPjoAAQEAAAAAAAAAAAABAQEpZV4AAAAAAAAAAAAA////////////////pSIv05KZ////////////////////////////////AAAAAQAAAP///6krNwAAAAAAAPHc3ggSEQcSEQAAAAAAAAAAABY3NEGelQAAAAAAAAEBAQEAAAD///+YARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGDg1g690CBgYAAAABAQEEAAAAAAAAS7etAAAAAAAAwGVtHklFIlJOAAAAAAAAAAAAAAAA+/X2BwYGAAAAAAAABAAAAAAAAB1IQwAAAAAAAAYNDBAmJB1IQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAgL//v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAQEB//7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAECAv/+/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////////////cqK3qzM////////////////////////////////8AAAABAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGuLjDf9F8oBAAAAAElFTkSuQmCC">Free Software Foundation</A>
-+ <DT><A HREF="https://www.parabola.nu/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABL0lEQVQ4jWNgoCcoq16VU1GzygnEBtEVDWuV8GooKFuhWVG3uiM3d5UokG4qr1szAaa5vGbVt4ralacwNDU0rGIrr10VBVG0+lxhwyqVsqqVtRW1q6eD5IvL19oB2V+B+D9QzQu4xtDQVZylVavygRKHqurWOlbUrknKK12qWlCwWLK8elUFA8N/xvLy5VYVtas+gzWDDVi9E2QjT1XdcufymjWpQJt1cXmnvHwVP1DzR7hmIC6vW+kOtpnYQKysW30arrlm9RVi9cFBRfXKJTADympWJZNsQFnN6rUQA1adAQU2SZqBXmUGBtozUDiU1qxQJtl2oCY3kO2l1avCSdYMAsBAWwyM2plkaS4p6eYGOv1YQ0MDB1kGlFWuDChuWKZBlmYQqK5eJU22ZkIAAEIlnQZQkzITAAAAAElFTkSuQmCC">Parabola GNU/Linux-libre</A>
-+ </DL><p>
-+ <DT><H3 ID="rdf:#$YvPhC3">Parabola GNU/Linux-libre</H3>
-+ <DL><p>
-+ <DT><A HREF="https://www.parabola.nu/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABL0lEQVQ4jWNgoCcoq16VU1GzygnEBtEVDWuV8GooKFuhWVG3uiM3d5UokG4qr1szAaa5vGbVt4ralacwNDU0rGIrr10VBVG0+lxhwyqVsqqVtRW1q6eD5IvL19oB2V+B+D9QzQu4xtDQVZylVavygRKHqurWOlbUrknKK12qWlCwWLK8elUFA8N/xvLy5VYVtas+gzWDDVi9E2QjT1XdcufymjWpQJt1cXmnvHwVP1DzR7hmIC6vW+kOtpnYQKysW30arrlm9RVi9cFBRfXKJTADympWJZNsQFnN6rUQA1adAQU2SZqBXmUGBtozUDiU1qxQJtl2oCY3kO2l1avCSdYMAsBAWwyM2plkaS4p6eYGOv1YQ0MDB1kGlFWuDChuWKZBlmYQqK5eJU22ZkIAAEIlnQZQkzITAAAAAElFTkSuQmCC">Parabola GNU/Linux-libre</A>
-+ <DT><A HREF="https://www.parabola.nu/packages/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABL0lEQVQ4jWNgoCcoq16VU1GzygnEBtEVDWuV8GooKFuhWVG3uiM3d5UokG4qr1szAaa5vGbVt4ralacwNDU0rGIrr10VBVG0+lxhwyqVsqqVtRW1q6eD5IvL19oB2V+B+D9QzQu4xtDQVZylVavygRKHqurWOlbUrknKK12qWlCwWLK8elUFA8N/xvLy5VYVtas+gzWDDVi9E2QjT1XdcufymjWpQJt1cXmnvHwVP1DzR7hmIC6vW+kOtpnYQKysW30arrlm9RVi9cFBRfXKJTADympWJZNsQFnN6rUQA1adAQU2SZqBXmUGBtozUDiU1qxQJtl2oCY3kO2l1avCSdYMAsBAWwyM2plkaS4p6eYGOv1YQ0MDB1kGlFWuDChuWKZBlmYQqK5eJU22ZkIAAEIlnQZQkzITAAAAAElFTkSuQmCC">Parabola GNU/Linux-libre Packages</A>
-+ <DT><A HREF="https://wiki.parabola.nu/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABL0lEQVQ4jWNgoCcoq16VU1GzygnEBtEVDWuV8GooKFuhWVG3uiM3d5UokG4qr1szAaa5vGbVt4ralacwNDU0rGIrr10VBVG0+lxhwyqVsqqVtRW1q6eD5IvL19oB2V+B+D9QzQu4xtDQVZylVavygRKHqurWOlbUrknKK12qWlCwWLK8elUFA8N/xvLy5VYVtas+gzWDDVi9E2QjT1XdcufymjWpQJt1cXmnvHwVP1DzR7hmIC6vW+kOtpnYQKysW30arrlm9RVi9cFBRfXKJTADympWJZNsQFnN6rUQA1adAQU2SZqBXmUGBtozUDiU1qxQJtl2oCY3kO2l1avCSdYMAsBAWwyM2plkaS4p6eYGOv1YQ0MDB1kGlFWuDChuWKZBlmYQqK5eJU22ZkIAAEIlnQZQkzITAAAAAElFTkSuQmCC">Parabola GNU/Linux-libre Wiki</A>
-+ <DT><A HREF="https://labs.parabola.nu/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABL0lEQVQ4jWNgoCcoq16VU1GzygnEBtEVDWuV8GooKFuhWVG3uiM3d5UokG4qr1szAaa5vGbVt4ralacwNDU0rGIrr10VBVG0+lxhwyqVsqqVtRW1q6eD5IvL19oB2V+B+D9QzQu4xtDQVZylVavygRKHqurWOlbUrknKK12qWlCwWLK8elUFA8N/xvLy5VYVtas+gzWDDVi9E2QjT1XdcufymjWpQJt1cXmnvHwVP1DzR7hmIC6vW+kOtpnYQKysW30arrlm9RVi9cFBRfXKJTADympWJZNsQFnN6rUQA1adAQU2SZqBXmUGBtozUDiU1qxQJtl2oCY3kO2l1avCSdYMAsBAWwyM2plkaS4p6eYGOv1YQ0MDB1kGlFWuDChuWKZBlmYQqK5eJU22ZkIAAEIlnQZQkzITAAAAAElFTkSuQmCC">Parabola GNU/Linux-libre Labs</A>
-+ </DL><p>
-+ <DT><H3 ID="rdf:#$ZvPhC3">Free Software Foundation</H3>
-+ <DL><p>
-+ <DT><A HREF="https://www.fsf.org/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAACXBIWXMAAAsTAAALEwEAmpwYAAADG0lEQVQoFQEQA+/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQECAAAAAAAAAAAAAAAAAAAA2qOp7tTXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAP///wAAAAAAAOCyt7pUXQcSEgcQDwAAAP///wAAAAAAAAD//x9NSDqNhQEBAQQAAAAAAAAAAAAAAAAQJiQGDQ0aPToZPjoAAQEAAAAAAAAAAAABAQEpZV4AAAAAAAAAAAAA////////////////pSIv05KZ////////////////////////////////AAAAAQAAAP///6krNwAAAAAAAPHc3ggSEQcSEQAAAAAAAAAAABY3NEGelQAAAAAAAAEBAQEAAAD///+YARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGDg1g690CBgYAAAABAQEEAAAAAAAAS7etAAAAAAAAwGVtHklFIlJOAAAAAAAAAAAAAAAA+/X2BwYGAAAAAAAABAAAAAAAAB1IQwAAAAAAAAYNDBAmJB1IQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAgL//v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAQEB//7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAECAv/+/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////////////cqK3qzM////////////////////////////////8AAAABAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGuLjDf9F8oBAAAAAElFTkSuQmCC">Free Software Foundation</A>
-+ <DT><A HREF="https://www.gnu.org/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgBAMAAACBVGfHAAAAGFBMVEVFRUV+fn6mpqa/v7/Ozs7Y2Njg4OD8/Pwuhn+TAAAAAWJLR0QAiAUdSAAAAAlwSFlzAAALEQAACxEBf2RfkQAAAAd0SU1FB9MBDhQ6Gd8s57cAAAEVSURBVBgZBcGxVtpgGADQL9gHSBzqSognzMixmcWWzB6pmRHhnyvku6/fewMAIPD3TwHmQxHs6vr+A16bphNum/vV0x429201hcPjAGBTDZGnR/Kw1U181+u4HXvOdSxjUcztz8jjg1xGVBG9XPYxt4PviKiaWLg168iXtbrq+mPT1utjNcR1U73deRnL43M2sRgj3+oYs8uL3rLphPd2QWmHbMu/VS/cnk6UdtSW657g9yBlcZ0UAkUWzPvyRaAYmfd+HT4IZtvC59ibEJxXiqJjQpBpNEufBYE0McoOAunGhRMEFIPc7h4goJigQEBxk8u7AgEpL3IEAUZfcgAByGFXQACm5+4MAuB19QMEgI8CAgDgP4rivVgoKP6ZAAAAAElFTkSuQmCC">The GNU Operating System and the Free Software Movement</A>
-+ <DT><A HREF="https://libreplanet.org/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACfElEQVQ4jZXTS0hUcRTH8f+9M3fGd0gRRq1a2bZdBAotWtS6TQtB6IHgKzRy0UKqjRaRCAq+R21MDMsUR83JR5fJxhmaK2lzsWAWw+ToEHJxgnFm7reFIgza66z/58P/dzhHcESZpsluIsFPwyCVSmGa5lHPEEIIkdGYTqPPvqUlP4fK8nJ2DINYNEq71YJ3fv4QlAGkUynaj+VRdfUK7580M52rEN/ZYWNjg2GrjEMSPFXsmOn0YcA0TZ4V5tNZUkJTTTWfJiZIJhJ8U1VczwcZs0o4JUHzufM0ZGcf/OQASCaTxGIxDMNA00P8iEbpuXyJ8Tw77+wWJhWZQYuVbiHoFIKwpmUC4XCYzc1NDMMgHo9z8+IFvl6/xsf7D9ArbjOpyAxLEt1C0CUErfvJDwBd14lEImxvb/N9fR1fgY3egmyWsq0sO/poUyw4pb3mLiFolyRM09wDEokEfr+fUChEJBJh4HgBS7kKn92zLIy9ZriqklFZwiEEHfsRRp1O0un0HpDa3cU9M8PKygp3Tp5AzbKgZlmYt1uYtkn02q0MyYKmnBxWNI27Nhtut5tkMrkHmKZJbWkpqqryQpFxKTJTisyEVeaVRWJIlqgpLuZRWRkejwe/34/P58ucwZvWVhYXF5l2uejIzeHGqbM4ZYmB/dy1hUV8mJpibm4On8/H1tbW4T1YXV3F6/WysLDA5Pg4nfsDe5yfz8OiIjweD5qmEQwGf7/KwWCQtbU1NE2jRZbpEoI2SWKqr49lVUXX9T/fAkAgEKC/e5SW6mo6hKD+zGn6e0bw+/x/PyaA9S/rvOwfobGukfpbddyraMDR7iCwHPg34H9KCCF+Abts3KCj/p6aAAAAAElFTkSuQmCC">LibrePlanet</A>
-+ <DT><A HREF="https://www.h-node.org/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABgElEQVQ4jaXRz2uSARzHcb0vlRGEzTVWISU1BVkFYTIyjNK1pKcxHA+yhWMWIamHYikFgpoLIi9jwegi3QbL9SzdLmMbM9J+DkJBgm5RDvEPeHeQHOyQz0OH9+V7ePGBr0pqpPmfVPsP8a0AR4MnMEwf48x9K0s/E8oAY9iEMOvD+8yP2qVjrhhRBnSN61n5sIpULqC+pGHh8wNlgEY8jPQXcGh4VXukDND5evYAl46odIuXtYdKAANSudAChO52/XeMZMohecCbcoGdH99Y+7LO72adT9+/4nh8nYOjBl7/SsoB8gBkpHk8T0S2K++pN3fRin3cfnFDHvCuWkI9rEMvHGEo5gbAHnXhnLF1BpZLeRaLOVT2A8Q3A5wMngXgWtKLxX9KPqC+rCWQvYkpeK4NWKcGOgO50ts2MJJ0cPreeQDciTHMchZYIhcwh2wcuqjn+ccwGm9v6wsTxxn0dVgQXZ7Ek3Agpq6QrcaQGmmebtxFSDkRU1fJVmL/BpT2ByV/3eDMhinRAAAAAElFTkSuQmCC">h-node</A>
- </DL><p>
- </DL><p>
-diff -Nur a/browser/modules/AboutHome.jsm b/browser/modules/AboutHome.jsm
---- a/browser/modules/AboutHome.jsm 2015-08-23 17:04:41.000000000 -0300
-+++ b/browser/modules/AboutHome.jsm 2015-08-25 04:52:43.993422621 -0300
-@@ -8,7 +8,7 @@
- let Ci = Components.interfaces;
- let Cu = Components.utils;
-
--this.EXPORTED_SYMBOLS = [ "AboutHomeUtils", "AboutHome" ];
-+this.EXPORTED_SYMBOLS = [ "AboutHome" ];
-
- Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
- Components.utils.import("resource://gre/modules/Services.jsm");
-@@ -20,68 +20,6 @@
- XPCOMUtils.defineLazyModuleGetter(this, "Promise",
- "resource://gre/modules/Promise.jsm");
-
--// Url to fetch snippets, in the urlFormatter service format.
--const SNIPPETS_URL_PREF = "browser.aboutHomeSnippets.updateUrl";
--
--// Should be bumped up if the snippets content format changes.
--const STARTPAGE_VERSION = 4;
--
--this.AboutHomeUtils = {
-- get snippetsVersion() {
-- return STARTPAGE_VERSION;
-- },
--
-- /*
-- * showKnowYourRights - Determines if the user should be shown the
-- * about:rights notification. The notification should *not* be shown if
-- * we've already shown the current version, or if the override pref says to
-- * never show it. The notification *should* be shown if it's never been seen
-- * before, if a newer version is available, or if the override pref says to
-- * always show it.
-- */
-- get showKnowYourRights() {
-- // Look for an unconditional override pref. If set, do what it says.
-- // (true --> never show, false --> always show)
-- try {
-- return !Services.prefs.getBoolPref("browser.rights.override");
-- } catch (e) { }
-- // Ditto, for the legacy EULA pref.
-- try {
-- return !Services.prefs.getBoolPref("browser.EULA.override");
-- } catch (e) { }
--
--#ifndef MOZILLA_OFFICIAL
-- // Non-official builds shouldn't show the notification.
-- return false;
--#endif
--
-- // Look to see if the user has seen the current version or not.
-- var currentVersion = Services.prefs.getIntPref("browser.rights.version");
-- try {
-- return !Services.prefs.getBoolPref("browser.rights." + currentVersion + ".shown");
-- } catch (e) { }
--
-- // Legacy: If the user accepted a EULA, we won't annoy them with the
-- // equivalent about:rights page until the version changes.
-- try {
-- return !Services.prefs.getBoolPref("browser.EULA." + currentVersion + ".accepted");
-- } catch (e) { }
--
-- // We haven't shown the notification before, so do so now.
-- return true;
-- }
--};
--
--/**
-- * Returns the URL to fetch snippets from, in the urlFormatter service format.
-- */
--XPCOMUtils.defineLazyGetter(AboutHomeUtils, "snippetsURL", function() {
-- let updateURL = Services.prefs
-- .getCharPref(SNIPPETS_URL_PREF)
-- .replace("%STARTPAGE_VERSION%", STARTPAGE_VERSION);
-- return Services.urlFormatter.formatURL(updateURL);
--});
--
- /**
- * This code provides services to the about:home page. Whenever
- * about:home needs to do something chrome-privileged, it sends a
-@@ -246,18 +184,9 @@
- }).then(function(engineName) {
- let data = {
- showRestoreLastSession: ss.canRestoreLastSession,
-- snippetsURL: AboutHomeUtils.snippetsURL,
-- showKnowYourRights: AboutHomeUtils.showKnowYourRights,
-- snippetsVersion: AboutHomeUtils.snippetsVersion,
- defaultEngineName: engineName
- };
-
-- if (AboutHomeUtils.showKnowYourRights) {
-- // Set pref to indicate we've shown the notification.
-- let currentVersion = Services.prefs.getIntPref("browser.rights.version");
-- Services.prefs.setBoolPref("browser.rights." + currentVersion + ".shown", true);
-- }
--
- if (target && target.messageManager) {
- target.messageManager.sendAsyncMessage("AboutHome:Update", data);
- } else {
diff --git a/libre-testing/icecat/mozconfig b/libre-testing/icecat/mozconfig
deleted file mode 100644
index d85989194..000000000
--- a/libre-testing/icecat/mozconfig
+++ /dev/null
@@ -1,38 +0,0 @@
-. $topsrcdir/browser/config/mozconfig
-
-ac_add_options --prefix=/usr
-ac_add_options --libdir=/usr/lib
-ac_add_options --enable-pie
-
-ac_add_options --enable-official-branding
-
-# 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 --with-system-icu
-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
-
-# Features
-ac_add_options --enable-startup-notification
-ac_add_options --enable-pulseaudio
-ac_add_options --enable-gstreamer=1.0
-
-ac_add_options --disable-crashreporter
-ac_add_options --disable-updater
-ac_add_options --disable-installer
-ac_add_options --disable-debug-symbols
-
-# Parabola features
-ac_add_options --disable-safe-browsing
-ac_add_options --disable-url-classifier
-ac_add_options --disable-eme
diff --git a/libre-testing/icecat/vendor.js b/libre-testing/icecat/vendor.js
deleted file mode 100644
index 32fddb8db..000000000
--- a/libre-testing/icecat/vendor.js
+++ /dev/null
@@ -1,28 +0,0 @@
-// 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);
-
-// Disable "alt" as a shortcut key to open full menu bar. Conflicts with "alt" as a modifier
-pref("ui.key.menuAccessKeyFocuses", false);
-
-// Make sure that Firefox Social stuff are empty
-pref("social.whitelist", "");
-pref("social.directories", "");
-
-// Disable the GeoLocation API for content
-pref("geo.enabled", false);
-
-// Make sure that the request URL of the GeoLocation backend is empty
-pref("geo.wifi.uri", "");
-
-// Disable the least secure encryption protocols
-pref("security.ssl3.ecdhe_ecdsa_rc4_128_sha", false);
-pref("security.ssl3.ecdhe_rsa_rc4_128_sha", false);
-pref("security.ssl3.rsa_rc4_128_md5", false);
-pref("security.ssl3.rsa_rc4_128_sha", false);
diff --git a/libre/icecat/PKGBUILD b/libre/icecat/PKGBUILD
index db70b8c2c..462ccb6b7 100644
--- a/libre/icecat/PKGBUILD
+++ b/libre/icecat/PKGBUILD
@@ -13,9 +13,9 @@
_pgo=true
pkgname=icecat
-_pkgver=31.8.0-gnu1
+_pkgver=38.2.0-gnu1
pkgver=${_pkgver//-/_}
-pkgrel=5
+pkgrel=1
pkgdesc="GNU IceCat, the standalone web browser based on Mozilla Firefox."
arch=(i686 x86_64)
@@ -32,32 +32,28 @@ optdepends=('networkmanager: Location detection via available WiFi networks'
'gst-libav: h.264 video')
url="http://www.gnu.org/software/gnuzilla/"
install=$pkgname.install
-source=(http://ftp.gnu.org/gnu/gnuzilla/${_pkgver%-*}/$pkgname-$_pkgver.tar.bz2{,.sig}
+#source=(http://ftp.gnu.org/gnu/gnuzilla/${_pkgver%-*}/$pkgname-$_pkgver.tar.bz2{,.sig}
+source=(http://jenkins.trisquel.info/$pkgname/$pkgname-$_pkgver.tar.bz2
mozconfig
- mozconfig.pgo
libre.patch
gnu_headshadow.png
$pkgname.desktop
$pkgname-install-dir.patch
freetype26.patch
vendor.js
- rhbz-966424.patch
$pkgname-fixed-loading-icon.png
- fixing_nullptr_31.7.0.patch)
-sha256sums=('370087d0adadf8b1c1e6a9920e26488a8902b9dc461d305f258fddb26a129d87'
- 'SKIP'
- '541532698e04563ac60cb4d6c75891a8eec828df8dc19e2c20c6f84e560efb56'
- '92d7ea9feb8d2814d1abaf5cf4012983a2fb9cc56b26a5d7c7c3898aedf06fb4'
- 'df92188c828c104bd52e4eb090fbf3ffd745d890f9252edbf6be6edc6d5ba790'
+ remove-google-play-services-support.patch)
+sha256sums=('eef4addf37f6fc885f28eea936cee7258d42f0cb11d79703ec7ec1fe2b80ef8d'
+ '33a8cf07373c63a0bea70ec2c3983d2cca990752c0f946cb5dbd91f1e2b6410f'
+ 'e333901df4fc8a881d08c9434e3c302885ed4a989316114e13af828417510410'
'93e3001ce152e1d142619e215a9ef07dd429943b99d21726c25da9ceb31e31cd'
'52df9ffeb52166ed4abd9a132ee4a9017b9c4980f0725ba383610ccfb06d4745'
'5bdab2de5520fb4d3dbc453d9f73d20e0e077bf652bc780fc17184ba6c718a47'
'b9c440406644fde5097da8717f0b5e5e973d11ec4dd6d4a0570ca7094d96dc85'
'977aa49b940f1da049cefa2878a63ac6669a78e63e9d55bb11db7b8f8fb64c33'
- 'd25c6e95d20ec622a51346897d986fdd97074023d6a02bee0533773a195f8233'
'68e3a5b47c6d175cc95b98b069a15205f027cab83af9e075818d38610feb6213'
- 'd57d0e4d5bc66323388e8f3c9999ed443abfd304a28a1696cc6f4518ed0d0f2a')
-validpgpkeys=('A57369A8BABC2542B5A0368C3C76EED7D7E04784') # Ruben Rodriguez
+ '9e651b0f7e7d9d663e8b24077d52bad15f011871747743aff60d6e2d7a45ae5b')
+#validpgpkeys=('A57369A8BABC2542B5A0368C3C76EED7D7E04784') # Ruben Rodriguez
prepare() {
export GNU_BUILD="gnuzilla-release"
@@ -75,22 +71,9 @@ prepare() {
# https://bugzilla.mozilla.org/show_bug.cgi?id=1143411
patch -Np1 -i "$srcdir/freetype26.patch"
- # https://bugs.archlinux.org/task/41689
- patch -Np1 -i "$srcdir/rhbz-966424.patch"
-
- # Patch for GCC 5.1
- patch -Np1 -i "$srcdir/fixing_nullptr_31.7.0.patch"
-
# Patch and remove anything that's left
patch -Np1 -i "$srcdir/libre.patch"
- sed -i '\|return| s|Flash|SWF Player|g;
- ' browser/base/content/pageinfo/permissions.js \
- browser/base/content/browser-plugins.js
- sed -i '\|["]displayName["][:] ["]Flash["]| s|Flash|SWF Player|
- \|["]displayName["][:] ["]Shockwave["]| s|Shockwave|DCR Player|
- \|["]displayName["][:] ["]QuickTime["]| s|QuickTime|MOV Player|
- \|installLinux| s|true|false|
- ' browser/base/content/browser-plugins.js
+ patch -Np1 -i "$srcdir/remove-google-play-services-support.patch"
rm -v browser/base/content/abouthome/snippet*.png || true
sed -i '\|abouthome/snippet|d
' browser/base/jar.mn
@@ -111,19 +94,6 @@ prepare() {
# Load our build config, disable SafeSearch
cp "$srcdir/mozconfig" .mozconfig
- if $_pgo; then
- cat "$srcdir/mozconfig.pgo" >> .mozconfig
- fi
-
- # Fixing for libvpx >= 1.4.0
- sed -i 's|IMG_FMT_I420|VPX_IMG_FMT_I420|;
- s|PLANE_U|VPX_PLANE_U|;
- s|PLANE_V|VPX_PLANE_V|;
- s|PLANE_Y|VPX_PLANE_Y|;
- s|VPX_VPX_PLANE_|VPX_PLANE_|;
- ' content/media/encoder/VP8TrackEncoder.cpp \
- media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc
-
mkdir "$srcdir/path"
# WebRTC build tries to execute "python" and expects Python 2
@@ -133,15 +103,10 @@ prepare() {
# https://bugs.archlinux.org/task/34644
sed -i '/ac_cpp=/s/$CPPFLAGS/& -O2/' configure
- # Fix tab loading icon (flickers with libpng 1.6)
+ # Fix tab loading icon (doesn't work with libpng 1.6)
# https://bugzilla.mozilla.org/show_bug.cgi?id=841734
- # TODO: Remove this; IceCat 36 might use CSS animations for the loading icon
- # https://bugzilla.mozilla.org/show_bug.cgi?id=759252
cp "$srcdir/$pkgname-fixed-loading-icon.png" \
browser/themes/linux/tabbrowser/loading.png
-
- # Remove non-existent file on Makefile.in
- sed -i '\|build/pgo/blueprint/valid.png|d' build/Makefile.in
}
build() {
@@ -150,7 +115,6 @@ build() {
cd "$srcdir/$GNU_BUILD"
export PATH="$srcdir/path:$PATH"
- export LDFLAGS="$LDFLAGS -Wl,-rpath,/usr/lib/$pkgname"
export PYTHON="/usr/bin/python2"
if $_pgo; then
diff --git a/libre/icecat/fixing_nullptr_31.7.0.patch b/libre/icecat/fixing_nullptr_31.7.0.patch
deleted file mode 100644
index ecfca4138..000000000
--- a/libre/icecat/fixing_nullptr_31.7.0.patch
+++ /dev/null
@@ -1,174 +0,0 @@
---- a/js/src/builtin/TypedObject.cpp 2015-06-03 22:48:47.000000000 +0200
-+++ b/js/src/builtin/TypedObject.cpp 2015-06-08 16:45:30.918154529 +0200
-@@ -710,12 +710,12 @@
- contents.append(")");
- RootedAtom stringRepr(cx, contents.finishAtom());
- if (!stringRepr)
-- return nullptr;
-+ return false;
-
- // Extract ArrayType.prototype
- RootedObject arrayTypePrototype(cx, GetPrototype(cx, arrayTypeGlobal));
- if (!arrayTypePrototype)
-- return nullptr;
-+ return false;
-
- // Create the instance of ArrayType
- Rooted<UnsizedArrayTypeDescr*> obj(cx);
-@@ -728,7 +728,7 @@
- if (!JSObject::defineProperty(cx, obj, cx->names().length,
- UndefinedHandleValue, nullptr, nullptr,
- JSPROP_READONLY | JSPROP_PERMANENT))
-- return nullptr;
-+ return false;
-
- args.rval().setObject(*obj);
- return true;
-@@ -762,7 +762,7 @@
- if (!size.isValid()) {
- JS_ReportErrorNumber(cx, js_GetErrorMessage, nullptr,
- JSMSG_TYPEDOBJECT_TOO_BIG);
-- return nullptr;
-+ return false;
- }
-
- // Construct a canonical string `new ArrayType(<elementType>).dimension(N)`:
-@@ -775,7 +775,7 @@
- contents.append(")");
- RootedAtom stringRepr(cx, contents.finishAtom());
- if (!stringRepr)
-- return nullptr;
-+ return false;
-
- // Create the sized type object.
- Rooted<SizedArrayTypeDescr*> obj(cx);
-@@ -793,7 +793,7 @@
- if (!JSObject::defineProperty(cx, obj, cx->names().length,
- lengthVal, nullptr, nullptr,
- JSPROP_READONLY | JSPROP_PERMANENT))
-- return nullptr;
-+ return false;
-
- // Add `unsized` property, which is a link from the sized
- // array to the unsized array.
-@@ -801,7 +801,7 @@
- if (!JSObject::defineProperty(cx, obj, cx->names().unsized,
- unsizedTypeDescrValue, nullptr, nullptr,
- JSPROP_READONLY | JSPROP_PERMANENT))
-- return nullptr;
-+ return false;
-
- args.rval().setObject(*obj);
- return true;
-@@ -1253,7 +1253,7 @@
- Rooted<TypedProto*> proto(cx);
- proto = NewObjectWithProto<TypedProto>(cx, objProto, nullptr, TenuredObject);
- if (!proto)
-- return nullptr;
-+ return false;
- proto->initTypeDescrSlot(*descr);
- descr->initReservedSlot(JS_DESCR_SLOT_TYPROTO, ObjectValue(*proto));
-
-@@ -1358,14 +1358,14 @@
- #define BINARYDATA_SCALAR_DEFINE(constant_, type_, name_) \
- if (!DefineSimpleTypeDescr<ScalarTypeDescr>(cx, global, module, constant_, \
- cx->names().name_)) \
-- return nullptr;
-+ return false;
- JS_FOR_EACH_SCALAR_TYPE_REPR(BINARYDATA_SCALAR_DEFINE)
- #undef BINARYDATA_SCALAR_DEFINE
-
- #define BINARYDATA_REFERENCE_DEFINE(constant_, type_, name_) \
- if (!DefineSimpleTypeDescr<ReferenceTypeDescr>(cx, global, module, constant_, \
- cx->names().name_)) \
-- return nullptr;
-+ return false;
- JS_FOR_EACH_REFERENCE_TYPE_REPR(BINARYDATA_REFERENCE_DEFINE)
- #undef BINARYDATA_REFERENCE_DEFINE
-
-@@ -1375,14 +1375,14 @@
- arrayType = DefineMetaTypeDescr<ArrayMetaTypeDescr>(
- cx, global, module, TypedObjectModuleObject::ArrayTypePrototype);
- if (!arrayType)
-- return nullptr;
-+ return false;
-
- RootedValue arrayTypeValue(cx, ObjectValue(*arrayType));
- if (!JSObject::defineProperty(cx, module, cx->names().ArrayType,
- arrayTypeValue,
- nullptr, nullptr,
- JSPROP_READONLY | JSPROP_PERMANENT))
-- return nullptr;
-+ return false;
-
- // StructType.
-
-@@ -1390,14 +1390,14 @@
- structType = DefineMetaTypeDescr<StructMetaTypeDescr>(
- cx, global, module, TypedObjectModuleObject::StructTypePrototype);
- if (!structType)
-- return nullptr;
-+ return false;
-
- RootedValue structTypeValue(cx, ObjectValue(*structType));
- if (!JSObject::defineProperty(cx, module, cx->names().StructType,
- structTypeValue,
- nullptr, nullptr,
- JSPROP_READONLY | JSPROP_PERMANENT))
-- return nullptr;
-+ return false;
-
- // Everything is setup, install module on the global object:
- RootedValue moduleValue(cx, ObjectValue(*module));
-@@ -1407,7 +1407,7 @@
- nullptr, nullptr,
- 0))
- {
-- return nullptr;
-+ return false;
- }
-
- return module;
-@@ -2466,7 +2466,7 @@
- if (length < 0) {
- JS_ReportErrorNumber(cx, js_GetErrorMessage,
- nullptr, JSMSG_TYPEDOBJECT_BAD_ARGS);
-- return nullptr;
-+ return false;
- }
- Rooted<TypedObject*> obj(cx, createZeroed(cx, callee, length));
- if (!obj)
-
---- a/js/src/frontend/BytecodeCompiler.cpp 2015-06-03 22:48:48.000000000 +0200
-+++ b/js/src/frontend/BytecodeCompiler.cpp 2015-06-08 01:15:08.080302638 +0200
-@@ -544,7 +544,7 @@
-
- RootedScriptSource sourceObject(cx, CreateScriptSourceObject(cx, options));
- if (!sourceObject)
-- return nullptr;
-+ return false;
- ScriptSource* ss = sourceObject->source();
-
- SourceCompressionTask sct(cx);
---- a/js/xpconnect/wrappers/XrayWrapper.cpp 2015-06-03 22:48:45.000000000 +0200
-+++ b/js/xpconnect/wrappers/XrayWrapper.cpp 2015-06-08 01:15:35.672193557 +0200
-@@ -351,7 +351,7 @@
- {
- JSAutoCompartment ac(cx, target);
- if (!JS_GetClassPrototype(cx, key, protop))
-- return nullptr;
-+ return false;
- }
- return JS_WrapObject(cx, protop);
- }
---- a/netwerk/ipc/NeckoParent.cpp 2015-06-03 22:46:41.000000000 +0200
-+++ b/netwerk/ipc/NeckoParent.cpp 2015-06-08 01:16:10.200055747 +0200
-@@ -359,7 +359,7 @@
- RtspChannelParent* p = static_cast<RtspChannelParent*>(aActor);
- return p->Init(aConnectArgs);
- #else
-- return nullptr;
-+ return false;
- #endif
- }
-
diff --git a/libre/icecat/libre.patch b/libre/icecat/libre.patch
index 8138985ad..ee88c6d56 100644
--- a/libre/icecat/libre.patch
+++ b/libre/icecat/libre.patch
@@ -1,19 +1,19 @@
diff -Nur a/browser/app/profile/icecat.js b/browser/app/profile/icecat.js
---- a/browser/app/profile/icecat.js 2015-07-13 19:14:27.000000000 -0300
-+++ b/browser/app/profile/icecat.js 2015-08-18 02:36:42.167590967 -0300
-@@ -281,11 +281,6 @@
- pref("browser.slowStartup.timeThreshold", 50000);
+--- a/browser/app/profile/icecat.js 2015-08-23 17:05:03.000000000 -0300
++++ b/browser/app/profile/icecat.js 2015-08-25 04:49:18.450526750 -0300
+@@ -279,11 +279,6 @@
+ pref("browser.slowStartup.timeThreshold", 40000);
pref("browser.slowStartup.maxSamples", 5);
-// 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
-// repackager of this code using an alternate snippet url, please keep your users safe
--pref("browser.aboutHomeSnippets.updateUrl", "https://snippets.mozilla.com/%STARTPAGE_VERSION%/%NAME%/%VERSION%/%APPBUILDID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/");
+-pref("browser.aboutHomeSnippets.updateUrl", "https://snippets.cdn.mozilla.net/%STARTPAGE_VERSION%/%NAME%/%VERSION%/%APPBUILDID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/");
-
pref("browser.enable_automatic_image_resizing", true);
+ pref("browser.casting.enabled", false);
pref("browser.chrome.site_icons", true);
- pref("browser.chrome.favicons", true);
-@@ -1746,11 +1741,6 @@
+@@ -2080,12 +2075,6 @@
pref("pfs.datasource.url", "http://gnuzilla.gnu.org/plugins/PluginFinderService.php?mimetype=%PLUGIN_MIMETYPE%");
pref("pfs.filehint.url", "http://gnuzilla.gnu.org/plugins/PluginFinderService.php?mimetype=%PLUGIN_MIMETYPE%");
@@ -21,6 +21,7 @@ diff -Nur a/browser/app/profile/icecat.js b/browser/app/profile/icecat.js
-pref("keyword.URL", "https://duckduckgo.com/html?t=gnu&q=!+");
-pref("browser.search.defaultenginename", "DuckDuckGo");
-pref("browser.search.order.extra.duckduckgo", "DuckDuckGo");
+-pref("browser.search.showOneOffButtons", false);
-
// https://directory.fsf.org/wiki/Disable_DHE
pref("security.ssl3.dhe_rsa_aes_128_sha", false);
@@ -690,8 +691,8 @@ diff -Nur a/browser/base/jar.mn b/browser/base/jar.mn
content/browser/abouthome/snippet2@2x.png (content/abouthome/snippet2@2x.png)
content/browser/abouthome/downloads@2x.png (content/abouthome/downloads@2x.png)
diff -Nur a/browser/locales/en-US/chrome/browser/aboutHome.dtd b/browser/locales/en-US/chrome/browser/aboutHome.dtd
---- a/browser/locales/en-US/chrome/browser/aboutHome.dtd 2015-01-27 16:19:19.000000000 -0200
-+++ b/browser/locales/en-US/chrome/browser/aboutHome.dtd 2015-01-29 12:19:21.741429014 -0200
+--- a/browser/locales/en-US/chrome/browser/aboutHome.dtd 2015-08-23 17:05:01.000000000 -0300
++++ b/browser/locales/en-US/chrome/browser/aboutHome.dtd 2015-08-25 04:47:50.321608830 -0300
@@ -13,17 +13,6 @@
<!ENTITY abouthome.searchEngineButton.label "Search">
@@ -709,7 +710,7 @@ diff -Nur a/browser/locales/en-US/chrome/browser/aboutHome.dtd b/browser/locales
-
<!ENTITY abouthome.bookmarksButton.label "Bookmarks">
<!ENTITY abouthome.historyButton.label "History">
- <!ENTITY abouthome.settingsButton.label "Settings">
+ <!-- LOCALIZATION NOTE (abouthome.preferencesButtonWin.label): The label for the
diff -Nur 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 2015-07-13 19:14:26.000000000 -0300
+++ b/browser/locales/en-US/chrome/browser-region/region.properties 2015-08-18 02:43:13.382178053 -0300
@@ -788,8 +789,8 @@ diff -Nur a/browser/locales/generic/profile/bookmarks.html.in b/browser/locales/
</DL><p>
</DL><p>
diff -Nur a/browser/modules/AboutHome.jsm b/browser/modules/AboutHome.jsm
---- a/browser/modules/AboutHome.jsm 2014-10-09 12:53:30.000000000 -0200
-+++ b/browser/modules/AboutHome.jsm 2014-10-21 14:54:12.086062616 -0200
+--- a/browser/modules/AboutHome.jsm 2015-08-23 17:04:41.000000000 -0300
++++ b/browser/modules/AboutHome.jsm 2015-08-25 04:52:43.993422621 -0300
@@ -8,7 +8,7 @@
let Ci = Components.interfaces;
let Cu = Components.utils;
@@ -799,9 +800,9 @@ diff -Nur a/browser/modules/AboutHome.jsm b/browser/modules/AboutHome.jsm
Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
Components.utils.import("resource://gre/modules/Services.jsm");
-@@ -18,66 +18,6 @@
- XPCOMUtils.defineLazyModuleGetter(this, "fxAccounts",
- "resource://gre/modules/FxAccounts.jsm");
+@@ -20,68 +20,6 @@
+ XPCOMUtils.defineLazyModuleGetter(this, "Promise",
+ "resource://gre/modules/Promise.jsm");
-// Url to fetch snippets, in the urlFormatter service format.
-const SNIPPETS_URL_PREF = "browser.aboutHomeSnippets.updateUrl";
@@ -810,7 +811,9 @@ diff -Nur a/browser/modules/AboutHome.jsm b/browser/modules/AboutHome.jsm
-const STARTPAGE_VERSION = 4;
-
-this.AboutHomeUtils = {
-- get snippetsVersion() STARTPAGE_VERSION,
+- get snippetsVersion() {
+- return STARTPAGE_VERSION;
+- },
-
- /*
- * showKnowYourRights - Determines if the user should be shown the
@@ -866,14 +869,14 @@ diff -Nur a/browser/modules/AboutHome.jsm b/browser/modules/AboutHome.jsm
/**
* This code provides services to the about:home page. Whenever
* about:home needs to do something chrome-privileged, it sends a
-@@ -202,18 +142,9 @@
- ss.promiseInitialized.then(function() {
+@@ -246,18 +184,9 @@
+ }).then(function(engineName) {
let data = {
showRestoreLastSession: ss.canRestoreLastSession,
- snippetsURL: AboutHomeUtils.snippetsURL,
- showKnowYourRights: AboutHomeUtils.showKnowYourRights,
- snippetsVersion: AboutHomeUtils.snippetsVersion,
- defaultEngineName: Services.search.defaultEngine.name
+ defaultEngineName: engineName
};
- if (AboutHomeUtils.showKnowYourRights) {
@@ -882,6 +885,6 @@ diff -Nur a/browser/modules/AboutHome.jsm b/browser/modules/AboutHome.jsm
- Services.prefs.setBoolPref("browser.rights." + currentVersion + ".shown", true);
- }
-
- if (target) {
+ if (target && target.messageManager) {
target.messageManager.sendAsyncMessage("AboutHome:Update", data);
} else {
diff --git a/libre/icecat/mozconfig b/libre/icecat/mozconfig
index 974fcce4d..d85989194 100644
--- a/libre/icecat/mozconfig
+++ b/libre/icecat/mozconfig
@@ -14,7 +14,7 @@ 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 --with-system-libvpx
ac_add_options --with-system-icu
ac_add_options --enable-system-hunspell
ac_add_options --enable-system-sqlite
@@ -35,3 +35,4 @@ ac_add_options --disable-debug-symbols
# Parabola features
ac_add_options --disable-safe-browsing
ac_add_options --disable-url-classifier
+ac_add_options --disable-eme
diff --git a/libre/icecat/mozconfig.pgo b/libre/icecat/mozconfig.pgo
deleted file mode 100644
index 71ba205a4..000000000
--- a/libre/icecat/mozconfig.pgo
+++ /dev/null
@@ -1,3 +0,0 @@
-
-# PGO
-mk_add_options PROFILE_GEN_SCRIPT='EXTRA_TEST_ARGS=10 $(MAKE) -C $(MOZ_OBJDIR) pgo-profile-run'
diff --git a/libre/icecat/remove-google-play-services-support.patch b/libre/icecat/remove-google-play-services-support.patch
new file mode 100644
index 000000000..f184b15ad
--- /dev/null
+++ b/libre/icecat/remove-google-play-services-support.patch
@@ -0,0 +1,64 @@
+diff -Nur a/configure b/configure
+--- a/configure 2015-08-23 17:05:16.000000000 -0300
++++ b/configure 2015-08-25 17:13:48.155780403 -0300
+@@ -18883,46 +18883,6 @@
+
+
+
+-if test -n "$MOZ_NATIVE_DEVICES" ; then
+-
+-
+- echo $ac_n "checking for google play services""... $ac_c" 1>&6
+-echo "configure:18891: checking for google play services" >&5
+- GOOGLE_PLAY_SERVICES_LIB="${ANDROID_SDK_ROOT}/extras/google/google_play_services/libproject/google-play-services_lib/libs/google-play-services.jar"
+- GOOGLE_PLAY_SERVICES_RES="${ANDROID_SDK_ROOT}/extras/google/google_play_services/libproject/google-play-services_lib/res"
+-
+-
+- if ! test -e $GOOGLE_PLAY_SERVICES_LIB ; then
+- { echo "configure: error: You must download Google Play Services to build with native video casting support enabled. Run the Android SDK tool and install Google Play Services under Extras. See http://developer.android.com/google/play-services/setup.html for more info. (looked for $GOOGLE_PLAY_SERVICES_LIB) " 1>&2; echo "configure: error: You must download Google Play Services to build with native video casting support enabled. Run the Android SDK tool and install Google Play Services under Extras. See http://developer.android.com/google/play-services/setup.html for more info. (looked for $GOOGLE_PLAY_SERVICES_LIB) " 1>&5; exit 1; }
+- fi
+- echo "$ac_t""$GOOGLE_PLAY_SERVICES_LIB" 1>&6
+-
+- ANDROID_APPCOMPAT_LIB="$ANDROID_COMPAT_DIR_BASE/v7/appcompat/libs/android-support-v7-appcompat.jar"
+- ANDROID_APPCOMPAT_RES="$ANDROID_COMPAT_DIR_BASE/v7/appcompat/res"
+- echo $ac_n "checking for v7 appcompat library""... $ac_c" 1>&6
+-echo "configure:18904: checking for v7 appcompat library" >&5
+- if ! test -e $ANDROID_APPCOMPAT_LIB ; then
+- { echo "configure: error: You must download the v7 app compat Android support library when targeting Android with native video casting support enabled. Run the Android SDK tool and install Android Support Library under Extras. See https://developer.android.com/tools/extras/support-library.html for more info. (looked for $ANDROID_APPCOMPAT_LIB)" 1>&2; echo "configure: error: You must download the v7 app compat Android support library when targeting Android with native video casting support enabled. Run the Android SDK tool and install Android Support Library under Extras. See https://developer.android.com/tools/extras/support-library.html for more info. (looked for $ANDROID_APPCOMPAT_LIB)" 1>&5; exit 1; }
+- fi
+- echo "$ac_t""$ANDROID_APPCOMPAT_LIB" 1>&6
+-
+-
+-
+- ANDROID_MEDIAROUTER_LIB="$ANDROID_COMPAT_DIR_BASE/v7/mediarouter/libs/android-support-v7-mediarouter.jar"
+- ANDROID_MEDIAROUTER_RES="$ANDROID_COMPAT_DIR_BASE/v7/mediarouter/res"
+- echo $ac_n "checking for v7 mediarouter library""... $ac_c" 1>&6
+-echo "configure:18915: checking for v7 mediarouter library" >&5
+- if ! test -e $ANDROID_MEDIAROUTER_LIB ; then
+- { echo "configure: error: You must download the v7 media router Android support library when targeting Android with native video casting support enabled. Run the Android SDK tool and install Android Support Library under Extras. See https://developer.android.com/tools/extras/support-library.html for more info. (looked for $ANDROID_MEDIAROUTER_LIB)" 1>&2; echo "configure: error: You must download the v7 media router Android support library when targeting Android with native video casting support enabled. Run the Android SDK tool and install Android Support Library under Extras. See https://developer.android.com/tools/extras/support-library.html for more info. (looked for $ANDROID_MEDIAROUTER_LIB)" 1>&5; exit 1; }
+- fi
+- echo "$ac_t""$ANDROID_MEDIAROUTER_LIB" 1>&6
+-
+-
+-fi
+-
+-
+-
+-
+ if test "$MOZ_ENABLE_GTK" -o "$MOZ_ENABLE_QT"
+ then
+ succeeded=no
+@@ -29180,13 +29140,6 @@
+ (''' MOZ_OFFICIAL_BRANDING ''', r''' $MOZ_OFFICIAL_BRANDING ''')
+ (''' MOZ_BRANDING_DIRECTORY ''', r''' $MOZ_BRANDING_DIRECTORY ''')
+ (''' MOZ_DISTRIBUTION_ID ''', r''' $MOZ_DISTRIBUTION_ID ''')
+- (''' MOZ_NATIVE_DEVICES ''', r''' $MOZ_NATIVE_DEVICES ''')
+- (''' GOOGLE_PLAY_SERVICES_LIB ''', r''' $GOOGLE_PLAY_SERVICES_LIB ''')
+- (''' GOOGLE_PLAY_SERVICES_RES ''', r''' $GOOGLE_PLAY_SERVICES_RES ''')
+- (''' ANDROID_APPCOMPAT_LIB ''', r''' $ANDROID_APPCOMPAT_LIB ''')
+- (''' ANDROID_APPCOMPAT_RES ''', r''' $ANDROID_APPCOMPAT_RES ''')
+- (''' ANDROID_MEDIAROUTER_LIB ''', r''' $ANDROID_MEDIAROUTER_LIB ''')
+- (''' ANDROID_MEDIAROUTER_RES ''', r''' $ANDROID_MEDIAROUTER_RES ''')
+ (''' _PANGOCHK_CFLAGS ''', list(r''' $_PANGOCHK_CFLAGS '''.split()))
+ (''' _PANGOCHK_LIBS ''', list(r''' $_PANGOCHK_LIBS '''.split()))
+ (''' MOZ_PANGO_CFLAGS ''', list(r''' $MOZ_PANGO_CFLAGS '''.split()))
diff --git a/libre/icecat/rhbz-966424.patch b/libre/icecat/rhbz-966424.patch
deleted file mode 100644
index 9a1c9e2b4..000000000
--- a/libre/icecat/rhbz-966424.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -Nur mozilla-release.orig/toolkit/modules/CertUtils.jsm mozilla-release/toolkit/modules/CertUtils.jsm
---- mozilla-release.orig/toolkit/modules/CertUtils.jsm 2014-10-11 07:06:48.000000000 -0200
-+++ mozilla-release/toolkit/modules/CertUtils.jsm 2014-10-16 03:44:30.226448002 -0200
-@@ -174,7 +174,9 @@
- }
-
- function isBuiltinToken(tokenName) {
-- return tokenName == "Builtin Object Token";
-+ return tokenName == "Builtin Object Token" ||
-+ tokenName == "Default Trust" ||
-+ tokenName == "System Trust";
- }
-
- /**