commit:     b581323f51ecfad67cd7288f45944a5c28bf6101
Author:     Andrew Savchenko <bircoph <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 27 05:55:55 2015 +0000
Commit:     Andrew Savchenko <bircoph <AT> gmail <DOT> com>
CommitDate: Fri Feb 27 05:55:55 2015 +0000
URL:        
http://sources.gentoo.org/gitweb/?p=dev/bircoph.git;a=commit;h=b581323f

torbrowser: version bump, github issue #11

---
 profiles/categories                                |   1 +
 www-client/torbrowser/ChangeLog                    | 264 +++++++++++++
 www-client/torbrowser/Manifest                     |  10 +
 www-client/torbrowser/files/README.tor-launcher    |  37 ++
 ...-bccc144c21f6069a294038a6559ba46ceb8da2a2.patch | 430 +++++++++++++++++++++
 .../files/torbrowser-24.3.0-allow-lightspark.patch |  14 +
 www-client/torbrowser/metadata.xml                 |  22 ++
 www-client/torbrowser/torbrowser-31.5.0.ebuild     | 308 +++++++++++++++
 8 files changed, 1086 insertions(+)

diff --git a/profiles/categories b/profiles/categories
index 2c93c54..7a7d434 100644
--- a/profiles/categories
+++ b/profiles/categories
@@ -27,4 +27,5 @@ sys-cluster
 sys-devel
 sys-kernel
 sys-libs
+www-client
 x11-misc

diff --git a/www-client/torbrowser/ChangeLog b/www-client/torbrowser/ChangeLog
new file mode 100644
index 0000000..e3691da
--- /dev/null
+++ b/www-client/torbrowser/ChangeLog
@@ -0,0 +1,264 @@
+# ChangeLog for www-client/torbrowser
+# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+*torbrowser-31.4.0 (14 Jan 2015)
+
+  14 Jan 2015; Poncho <pon...@spahan.ch> +torbrowser-31.4.0.ebuild,
+  -torbrowser-31.3.0.ebuild:
+  www-client/torbrowser: Tor Browser 4.0.3 is released
+
+*torbrowser-31.3.0 (04 Dec 2014)
+
+  04 Dec 2014; Poncho <pon...@spahan.ch> +torbrowser-31.3.0.ebuild,
+  -torbrowser-31.2.0.ebuild:
+  www-client/torbrowser: Tor Browser 4.0.2 is released  see
+  https://blog.torproject.org/blog/tor-browser-402-released
+
+  04 Dec 2014; Poncho <pon...@spahan.ch>
+  -files/tor-browser.git-6662aae388094c7cca535e34f24ef01af7d51481.patch,
+  -torbrowser-24.8.1.ebuild:
+  www-client/torbrowser: remove old version
+
+  01 Nov 2014; Poncho <pon...@spahan.ch> torbrowser-31.2.0.ebuild:
+  www-client/torbrowser: switch to using new tor project dist url
+
+*torbrowser-31.2.0 (18 Oct 2014)
+
+  18 Oct 2014; Poncho <pon...@spahan.ch> +files/README.tor-launcher,
+  +files/tor-browser.git-bccc144c21f6069a294038a6559ba46ceb8da2a2.patch,
+  +torbrowser-31.2.0.ebuild, metadata.xml:
+  www-client/torbrowser: Tor Browser 4.0 is released
+  https://blog.torproject.org/blog/tor-browser-40-released
+
+*torbrowser-24.8.1 (26 Sep 2014)
+
+  26 Sep 2014; Poncho <pon...@spahan.ch> +torbrowser-24.8.1.ebuild,
+  -torbrowser-24.8.0.ebuild:
+  www-client/torbrowser: version bump  see 
https://blog.torproject.org/blog/tor-
+  browser-366-released
+
+*torbrowser-24.8.0 (04 Sep 2014)
+
+  04 Sep 2014; Poncho <pon...@spahan.ch> +torbrowser-24.8.0.ebuild,
+  -torbrowser-24.7.0-r1.ebuild:
+  www-client/torbrowser: version bump
+
+*torbrowser-24.7.0-r1 (13 Aug 2014)
+
+  13 Aug 2014; Poncho <pon...@spahan.ch> +torbrowser-24.7.0-r1.ebuild,
+  -torbrowser-24.7.0.ebuild:
+  www-client/torbrowser: 3.6.4 is released
+
+  27 Jul 2014; Poncho <pon...@spahan.ch> torbrowser-24.7.0.ebuild:
+  www-client/torbrowser: update comments and links
+
+*torbrowser-24.7.0 (27 Jul 2014)
+
+  27 Jul 2014; Poncho <pon...@spahan.ch> +torbrowser-24.7.0.ebuild,
+  -torbrowser-24.6.0.ebuild:
+  www-client/torbrowser: 3.6.3 is released  fix https://github.com/MeisterP
+  /torbrowser-overlay/pull/8 by hasufell
+
+  12 Jul 2014; Poncho <pon...@spahan.ch> torbrowser-24.6.0.ebuild:
+  www-client/torbrowser: don't compress the tor-launcher extension
+
+*torbrowser-24.6.0 (12 Jun 2014)
+
+  12 Jun 2014; Poncho <pon...@spahan.ch> +torbrowser-24.6.0.ebuild,
+  -torbrowser-24.5.0-r1.ebuild:
+  www-client/torbrowser: version bump
+
+*torbrowser-24.5.0-r1 (10 May 2014)
+
+  10 May 2014; Poncho <pon...@spahan.ch> +torbrowser-24.5.0-r1.ebuild,
+  -torbrowser-24.5.0.ebuild:
+  www-client/torbrowser: version bump
+
+*torbrowser-24.5.0 (30 Apr 2014)
+
+  30 Apr 2014; Poncho <pon...@spahan.ch> +torbrowser-24.5.0.ebuild,
+  -torbrowser-24.4.0-r1.ebuild:
+  www-client/torbrowser: version bump  see 
https://blog.torproject.org/blog/tor-
+  browser-36-released
+
+  09 Apr 2014; Poncho <pon...@spahan.ch> -torbrowser-24.3.0-r1.ebuild,
+  -torbrowser-24.3.0-r2.ebuild, -torbrowser-24.4.0.ebuild:
+  www-client/torbrowser: remove old, sources are no longer available at
+  https://www.torproject.org/dist/torbrowser/
+
+*torbrowser-24.4.0-r1 (09 Apr 2014)
+
+  09 Apr 2014; Poncho <pon...@spahan.ch> +torbrowser-24.4.0-r1.ebuild:
+  www-client/torbrowser: bump for 3.5.4 release see
+  https://blog.torproject.org/blog/tor-browser-354-released
+
+  30 Mar 2014; Julian Ospald <hasuf...@gentoo.org> torbrowser-24.3.0-r1.ebuild,
+  torbrowser-24.3.0-r2.ebuild, torbrowser-24.4.0.ebuild:
+  fix Tor spelling
+
+  22 Mar 2014; Poncho <pon...@spahan.ch> torbrowser-24.4.0.ebuild:
+  www-client/torbrowser: sync with firefox
+
+  22 Mar 2014; Poncho <pon...@spahan.ch> torbrowser-24.3.0-r2.ebuild,
+  torbrowser-24.4.0.ebuild:
+  www-client/torbrowser: add comments
+
+*torbrowser-24.4.0 (20 Mar 2014)
+
+  20 Mar 2014; Julian Ospald <hasuf...@gentoo.org> +torbrowser-24.4.0.ebuild:
+  version bump
+
+*torbrowser-24.3.0-r2 (16 Feb 2014)
+
+  16 Feb 2014; Julian Ospald <hasuf...@gentoo.org>
+  +torbrowser-24.3.0-r2.ebuild,
+  +files/torbrowser-24.3.0-allow-lightspark.patch:
+  fix license, add lightspark support, bump gentoo patchset
+
+*torbrowser-10.0.11 (08 Dez 2012)
+
+  11 Dez 2012; Poncho <pon...@spahan.ch> torbrowser-10.0.11.ebuild:
+  use stable firefox, move to torbrowser-overlay
+  https://github.com/MeisterP/torbrowser-overlay/commits/master
+
+  28 Aug 2012; Julian Ospald <hasuf...@gentoo.org> metadata.xml:
+  add mozilla herd
+
+  14 Jul 2012; Julian Ospald <hasuf...@gentoo.org> torbrowser-13.0-r1.ebuild:
+  rename icon to avoid possible issues with mirrors
+
+*torbrowser-13.0-r1 (14 Jul 2012)
+
+  14 Jul 2012; Julian Ospald <hasuf...@gentoo.org> -torbrowser-13.0.ebuild,
+  +torbrowser-13.0-r1.ebuild:
+  split profile stuff into www-misc/torbrowser-profile
+
+*torbrowser-13.0 (30 Jun 2012)
+
+  30 Jun 2012; Julian Ospald <hasuf...@gentoo.org>
+  +files/torbrowser-patches/0007-Disable-SSL-Session-ID-tracking.patch,
+  +files/torbrowser-patches/0008-Provide-an-observer-event-to-close-persistent-
+  connec.patch,
+  +files/torbrowser-patches/0009-Limit-device-and-system-specific-CSS-Media-Que
+  ries.patch,
+  +files/torbrowser-patches/0010-Rebrand-Firefox-to-TorBrowser.patch,
+  +files/torbrowser-patches/0011-Make-Download-manager-memory-only.patch,
+  +files/torbrowser-patches/0012-Add-DDG-and-StartPage-to-Omnibox.patch,
+  +files/torbrowser-patches/0013-Make-nsICacheService.EvictEntries-synchronous.
+  patch, +files/torbrowser-patches/0014-Prevent-WebSocket-DNS-leak.patch,
+  +files/torbrowser-patches/0015-Make-Tor-Browser-exit-when-not-launched-from-V
+  idalia.patch,
+  +files/torbrowser-patches/0016-Limit-the-number-of-fonts-per-document.patch,
+  +files/torbrowser-patches/0018-Adapt-Steven-Michaud-s-Mac-crashfix-patch.patc
+  h,
+  +files/torbrowser-patches/0020-Fix-internal-compile-error-for-sub-ancient-GCC
+  s.patch,
+  -files/torbrowser-patches/0007-Make-Tor-Browser-exit-when-not-launched-from-V
+  idalia.patch,
+  -files/torbrowser-patches/0008-Disable-SSL-Session-ID-tracking.patch,
+  -files/torbrowser-patches/0009-Provide-an-observer-event-to-close-persistent-
+  connec.patch,
+  -files/torbrowser-patches/0010-Provide-client-values-only-to-CSS-Media-Querie
+  s.patch,
+  -files/torbrowser-patches/0011-Limit-the-number-of-fonts-per-document.patch,
+  -files/torbrowser-patches/0012-Rebrand-Firefox-to-TorBrowser.patch,
+  -files/torbrowser-patches/0013-Make-Download-manager-memory-only.patch,
+  -files/torbrowser-patches/0014-Add-DDG-and-StartPage-to-Omnibox.patch,
+  -files/torbrowser-patches/0015-Make-nsICacheService.EvictEntries-synchronous.
+  patch, -files/torbrowser-patches/0016-Prevent-WebSocket-DNS-leak.patch,
+  -files/torbrowser-patches/0018-Add-HTTP-auth-headers-before-the-modify-reques
+  t-obse.patch,
+  files/torbrowser-patches/0001-Block-Components.interfaces-lookupMethod-from-c
+  onten.patch,
+  files/torbrowser-patches/0002-Make-Permissions-Manager-memory-only.patch,
+  -torbrowser-10.0.5.ebuild,
+  files/torbrowser-patches/0003-Make-Intermediate-Cert-Store-memory-only.patch,
+  files/torbrowser-patches/0004-Add-a-string-based-cacheKey.patch,
+  files/torbrowser-patches/0005-Block-all-plugins-except-flash.patch,
+  files/torbrowser-patches/0006-Make-content-pref-service-memory-only-clearable
+  .patch,
+  files/torbrowser-patches/0017-Randomize-HTTP-request-order-and-pipeline-depth
+  .patch, +torbrowser-13.0.ebuild,
+  +files/torbrowser-patches/0019-Fix-Firefox-13-build-process.patch:
+  version bump, also fixes bug #423343
+
+*torbrowser-10.0.5 (06 Jun 2012)
+
+  06 Jun 2012; Julian Ospald <hasuf...@gentoo.org>
+  +files/torbrowser-patches/0001-Block-Components.interfaces-lookupMethod-from-
+  conten.patch,
+  +files/torbrowser-patches/0002-Make-Permissions-Manager-memory-only.patch,
+  +files/torbrowser-patches/0003-Make-Intermediate-Cert-Store-memory-only.patch
+  , +files/torbrowser-patches/0004-Add-a-string-based-cacheKey.patch,
+  +files/torbrowser-patches/0005-Block-all-plugins-except-flash.patch,
+  +files/torbrowser-patches/0006-Make-content-pref-service-memory-only-clearabl
+  e.patch,
+  +files/torbrowser-patches/0007-Make-Tor-Browser-exit-when-not-launched-from-V
+  idalia.patch,
+  +files/torbrowser-patches/0008-Disable-SSL-Session-ID-tracking.patch,
+  +files/torbrowser-patches/0009-Provide-an-observer-event-to-close-persistent-
+  connec.patch,
+  +files/torbrowser-patches/0010-Provide-client-values-only-to-CSS-Media-Querie
+  s.patch,
+  +files/torbrowser-patches/0011-Limit-the-number-of-fonts-per-document.patch,
+  +files/torbrowser-patches/0012-Rebrand-Firefox-to-TorBrowser.patch,
+  +files/torbrowser-patches/0013-Make-Download-manager-memory-only.patch,
+  +files/torbrowser-patches/0014-Add-DDG-and-StartPage-to-Omnibox.patch,
+  +files/torbrowser-patches/0015-Make-nsICacheService.EvictEntries-synchronous.
+  patch, +files/torbrowser-patches/0016-Prevent-WebSocket-DNS-leak.patch,
+  +files/torbrowser-patches/0017-Randomize-HTTP-request-order-and-pipeline-dept
+  h.patch,
+  +files/torbrowser-patches/0018-Add-HTTP-auth-headers-before-the-modify-reques
+  t-obse.patch,
+  -files/12.0/0001-Block-Components.interfaces-lookupMethod-from-conten.patch,
+  -files/12.0/0002-Make-Permissions-Manager-memory-only.patch,
+  -files/12.0/0003-Make-Intermediate-Cert-Store-memory-only.patch,
+  -files/12.0/0004-Add-a-string-based-cacheKey.patch,
+  -files/12.0/0005-Block-all-plugins-except-flash.patch,
+  -files/12.0/0006-Make-content-pref-service-memory-only-clearable.patch,
+  -files/12.0/0008-Disable-SSL-Session-ID-tracking.patch,
+  -files/12.0/0009-Provide-an-observer-event-to-close-persistent-connec.patch,
+  -files/12.0/0010-Provide-client-values-only-to-CSS-Media-Queries.patch,
+  -files/12.0/0011-Limit-the-number-of-fonts-per-document.patch,
+  -files/12.0/0012-Randomize-HTTP-request-order-and-pipeline-depth.patch,
+  -files/12.0/0013-Rebrand-Firefox-to-TorBrowser.patch,
+  -files/12.0/0014-Make-Download-manager-memory-only.patch,
+  -files/12.0/0015-Add-DDG-and-StartPage-to-Omnibox.patch,
+  -files/12.0/0016-Adapt-Steven-Michaud-s-Mac-crashfix-patch-for-FF12.patch,
+  -files/12.0/0017-Make-nsICacheService.EvictEntries-synchronous.patch,
+  -files/12.0/0018-Prevent-WebSocket-DNS-leak.patch, +torbrowser-10.0.5.ebuild,
+  -torbrowser-12.0-r2.ebuild:
+  version bump/dump... tor upstream switched to ESR
+
+  01 Jun 2012; Julian Ospald <hasuf...@gentoo.org> torbrowser-12.0-r2.ebuild:
+  bump profile-folder version
+
+*torbrowser-12.0-r2 (01 Jun 2012)
+
+  01 Jun 2012; Julian Ospald <hasuf...@gentoo.org> -torbrowser-12.0.ebuild,
+  +torbrowser-12.0-r2.ebuild:
+  sync with firefox ebuild
+
+*torbrowser-12.0 (12 May 2012)
+
+  12 May 2012; Julian Ospald <hasuf...@gentoo.org>
+  +files/12.0/0001-Block-Components.interfaces-lookupMethod-from-conten.patch,
+  +files/12.0/0002-Make-Permissions-Manager-memory-only.patch,
+  +files/12.0/0003-Make-Intermediate-Cert-Store-memory-only.patch,
+  +files/12.0/0004-Add-a-string-based-cacheKey.patch,
+  +files/12.0/0005-Block-all-plugins-except-flash.patch,
+  +files/12.0/0006-Make-content-pref-service-memory-only-clearable.patch,
+  +files/12.0/0008-Disable-SSL-Session-ID-tracking.patch,
+  +files/12.0/0009-Provide-an-observer-event-to-close-persistent-connec.patch,
+  +files/12.0/0010-Provide-client-values-only-to-CSS-Media-Queries.patch,
+  +files/12.0/0011-Limit-the-number-of-fonts-per-document.patch,
+  +files/12.0/0012-Randomize-HTTP-request-order-and-pipeline-depth.patch,
+  +files/12.0/0013-Rebrand-Firefox-to-TorBrowser.patch,
+  +files/12.0/0014-Make-Download-manager-memory-only.patch,
+  +files/12.0/0015-Add-DDG-and-StartPage-to-Omnibox.patch,
+  +files/12.0/0016-Adapt-Steven-Michaud-s-Mac-crashfix-patch-for-FF12.patch,
+  +files/12.0/0017-Make-nsICacheService.EvictEntries-synchronous.patch,
+  +torbrowser-12.0.ebuild, +files/12.0/0018-Prevent-WebSocket-DNS-leak.patch,
+  +metadata.xml:
+  initial import with help from Poncho wrt #406361

diff --git a/www-client/torbrowser/Manifest b/www-client/torbrowser/Manifest
new file mode 100644
index 0000000..c095ef6
--- /dev/null
+++ b/www-client/torbrowser/Manifest
@@ -0,0 +1,10 @@
+AUX README.tor-launcher 1594 SHA256 
f344dd89d39a7330eb8303f80e89d9a015b3b70e4bc52649e0c8c1cde52a5ec6 SHA512 
9faeba83e0910438e9267a203c50d60f69860ab8765b3a6b1f38c153e3578645daf196133923597d2d8b00228b884250b0fb0cc5020978b22386510c6e6559b1
 WHIRLPOOL 
c7d0e9fa5b390d308524f5ac41249acbe6c612ac01ec960e1152c14dd1de1d520c1b52948315995df82a0a524dbcf4371b0466841acd6471c52a5baa8d9aac4b
+AUX tor-browser.git-bccc144c21f6069a294038a6559ba46ceb8da2a2.patch 15904 
SHA256 890f5b981533541f091ae9c159623107c823804a13afd421e39b664873dc7d65 SHA512 
1d7b1633c2424dcfb24ea84ae443c04578ed55dd539b9a606fd98033027e8eba0c743e198db385f6e3a27e4676d5f4d0830f050d8ba1fb1dec50652f26e4f715
 WHIRLPOOL 
f8cedc44db5e80b532e1db351a1438c96f7ed8e84799ed84084d275757fe40c20399d37d7a73e376875590482d2235024c1ac99e4ee31e726d17bd7a5c38213b
+AUX torbrowser-24.3.0-allow-lightspark.patch 615 SHA256 
904a090199d82d3fea3f96c2e077a08ea7e28ef46a4f4d1e7e6da936b08bafd1 SHA512 
35772c3c716fe5004d3306591b9ab1612a78644cb272de473fbf0da91a19075e6a166bb97a8365065828de829dc3b68618a31820f3b0eb7399e2bfe008f797d8
 WHIRLPOOL 
75ed0e691d9bfb877a368b0946f3cf8007e3201456a47e6d2ddd9b3d295cf782347a8cac45f63242d1bf6cea3a1acdead3b9494d26f52387253fe490be6a598d
+DIST firefox-31.0-patches-0.2.tar.xz 4636 SHA256 
fdcd4e68093fb905af06cd89aad7042f8a4e695dea9c184351945fcb5872a062 SHA512 
2fee84ac6027a1e1317470112df54fef411596a522bca756f82c525b13ba952015e71f2aa05a807fec04c3bd092e8cbebd0c2349e0dc4950b329a88811b00151
 WHIRLPOOL 
59dc5f3457dc2a0c0c83a0128063da00d127cee13487b112064368de7d98438b7ffeb1dfe362080eca6a82af4834f3e27c6bd887e51b5d59c728ae124b26114d
+DIST tor-browser-31.5.0esr-4.0-1-build1.tar.gz 170142149 SHA256 
75c39110209cb20d9b83782114edbf3d94e77fa4bf9c2ef0b79ebe8bc6100375 SHA512 
d9b692cd5678ea96c3b62f630017057c07a9976fb11102d9f1bb489cf495e6ab890ebc36b756e6efc39b1837804c32efa72c76621bbad563ecb9954bcd61771b
 WHIRLPOOL 
d9432bb1dee8e39ba8bdaac252315f83d645cf2374789b2f7eb3f4453bb87b5a67422c3e6f92a81c007db17f6f9069e7f9023051073123c07178fc3fca3e9b5b
+DIST tor-browser-linux32-4.0.4_en-US.tar.xz 42884008 SHA256 
f527b85a057ae402fa1dc84e6c175071e6448300cd2ebdd0d50494e1dd605185 SHA512 
f5846b01d9b6bcac69c188bdb1d2d2fade86aec37c9f2216a6efcb8e95286cee9558acb5d2acf8fb1d36c11540ab460c3159d7f66f36d386d4c5e47e1da4fe16
 WHIRLPOOL 
ae293d1fa156058b0f475c230723d8b3a7844ba50c98e3a21e0251d2e634802fde8facb56e28c8168e023d33dc75278e8421429de42bf9b7e8b06db8dd659e8c
+DIST tor-browser-linux64-4.0.4_en-US.tar.xz 42068548 SHA256 
0f0a07905daaf714322bc54cf25ed0e3b8ef91aeb937ab0df2d39010c9ee7b82 SHA512 
8dbed4d037ad4927811089ce05c0411c71d6f7fb6614d9131a4554c00630a397b9c88ea31c0389ffb813297ed77a69ed158a2cc5186a7df8b0d8728b35e480ba
 WHIRLPOOL 
40f93d1fb610095dd8762ffb41d5d989d5e357c7ddb8dd8a07b3dd87962988e25fe07de8fa5bbe995f8ca2f368f395dd6a0e0bcb12a43fe4a8cd8f48feeb51b2
+EBUILD torbrowser-31.5.0.ebuild 10052 SHA256 
57cb554dc22d90436c55ba023b19d692de2614f01d143b5462317f27083b6e1d SHA512 
2f694fa48a28bcaee673112640f46c47298e846ec06fb052fe740be86e5d69323376ab9e2612f982039243ddbfce595a6ff51480b2ae40bff18fb341c5b32e89
 WHIRLPOOL 
ab435f4cb6fad6052a982a339886d34a3b0399db6611f57deed0222007dcc8ca9eb30962249578d4c72a119d5002b73761fbb296729a30208c7ad419c5f02d08
+MISC ChangeLog 11827 SHA256 
d56642e383f443000bda2a5cd9904e91e7eece21eaaef493ef8abdbe6009c437 SHA512 
7ca4a034beef7c3a55bf55e61a8e309937a0833e3d0fd93d2ed7789c93cd78c27486124f20209b21d72ee8d5f07cd259fc61cec45e8dfd7a9b64d47dd9f9773f
 WHIRLPOOL 
6ff2cb2698c54f7fceb2ed38b3fd4a0ee7b2c0d99673eabade3a2e82b04fea4e5ef750ccde5048cbb0f194ae3e75ee7eae63b889d8321090a46c435d3d5ae9c2
+MISC metadata.xml 889 SHA256 
f1d80c79dbd97040f9839b0dddcda0cb292cefe0c80294f6fc36706cc2904795 SHA512 
285c5690a2779d778669a645b93c76227a84a7f7df1dc7044b0e642de4ade79da6fef0b067adbd9c8be959e13dd0fcc5412293d39129ee94be97bc826c9b1dab
 WHIRLPOOL 
29a7a249f4a22c67b842c01accbf12263657e9ac798dda37246eb8f07e58cda6159c281502f53b2e14f7c6124a0257927af158164a3a4d1cc768484a67888d47

diff --git a/www-client/torbrowser/files/README.tor-launcher 
b/www-client/torbrowser/files/README.tor-launcher
new file mode 100644
index 0000000..5edc01e
--- /dev/null
+++ b/www-client/torbrowser/files/README.tor-launcher
@@ -0,0 +1,37 @@
+Using a system-installed Tor process with Tor Browser:
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+The Tor ControlPort password should be given inside double quotes, inside
+single quotes, i.e. if the ControlPort password is “secret” (without
+curly quotes) then we must set the environment variable *exactly* like
+this:
+
+TOR_CONTROL_PASSWD='"secret"'
+
+Yes, the variable MUST be double-quoted, then single-quoted, exactly as
+shown. This is used by TorButtom to authenticate to Tor's ControlPort, and
+is necessary for using TBB with a with a system-installed Tor.
+
+Additionally, if using a system-installed Tor, the following about:config
+options should be set (values in <> mean they are the value taken from your
+torrc):
+
+SETTING NAME VALUE
+extensions.torbutton.banned_ports [...],<SocksPort>,<ControlPort>
+extensions.torbutton.block_disk false
+extensions.torbutton.custom.socks_host 127.0.0.1
+extensions.torbutton.custom.socks_port <SocksPort>
+extensions.torbutton.inserted_button true
+extensions.torbutton.launch_warning false
+extensions.torbutton.loglevel 2
+extensions.torbutton.logmethod 0
+extensions.torbutton.settings_method custom
+extensions.torbutton.socks_port <SocksPort>
+extensions.torbutton.use_privoxy false
+extensions.torlauncher.control_port <ControlPort>
+extensions.torlauncher.loglevel 2
+extensions.torlauncher.logmethod 0
+extensions.torlauncher.prompt_at_startup false
+extensions.torlauncher.start_tor false
+
+where the '[...]' in the banned_ports option means "leave anything that was
+already in the preference alone, just append the things specified after it".

diff --git 
a/www-client/torbrowser/files/tor-browser.git-bccc144c21f6069a294038a6559ba46ceb8da2a2.patch
 
b/www-client/torbrowser/files/tor-browser.git-bccc144c21f6069a294038a6559ba46ceb8da2a2.patch
new file mode 100644
index 0000000..de2fe2d
--- /dev/null
+++ 
b/www-client/torbrowser/files/tor-browser.git-bccc144c21f6069a294038a6559ba46ceb8da2a2.patch
@@ -0,0 +1,430 @@
+From bccc144c21f6069a294038a6559ba46ceb8da2a2 Mon Sep 17 00:00:00 2001
+From: Kathy Brade <br...@pearlcrescent.com>
+Date: Fri, 18 Oct 2013 15:20:06 -0400
+Subject: [PATCH] Bug #9173: Change the default Firefox profile directory to
+ be TBB-relative.
+
+This should eliminate our need to rely on a wrapper script that sets $HOME and
+launches Firefox with -profile.
+---
+ toolkit/xre/nsXREDirProvider.cpp       |  153 +++++++-------------------------
+ toolkit/xre/nsXREDirProvider.h         |   10 +--
+ xpcom/io/moz.build                     |    4 +
+ xpcom/io/nsAppFileLocationProvider.cpp |   81 ++++++++---------
+ 4 files changed, 81 insertions(+), 167 deletions(-)
+
+diff --git a/toolkit/xre/nsXREDirProvider.cpp 
b/toolkit/xre/nsXREDirProvider.cpp
+index 88a4348..4835541 100644
+--- a/toolkit/xre/nsXREDirProvider.cpp
++++ b/toolkit/xre/nsXREDirProvider.cpp
+@@ -30,6 +30,7 @@
+ #include "nsArrayEnumerator.h"
+ #include "nsEnumeratorUtils.h"
+ #include "nsReadableUtils.h"
++#include "nsXPCOMPrivate.h"  // for XPCOM_FILE_PATH_SEPARATOR
+ #include "mozilla/Services.h"
+ #include "mozilla/Omnijar.h"
+ #include "mozilla/Preferences.h"
+@@ -188,9 +189,6 @@ nsXREDirProvider::GetUserProfilesRootDir(nsIFile** aResult,
+                                      aProfileName, aAppName, aVendorName);
+ 
+   if (NS_SUCCEEDED(rv)) {
+-#if !defined(XP_UNIX) || defined(XP_MACOSX)
+-    rv = file->AppendNative(NS_LITERAL_CSTRING("Profiles"));
+-#endif
+     // We must create the profile directory here if it does not exist.
+     nsresult tmp = EnsureDirectoryExists(file);
+     if (NS_FAILED(tmp)) {
+@@ -213,9 +211,6 @@ nsXREDirProvider::GetUserProfilesLocalDir(nsIFile** 
aResult,
+                                      aProfileName, aAppName, aVendorName);
+ 
+   if (NS_SUCCEEDED(rv)) {
+-#if !defined(XP_UNIX) || defined(XP_MACOSX)
+-    rv = file->AppendNative(NS_LITERAL_CSTRING("Profiles"));
+-#endif
+     // We must create the profile directory here if it does not exist.
+     nsresult tmp = EnsureDirectoryExists(file);
+     if (NS_FAILED(tmp)) {
+@@ -1143,82 +1138,45 @@ nsresult
+ nsXREDirProvider::GetUserDataDirectoryHome(nsIFile** aFile, bool aLocal)
+ {
+   // Copied from nsAppFileLocationProvider (more or less)
+-  nsresult rv;
++  NS_ENSURE_ARG_POINTER(aFile);
+   nsCOMPtr<nsIFile> localDir;
+ 
+-#if defined(XP_MACOSX)
+-  FSRef fsRef;
+-  OSType folderType;
+-  if (aLocal) {
+-    folderType = kCachedDataFolderType;
+-  } else {
+-#ifdef MOZ_THUNDERBIRD
+-    folderType = kDomainLibraryFolderType;
+-#else
+-    folderType = kApplicationSupportFolderType;
+-#endif
+-  }
+-  OSErr err = ::FSFindFolder(kUserDomain, folderType, kCreateFolder, &fsRef);
+-  NS_ENSURE_FALSE(err, NS_ERROR_FAILURE);
+-
+-  rv = NS_NewNativeLocalFile(EmptyCString(), true, getter_AddRefs(localDir));
++  nsresult rv = GetAppDir()->Clone(getter_AddRefs(localDir));
+   NS_ENSURE_SUCCESS(rv, rv);
+ 
+-  nsCOMPtr<nsILocalFileMac> dirFileMac = do_QueryInterface(localDir);
+-  NS_ENSURE_TRUE(dirFileMac, NS_ERROR_UNEXPECTED);
++  int levelsToRemove = 1; // In FF21+, appDir points to browser subdirectory.
++#if defined(XP_MACOSX)
++  levelsToRemove += 2;
++#endif
++  while (localDir && (levelsToRemove > 0)) {
++    // When crawling up the hierarchy, components named "." do not count.
++    nsAutoCString removedName;
++    rv = localDir->GetNativeLeafName(removedName);
++    NS_ENSURE_SUCCESS(rv, rv);
++    bool didRemove = !removedName.Equals(".");
+ 
+-  rv = dirFileMac->InitWithFSRef(&fsRef);
+-  NS_ENSURE_SUCCESS(rv, rv);
++    // Remove a directory component.
++    nsCOMPtr<nsIFile> parentDir;
++    rv = localDir->GetParent(getter_AddRefs(parentDir));
++    NS_ENSURE_SUCCESS(rv, rv);
++    localDir = parentDir;
+ 
+-  localDir = do_QueryInterface(dirFileMac, &rv);
+-#elif defined(XP_WIN)
+-  nsString path;
+-  if (aLocal) {
+-    rv = GetShellFolderPath(CSIDL_LOCAL_APPDATA, path);
+-    if (NS_FAILED(rv))
+-      rv = GetRegWindowsAppDataFolder(aLocal, path);
++    if (didRemove)
++      --levelsToRemove;
+   }
+-  if (!aLocal || NS_FAILED(rv)) {
+-    rv = GetShellFolderPath(CSIDL_APPDATA, path);
+-    if (NS_FAILED(rv)) {
+-      if (!aLocal)
+-        rv = GetRegWindowsAppDataFolder(aLocal, path);
+-    }
+-  }
+-  NS_ENSURE_SUCCESS(rv, rv);
+ 
+-  rv = NS_NewLocalFile(path, true, getter_AddRefs(localDir));
+-#elif defined(MOZ_WIDGET_GONK)
+-  rv = NS_NewNativeLocalFile(NS_LITERAL_CSTRING("/data/b2g"), true,
+-                             getter_AddRefs(localDir));
+-#elif defined(XP_UNIX)
+-  const char* homeDir = getenv("HOME");
+-  if (!homeDir || !*homeDir)
++  if (!localDir)
+     return NS_ERROR_FAILURE;
+ 
+-#ifdef ANDROID /* We want (ProfD == ProfLD) on Android. */
+-  aLocal = false;
+-#endif
++  rv = localDir->AppendRelativeNativePath(NS_LITERAL_CSTRING("TorBrowser"
++                                     XPCOM_FILE_PATH_SEPARATOR "Data"
++                                     XPCOM_FILE_PATH_SEPARATOR "Browser"));
++  NS_ENSURE_SUCCESS(rv, rv);
+ 
+   if (aLocal) {
+-    // If $XDG_CACHE_HOME is defined use it, otherwise use $HOME/.cache.
+-    const char* cacheHome = getenv("XDG_CACHE_HOME");
+-    if (cacheHome && *cacheHome) {
+-      rv = NS_NewNativeLocalFile(nsDependentCString(cacheHome), true,
+-                                 getter_AddRefs(localDir));
+-    } else {
+-      rv = NS_NewNativeLocalFile(nsDependentCString(homeDir), true,
+-                                 getter_AddRefs(localDir));
+-      if (NS_SUCCEEDED(rv))
+-        rv = localDir->AppendNative(NS_LITERAL_CSTRING(".cache"));
+-    }
+-  } else {
+-    rv = NS_NewNativeLocalFile(nsDependentCString(homeDir), true,
+-                               getter_AddRefs(localDir));
++    rv = localDir->AppendNative(NS_LITERAL_CSTRING("Caches"));
++    NS_ENSURE_SUCCESS(rv, rv);
+   }
+-#else
+-#error "Don't know how to get product dir on your platform"
+-#endif
+ 
+   NS_IF_ADDREF(*aFile = localDir);
+   return rv;
+@@ -1431,48 +1389,25 @@ nsXREDirProvider::AppendProfilePath(nsIFile* aFile,
+   }
+ 
+   nsAutoCString profile;
+-  nsAutoCString appName;
+-  nsAutoCString vendor;
+   if (aProfileName && !aProfileName->IsEmpty()) {
+     profile = *aProfileName;
+-  } else if (aAppName) {
+-    appName = *aAppName;
+-    if (aVendorName) {
+-      vendor = *aVendorName;
+-    }
+   } else if (gAppData->profile) {
+     profile = gAppData->profile;
+-  } else {
+-    appName = gAppData->name;
+-    vendor = gAppData->vendor;
+   }
+ 
+-  nsresult rv;
++  nsresult rv = NS_ERROR_FAILURE;
+ 
+ #if defined (XP_MACOSX)
+   if (!profile.IsEmpty()) {
+     rv = AppendProfileString(aFile, profile.get());
++    NS_ENSURE_SUCCESS(rv, rv);
+   }
+-  else {
+-    // Note that MacOS ignores the vendor when creating the profile hierarchy 
-
+-    // all application preferences directories live alongside one another in
+-    // ~/Library/Application Support/
+-    rv = aFile->AppendNative(appName);
+-  }
+-  NS_ENSURE_SUCCESS(rv, rv);
+ 
+ #elif defined(XP_WIN)
+   if (!profile.IsEmpty()) {
+     rv = AppendProfileString(aFile, profile.get());
++    NS_ENSURE_SUCCESS(rv, rv);
+   }
+-  else {
+-    if (!vendor.IsEmpty()) {
+-      rv = aFile->AppendNative(vendor);
+-      NS_ENSURE_SUCCESS(rv, rv);
+-    }
+-    rv = aFile->AppendNative(appName);
+-  }
+-  NS_ENSURE_SUCCESS(rv, rv);
+ 
+ #elif defined(ANDROID)
+   // The directory used for storing profiles
+@@ -1484,12 +1419,6 @@ nsXREDirProvider::AppendProfilePath(nsIFile* aFile,
+   rv = aFile->AppendNative(nsDependentCString("mozilla"));
+   NS_ENSURE_SUCCESS(rv, rv);
+ #elif defined(XP_UNIX)
+-  nsAutoCString folder;
+-  // Make it hidden (by starting with "."), except when local (the
+-  // profile is already under ~/.cache or XDG_CACHE_HOME).
+-  if (!aLocal)
+-    folder.Assign('.');
+-
+   if (!profile.IsEmpty()) {
+     // Skip any leading path characters
+     const char* profileStart = profile.get();
+@@ -1498,31 +1427,17 @@ nsXREDirProvider::AppendProfilePath(nsIFile* aFile,
+ 
+     // On the off chance that someone wanted their folder to be hidden don't
+     // let it become ".."
+-    if (*profileStart == '.' && !aLocal)
++    if (*profileStart == '.')
+       profileStart++;
+ 
++    // Make it hidden (by starting with ".").
++    nsAutoCString folder(".");
+     folder.Append(profileStart);
+     ToLowerCase(folder);
+ 
+     rv = AppendProfileString(aFile, folder.BeginReading());
++    NS_ENSURE_SUCCESS(rv, rv);
+   }
+-  else {
+-    if (!vendor.IsEmpty()) {
+-      folder.Append(vendor);
+-      ToLowerCase(folder);
+-
+-      rv = aFile->AppendNative(folder);
+-      NS_ENSURE_SUCCESS(rv, rv);
+-
+-      folder.Truncate();
+-    }
+-
+-    folder.Append(appName);
+-    ToLowerCase(folder);
+-
+-    rv = aFile->AppendNative(folder);
+-  }
+-  NS_ENSURE_SUCCESS(rv, rv);
+ 
+ #else
+ #error "Don't know how to get profile path on your platform"
+diff --git a/toolkit/xre/nsXREDirProvider.h b/toolkit/xre/nsXREDirProvider.h
+index 4a9f9a0..054075c 100644
+--- a/toolkit/xre/nsXREDirProvider.h
++++ b/toolkit/xre/nsXREDirProvider.h
+@@ -56,16 +56,16 @@ public:
+ 
+   nsresult GetProfileDefaultsDir(nsIFile* *aResult);
+ 
+-  static nsresult GetUserAppDataDirectory(nsIFile* *aFile) {
++  nsresult GetUserAppDataDirectory(nsIFile* *aFile) {
+     return GetUserDataDirectory(aFile, false, nullptr, nullptr, nullptr);
+   }
+-  static nsresult GetUserLocalDataDirectory(nsIFile* *aFile) {
++  nsresult GetUserLocalDataDirectory(nsIFile* *aFile) {
+     return GetUserDataDirectory(aFile, true, nullptr, nullptr, nullptr);
+   }
+ 
+   // By default GetUserDataDirectory gets profile path from gAppData,
+   // but that can be overridden by using aProfileName/aAppName/aVendorName.
+-  static nsresult GetUserDataDirectory(nsIFile** aFile, bool aLocal,
++  nsresult GetUserDataDirectory(nsIFile** aFile, bool aLocal,
+                                        const nsACString* aProfileName,
+                                        const nsACString* aAppName,
+                                        const nsACString* aVendorName);
+@@ -101,8 +101,8 @@ public:
+ 
+ protected:
+   nsresult GetFilesInternal(const char* aProperty, nsISimpleEnumerator** 
aResult);
+-  static nsresult GetUserDataDirectoryHome(nsIFile* *aFile, bool aLocal);
+-  static nsresult GetSysUserExtensionsDirectory(nsIFile* *aFile);
++  nsresult GetUserDataDirectoryHome(nsIFile* *aFile, bool aLocal);
++  nsresult GetSysUserExtensionsDirectory(nsIFile* *aFile);
+ #if defined(XP_UNIX) || defined(XP_MACOSX)
+   static nsresult GetSystemExtensionsDirectory(nsIFile** aFile);
+ #endif
+diff --git a/xpcom/io/moz.build b/xpcom/io/moz.build
+index cc467f9..609068b 100644
+--- a/xpcom/io/moz.build
++++ b/xpcom/io/moz.build
+@@ -126,4 +126,8 @@ FINAL_LIBRARY = 'xpcom_core'
+ if CONFIG['OS_ARCH'] == 'Linux' and 'lib64' in CONFIG['libdir']:
+     DEFINES['HAVE_USR_LIB64_DIR'] = True
+ 
++LOCAL_INCLUDES += [
++    '../build'
++]
++
+ GENERATED_INCLUDES += ['..']
+diff --git a/xpcom/io/nsAppFileLocationProvider.cpp 
b/xpcom/io/nsAppFileLocationProvider.cpp
+index 1a38589..83f9836 100644
+--- a/xpcom/io/nsAppFileLocationProvider.cpp
++++ b/xpcom/io/nsAppFileLocationProvider.cpp
+@@ -13,6 +13,7 @@
+ #include "nsISimpleEnumerator.h"
+ #include "prenv.h"
+ #include "nsCRT.h"
++#include "nsXPCOMPrivate.h"  // for XPCOM_FILE_PATH_SEPARATOR
+ 
+ #if defined(MOZ_WIDGET_COCOA)
+ #include <Carbon/Carbon.h>
+@@ -284,9 +285,8 @@ NS_METHOD 
nsAppFileLocationProvider::CloneMozBinDirectory(nsIFile **aLocalFile)
+ 
//----------------------------------------------------------------------------------------
+ // GetProductDirectory - Gets the directory which contains the application 
data folder
+ //
+-// UNIX   : ~/.mozilla/
+-// WIN    : <Application Data folder on user's machine>\Mozilla
+-// Mac    : :Documents:Mozilla:
++// UNIX and WIN   : <App Folder>/TorBrowser/Data/Browser
++// Mac            : <App Folder>/../../TorBrowser/Data/Browser
+ 
//----------------------------------------------------------------------------------------
+ NS_METHOD nsAppFileLocationProvider::GetProductDirectory(nsIFile 
**aLocalFile, bool aLocal)
+ {
+@@ -297,32 +297,43 @@ NS_METHOD 
nsAppFileLocationProvider::GetProductDirectory(nsIFile **aLocalFile, b
+     bool exists;
+     nsCOMPtr<nsIFile> localDir;
+ 
+-#if defined(MOZ_WIDGET_COCOA)
+-    FSRef fsRef;
+-    OSType folderType = aLocal ? (OSType) kCachedDataFolderType : (OSType) 
kDomainLibraryFolderType;
+-    OSErr err = ::FSFindFolder(kUserDomain, folderType, kCreateFolder, 
&fsRef);
+-    if (err) return NS_ERROR_FAILURE;
+-    NS_NewLocalFile(EmptyString(), true, getter_AddRefs(localDir));
+-    if (!localDir) return NS_ERROR_FAILURE;
+-    nsCOMPtr<nsILocalFileMac> localDirMac(do_QueryInterface(localDir));
+-    rv = localDirMac->InitWithFSRef(&fsRef);
+-    if (NS_FAILED(rv)) return rv;
+-#elif defined(XP_WIN)
+-    nsCOMPtr<nsIProperties> directoryService = 
+-             do_GetService(NS_DIRECTORY_SERVICE_CONTRACTID, &rv);
+-    if (NS_FAILED(rv)) return rv;
+-    const char* prop = aLocal ? NS_WIN_LOCAL_APPDATA_DIR : NS_WIN_APPDATA_DIR;
+-    rv = directoryService->Get(prop, NS_GET_IID(nsIFile), 
getter_AddRefs(localDir));
+-    if (NS_FAILED(rv)) return rv;
+-#elif defined(XP_UNIX)
+-    rv = NS_NewNativeLocalFile(nsDependentCString(PR_GetEnv("HOME")), true, 
getter_AddRefs(localDir));
+-    if (NS_FAILED(rv)) return rv;
+-#else
+-#error dont_know_how_to_get_product_dir_on_your_platform
++    rv = CloneMozBinDirectory(getter_AddRefs(localDir));
++    NS_ENSURE_SUCCESS(rv, rv);
++
++    int levelsToRemove = 1; // In FF21+, bin dir points to browser 
subdirectory.
++#if defined(XP_MACOSX)
++    levelsToRemove += 2;
+ #endif
++    while (localDir && (levelsToRemove > 0)) {
++        // When crawling up the hierarchy, components named "." do not count.
++        nsAutoCString removedName;
++        rv = localDir->GetNativeLeafName(removedName);
++        NS_ENSURE_SUCCESS(rv, rv);
++        bool didRemove = !removedName.Equals(".");
++
++        // Remove a directory component.
++        nsCOMPtr<nsIFile> parentDir;
++        rv = localDir->GetParent(getter_AddRefs(parentDir));
++        NS_ENSURE_SUCCESS(rv, rv);
++        localDir = parentDir;
++
++        if (didRemove)
++          --levelsToRemove;
++    }
++
++    if (!localDir)
++        return NS_ERROR_FAILURE;
++
++    rv = localDir->AppendRelativeNativePath(NS_LITERAL_CSTRING("TorBrowser"
++                                       XPCOM_FILE_PATH_SEPARATOR "Data"
++                                       XPCOM_FILE_PATH_SEPARATOR "Browser"));
++    NS_ENSURE_SUCCESS(rv, rv);
++
++    if (aLocal) {
++        rv = localDir->AppendNative(NS_LITERAL_CSTRING("Caches"));
++        NS_ENSURE_SUCCESS(rv, rv);
++    }
+ 
+-    rv = localDir->AppendRelativeNativePath(DEFAULT_PRODUCT_DIR);
+-    if (NS_FAILED(rv)) return rv;
+     rv = localDir->Exists(&exists);
+ 
+     if (NS_SUCCEEDED(rv) && !exists)
+@@ -339,10 +350,6 @@ NS_METHOD 
nsAppFileLocationProvider::GetProductDirectory(nsIFile **aLocalFile, b
+ 
+ 
//----------------------------------------------------------------------------------------
+ // GetDefaultUserProfileRoot - Gets the directory which contains each user 
profile dir
+-//
+-// UNIX   : ~/.mozilla/
+-// WIN    : <Application Data folder on user's machine>\Mozilla\Profiles
+-// Mac    : :Documents:Mozilla:Profiles:
+ 
//----------------------------------------------------------------------------------------
+ NS_METHOD nsAppFileLocationProvider::GetDefaultUserProfileRoot(nsIFile 
**aLocalFile, bool aLocal)
+ {
+@@ -355,18 +362,6 @@ NS_METHOD 
nsAppFileLocationProvider::GetDefaultUserProfileRoot(nsIFile **aLocalF
+     rv = GetProductDirectory(getter_AddRefs(localDir), aLocal);
+     if (NS_FAILED(rv)) return rv;
+ 
+-#if defined(MOZ_WIDGET_COCOA) || defined(XP_WIN)
+-    // These 3 platforms share this part of the path - do them as one
+-    rv = localDir->AppendRelativeNativePath(NS_LITERAL_CSTRING("Profiles"));
+-    if (NS_FAILED(rv)) return rv;
+-
+-    bool exists;
+-    rv = localDir->Exists(&exists);
+-    if (NS_SUCCEEDED(rv) && !exists)
+-        rv = localDir->Create(nsIFile::DIRECTORY_TYPE, 0775);
+-    if (NS_FAILED(rv)) return rv;
+-#endif
+-
+     *aLocalFile = localDir;
+     NS_ADDREF(*aLocalFile);
+ 
+-- 
+1.7.10.4
+

diff --git 
a/www-client/torbrowser/files/torbrowser-24.3.0-allow-lightspark.patch 
b/www-client/torbrowser/files/torbrowser-24.3.0-allow-lightspark.patch
new file mode 100644
index 0000000..7228f16
--- /dev/null
+++ b/www-client/torbrowser/files/torbrowser-24.3.0-allow-lightspark.patch
@@ -0,0 +1,14 @@
+From: Julian Ospald <hasuf...@gentoo.org>
+Date: Sun Feb 16 17:11:39 UTC 2014
+Subject: allow lightspark
+
+--- tor-browser/dom/plugins/base/nsPluginHost.cpp
++++ tor-browser/dom/plugins/base/nsPluginHost.cpp
+@@ -1821,6 +1821,7 @@
+     // libgnashplugin.so, libflashplayer.so, Flash Player-10.4-10.5.plugin,
+     // NPSWF32.dll, NPSWF64.dll
+     if (strstr(leafStr, "libgnashplugin") == leafStr ||
++        strstr(leafStr, "liblightsparkplugin") == leafStr ||
+         strstr(leafStr, "libflashplayer") == leafStr ||
+         strstr(leafStr, "Flash Player") == leafStr ||
+         strstr(leafStr, "NPSWF") == leafStr) {

diff --git a/www-client/torbrowser/metadata.xml 
b/www-client/torbrowser/metadata.xml
new file mode 100644
index 0000000..dcb9d0b
--- /dev/null
+++ b/www-client/torbrowser/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+<maintainer>
+       <email>pon...@spahan.ch</email>
+       <name>Poncho</name>
+</maintainer>
+<use>
+       <flag name="custom-optimization">Fine-tune custom compiler
+               optimizations, setting this is not recommended.</flag>
+       <flag name="system-cairo">Use the system-wide <pkg>x11-libs/cairo</pkg>
+               instead of bundled.</flag>
+       <flag name="system-icu">Use the system-wide <pkg>dev-libs/icu</pkg>
+               instead of bundled.</flag>
+       <flag name="system-jpeg">Use the system-wide 
<pkg>media-libs/libjpeg-turbo</pkg>
+               instead of bundled.</flag>
+       <flag name="system-libvpx">Use the system-wide 
<pkg>media-libs/libvpx</pkg>
+               instead of bundled.</flag>
+       <flag name="system-sqlite">Use the system-wide <pkg>dev-db/sqlite</pkg>
+               installation with secure-delete enabled</flag>
+</use>
+</pkgmetadata>

diff --git a/www-client/torbrowser/torbrowser-31.5.0.ebuild 
b/www-client/torbrowser/torbrowser-31.5.0.ebuild
new file mode 100644
index 0000000..2e54652
--- /dev/null
+++ b/www-client/torbrowser/torbrowser-31.5.0.ebuild
@@ -0,0 +1,308 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="5"
+WANT_AUTOCONF="2.1"
+MOZ_ESR="1"
+
+MY_PN="firefox"
+if [[ ${MOZ_ESR} == 1 ]]; then
+       # ESR releases have slightly version numbers
+       MOZ_PV="${PV}esr"
+fi
+
+# see 
https://gitweb.torproject.org/builders/tor-browser-bundle.git/tree/gitian/versions?h=maint-4.0
+TOR_PV="4.0.4"
+GIT_TAG="tor-browser-${MOZ_PV}-4.0-1-build1"
+
+# Patch version
+PATCH="${MY_PN}-31.0-patches-0.2"
+
+MOZCONFIG_OPTIONAL_WIFI=1
+MOZCONFIG_OPTIONAL_JIT="enabled"
+
+inherit check-reqs flag-o-matic toolchain-funcs eutils gnome2-utils 
mozconfig-v5.31 multilib pax-utils autotools
+
+DESCRIPTION="The Tor Browser"
+HOMEPAGE="https://www.torproject.org/projects/torbrowser.html
+       https://gitweb.torproject.org/tor-browser.git";
+
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+# BSD license applies to torproject-related code like the patches
+# icons are under CCPL-Attribution-3.0
+LICENSE="BSD CC-BY-3.0 MPL-2.0 GPL-2 LGPL-2.1"
+IUSE="hardened test"
+
+BASE_SRC_URI="https://dist.torproject.org/${PN}/${TOR_PV}";
+SRC_URI="https://gitweb.torproject.org/tor-browser.git/snapshot/${GIT_TAG}.tar.gz
 -> ${GIT_TAG}.tar.gz
+       http://dev.gentoo.org/~anarchy/mozilla/patchsets/${PATCH}.tar.xz
+       http://dev.gentoo.org/~axs/distfiles/${PATCH}.tar.xz
+       x86? ( ${BASE_SRC_URI}/tor-browser-linux32-${TOR_PV}_en-US.tar.xz )
+       amd64? ( ${BASE_SRC_URI}/tor-browser-linux64-${TOR_PV}_en-US.tar.xz )"
+
+ASM_DEPEND=">=dev-lang/yasm-1.1"
+
+CDEPEND=">=dev-libs/nss-3.17.1
+       >=dev-libs/nspr-4.10.6"
+
+DEPEND="${CDEPEND}
+       amd64? ( ${ASM_DEPEND}
+               virtual/opengl )
+       x86? ( ${ASM_DEPEND}
+               virtual/opengl )"
+
+QA_PRESTRIPPED="usr/$(get_libdir)/${PN}/${MY_PN}/firefox"
+
+S="${WORKDIR}/${GIT_TAG}"
+
+# See mozcoreconf-2.eclass
+mozversion_is_new_enough() {
+       if [[ $(get_version_component_range 1) -ge 17 ]] ; then
+               return 0
+       fi
+       return 1
+}
+
+pkg_setup() {
+       moz_pkgsetup
+
+       # These should *always* be cleaned up anyway
+       unset DBUS_SESSION_BUS_ADDRESS \
+               DISPLAY \
+               ORBIT_SOCKETDIR \
+               SESSION_MANAGER \
+               XDG_SESSION_COOKIE \
+               XAUTHORITY
+}
+
+pkg_pretend() {
+       # Ensure we have enough disk space to compile
+       if use debug || use test ; then
+               CHECKREQS_DISK_BUILD="8G"
+       else
+               CHECKREQS_DISK_BUILD="4G"
+       fi
+       check-reqs_pkg_setup
+
+       if use jit && [[ -n ${PROFILE_IS_HARDENED} ]]; then
+               ewarn "You are emerging this package on a hardened profile with 
USE=jit enabled."
+               ewarn "This is horribly insecure as it disables all PAGEEXEC 
restrictions."
+               ewarn "Please ensure you know what you are doing.  If you 
don't, please consider"
+               ewarn "emerging the package with USE=-jit"
+       fi
+}
+
+src_prepare() {
+       # Apply gentoo firefox patches
+       EPATCH_SUFFIX="patch" \
+       EPATCH_FORCE="yes" \
+       epatch "${WORKDIR}/firefox"
+
+       # Revert "Change the default Firefox profile directory to be 
TBB-relative"
+       epatch -R 
"${FILESDIR}/tor-browser.git-bccc144c21f6069a294038a6559ba46ceb8da2a2.patch"
+
+       # FIXME: https://trac.torproject.org/projects/tor/ticket/10925
+       # Except lightspark-plugin from blocklist
+       epatch "${FILESDIR}"/${PN}-24.3.0-allow-lightspark.patch
+
+       # Allow user to apply any additional patches without modifing ebuild
+       epatch_user
+
+       # Enable gnomebreakpad
+       if use debug ; then
+               sed -i -e 
"s:GNOME_DISABLE_CRASH_DIALOG=1:GNOME_DISABLE_CRASH_DIALOG=0:g" \
+                       "${S}"/build/unix/run-mozilla.sh || die "sed failed!"
+       fi
+
+       # Ensure that our plugins dir is enabled as default
+       sed -i -e "s:/usr/lib/mozilla/plugins:/usr/lib/nsbrowser/plugins:" \
+               "${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed 
failed to replace plugin path for 32bit!"
+       sed -i -e "s:/usr/lib64/mozilla/plugins:/usr/lib64/nsbrowser/plugins:" \
+               "${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed 
failed to replace plugin path for 64bit!"
+
+       # Fix sandbox violations during make clean, bug 372817
+       sed -e "s:\(/no-such-file\):${T}\1:g" \
+               -i "${S}"/config/rules.mk \
+               -i "${S}"/nsprpub/configure{.in,} \
+               || die
+
+       # Don't exit with error when some libs are missing which we have in
+       # system.
+       sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \
+               -i "${S}"/browser/installer/Makefile.in || die
+
+       # Don't error out when there's no files to be removed:
+       sed 's@\(xargs rm\)$@\1 -f@' \
+               -i "${S}"/toolkit/mozapps/installer/packager.mk || die
+
+       eautoreconf
+
+       # Must run autoconf in js/src
+       cd "${S}"/js/src || die
+       eautoconf
+}
+
+src_configure() {
+       MOZILLA_FIVE_HOME="${EPREFIX}"/usr/$(get_libdir)/${PN}/${MY_PN}
+       MEXTENSIONS="default"
+
+       ####################################
+       #
+       # mozconfig, CFLAGS and CXXFLAGS setup
+       #
+       ####################################
+
+       mozconfig_init
+       mozconfig_config
+
+       # Add full relro support for hardened
+       use hardened && append-ldflags "-Wl,-z,relro,-z,now"
+
+       mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
+       mozconfig_annotate '' --disable-mailnews
+
+       # Other ff-specific settings
+       mozconfig_annotate '' 
--with-default-mozilla-five-home=${MOZILLA_FIVE_HOME}
+
+       # Rename the install directory and the executable
+       mozconfig_annotate 'torbrowser' 
--libdir="${EPREFIX}"/usr/$(get_libdir)/${PN}
+       mozconfig_annotate 'torbrowser' --with-app-name=torbrowser
+       mozconfig_annotate 'torbrowser' --with-app-basename=torbrowser
+       # see 
https://gitweb.torproject.org/tor-browser.git/tree/configure.in?h=tor-browser-31.3.0esr-4.0-1#n6401
+       mozconfig_annotate 'torbrowser' --disable-tor-browser-update
+       mozconfig_annotate 'torbrowser' --with-tor-browser-version=${TOR_PV}
+
+       # Finalize and report settings
+       mozconfig_final
+
+       if [[ $(gcc-major-version) -lt 4 ]]; then
+               append-cxxflags -fno-stack-protector
+       elif [[ $(gcc-major-version) -gt 4 || $(gcc-minor-version) -gt 3 ]]; 
then
+               if use amd64 || use x86; then
+                       append-flags -mno-avx
+               fi
+       fi
+}
+
+src_compile() {
+       CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" \
+       MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL}" \
+       emake -f client.mk
+}
+
+src_install() {
+       MOZILLA_FIVE_HOME="${EPREFIX}"/usr/$(get_libdir)/${PN}/${MY_PN}
+       DICTPATH="\"${EPREFIX}/usr/share/myspell\""
+
+       # MOZ_BUILD_ROOT, and hence OBJ_DIR change depending on arch, compiler 
etc.
+       local obj_dir="$(echo */config.log)"
+       obj_dir="${obj_dir%/*}"
+       cd "${S}/${obj_dir}" || die
+
+       # Pax mark xpcshell for hardened support, only used for startupcache 
creation.
+       pax-mark m "${S}/${obj_dir}"/dist/bin/xpcshell
+
+       # Add an emty default prefs for mozconfig-3.eclass
+       touch 
"${S}/${obj_dir}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
+               || die
+
+       # Set default path to search for dictionaries.
+       echo "pref(\"spellchecker.dictionary_path\", ${DICTPATH});" \
+               >> 
"${S}/${obj_dir}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
+               || die
+
+       # Disable adobe-flash by default
+       sed -i -e 's:pref("plugin.state.flash", 1);:pref("plugin.state.flash", 
0);:g' \
+               
"${S}/${obj_dir}/dist/bin/browser/defaults/preferences/000-tor-browser.js" \
+               || die
+
+       # see: 
https://gitweb.torproject.org/builders/tor-browser-bundle.git/tree/gitian/descriptors/linux/gitian-bundle.yml?h=maint-4.0#n148
+       echo "pref(\"general.useragent.locale\", \"en-US\");" \
+               >> 
"${S}/${obj_dir}/dist/bin/browser/defaults/preferences/000-tor-browser.js" \
+               || die
+
+       MOZ_MAKE_FLAGS="${MAKEOPTS}" \
+       emake DESTDIR="${D}" install
+
+       # Install icons and .desktop for menu entry
+       local size sizes icon_path
+       sizes="16 24 32 48 256"
+       icon_path="${S}/browser/branding/official"
+       for size in ${sizes}; do
+               newicon -s ${size} "${icon_path}/default${size}.png" ${PN}.png
+       done
+       # The 128x128 icon has a different name
+       newicon -s 128 "${icon_path}/mozicon128.png" ${PN}.png
+       make_desktop_entry ${PN} "TorBrowser" ${PN} "Network;WebBrowser"
+
+       # Add StartupNotify=true bug 237317
+       if use startup-notification ; then
+               echo "StartupNotify=true" \
+                       >> "${ED}/usr/share/applications/${PN}-${PN}.desktop" \
+                       || die
+       fi
+
+       # Required in order to use plugins and even run torbrowser on hardened.
+       pax-mark m "${ED}"${MOZILLA_FIVE_HOME}/plugin-container
+       # Required in order for jit to work on hardened, as of torbroser-31
+       use jit && pax-mark pm 
"${ED}"${MOZILLA_FIVE_HOME}/{torbrowser,torbrowser-bin}
+
+       # We dont want development files
+       rm -r "${ED}"/usr/include 
"${ED}${MOZILLA_FIVE_HOME}"/{idl,include,lib,sdk} \
+               || die "Failed to remove sdk and headers"
+
+       # revdep-rebuild entry
+       insinto /etc/revdep-rebuild
+       echo "SEARCH_DIRS_MASK=${MOZILLA_FIVE_HOME}" >> ${T}/10${PN}
+       doins "${T}"/10${PN} || die
+
+       # Profile without the tor-launcher extension
+       # see: https://trac.torproject.org/projects/tor/ticket/10160
+       local 
profile_dir="${WORKDIR}/tor-browser_en-US/Browser/TorBrowser/Data/Browser/profile.default"
+
+       docompress -x 
"${EROOT}/usr/share/doc/${PF}/tor-launc...@torproject.org.xpi"
+       dodoc "${profile_dir}/extensions/tor-launc...@torproject.org.xpi"
+       rm "${profile_dir}/extensions/tor-launc...@torproject.org.xpi" || die 
"Failed to remove torlauncher extension"
+
+       # Force remote Tor check since the control port might not be available
+       echo "pref(\"extensions.torbutton.local_tor_check\", false);" \
+               >> "${profile_dir}/preferences/extension-overrides.js" \
+               || die
+
+       insinto ${MOZILLA_FIVE_HOME}/browser/defaults/profile
+       doins -r "${profile_dir}"/{extensions,preferences,bookmarks.html}
+
+       # see: 
https://gitweb.torproject.org/builders/tor-browser-bundle.git/tree/RelativeLink/RelativeLink.sh?h=maint-4.0#n248
+       dodoc "${FILESDIR}/README.tor-launcher"
+       dodoc 
"${WORKDIR}/tor-browser_en-US/Browser/TorBrowser/Docs/ChangeLog.txt"
+}
+
+pkg_preinst() {
+       gnome2_icon_savelist
+}
+
+pkg_postinst() {
+       echo
+       ewarn "This patched firefox build is _NOT_ recommended by Tor upstream 
but uses"
+       ewarn "the exact same sources. Use this only if you know what you are 
doing!"
+       echo
+       elog "Torbrowser uses port 9150 to connect to Tor. You can change the 
port"
+       elog "in the connection settings to match your setup."
+       echo
+
+       if [[ "${REPLACING_VERSIONS}" ]] && [[ "${REPLACING_VERSIONS}" < 
"31.2.0" ]]; then
+               echo
+               ewarn "Since this is a major upgrade, you need to start with a 
fresh profile."
+               ewarn "Either move or remove your profile in 
\"~/.mozilla/torbrowser/\""
+               ewarn "and let Torbrowser generate a new one."
+               echo
+       fi
+
+       gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+       gnome2_icon_cache_update
+}

Reply via email to