2013-04-28 07:01:01 +08:00
|
|
|
# Contributor: Weng Xuetian <wengxt@gmail.com>
|
|
|
|
|
|
|
|
pkgname=firefox-kde
|
2015-04-21 12:57:23 +08:00
|
|
|
pkgver=37.0.2
|
2015-03-21 16:54:06 +08:00
|
|
|
pkgrel=1
|
2013-04-28 07:01:01 +08:00
|
|
|
pkgdesc="Standalone web browser from mozilla.org with OpenSUSE patch, integrate better with KDE"
|
2015-03-21 16:54:06 +08:00
|
|
|
#_kmozillahelper_obsver=b88c72dfdc858f6209feb123227bd7df
|
2013-08-24 22:38:13 +08:00
|
|
|
_kmozillahelper_pkgname=kmozillahelper
|
|
|
|
_kmozillahelper_pkgver=0.6.4
|
2013-04-28 07:01:01 +08:00
|
|
|
arch=('x86_64')
|
2014-07-31 06:32:42 +08:00
|
|
|
license=('MPL' 'GPL' 'LGPL')
|
|
|
|
url="https://www.mozilla.org/firefox/"
|
|
|
|
depends=('gtk2' 'mozilla-common' 'libxt' 'startup-notification' 'mime-types'
|
|
|
|
'dbus-glib' 'alsa-lib' 'desktop-file-utils' 'hicolor-icon-theme'
|
|
|
|
'libvpx' 'icu' 'libevent' 'nss' 'hunspell' 'sqlite3'
|
|
|
|
'kdelibs')
|
|
|
|
makedepends=('unzip' 'zip' 'diffutils' 'python2' 'yasm' 'mesa' 'imake'
|
|
|
|
'xorg-server-xvfb' 'libpulse' 'gst-plugins-base'
|
2015-04-01 16:56:53 +08:00
|
|
|
'inetutils' 'libpng>=1.6.16'
|
2014-07-31 06:32:42 +08:00
|
|
|
'cmake' 'automoc4')
|
2013-08-24 22:38:13 +08:00
|
|
|
optdepends=('networkmanager: Location detection via available WiFi networks'
|
2014-07-31 06:32:42 +08:00
|
|
|
'gst-plugins-good: h.264 video'
|
|
|
|
'gst-libav: h.264 video'
|
|
|
|
'firefox-i18n: for multilanguage support'
|
|
|
|
'kdelibs: for KDE integration')
|
2013-04-28 07:01:01 +08:00
|
|
|
screenshot="http://img864.imageshack.us/img864/5116/firefoxm.png"
|
2013-08-24 22:38:13 +08:00
|
|
|
provides=("firefox=${pkgver}" "kmozillahelper=${_kmozillahelper_pkgver}")
|
2013-05-07 04:46:15 +08:00
|
|
|
conflicts=('firefox' 'kmozillahelper')
|
|
|
|
replaces=('kmozillahelper')
|
2013-04-28 07:01:01 +08:00
|
|
|
install=firefox.install
|
2013-05-07 05:00:15 +08:00
|
|
|
#
|
|
|
|
# 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.
|
|
|
|
#
|
2015-04-21 12:57:23 +08:00
|
|
|
_patchrev=d995ef5231ed
|
2014-02-15 01:38:57 +08:00
|
|
|
_patchurl=http://www.rosenauer.org/hg/mozilla/raw-file/$_patchrev
|
2014-09-21 04:27:58 +08:00
|
|
|
source=("ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${pkgver}/source/firefox-${pkgver}.source.tar.bz2"
|
|
|
|
'mozconfig'
|
|
|
|
'firefox.desktop'
|
|
|
|
'vendor.js'
|
|
|
|
'kde.js'
|
2015-03-17 10:18:43 +08:00
|
|
|
'firefox-20.0.1-fixed-loading-icon.png'
|
2015-03-21 16:54:06 +08:00
|
|
|
"https://build.opensuse.org/source/openSUSE:Factory/mozilla-kde4-integration/${_kmozillahelper_pkgname}-${_kmozillahelper_pkgver}.tar.bz2"
|
2014-09-21 04:27:58 +08:00
|
|
|
'firefox-install-dir.patch'
|
|
|
|
'rhbz-966424.patch'
|
2015-03-21 16:54:06 +08:00
|
|
|
|
2014-09-21 04:27:58 +08:00
|
|
|
# Firefox patchset
|
|
|
|
"$_patchurl/firefox-kde.patch"
|
|
|
|
"$_patchurl/firefox-no-default-ualocale.patch"
|
|
|
|
"$_patchurl/firefox-branded-icons.patch"
|
2015-03-21 16:54:06 +08:00
|
|
|
|
2014-09-21 04:27:58 +08:00
|
|
|
# Gecko/toolkit patchset
|
|
|
|
"$_patchurl/mozilla-nongnome-proxies.patch"
|
|
|
|
"$_patchurl/mozilla-prefer_plugin_pref.patch"
|
|
|
|
"$_patchurl/mozilla-kde.patch"
|
2015-03-06 22:32:56 +08:00
|
|
|
"$_patchurl/mozilla-preferences.patch"
|
|
|
|
"$_patchurl/mozilla-pkgconfig.patch"
|
2014-09-21 04:27:58 +08:00
|
|
|
"$_patchurl/mozilla-language.patch"
|
|
|
|
'install-kde-js.patch'
|
2014-12-13 00:31:53 +08:00
|
|
|
'ddg-branding.patch'
|
2015-03-06 22:32:56 +08:00
|
|
|
|
|
|
|
# Useless patchset
|
|
|
|
#"$_patchurl/gecko-lockdown.patch"
|
|
|
|
#"$_patchurl/mozilla-idldir.patch"
|
|
|
|
#$_patchurl/firefox-ui-lockdown.patch
|
|
|
|
#"$_patchurl/toolkit-ui-lockdown.patch"
|
|
|
|
#"$_patchurl/mozilla-shared-nss-db.patch"
|
2015-04-01 16:13:57 +08:00
|
|
|
#"$_patchurl/mozilla-bmo1088588.patch" # Specify for ARM and PPC
|
|
|
|
#"$_patchurl/toolkit-download-folder.patch"
|
2013-04-28 07:01:01 +08:00
|
|
|
)
|
2015-04-21 12:57:23 +08:00
|
|
|
sha256sums=('17d0258c1b4930d618e17ef64bdc4a919d215bd7460696b9855a152324e37a96'
|
2014-09-21 04:27:58 +08:00
|
|
|
'a46781b46723376c7dde4648ac7d2a7ab64dedb5eee60d8c0d19af22d3b93efc'
|
|
|
|
'3e9fa54f334681d9e04907c1a5ae86a753c7b9902075519e31a011103c928ee8'
|
|
|
|
'1c77d74a93e66f49dae37f5217990d93930d515ea058c1e47ba671bba3564231'
|
|
|
|
'0850a8a8dea9003c67a8ee1fa5eb19a6599eaad9f2ad09db753b74dc5048fdbc'
|
2015-03-17 10:18:43 +08:00
|
|
|
'68e3a5b47c6d175cc95b98b069a15205f027cab83af9e075818d38610feb6213'
|
2014-09-21 04:27:58 +08:00
|
|
|
'121ed258879a8bb1617879866a86884618b8a6336a12ef9a837a440a4fc63ee5'
|
|
|
|
'ea7d67101abdd0a7fbbee5195d65d96d32c5c3975c5f5cf0d9a2c0b8df2cf891'
|
|
|
|
'746cb474c5a2c26fc474256e430e035e604b71b27df1003d4af85018fa263f4a'
|
2015-04-01 16:13:57 +08:00
|
|
|
'4e892be11314e7ab7c72631be1314711d6b5ecb214f5e1aaa5c405c683092a1f'
|
2015-01-28 07:26:17 +08:00
|
|
|
'a5f3a801478e73524a2ac12d376108cb330d5d74652f3466a679d54d3878902e'
|
2015-02-26 01:24:54 +08:00
|
|
|
'1f0afb90e47395c5221a89e72950f5eea4bb7b880757158e04bbb634d78f0b3b'
|
2014-09-21 04:27:58 +08:00
|
|
|
'e8289ea4c1f8191e1e23661312ceee2128b8e790501b9a589d0d7bfc4384553f'
|
|
|
|
'5f6b0970284d68d5ed18e6bb7ee1e9fc0025ab3c10aaa14c283adb21a4a20ee8'
|
2015-04-01 16:13:57 +08:00
|
|
|
'477dc99ffb6b312a45b5ab1f2938e9410c3d05f3dc6328439647b366adf32e42'
|
2015-03-06 22:32:56 +08:00
|
|
|
'59419093f4dec4c9d5bb3a882b719af23646bddff6d8d717a34ce4b312a5fd71'
|
|
|
|
'de5e6993334b186d54750f5fe99352e3a5fa7cc3f4134d7781c2956ee348afc0'
|
2014-12-02 11:18:37 +08:00
|
|
|
'b9feb66a33dc1644d7d277dc3fc166c655735de7100bc4e93f1fe44567f35345'
|
2014-12-13 00:31:53 +08:00
|
|
|
'd79923725b2454cbf8da63a3f2eb7e48ace0d100f39ec821d59b8eacbbf8155c'
|
|
|
|
'82c5f83f7e99fd3be6ec9750a3bef8b7826f08b523dab138f8742ea8b60e2749')
|
2014-02-15 01:38:57 +08:00
|
|
|
# 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.
|
|
|
|
_google_api_key=AIzaSyA33sdKPff0x3KBByOhpzc1i7RS2A1mEpY
|
|
|
|
|
|
|
|
prepare() {
|
2014-07-31 06:32:42 +08:00
|
|
|
cd mozilla-release
|
|
|
|
|
|
|
|
cp ../mozconfig .mozconfig
|
|
|
|
patch -Np1 -i ../firefox-install-dir.patch
|
2014-09-14 08:08:19 +08:00
|
|
|
|
|
|
|
# https://bugs.archlinux.org/task/41689
|
2014-09-09 00:08:21 +08:00
|
|
|
patch -Np1 -i ../rhbz-966424.patch
|
2013-04-28 07:01:01 +08:00
|
|
|
|
2014-02-15 01:38:57 +08:00
|
|
|
echo -n "$_google_api_key" > google-api-key
|
2014-07-31 06:32:42 +08:00
|
|
|
echo "ac_add_options --with-google-api-keyfile=\"$PWD/google-api-key\"" >>.mozconfig
|
2013-05-07 05:23:14 +08:00
|
|
|
|
2013-08-24 22:38:13 +08:00
|
|
|
# make makepkg -R easier
|
2014-02-15 01:38:57 +08:00
|
|
|
msg "Patching for KDE"
|
|
|
|
rm -f content/media/gstreamer/nsGStreamerFormatHelper.{h,cpp}
|
2014-12-02 11:18:37 +08:00
|
|
|
rm -f browser/components/shell/{nsKDEShellService,nsUnixShellService}.{h,cpp}
|
2014-02-15 01:38:57 +08:00
|
|
|
rm -f browser/base/content/browser-kde.xul
|
|
|
|
rm -f toolkit/xre/nsKDEUtils.{h,cpp}
|
|
|
|
rm -f uriloader/exthandler/unix/{nsCommonRegistry,nsKDERegistry}.{h,cpp}
|
|
|
|
rm -f toolkit/content/widgets/{dialog,preferences}-kde.xml
|
|
|
|
|
|
|
|
msg "Gecko/toolkit patchset"
|
|
|
|
patch -Np1 -i "$srcdir/mozilla-nongnome-proxies.patch"
|
|
|
|
patch -Np1 -i "$srcdir/mozilla-prefer_plugin_pref.patch"
|
|
|
|
patch -Np1 -i "$srcdir/mozilla-kde.patch"
|
|
|
|
patch -Np1 -i "$srcdir/mozilla-language.patch"
|
|
|
|
|
|
|
|
msg "Firefox patchset"
|
|
|
|
patch -Np1 -i "$srcdir/firefox-kde.patch"
|
|
|
|
patch -Np1 -i "$srcdir/firefox-no-default-ualocale.patch"
|
|
|
|
patch -Np1 -i "$srcdir/firefox-branded-icons.patch"
|
2014-06-11 06:05:32 +08:00
|
|
|
patch -Np0 -i "$srcdir/install-kde-js.patch"
|
2014-12-13 00:31:53 +08:00
|
|
|
patch -Np1 -i "$srcdir/ddg-branding.patch"
|
2014-06-11 06:05:32 +08:00
|
|
|
cp "$srcdir/kde.js" browser/app/profile/
|
2014-02-15 01:38:57 +08:00
|
|
|
|
2015-03-06 22:32:56 +08:00
|
|
|
mkdir -vp "$srcdir/path"
|
2013-04-28 07:01:01 +08:00
|
|
|
|
2013-08-24 22:38:13 +08:00
|
|
|
# WebRTC build tries to execute "python" and expects Python 2
|
|
|
|
ln -sf /usr/bin/python2 "$srcdir/path/python"
|
2013-04-28 07:01:01 +08:00
|
|
|
|
2014-09-14 08:08:19 +08:00
|
|
|
# Use gold, as Mozilla can use some of its features, such as safe ICF
|
|
|
|
#ln -s /usr/bin/ld.gold "$srcdir/path/ld"
|
|
|
|
|
|
|
|
# configure script misdetects the preprocessor without an optimization level
|
|
|
|
# https://bugs.archlinux.org/task/34644
|
|
|
|
sed -i '/ac_cpp=/s/$CPPFLAGS/& -O2/' configure
|
|
|
|
|
2013-08-24 22:38:13 +08:00
|
|
|
# Fix tab loading icon (flickers with libpng 1.6)
|
|
|
|
# https://bugzilla.mozilla.org/show_bug.cgi?id=841734
|
2014-09-14 08:08:19 +08:00
|
|
|
# TODO: Remove this; Firefox 34 might use CSS animations for the loading icon
|
2014-07-31 06:32:42 +08:00
|
|
|
# https://bugzilla.mozilla.org/show_bug.cgi?id=759252
|
2015-03-17 10:18:43 +08:00
|
|
|
cp "$srcdir/firefox-20.0.1-fixed-loading-icon.png" \
|
|
|
|
browser/themes/linux/tabbrowser/loading.png
|
2013-08-24 22:38:13 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
build() {
|
2014-02-15 01:38:57 +08:00
|
|
|
msg "build_kmozillahelper"
|
|
|
|
build_kmozillahelper
|
|
|
|
msg "build_firefox"
|
|
|
|
build_firefox
|
2013-08-24 22:38:13 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
build_kmozillahelper() {
|
2014-02-15 01:38:57 +08:00
|
|
|
cd $srcdir/
|
|
|
|
mkdir -p kmozillahelper-build
|
|
|
|
cd kmozillahelper-build
|
2013-08-24 22:38:13 +08:00
|
|
|
|
2014-02-15 01:38:57 +08:00
|
|
|
cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` -DCMAKE_BUILD_TYPE=Release ../kmozillahelper
|
|
|
|
make
|
2013-08-24 22:38:13 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
build_firefox() {
|
2014-02-15 01:38:57 +08:00
|
|
|
cd "$srcdir/mozilla-release"
|
2013-08-24 22:38:13 +08:00
|
|
|
|
2013-04-28 22:10:14 +08:00
|
|
|
export PATH="$srcdir/path:$PATH"
|
2014-02-15 01:38:57 +08:00
|
|
|
export LDFLAGS="$LDFLAGS -Wl,-rpath,/usr/lib/firefox"
|
2013-04-28 07:01:01 +08:00
|
|
|
export PYTHON="/usr/bin/python2"
|
|
|
|
|
2014-09-14 08:08:19 +08:00
|
|
|
# Do PGO
|
|
|
|
xvfb-run -a -s "-extension GLX -screen 0 1280x1024x24" \
|
|
|
|
make -f client.mk build MOZ_PGO=1
|
2013-04-28 07:01:01 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
package() {
|
2014-02-15 01:38:57 +08:00
|
|
|
msg "package() kmozillahelper"
|
2013-05-07 04:46:15 +08:00
|
|
|
cd $srcdir/kmozillahelper-build
|
|
|
|
make DESTDIR=$pkgdir install
|
2013-04-28 22:10:14 +08:00
|
|
|
|
2014-02-15 01:38:57 +08:00
|
|
|
msg "package() Firefox"
|
|
|
|
cd "$srcdir/mozilla-release"
|
2014-06-13 08:28:45 +08:00
|
|
|
|
|
|
|
make -f client.mk DESTDIR="$pkgdir" MOZ_PKG_FATAL_WARNINGS=0 install
|
2013-04-28 22:10:14 +08:00
|
|
|
|
2014-06-11 07:06:10 +08:00
|
|
|
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"
|
2013-04-28 22:10:14 +08:00
|
|
|
|
|
|
|
for i in 16 22 24 32 48 256; do
|
|
|
|
install -Dm644 browser/branding/official/default$i.png \
|
2014-02-15 01:38:57 +08:00
|
|
|
"$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/firefox.png"
|
2013-04-28 22:10:14 +08:00
|
|
|
done
|
2014-07-31 06:32:42 +08:00
|
|
|
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/192x192/apps/firefox.png"
|
|
|
|
install -Dm644 browser/branding/official/content/about-logo@2x.png \
|
|
|
|
"$pkgdir/usr/share/icons/hicolor/384x384/apps/firefox.png"
|
2013-04-28 07:01:01 +08:00
|
|
|
|
2013-04-28 22:10:14 +08:00
|
|
|
install -Dm644 ../firefox.desktop \
|
2014-02-15 01:38:57 +08:00
|
|
|
"$pkgdir/usr/share/applications/firefox.desktop"
|
2014-07-31 06:32:42 +08:00
|
|
|
|
2013-04-28 07:01:01 +08:00
|
|
|
# Use system-provided dictionaries
|
2014-02-15 01:38:57 +08:00
|
|
|
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"
|
2014-07-31 06:32:42 +08:00
|
|
|
|
2014-02-15 01:38:57 +08:00
|
|
|
# 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"
|
2013-04-28 07:01:01 +08:00
|
|
|
}
|
2015-01-28 07:26:17 +08:00
|
|
|
|