diff --git a/extra/firefox/PKGBUILD b/extra/firefox/PKGBUILD new file mode 100644 index 000000000..9f4039d67 --- /dev/null +++ b/extra/firefox/PKGBUILD @@ -0,0 +1,106 @@ +# $Id: PKGBUILD 185522 2013-05-14 17:22:28Z foutrelis $ +# Maintainer : Ionut Biru +# Contributor: Jakub Schmidtke + +pkgname=firefox +pkgver=21.0 +pkgrel=1 +pkgdesc="Standalone web browser from mozilla.org" +arch=('i686' 'x86_64') +license=('MPL' 'GPL' 'LGPL') +url="http://www.mozilla.org/projects/firefox" +depends=('gtk2' 'mozilla-common' 'libxt' 'startup-notification' 'mime-types' + 'dbus-glib' 'alsa-lib' 'libvpx' 'libevent' 'nss' 'hunspell' 'sqlite' + 'libnotify' 'desktop-file-utils' 'hicolor-icon-theme') +makedepends=('unzip' 'zip' 'diffutils' 'python2' 'yasm' 'mesa' 'imake' + 'xorg-server-xvfb') +optdepends=('networkmanager: Location detection via available WiFi networks') +install=firefox.install +options=('!emptydirs' '!makeflags') +source=(https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.bz2 + mozconfig firefox.desktop firefox-install-dir.patch vendor.js shared-libs.patch + firefox-20.0.1-fixed-loading-icon.png) +sha256sums=('3909031cb5d403b12c796afb7775b4950f0347786ffd06028761852a1074d91c' + '7a519745d9b0bb91a7d2cf4c266c84bf5a6c964670db2981737e787a6fbdfe67' + 'd2a7610393ba259c35e3227b92e02ec91095a95189f56ac93ccdf6732772719c' + 'ded67e8204bd5e1c0c5771c0d2c84ff80c998e1543711e7cd804cfe29e8dd1b0' + '4b50e9aec03432e21b44d18c4c97b2630bace606b033f7d556c9d3e3eb0f4fa4' + 'e2b4a00d14f4ba69c62b3f9ef9908263fbab179ba8004197cbc67edbd916fdf1' + '68e3a5b47c6d175cc95b98b069a15205f027cab83af9e075818d38610feb6213') + +prepare() { + cd mozilla-release + + cp ../mozconfig .mozconfig + patch -Np1 -i ../firefox-install-dir.patch + patch -Np1 -i ../shared-libs.patch + + # Fix PRE_RELEASE_SUFFIX + sed -i '/^PRE_RELEASE_SUFFIX := ""/s/ ""//' \ + browser/base/Makefile.in + + mkdir "$srcdir/path" + + # WebRTC build tries to execute "python" and expects Python 2 + ln -s /usr/bin/python2 "$srcdir/path/python" + + # configure script misdetects the preprocessor without an optimization level + # https://bugs.archlinux.org/task/34644 + sed -i '/ac_cpp=/s/$CPPFLAGS/& -O2/' configure + + # Fix tab loading icon (flickers with libpng 1.6) + # https://bugzilla.mozilla.org/show_bug.cgi?id=841734 + cp "$srcdir/firefox-20.0.1-fixed-loading-icon.png" \ + browser/themes/gnomestripe/tabbrowser/loading.png +} + +build() { + cd mozilla-release + + export PATH="$srcdir/path:$PATH" + export LDFLAGS="$LDFLAGS -Wl,-rpath,/usr/lib/firefox" + export PYTHON="/usr/bin/python2" + + export DISPLAY=:99 + Xvfb -nolisten tcp -extension GLX -screen 0 1280x1024x24 $DISPLAY & + + if ! make -f client.mk build MOZ_PGO=1; then + kill $! + return 1 + fi + + kill $! || true +} + +package() { + cd mozilla-release + make -f client.mk DESTDIR="$pkgdir" install + + install -Dm644 ../vendor.js "$pkgdir/usr/lib/firefox/browser/defaults/preferences/vendor.js" + + for i in 16 22 24 32 48 256; do + install -Dm644 browser/branding/official/default$i.png \ + "$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/firefox.png" + done + install -Dm644 browser/branding/official/content/icon64.png \ + "$pkgdir/usr/share/icons/hicolor/64x64/apps/firefox.png" + install -Dm644 browser/branding/official/mozicon128.png \ + "$pkgdir/usr/share/icons/hicolor/128x128/apps/firefox.png" + install -Dm644 browser/branding/official/content/about-logo.png \ + "$pkgdir/usr/share/icons/hicolor/210x210/apps/firefox.png" + + install -Dm644 ../firefox.desktop \ + "$pkgdir/usr/share/applications/firefox.desktop" + + # Use system-provided dictionaries + rm -rf "$pkgdir"/usr/lib/firefox/{dictionaries,hyphenation} + ln -s /usr/share/hunspell "$pkgdir/usr/lib/firefox/dictionaries" + ln -s /usr/share/hyphen "$pkgdir/usr/lib/firefox/hyphenation" + + # We don't want the development stuff + rm -r "$pkgdir"/usr/{include,lib/firefox-devel,share/idl} + + #workaround for now + #https://bugzilla.mozilla.org/show_bug.cgi?id=658850 + ln -sf firefox "$pkgdir/usr/lib/firefox/firefox-bin" +} diff --git a/extra/firefox/firefox-20.0.1-fixed-loading-icon.png b/extra/firefox/firefox-20.0.1-fixed-loading-icon.png new file mode 100644 index 000000000..55f25e591 Binary files /dev/null and b/extra/firefox/firefox-20.0.1-fixed-loading-icon.png differ diff --git a/extra/firefox/firefox-install-dir.patch b/extra/firefox/firefox-install-dir.patch new file mode 100644 index 000000000..9c115f0eb --- /dev/null +++ b/extra/firefox/firefox-install-dir.patch @@ -0,0 +1,30 @@ +diff -Nur mozilla-release.orig/config/baseconfig.mk mozilla-release/config/baseconfig.mk +--- mozilla-release.orig/config/baseconfig.mk 2012-10-09 07:34:41.762092280 +0000 ++++ mozilla-release/config/baseconfig.mk 2012-10-09 07:40:53.052771576 +0000 +@@ -1,9 +1,9 @@ + INCLUDED_AUTOCONF_MK = 1 + +-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) +-sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION) ++includedir := $(includedir)/$(MOZ_APP_NAME) ++idldir = $(datadir)/idl/$(MOZ_APP_NAME) ++installdir = $(libdir)/$(MOZ_APP_NAME) ++sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel + DIST = $(DEPTH)/dist + + # We do magic with OBJ_SUFFIX in config.mk, the following ensures we don't +diff -Nur mozilla-release.orig/js/src/config/baseconfig.mk mozilla-release/js/src/config/baseconfig.mk +--- mozilla-release.orig/js/src/config/baseconfig.mk 2012-10-09 07:34:58.411973276 +0000 ++++ mozilla-release/js/src/config/baseconfig.mk 2012-10-09 07:39:55.143186168 +0000 +@@ -1,7 +1,7 @@ + INCLUDED_AUTOCONF_MK = 1 + +-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 + + ifneq (,$(filter /%,$(TOP_DIST))) + DIST = $(TOP_DIST) diff --git a/extra/firefox/firefox.desktop b/extra/firefox/firefox.desktop new file mode 100644 index 000000000..d156ecf69 --- /dev/null +++ b/extra/firefox/firefox.desktop @@ -0,0 +1,121 @@ +[Desktop Entry] +Name=Firefox +Name[bn]=ফায়ারফক্স +Name[eo]=Fajrovulpo +Name[fi]=Firefox +Name[pa]=ਫਾਇਰਫੋਕਸ +Name[tg]=Рӯбоҳи оташин +GenericName=Web Browser +GenericName[af]=Web Blaaier +GenericName[ar]=متصفح ويب +GenericName[az]=Veb Səyyahı +GenericName[bg]=Браузър +GenericName[bn]=ওয়েব ব্রাউজার +GenericName[br]=Furcher ar Gwiad +GenericName[bs]=WWW Preglednik +GenericName[ca]=Fullejador web +GenericName[cs]=WWW prohlížeč +GenericName[cy]=Porydd Gwe +GenericName[da]=Browser +GenericName[de]=Web-Browser +GenericName[el]=Περιηγητής Ιστού +GenericName[eo]=TTT-legilo +GenericName[es]=Navegador web +GenericName[et]=Veebilehitseja +GenericName[eu]=Web arakatzailea +GenericName[fa]=مرورگر وب +GenericName[fi]=WWW-selain +GenericName[fo]=Alnótsfar +GenericName[fr]=Navigateur web +GenericName[gl]=Navegador Web +GenericName[he]=דפדפן אינטרנט +GenericName[hi]=वेब ब्राउज़र +GenericName[hr]=Web preglednik +GenericName[hu]=Webböngésző +GenericName[is]=Vafri +GenericName[it]=Browser Web +GenericName[ja]=ウェブブラウザ +GenericName[ko]=웹 브라우저 +GenericName[lo]=ເວັບບຣາວເຊີ +GenericName[lt]=Žiniatinklio naršyklė +GenericName[lv]=Web Pārlūks +GenericName[mk]=Прелистувач на Интернет +GenericName[mn]=Веб-Хөтөч +GenericName[nb]=Nettleser +GenericName[nds]=Nettkieker +GenericName[nl]=Webbrowser +GenericName[nn]=Nettlesar +GenericName[nso]=Seinyakisi sa Web +GenericName[pa]=ਵੈਬ ਝਲਕਾਰਾ +GenericName[pl]=Przeglądarka WWW +GenericName[pt]=Navegador Web +GenericName[pt_BR]=Navegador Web +GenericName[ro]=Navigator de web +GenericName[ru]=Веб-браузер +GenericName[se]=Fierpmádatlogan +GenericName[sk]=Webový prehliadač +GenericName[sl]=Spletni brskalnik +GenericName[sr]=Веб претраживач +GenericName[sr@Latn]=Veb pretraživač +GenericName[ss]=Ibrawuza yeWeb +GenericName[sv]=Webbläsare +GenericName[ta]=வலை உலாவி +GenericName[tg]=Тафсиргари вэб +GenericName[th]=เว็บบราวเซอร์ +GenericName[tr]=Web Tarayıcı +GenericName[uk]=Навігатор Тенет +GenericName[uz]=Веб-браузер +GenericName[ven]=Buronza ya Webu +GenericName[vi]=Trình duyệt Web +GenericName[wa]=Betchteu waibe +GenericName[xh]=Umkhangeli zincwadi we Web +GenericName[zh_CN]=网页浏览器 +GenericName[zh_TW]=網頁瀏覽器 +GenericName[zu]=Umcingi we-Web +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[ug]=دۇنيادىكى توربەتلەرنى كۆرگىلى بولىدۇ +Comment[uk]=Перегляд сторінок Інтернету +Comment[vi]=Để duyệt các trang web +Comment[zh_CN]=浏览互联网 +Comment[zh_TW]=瀏覽網際網路 +Exec=/usr/lib/firefox/firefox %u +Icon=firefox +Terminal=false +Type=Application +MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https; +StartupNotify=true +Categories=Network;WebBrowser; diff --git a/extra/firefox/firefox.install b/extra/firefox/firefox.install new file mode 100644 index 000000000..1a1f4b16b --- /dev/null +++ b/extra/firefox/firefox.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 +} + +post_remove() { + post_install +} + diff --git a/extra/firefox/mozconfig b/extra/firefox/mozconfig new file mode 100644 index 000000000..ef426d06a --- /dev/null +++ b/extra/firefox/mozconfig @@ -0,0 +1,36 @@ +. $topsrcdir/browser/config/mozconfig + +ac_add_options --prefix=/usr +ac_add_options --libdir=/usr/lib +ac_add_options --disable-elf-hack +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 --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-gstreamer + +ac_add_options --disable-crashreporter +ac_add_options --disable-updater +ac_add_options --disable-tests +ac_add_options --disable-installer + +# PGO +mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) $(MOZ_OBJDIR)/_profile/pgo/profileserver.py 10' +mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/opt-ff +mk_add_options AUTOCONF=autoconf-2.13 +mk_add_options PYTHON=/usr/bin/python2 diff --git a/extra/firefox/shared-libs.patch b/extra/firefox/shared-libs.patch new file mode 100644 index 000000000..1f22b2b0d --- /dev/null +++ b/extra/firefox/shared-libs.patch @@ -0,0 +1,12 @@ +diff -Nur mozilla-release.orig/browser/installer/Makefile.in mozilla-release/browser/installer/Makefile.in +--- mozilla-release.orig/browser/installer/Makefile.in 2012-07-17 16:19:29.480356991 +0000 ++++ mozilla-release/browser/installer/Makefile.in 2012-07-17 17:32:41.250937293 +0000 +@@ -50,7 +50,7 @@ + MOZ_PKG_MANIFEST_P = $(srcdir)/package-manifest.in + # Some files have been already bundled with xulrunner + ifndef SYSTEM_LIBXUL +-MOZ_PKG_FATAL_WARNINGS = 1 ++MOZ_PKG_FATAL_WARNINGS = 0 + endif + + MOZ_NONLOCALIZED_PKG_LIST = \ diff --git a/extra/firefox/vendor.js b/extra/firefox/vendor.js new file mode 100644 index 000000000..d8d606bc1 --- /dev/null +++ b/extra/firefox/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);