diff --git a/firefox-i18n/PKGBUILD b/firefox-i18n/PKGBUILD new file mode 100644 index 0000000..cf2ceea --- /dev/null +++ b/firefox-i18n/PKGBUILD @@ -0,0 +1,210 @@ +pkgname=firefox-i18n +pkgver=20.0.1 +pkgrel=1 +pkgdesc="Language pack for Firefox" +arch=('any') +url="http://www.mozilla.com/" +license=('MPL' 'GPL') +pkgdesc="Language pack for Firefox" + +_languages=( + 'ach "Acoli"' + 'af "Afrikaans"' + 'ak "Akan"' + 'ar "Arabic"' + 'as "Assamese"' + 'ast "Asturian"' + 'be "Belarusian"' + 'bg "Bulgarian"' + 'bn-BD "Bengali (Bangladesh)"' + 'bn-IN "Bengali (India)"' + 'br "Breton"' + 'bs "Bosnian"' + 'ca "Catalan"' + 'cs "Czech"' + 'csb "Kashubian"' + 'cy "Welsh"' + 'da "Danish"' + 'de "German"' + 'el "Greek"' + 'en-GB "English (United Kingdom)"' + 'en-US "English (United States)"' + 'en-ZA "English (South Africa)"' + 'eo "Esperanto"' + 'es-AR "Spanish (Argentina)"' + 'es-CL "Spanish (Chile)"' + 'es-ES "Spanish (Spain)"' + 'es-MX "Spanish (Mexico)"' + 'et "Estonian"' + 'eu "Basque"' + 'fa "Persian"' + 'ff "Fula"' + 'fi "Finnish"' + 'fr "French"' + 'fy-NL "Frisian (Netherlands)"' + 'ga-IE "Irish"' + 'gd "Gaelic"' + 'gl "Galician"' + 'gu-IN "Gujarati (India)"' + 'he "Hebrew"' + 'hi-IN "Hindi (India)"' + 'hr "Croatian"' + 'hu "Hungarian"' + 'hy-AM "Armenian"' + 'id "Indonesian"' + 'is "Icelandic"' + 'it "Italian"' + 'ja "Japanese"' + 'kk "Kazakh"' + 'km "Khmer"' + 'kn "Kannada"' + 'ko "Korean"' + 'ku "Kurdish"' + 'lg "Ganda"' + 'lij "Ligurian"' + 'lt "Lithuanian"' + 'lv "Latvian"' + 'mai "Maithili"' + 'mk "Macedonian"' + 'ml "Malayalam"' + 'mr "Marathi"' + 'nb-NO "Norwegian (Bokmal)"' + 'nl "Dutch"' + 'nn-NO "Norwegian (Nynorsk)"' + 'nso "Northern Sotho (Sesotho sa lebowa)"' + 'or "Oriya"' + 'pa-IN "Punjabi"' + 'pl "Polish"' + 'pt-BR "Brazilian Portuguese"' + 'pt-PT "Portuguese"' + 'rm "Romansh"' + 'ro "Romanian"' + 'ru "Russian"' + 'si "Sinhalese"' + 'sk "Slovak"' + 'sl "Slovenian"' + 'son "Songhai"' + 'sq "Albanian"' + 'sr "Serbian"' + 'sv-SE "Swedish"' + 'ta-LK "Tamil (Sri Lanka)"' + 'ta "Tamil"' + 'te "Telugu"' + 'th "Thai"' + 'tr "Turkish"' + 'uk "Ukrainian"' + 'vi "Vietnamese"' + 'zh-CN "Chinese (simplified)"' + 'zh-TW "Chinese (traditional)"' + 'zu "Zulu"' +) + +source=() +_url=http://download.cdn.mozilla.net/pub/mozilla.org/firefox/releases/$pkgver/linux-i686/xpi + +for _lang in "${_languages[@]}"; do + _locale=${_lang%% *} + + source+=("firefox-i18n-$pkgver-$_locale.xpi::$_url/$_locale.xpi") +done + +# Don't extract anything +noextract=(${source[@]%%::*}) + +package() { + for _lang in "${_languages[@]}"; do + _locale=${_lang%% *} + install -Dm644 firefox-i18n-$pkgver-${_locale}.xpi \ + "$pkgdir/opt/firefox/extensions/langpack-${_locale}@firefox.mozilla.org.xpi" + done +} + +md5sums=('597e3ef4a20841b5bec461634bb46a6d' + '0b89340b7cab8803fe5f86c627d52770' + 'c2a3a0fe444fa389f61339ad5d189fdc' + 'f32fb82611adb9422cb88599f1c0eb56' + '9372776226c93de0115e3cef93477f7a' + '1148ca8998b7a13ec415328da3ec311b' + '0bf3d930144ce0649a7c42f29316092e' + '2e89e7fceca13697bb2f434913b2975a' + '7a35eb4ec90cc6dd0ea3fe83f92304dc' + '3a3d215e72bf6dea35f8da0a0dca6fc5' + '085cc2de9c4bbb541d29ddc5aeb4fbb5' + 'dbd5046c3d3dab6c4fefef999fe50781' + 'c38a2f030b88f65681610f3bf60b96c9' + '82d0b81be13d1e584a5d92709529440c' + '8e5f36b655ac2a1ef63d57bca9b492eb' + 'aece86a38b9f6d20352426f1ccdfa1fb' + '0a0f93a504fb87ff26afffa8c84aa12e' + 'd9e685e55d32caf84f419f72a1c468ec' + '50b88fdc3782f106ef86fe87ebdeac8c' + '553f17d16fa89063675ffcef806feb89' + '2b2eb97db05c4b7b6fc0d42c57f4e27a' + '9739ad4f2a26d964d20d95c0e6e89236' + '86a3fd95c1f3217300ee0e289a834030' + '3d175fbe1b1970e70b3f62af3b900525' + 'cb35fbc928fe465a3bc934b1f6bb745f' + '50437c49670acab136604b505b404b20' + 'cf7ddc9b121746963c937199a33d92d7' + '7faf0ba42b4233a103a37899afabe2ae' + 'aaaf844852925aa7071233c6f09ab91a' + '06c41a72518f06bf93eae67584a6485d' + '935f2c53f26e3a353db73cf29307f569' + 'aecf7230cb90ca550370c578238ce5a4' + 'f2de7bfe152ad2797fba831c197d388c' + 'a68ad8ca8569beb99f680239986db0cf' + '94e8e358b0f092618c3acf57b1d0906f' + '14f889b49e889293d51721337c33a4d2' + '44b618e828a07d7446b095934c56d5e9' + 'd53b4f6a29ded966b9d187ffd05e4b70' + 'de0ac2693ed958604ded2f23636effbf' + '1618522eb50f173acec7f092c7c96f39' + '26db544175c2bcbce4ce30d160cedc87' + 'b99c07102adab6c7e5fa5f1cb15c5f76' + '8e0396a4f6474a35c4918de2784c5221' + '4b74f98a3342db51c2ec77ed16b8556b' + 'a91b96f872177553e7690f244bff7462' + '11ed58204ca499e790d192d0bd25b2b3' + '97605ae1cfee9bbd73ef64502fcf74c0' + 'a5e0b54c1b62e8230e68f9e08885d60b' + '04fc0ec71cb3737ac22fbca8972836ba' + 'ce7057480c8e8c6cb4628881aa282935' + '1c67943a68874b8bbd1247c2b182c392' + '5ff652376c9f8b8cebf35289691d4ea4' + '969767e3b6f854678d7a14540b06dfd0' + 'f12c9f983d359de24e81dc6537272bee' + '4d1612c3479b8425fd0d59d7f6f8c62f' + '1438937613d33972e169c73e4c623dab' + 'f43bb1be2f6010ae2aca60d1f4afc41d' + '1834a840381523dfe342e16f8ff981cd' + '4cef624804aedc2a1e03b59fe4e240ae' + '8b8c116f33b2a2c2339b6d7086b613e4' + 'c5014cc33ffa8f6fb77deb99f44ee7c5' + 'd1063014c0c76e8c859f8344cba32c70' + '3cf5a45579f12400518dc71347e673c1' + 'd2915e7ac4fabada4c3724e784171320' + 'c959f7257ba9ffc8b5c7f6a356ae23cc' + '5c8f905eebdc01706474711024787e37' + '959e327c760433883fa99391983c1d92' + '289c26f04aac9162f97cfcf119e047a1' + 'baa58c0da97b9f00c40b7fac5649917e' + '1c73ed43e67724374a6d63ded286853b' + '2ff6dba5d558be87f55685ce5847f237' + 'bbde96f321c72b9e36ba4858152e0abc' + '41223f817c308106b4d6cd36472971bd' + '874fd27d3497ce8861f59898d4ca071e' + '591270d06d4465ca12e4f0af8e877e04' + '5ca701859cccf06e76a57a0f058844cd' + '5ac2747d887a0d45a30679664dd36af5' + '2599b9f22a873a69bf4fc1d8df35b1a8' + 'ac9b4e003bbcbff1fffade3dac13cda1' + '83c02b0e4a0632a585fc604a5034e2b7' + 'ecb95562b073024cb51d179e1b28417e' + 'cbce947435041ff404b7b127429a66ab' + '52a316fd6f158ff05350aba2f3c8ddda' + '579c897bd19c133d26c3a9bb99db25a7' + 'd9cfd223fd70df09c6f9d5e479ab76b6' + '9c4a74f244eeb96bafc2f10f9eb71e6d' + 'b3cd3bf0724be59bdc35e0e8fe87536c' + 'e837b3b7f94de1d980b786d115f99e5c' + 'a89fbe66af0b56518e94471b32517a5d') diff --git a/firefox-kde/PKGBUILD b/firefox-kde/PKGBUILD new file mode 100644 index 0000000..774647b --- /dev/null +++ b/firefox-kde/PKGBUILD @@ -0,0 +1,114 @@ +# Contributor: Weng Xuetian + +pkgname=firefox-kde +pkgver=20.0.1 +pkgrel=1 +pkgdesc="Standalone web browser from mozilla.org with OpenSUSE patch, integrate better with KDE" +url='http://www.mozilla.org/projects/firefox' +arch=('x86_64') +license=('MPL' 'GPL' 'LGPL') +depends=('gtk2' 'libnotify' 'alsa-lib' 'gstreamer0.10' 'gstreamer0.10-base' 'libxt' 'firefox-i18n' 'dbus-glib') +makedepends=('zip' 'pkg-config' 'diffutils' 'python2' 'wireless_tools' 'unzip' 'autoconf2.13' 'mesa' 'yasm') +screenshot="http://img864.imageshack.us/img864/5116/firefoxm.png" + +provides=("firefox=${pkgver}") +conflicts=('firefox') +install=firefox.install +url="http://www.mozilla.org/projects/firefox" +#source=(http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${pkgver}/source/firefox-${pkgver}.source.tar.bz2 +#patch http://www.rosenauer.org/hg/mozilla/ +#patch https://build.opensuse.org/package/show?package=MozillaFirefox&project=mozilla%3AFactory +source=(ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${pkgver}/source/firefox-${pkgver}.source.tar.bz2 + mozconfig + firefox.desktop + firefox-install-dir.patch + vendor.js + kde.js + firefox-kde.patch + mozilla-nongnome-proxies.patch + mozilla-kde.patch + mozilla-gstreamer-760140.patch + firefox-712763.patch + duckduckgo.xml +) +md5sums=('b822ff4b2348410587dec563235d9320' + '55864e6a1b7f165efe272472217934d3' + 'af37777ea15a693e837a5be36e0de3ca' + '150ac0fb3ac7b2114c8e8851a9e0516c' + 'b1b1ad060b411a4abee7dcc63927aa02' + '75df0f88cc7a7fa7d522459e4ff82cc5' + '194da028eba1fbc316cf37dd586c4112' + '79f113b56057e17ca2466cd0ac578bb3' + '8e833c5abff5ddd3d20bc81eb9bfc028' + '9f4e6467284a5c82fbba0c0afe862f31' + '7303a96e92e600a46dd6a2cf9af5ada5' + 'f6e2a6759b8711b445dbc9d35cbd275f') + + +build() { + cd "mozilla-release" + patch -Np1 -i "../firefox-install-dir.patch" + + # modify the patch to make it work in bundle + cp ../mozilla-kde.patch ../mozilla-kde-mod.patch + sed -i 's|\(\+\#define KMOZILLAHELPER "\)/usr/lib/mozilla/kmozillahelper\("\)|\1kmozillahelper\2|' ../mozilla-kde-mod.patch + sed -i 's|\(\+ \)execv\(( KMOZILLAHELPER, args )\)|\1execvp\2|' ../mozilla-kde-mod.patch + + # remove the new file, to make life easier with call makepkg multiple times + rm -f content/media/gstreamer/nsGStreamerFormatHelper.cpp \ + content/media/gstreamer/GStreamerFormatHelper.cpp \ + content/media/gstreamer/nsGStreamerFormatHelper.h \ + content/media/gstreamer/GStreamerFormatHelper.h + rm -f browser/components/shell/src/nsKDEShellService.cpp \ + browser/components/shell/src/nsKDEShellService.h \ + browser/components/shell/src/nsUnixShellService.cpp \ + browser/components/shell/src/nsUnixShellService.h \ + browser/base/content/browser-kde.xul + rm -f toolkit/xre/nsKDEUtils.cpp \ + toolkit/xre/nsKDEUtils.h \ + uriloader/exthandler/unix/nsCommonRegistry.cpp \ + uriloader/exthandler/unix/nsCommonRegistry.h \ + uriloader/exthandler/unix/nsKDERegistry.cpp \ + uriloader/exthandler/unix/nsKDERegistry.h \ + toolkit/content/widgets/dialog-kde.xml \ + toolkit/content/widgets/preferences-kde.xml + + msg "apply mozilla-gstreamer-760140.patch" + patch -Np1 -i "../mozilla-gstreamer-760140.patch" || return 1 + msg "apply firefox-712763.patch" + patch -Np1 -i "../firefox-712763.patch" || return 1 + msg "apply mozilla-nongnome-proxies.patch" + patch -Np1 -i "../mozilla-nongnome-proxies.patch" || return 1 + msg "apply mozilla-kde.patch" + patch -Np1 -i "../mozilla-kde-mod.patch" || return 1 + msg "apply firefox-kde.patch" + patch -Np1 -i "../firefox-kde.patch" || return 1 + + cp "../mozconfig" .mozconfig + + # Fix PRE_RELEASE_SUFFIX + sed -i '/^PRE_RELEASE_SUFFIX := ""/s/ ""//' \ + browser/base/Makefile.in + + export LDFLAGS="$LDFLAGS" + export PYTHON="/usr/bin/python2" + + make -j1 -f client.mk build MOZ_MAKE_FLAGS="${MAKEFLAGS}" + +} + +package() { + cd mozilla-release + make -j1 -f client.mk MOZ_PKG_FATAL_WARNINGS=0 package + mkdir -p $pkgdir/opt + tar -C $pkgdir/opt -xf obj-ff/dist/firefox-$pkgver.en-US.linux-${CARCH}.tar.bz2 + + install -Dm644 ../vendor.js "$pkgdir/opt/firefox/defaults/preferences/vendor.js" + install -Dm644 ../kde.js "$pkgdir/opt/firefox/defaults/preferences/kde.js" + install -Dm644 ../duckduckgo.xml "$pkgdir/opt/firefox/searchplugins/duckduckgo.xml" + + # Use system-provided dictionaries + rm -rf "$pkgdir"/opt/firefox/{dictionaries,hyphenation} + ln -s /usr/share/hunspell "$pkgdir/opt/firefox/dictionaries" + ln -s /usr/share/hyphen "$pkgdir/opt/firefox/hyphenation" +} diff --git a/firefox-kde/PKGINFO b/firefox-kde/PKGINFO new file mode 100644 index 0000000..33dc1a0 --- /dev/null +++ b/firefox-kde/PKGINFO @@ -0,0 +1,14 @@ +name=firefox +version=20.0.1 +description=The Mozilla Web-Browser +icon=firefox.png +desktop=firefox.desktop +screenshot=http://www.ghacks.net/wp-content/uploads/2008/11/firefox_default_header1-500x338.jpg +url=http://www.mozilla.com +type=Launcher +config=external +pkgz=flashplugin kmozillahelper firefox alsa-lib glib2 atk cairo dbus-core dbus-glib expat fontconfig freetype2 gcc-libs gdk-pixbuf2 gstreamer0.10 gstreamer0.10-base gtk2 libffi libice libpng libsm libx11 libxau libxcb libxcomposite libxcursor libxdamage libxdmcp libxext libxfixes libxi libxinerama libxml2 libxrandr libxrender libxt orc pango pixman startup-notification xcb-util zlib pcre yasm firefox-i18n +build=alsa-lib atk cairo dbus-core dbus-glib glib2 expat fontconfig freetype2 gcc-libs gdk-pixbuf2 gstreamer0.10 gstreamer0.10-base gtk2 libffi libice libpng libsm libx11 libxau libxcb libxcomposite libxcursor libxdamage libxdmcp libxext libxfixes libxi libxinerama libxml2 libxrandr libxrender libxt orc pango pixman startup-notification xcb-util zlib python2 wireless_tools autoconf2.13 mesa pcre yasm flashplugin kmozillahelper firefox-i18n @firefox +env==LD_LIBRARY_PATH=$ORIGIN/lib:$ORIGIN/usr/lib:$ORIGIN/usr/lib/gtk-2.0,,,MOZ_PLUGIN_PATH=$ORIGIN/usr/lib/mozilla/plugins,,,PATH=$ORIGIN/usr/lib/mozilla/:$PATH,,,_BUNDLE_FIREFOX_DESKTOP=firefox-20.0.1-1-x86_64.desktop +binary=/opt/firefox/firefox /opt/firefox/libxul.so +exec=/firefox_launcher.sh diff --git a/firefox-kde/duckduckgo.xml b/firefox-kde/duckduckgo.xml new file mode 100644 index 0000000..69705d8 --- /dev/null +++ b/firefox-kde/duckduckgo.xml @@ -0,0 +1,10 @@ + +DuckDuckGo +DuckDuckGo +UTF-8 +data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAANcNAADXDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyDsJmlk8pf6+v3s/v7+++zr/fcnIOyzJyDsgCcg7CYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnIOwBJyDscCcg7PZttJ7/7Pfs//////++xO7/S5GA/ycg7P8nIOz2JyDscCcg7AEAAAAAAAAAAAAAAAAnIOwBJyDstScg7P8nIOz/Y8p5/2fHZf9Yv0z/YcF2/1rBUv8nIOz/JyDs/ycg7P8nIOy1JyDsAQAAAAAAAAAAJyDscCcg7P8nIOz/JyDs/4jQoP/p9+n//////05X3v9LkYD/JyDs/ycg7P8nIOz/JyDs/ycg7HAAAAAAJyDsJicg7PYnIOz/JyDs/zUu7f/+/v////////////89N+7/JyDs/yUo7f8nIOz/JyDs/ycg7P8nIOz2JyDsJicg7IAnIOz/JyDs/ycg7P9hXPH////////////t/P//GIr2/wfD+/8Gyfz/DKv5/yM57/8nIOz/JyDs/ycg7H8nIOyzJyDs/ycg7P8nIOz/jov1////////////Otz9/w3G/P8cWfH/JSvt/ycg7P8nIOz/JyDs/ycg7P8nIOyzJyDs5icg7P8nIOz/JyDs/7u5+f///////////27l/v8E0v3/BNL9/wTQ/f8Oofn/IT7v/ycg7P8nIOz/JyDs5icg7OYnIOz/JyDs/ycg7P/p6P3/uWsC////////////5fr//6Po/f8Thfb/DKv5/w6f+f8nIOz/JyDs/ycg7OYnIOyzJyDs/ycg7P8nIOz/9/b+/////////////////7lrAv/V1Pv/JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOyzJyDsgCcg7P8nIOz/JyDs/8/N+///////////////////////iIX1/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDsfycg7CYnIOz2JyDs/ycg7P9FP+7/q6n4/+7u/f/n5v3/fXn0/yoj7P8nIOz/JyDs/ycg7P8nIOz/JyDs9icg7CYAAAAAJyDscCcg7P8nIOz/wsD6/+no/f/Y1/z/eHTz/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs/ycg7HAAAAAAAAAAACcg7AEnIOy1JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs/ycg7LUnIOwBAAAAAAAAAAAAAAAAJyDsAScg7HAnIOz2JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs9icg7HAnIOwBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyDsJicg7IAnIOyzJyDs5icg7OYnIOyzJyDsgCcg7CYAAAAAAAAAAAAAAAAAAAAA+B8AAPAPAADAAwAAwAMAAIABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAACAAQAAwAMAAMADAADwDwAA+B8AAA== + + + + + diff --git a/firefox-kde/firefox-712763.patch b/firefox-kde/firefox-712763.patch new file mode 100644 index 0000000..14f82f6 --- /dev/null +++ b/firefox-kde/firefox-712763.patch @@ -0,0 +1,95 @@ +# HG changeset patch +# User Tim Taubert +# Date 1358185823 -3600 +# Node ID f7a2af238d06c17d10c49c94ef860434d5b76758 +Bug 712763 - Backout changes from bug 669272 to keep original window order when restoring a session + +diff --git a/browser/components/sessionstore/src/SessionStore.jsm b/browser/components/sessionstore/src/SessionStore.jsm +--- a/browser/components/sessionstore/src/SessionStore.jsm ++++ b/browser/components/sessionstore/src/SessionStore.jsm +@@ -1757,23 +1757,16 @@ let SessionStoreInternal = { + + // We want to re-use the last opened window instead of opening a new one in + // the case where it's "empty" and not associated with a window in the session. + // We will do more processing via _prepWindowToRestoreInto if we need to use + // the lastWindow. + let lastWindow = this._getMostRecentBrowserWindow(); + let canUseLastWindow = lastWindow && + !lastWindow.__SS_lastSessionWindowID; +- let lastSessionFocusedWindow = null; +- this.windowToFocus = lastWindow; +- +- // move the last focused window to the start of the array so that we +- // minimize window movement (see bug 669272) +- lastSessionState.windows.unshift( +- lastSessionState.windows.splice(lastSessionState.selectedWindow - 1, 1)[0]); + + // Restore into windows or open new ones as needed. + for (let i = 0; i < lastSessionState.windows.length; i++) { + let winState = lastSessionState.windows[i]; + let lastSessionWindowID = winState.__lastSessionWindowID; + // delete lastSessionWindowID so we don't add that to the window again + delete winState.__lastSessionWindowID; + +@@ -1801,28 +1794,19 @@ let SessionStoreInternal = { + // Restore into that window - pretend it's a followup since we'll already + // have a focused window. + //XXXzpao This is going to merge extData together (taking what was in + // winState over what is in the window already. The hack we have + // in _preWindowToRestoreInto will prevent most (all?) Panorama + // weirdness but we will still merge other extData. + // Bug 588217 should make this go away by merging the group data. + this.restoreWindow(windowToUse, { windows: [winState] }, canOverwriteTabs, true); +- if (i == 0) +- lastSessionFocusedWindow = windowToUse; +- +- // if we overwrote the tabs for our last focused window, we should +- // give focus to the window that had it in the previous session +- if (canOverwriteTabs && windowToUse == lastWindow) +- this.windowToFocus = lastSessionFocusedWindow; + } + else { +- let win = this._openWindowWithState({ windows: [winState] }); +- if (i == 0) +- lastSessionFocusedWindow = win; ++ this._openWindowWithState({ windows: [winState] }); + } + } + + // Merge closed windows from this session with ones from last session + if (lastSessionState._closedWindows) { + this._closedWindows = this._closedWindows.concat(lastSessionState._closedWindows); + this._capClosedWindows(); + } +@@ -2735,27 +2719,27 @@ let SessionStoreInternal = { + this._setWindowStateBusy(aWindow); + + if (root._closedWindows) + this._closedWindows = root._closedWindows; + + var winData; + if (!root.selectedWindow || root.selectedWindow > root.windows.length) { + root.selectedWindow = 0; +- } else { +- // put the selected window at the beginning of the array to ensure that +- // it gets restored first +- root.windows.unshift(root.windows.splice(root.selectedWindow - 1, 1)[0]); + } ++ + // open new windows for all further window entries of a multi-window session + // (unless they don't contain any tab data) + for (var w = 1; w < root.windows.length; w++) { + winData = root.windows[w]; + if (winData && winData.tabs && winData.tabs[0]) { + var window = this._openWindowWithState({ windows: [winData] }); ++ if (w == root.selectedWindow - 1) { ++ this.windowToFocus = window; ++ } + } + } + winData = root.windows[0]; + if (!winData.tabs) { + winData.tabs = []; + } + // don't restore a single blank tab when we've had an external + // URL passed in for loading at startup (cf. bug 357419) diff --git a/firefox-kde/firefox-install-dir.patch b/firefox-kde/firefox-install-dir.patch new file mode 100644 index 0000000..9c115f0 --- /dev/null +++ b/firefox-kde/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/firefox-kde/firefox-kde.patch b/firefox-kde/firefox-kde.patch new file mode 100644 index 0000000..e83a5ce --- /dev/null +++ b/firefox-kde/firefox-kde.patch @@ -0,0 +1,1818 @@ +diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser-kde.xul +new file mode 100644 +--- /dev/null ++++ b/browser/base/content/browser-kde.xul +@@ -0,0 +1,1221 @@ ++#filter substitution ++ ++# -*- Mode: HTML -*- ++# ++# This Source Code Form is subject to the terms of the Mozilla Public ++# License, v. 2.0. If a copy of the MPL was not distributed with this ++# file, You can obtain one at http://mozilla.org/MPL/2.0/. ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++# All DTD information is stored in a separate file so that it can be shared by ++# hiddenWindow.xul. ++#include browser-doctype.inc ++ ++ ++ ++# All JS files which are not content (only) dependent that browser.xul ++# wishes to include *must* go into the global-scripts.inc file ++# so that they can be shared by macBrowserOverlay.xul. ++#include global-scripts.inc ++