pkgname=firefox-kde pkgver=53.0.2 pkgrel=1 pkgdesc="Standalone web browser from mozilla.org with OpenSUSE patch, integrate better with KDE" arch=('x86_64') license=('MPL' 'GPL' 'LGPL') url="https://www.mozilla.org/firefox/" depends=(gtk3 mozilla-common libxt startup-notification mime-types dbus-glib alsa-lib ffmpeg libvpx libevent nss hunspell "sqlite3>=3.17.0" # icu>=58.1 kio knotifications kwindowsystem ki18n) makedepends=(unzip zip diffutils python2 yasm mesa imake libpulse inetutils xorg-server-xvfb autoconf2.13 cargo gtk2 gobject-introspection cmake extra-cmake-modules) optdepends=('networkmanager: Location detection via available WiFi networks' 'libnotify: Notification integration' 'upower: Battery API' 'firefox-i18n: for multilanguage support') options=(!emptydirs) screenshot="http://img864.imageshack.us/img864/5116/firefoxm.png" provides=("firefox=${pkgver}" "kmozillahelper") conflicts=('kmozillahelper') replaces=('kmozillahelper') install=firefox.install # # For whom want to update this package # # Alternative firefox source url: # http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${pkgver}/source/firefox-${pkgver}.source.tar.bz2 # This URL uses CDN so it's faster, but maybe out of date when new firefox release comes out. # # Find Firefox KDE related patch: # patch http://www.rosenauer.org/hg/mozilla/ # patch https://build.opensuse.org/package/show?package=MozillaFirefox&project=mozilla%3AFactory # # Usually, we also port non-openSUSE specific patch together. # _patchrev=188c3f40f0da _kmozillahelper_commit=21af64b _patchurl=http://www.rosenauer.org/hg/mozilla/raw-file/$_patchrev source=("https://download-installer.cdn.mozilla.net/pub/firefox/releases/${pkgver}/source/firefox-${pkgver}.source.tar.xz" "git://github.com/openSUSE/kmozillahelper#commit=${_kmozillahelper_commit}" 'mozconfig' 'firefox.desktop' 'firefox-install-dir.patch' 'vendor.js' 'kde.js' 'pgo-fix-missing-kdejs.patch' 'fix-wifi-scanner.diff' 'mp4parse-cargo.patch::https://hg.mozilla.org/mozilla-central/raw-rev/acfa7cfcb32b' # Firefox patchset "$_patchurl/firefox-kde.patch" "$_patchurl/firefox-branded-icons.patch" "$_patchurl/firefox-no-default-ualocale.patch" # try to refer to chrome://global/locale/intl.properties(which is defined in language pack) for ua locale # Gecko/toolkit patchset "$_patchurl/mozilla-nongnome-proxies.patch" "$_patchurl/mozilla-kde.patch" 'ddg-branding.patch' "$_patchurl/mozilla-openaes-decl.patch" "$_patchurl/mozilla-shared-nss-db.patch" # Useless patchset #"$_patchurl/gecko-lockdown.patch" #"$_patchurl/mozilla-idldir.patch" #$_patchurl/firefox-ui-lockdown.patch #"$_patchurl/toolkit-ui-lockdown.patch" #"$_patchurl/mozilla-bmo1088588.patch" # Specify for ARM and PPC #"$_patchurl/toolkit-download-folder.patch" #"$_patchurl/mozilla-language.patch" # making use of LANGUAGE= env var which isn't part of our standard #"$_patchurl/mozilla-prefer_plugin_pref.patch" removed from opensuse. reason: dropped mozilla-prefer_plugin_pref.patch as this feature is likely not worth maintaining further ) sha1sums=('5f3e78c6f3a19d1e0004a8a35b0b2e5959c6905b' 'SKIP' 'c87a74fb86990ba0860a6f5bd68c80d2d13a7a21' '1a8ecc6d2cfd97791d8182882a74929f2a7289e9' '693b54b9206ad854e4d75cbbf393029b77e82153' '05b3a893e422ff579663c351f275f71010fa9dca' 'ce48f8e5065319e191a7389539ec663dc8a919d7' 'e480985ad1c4277e48a7d69c07258f0d7e97a977' '9ed341bb7b147da7ebba420110dcf5a5a8e8d887' 'b28a856289a98d01dc3fb395ac321218151f6fc8' 'da3112c3587ad48e63e22e4772d8077e7eec1a05' '7ea7b3b8d3bc0e91d73481ca24f8702bbe0fe8f7' 'dbfd269cbf88a4e1faea99bffc57ba26b8a0a7d9' '5a38d441d73647b12e1e13416de3fde822dfed18' '33624cd297b4abc98c4c8b930109f8ccd21403ab' '9cf8c5a03bcc97b66d97d62d72c325ddb14102cb' '5978fb0131d31b0e91459a90edc918f66eec3155' 'efd2e4fab5ea174f5f84db17265cd1d070e414c8') # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) # Note: These are for Chakra Linux use ONLY. For your own distribution, please # get your own set of keys. Feel free to contact totte@chakralinux.org for # more information. _google_api_key=AIzaSyDjyg8EmaRUIsewzdjZXFZ0O8N5ARDUDGU # Mozilla API keys (see https://location.services.mozilla.com/api) # Note: These are for Chakra Linux use ONLY. For your own distribution, please # get your own set of keys. Feel free to contact totte@chakralinux.org for # more information. _mozilla_api_key=bf05f841-e0bd-4644-81f5-3c132755f2e9 prepare() { cd ${srcdir}/firefox-${pkgver}/ cp ../mozconfig .mozconfig patch -Np1 -i ../firefox-install-dir.patch # https://bugzilla.mozilla.org/show_bug.cgi?id=1314968 patch -Np1 -i ../fix-wifi-scanner.diff # https://bugzilla.mozilla.org/show_bug.cgi?id=1338655 fixed in 54 patch -Np1 -i ../mp4parse-cargo.patch echo -n "$_google_api_key" > google-api-key echo "ac_add_options --with-google-api-keyfile=\"$PWD/google-api-key\"" >>.mozconfig echo -n "$_mozilla_api_key" > mozilla-api-key echo "ac_add_options --with-mozilla-api-keyfile=\"$PWD/mozilla-api-key\"" >>.mozconfig msg "Gecko/toolkit patchset" patch -Np1 -i "$srcdir/mozilla-nongnome-proxies.patch" patch -Np1 -i "$srcdir/mozilla-kde.patch" patch -Np1 -i "$srcdir/mozilla-shared-nss-db.patch" patch -Np1 -i "$srcdir/mozilla-openaes-decl.patch" msg "Firefox patchset" patch -Np1 -i "$srcdir/firefox-kde.patch" patch -Np1 -i "$srcdir/firefox-branded-icons.patch" patch -Np1 -i "$srcdir/ddg-branding.patch" patch -Np1 -i "$srcdir"/pgo-fix-missing-kdejs.patch patch -Np1 -i "$srcdir/firefox-no-default-ualocale.patch" mkdir -vp "$srcdir/path" # WebRTC build tries to execute "python" and expects Python 2 ln -sf /usr/bin/python2 "$srcdir/path/python" } build() { msg "build_kmozillahelper" build_kmozillahelper msg "build_firefox" build_firefox } build_kmozillahelper() { cd $srcdir/ mkdir -p kmozillahelper-build cd kmozillahelper-build cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release ../kmozillahelper make } build_firefox() { cd "$srcdir/firefox-${pkgver}" # _FORTIFY_SOURCE causes configure failures CPPFLAGS+=" -O2" # Hardening LDFLAGS+=" -Wl,-z,now" # GCC 6 # CXXFLAGS+=" -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2" export PATH="$srcdir/path:$PATH" export PYTHON="/usr/bin/python2" export SHELL=/bin/bash # Do PGO #xvfb-run -a -n 95 -s "-extension GLX -screen 0 1280x1024x24" \ # make -f client.mk build MOZ_PGO=1 make -f client.mk build } package() { msg "package() kmozillahelper" cd $srcdir/kmozillahelper-build make DESTDIR=$pkgdir install msg "package() Firefox" cd "$srcdir/firefox-${pkgver}" export SHELL=/bin/bash make -f client.mk DESTDIR="$pkgdir" MOZ_PKG_FATAL_WARNINGS=0 INSTALL_SDK= install install -Dm644 ../vendor.js "$pkgdir/usr/lib/firefox/browser/defaults/preferences/vendor.js" install -Dm644 ../kde.js "$pkgdir/usr/lib/firefox/browser/defaults/preferences/kde.js" _distini="$pkgdir/usr/lib/firefox/distribution/distribution.ini" install -Dm644 /dev/stdin "$_distini" <