commit:     d364462a450ea11896b249eab5641a097f51b3a2
Author:     Jory Pratt <anarchy <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 31 14:53:12 2019 +0000
Commit:     Jory Pratt <anarchy <AT> gentoo <DOT> org>
CommitDate: Sun Mar 31 14:53:12 2019 +0000
URL:        https://gitweb.gentoo.org/proj/mozilla.git/commit/?id=d364462a

www-client/torbrowser: version bump, nre esr release

 www-client/torbrowser/Manifest                     |   7 +-
 www-client/torbrowser/files/99torbrowser.example   |  26 --
 www-client/torbrowser/files/README.tor-launcher    |  33 --
 www-client/torbrowser/files/Readme.md              |  20 --
 www-client/torbrowser/files/profile.cfg            |  42 ---
 www-client/torbrowser/files/torbrowser-lto.patch   |  32 ++
 .../torbrowser/files/torbrowser-profiledir.patch   |  44 +++
 .../files/torbrowser-rust_missing_docs.patch       |  21 ++
 www-client/torbrowser/metadata.xml                 |  46 ++-
 .../torbrowser/torbrowser-52.8.1_p756.ebuild       | 311 -----------------
 .../torbrowser/torbrowser-60.6.1.8.0.8.1.1.ebuild  | 368 +++++++++++++++++++++
 11 files changed, 491 insertions(+), 459 deletions(-)

diff --git a/www-client/torbrowser/Manifest b/www-client/torbrowser/Manifest
index 3599314..3a1fff6 100644
--- a/www-client/torbrowser/Manifest
+++ b/www-client/torbrowser/Manifest
@@ -1,3 +1,4 @@
-DIST tor-browser-linux32-7.5.6_en-US.tar.xz 70907548 BLAKE2B 
226b4437ed18daffeee73670328585821853991a0cb4d9e466b49e34d9ff69e1f41f50f8a4768075e0fc43cbf55fcaddfb1c66a293f8ffd90bc73e4baa5c25a4
 SHA512 
7e68d88da5addc52b2c9f0ce07f192692739fb484f83c5e5c63327a87b1535cf92f4387de408244588d55f718fa9dbb4c3bbe4ad5e1dafa08e5e6da0ce191ca6
-DIST tor-browser-linux64-7.5.6_en-US.tar.xz 69094120 BLAKE2B 
8b32b6d338f48df5b05f591979b5862074455628de32aea1bed993a51f43f2a1336efa23f4f1007781e93f33a4bbf5d61e46c3894f382417a81d3a31eaad316b
 SHA512 
4697d82157321c2a15521e11f39953924336d29e9eb376931a0047a3060007715f3c29c568d592271a4d3ff090e9d20d82c295fad4f7579b9a3b51f48d476650
-DIST torbrowser-52.8-patches-01.tar.xz 17756 BLAKE2B 
3bc3424bbc47feb4f6e7b09e6c72073a4ef18e3a7cd611555d3c80a7deb166ee1317062305eee4f75d17f3f505edaf639a3bd3ef74443d0a8c73304a780fe151
 SHA512 
edcf1e4fac5f78788ae3c9b81ae7f746fa04b9c76789e772006ead60a65e19c0bda9582f67f0a1f4fb9cfefc98e20d98d0d29194b0e18bc4c1b1eea578d19b60
+DIST firefox-60.6-patches-01.tar.xz 14548 BLAKE2B 
412059a6db015fff0985e637768426f877b33bb6b649c54f1292780b9d871f8fe9bf8e6b150ec36ab3647b4501fa6aec821c089a5d6fa861402f05e948f1a9d4
 SHA512 
b97da7a7b65bbf53cb6b9f48fc6c07a32cefa9d4b4a79ce57df047f941f5269e21bf09fa56a5f31bbf757ed2d76f8a1fe01d2306c92d20cab979e0a21f895e64
+DIST tor-browser-60.6.1esr-8.0-1-build1.tar.gz 386384151 BLAKE2B 
18c9a07296317a0e62e40939c9b839850069836f9d489910fc364e1e2929a3218d3a2fc8a521a59d8971b925a09e0c29820a964bc326b0143480f2839b9f72cf
 SHA512 
9a39ed63494cd2be4952312d8160884f2fa35211f3ea54fc2e9dcc737236102938d8c17b3a112420d847b7c7e98d0f33f210afb3d0fd979e21f7e23769372b4b
+DIST tor-browser-linux32-8.0.8_en-US.tar.xz 76761628 BLAKE2B 
0c21f3c5718da9fcfe8961a59cd98be495411ea85200294f1918aa9c27af25428e18d7b8a52bab1c27360e6ded221ea981554b7f4130ccd646bc9edb53039f43
 SHA512 
ebd2b93bdaf87d34cb03ecc2d0811d376a3942de9ea84b6f049358127e91c76aaef4bdd7fcaa9467660e907f9ee5d3fd239f80d7a1667fea2e9b5fbb80355d42
+DIST tor-browser-linux64-8.0.8_en-US.tar.xz 75228720 BLAKE2B 
2e368225ca44868b700f1a6c8cb7a0f8f532adbca0f38d998741f5a8e24b76553ab861416724d0101b5b30a8bb305b96d308bfc6315619be4489a8f98ebc979a
 SHA512 
a046d56280b24c3a524b894b94ecacd876d27f732bcc1744a5b194684b1477fcb468e6978a20bee456242708e7f9a4e58a7e82e58f31ed3b84f652689cec546e

diff --git a/www-client/torbrowser/files/99torbrowser.example 
b/www-client/torbrowser/files/99torbrowser.example
deleted file mode 100644
index 4fb07fa..0000000
--- a/www-client/torbrowser/files/99torbrowser.example
+++ /dev/null
@@ -1,26 +0,0 @@
-# /etc/env.d/99torbrowser
-#
-# 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 TorButton to authenticate to Tor's ControlPort, and
-# is necessary for using TB with a system-installed Tor
-
-TOR_CONTROL_PORT=9051
-TOR_CONTROL_HOST=127.0.0.1
-TOR_CONTROL_PASSWD='"secret"'
-#TOR_CONTROL_COOKIE_AUTH_FILE=/var/run/tor/control.authcookie
-
-# Environment variable to skip TorButton control port verification
-#TOR_SKIP_CONTROLPORTTEST=1
-
-# Environment variable to disable the "TorButton" -> "Open Network Settings..."
-# menu item.
-#TOR_NO_DISPLAY_NETWORK_SETTINGS=1
-
-# Environment variable to disable the "TorButton" -> "Check for Updates..."
-# menu item.
-#TOR_HIDE_UPDATE_CHECK_UI=1

diff --git a/www-client/torbrowser/files/README.tor-launcher 
b/www-client/torbrowser/files/README.tor-launcher
deleted file mode 100644
index 0683733..0000000
--- a/www-client/torbrowser/files/README.tor-launcher
+++ /dev/null
@@ -1,33 +0,0 @@
-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 TorButton and Tor Launcher to authenticate to Tor's
-ControlPort, and is necessary for using TB 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
-network.security.ports.banned           [...],<SocksPort>,<ControlPort>
-network.proxy.socks                     127.0.0.1
-network.proxy.socks_port                <SocksPort>
-extensions.torbutton.inserted_button    true
-extensions.torbutton.launch_warning     false
-extensions.torbutton.loglevel           2
-extensions.torbutton.logmethod          0
-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/Readme.md 
b/www-client/torbrowser/files/Readme.md
deleted file mode 100644
index 9227583..0000000
--- a/www-client/torbrowser/files/Readme.md
+++ /dev/null
@@ -1,20 +0,0 @@
-# Advanced torbutton functionality
-
-To get the advanced functionality of Torbutton (network information,
-new identity feature), `www-client/torbrowser` needs to access a control port.
-
-![Tor Onion Menu 
](https://people.torproject.org/~mikeperry/images/OnionMenu.jpg)
-
-* If you use `www-client/torbrowser`, you need to **adjust and export** the 
environment variables from
-  
[99torbrowser.example](https://github.com/MeisterP/torbrowser-overlay/blob/master/www-client/torbrowser/files/99torbrowser.example).
-  You can do this either with gentoo's `/etc/env.d`
-  
[mechanism](https://wiki.gentoo.org/wiki/Handbook:X86/Working/EnvVar#Defining_variables_globally)
-  or on the command line.
-
-  _Tor Network Settings_ and _Check for Tor Browser Update_ functionality is 
not working with the `www-client/torbrowser`.
-
-* If you use `www-client/torbrowser-launcher`, make sure that the environment 
variables from
-  
[99torbrowser.example](https://github.com/MeisterP/torbrowser-overlay/blob/master/www-client/torbrowser/files/99torbrowser.example)
-  are **unset** and that you **don't** have the system wide tor running on 
port `9150`.
-
-  With `www-client/torbrowser-launcher`, all menu entries are available and 
working.

diff --git a/www-client/torbrowser/files/profile.cfg 
b/www-client/torbrowser/files/profile.cfg
deleted file mode 100644
index d14309a..0000000
--- a/www-client/torbrowser/files/profile.cfg
+++ /dev/null
@@ -1,42 +0,0 @@
-//
-const {classes: Cc, interfaces: Ci, utils: Cu} = Components;
-Cu.import("resource://gre/modules/Services.jsm");
-Cu.import("resource://gre/modules/FileUtils.jsm");
-
-var profileDir = Services.dirsvc.get("ProfD", Ci.nsIFile);
-var certDBFile = profileDir.clone();
-certDBFile.append("cert8.db")
-// If cert8.db isn't there, it's a new profile
-if (!certDBFile.exists()) {
-  var defaultProfileDir = Services.dirsvc.get("GreD", Ci.nsIFile);
-  defaultProfileDir.append("defaults");
-  defaultProfileDir.append("profile");
-  try {
-    copyDir(defaultProfileDir, profileDir);
-  } catch (e) {
-    Components.utils.reportError(e);
-  }
-}
- 
-function copyDir(aOriginal, aDestination) {
-  var enumerator = aOriginal.directoryEntries;
-  while (enumerator.hasMoreElements()) {
-    var file = 
enumerator.getNext().QueryInterface(Components.interfaces.nsIFile);
-    if (file.isDirectory()) {
-      var subdir = aDestination.clone();
-      subdir.append(file.leafName);
-      try {
-        subdir.create(Ci.nsIFile.DIRECTORY_TYPE, FileUtils.PERMS_DIRECTORY);
-        copyDir(file, subdir);
-      } catch (e) {
-        Components.utils.reportError(e);
-      }
-    } else {
-      try {
-        file.copyTo(aDestination, null);
-      } catch (e) {
-        Components.utils.reportError(e);
-      }
-    }
-  }
-}

diff --git a/www-client/torbrowser/files/torbrowser-lto.patch 
b/www-client/torbrowser/files/torbrowser-lto.patch
new file mode 100644
index 0000000..2db67db
--- /dev/null
+++ b/www-client/torbrowser/files/torbrowser-lto.patch
@@ -0,0 +1,32 @@
+--- a/security/sandbox/linux/moz.build
++++ b/security/sandbox/linux/moz.build
+@@ -102,7 +102,12 @@ if CONFIG['CC_TYPE'] in ('clang', 'gcc')
+ # gcc lto likes to put the top level asm in syscall.cc in a different 
partition
+ # from the function using it which breaks the build.  Work around that by
+ # forcing there to be only one partition.
+-if '-flto' in CONFIG['OS_CXXFLAGS'] and CONFIG['CC_TYPE'] != 'clang':
++lto=False
++for f in CONFIG['OS_CXXFLAGS']:
++    if f.startswith('-flto'):
++        lto=True
++        break
++if lto and CONFIG['CC_TYPE'] != 'clang':
+     LDFLAGS += ['--lto-partition=one']
+ 
+ if CONFIG['MOZ_ALSA']:
+--- a/build/unix/elfhack/moz.build
++++ b/build/unix/elfhack/moz.build
+@@ -14,7 +14,12 @@ if not CONFIG['CROSS_COMPILE']:
+         'test-ctors.c',
+     ]
+ 
+-    if '-flto' in CONFIG['OS_CFLAGS']:
++    lto=False
++    for f in CONFIG['OS_CFLAGS']:
++        if f.startswith('-flto'):
++            lto=True
++            break
++    if lto:
+         SOURCES['test-array.c'].flags += ['-fno-lto']
+         SOURCES['test-ctors.c'].flags += ['-fno-lto']
+ 

diff --git a/www-client/torbrowser/files/torbrowser-profiledir.patch 
b/www-client/torbrowser/files/torbrowser-profiledir.patch
new file mode 100644
index 0000000..bec2495
--- /dev/null
+++ b/www-client/torbrowser/files/torbrowser-profiledir.patch
@@ -0,0 +1,44 @@
+--- a/xpcom/io/TorFileUtils.cpp
++++ b/xpcom/io/TorFileUtils.cpp
+@@ -81,7 +81,7 @@
+   }
+ #endif
+ 
+-#elif defined(ANDROID)
++#elif defined(ANDROID) || defined(TOR_BROWSER_DATA_IN_HOME_DIR)
+   // Orfox stores data in the app home directory.
+   const char* homeDir = getenv("HOME");
+   if (!homeDir || !*homeDir)
+--- a/toolkit/xre/nsXREDirProvider.cpp
++++ b/toolkit/xre/nsXREDirProvider.cpp
+@@ -1283,6 +1283,9 @@
+ #if !defined(ANDROID)
+ #ifdef TOR_BROWSER_DATA_OUTSIDE_APP_DIR
+   rv = localDir->AppendNative(NS_LITERAL_CSTRING("Browser"));
++#elif defined(TOR_BROWSER_DATA_IN_HOME_DIR)
++  rv = localDir->AppendRelativeNativePath(NS_LITERAL_CSTRING(MOZ_USER_DIR
++                                        XPCOM_FILE_PATH_SEPARATOR 
"torbrowser"));
+ #else
+   rv = localDir->AppendRelativeNativePath(NS_LITERAL_CSTRING("Data"
+                                      XPCOM_FILE_PATH_SEPARATOR "Browser"));
+@@ -1291,7 +1294,20 @@
+ #endif
+ 
+   if (aLocal) {
++#ifndef TOR_BROWSER_DATA_IN_HOME_DIR
+     rv = localDir->AppendNative(NS_LITERAL_CSTRING("Caches"));
++#else
++    const char* cacheHome = getenv("XDG_CACHE_HOME");
++    if (cacheHome && *cacheHome) {
++      rv = NS_NewNativeLocalFile(nsDependentCString(cacheHome), true,
++                                 getter_AddRefs(localDir));
++    } else {
++      rv = NS_NewNativeLocalFile(nsDependentCString(PR_GetEnv("HOME")), true,
++                                 getter_AddRefs(localDir));
++      rv = localDir->AppendRelativeNativePath(NS_LITERAL_CSTRING(".cache"));
++    }
++    rv = localDir->AppendRelativeNativePath(NS_LITERAL_CSTRING("torbrowser"));
++#endif
+     NS_ENSURE_SUCCESS(rv, rv);
+   }
+ 

diff --git a/www-client/torbrowser/files/torbrowser-rust_missing_docs.patch 
b/www-client/torbrowser/files/torbrowser-rust_missing_docs.patch
new file mode 100644
index 0000000..6b38618
--- /dev/null
+++ b/www-client/torbrowser/files/torbrowser-rust_missing_docs.patch
@@ -0,0 +1,21 @@
+--- a/servo/components/style_traits/lib.rs
++++ b/servo/components/style_traits/lib.rs
+@@ -9,7 +9,7 @@
+ #![crate_name = "style_traits"]
+ #![crate_type = "rlib"]
+ 
+-#![deny(unsafe_code, missing_docs)]
++#![deny(unsafe_code)]
+ 
+ extern crate app_units;
+ #[macro_use] extern crate bitflags;
+--- a/servo/components/style/lib.rs
++++ b/servo/components/style/lib.rs
+@@ -23,7 +23,6 @@
+ //! [cssparser]: ../cssparser/index.html
+ //! [selectors]: ../selectors/index.html
+ 
+-#![deny(missing_docs)]
+ 
+ extern crate app_units;
+ extern crate arrayvec;

diff --git a/www-client/torbrowser/metadata.xml 
b/www-client/torbrowser/metadata.xml
index 86934b2..6c81206 100644
--- a/www-client/torbrowser/metadata.xml
+++ b/www-client/torbrowser/metadata.xml
@@ -1,28 +1,26 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
 <pkgmetadata>
-<maintainer type="person">
-       <email>pon...@spahan.ch</email>
-       <name>Poncho</name>
-</maintainer>
-<use>
-       <flag name="custom-optimization">Build with user-specified compiler 
optimizations
-               (-Os, -O0, -O1, -O2, -O3) from CFLAGS (unsupported)</flag>
-       <flag name="gtk2">Use the cairo-gtk2 rendering engine</flag>
-       <flag name="jemalloc">Enable or disable jemalloc</flag>
-       <flag name="system-cairo">Use the system-wide <pkg>x11-libs/cairo</pkg>
-               instead of bundled.</flag>
-       <flag name="system-harfbuzz">Use the system-wide 
<pkg>media-libs/harfbuzz</pkg>
-               and <pkg>media-gfx/graphite2</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-libevent">Use the system-wide 
<pkg>dev-libs/libevent</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>
+       <maintainer type="person">
+               <email>4ny...@gmail.com</email>
+       </maintainer>
+       <use>
+               <flag name="clang">Use Clang compiler instead of GCC</flag>
+               <flag name="custom-optimization">Fine-tune custom compiler
+                       optimizations (-Os, -O0, -O1, -O2, -O3)</flag>
+               <flag name="hwaccel">Use hardware-accelerated rendering</flag>
+               <flag name="screenshot">Allow to disable screenshot extension 
in global profile</flag>
+               <flag name="system-harfbuzz">Use the system-wide 
<pkg>media-libs/harfbuzz</pkg>
+                       and <pkg>media-gfx/graphite2</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-libevent">Use the system-wide 
<pkg>dev-libs/libevent</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-52.8.1_p756.ebuild 
b/www-client/torbrowser/torbrowser-52.8.1_p756.ebuild
deleted file mode 100644
index 80a8947..0000000
--- a/www-client/torbrowser/torbrowser-52.8.1_p756.ebuild
+++ /dev/null
@@ -1,311 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-WANT_AUTOCONF="2.1"
-MOZ_ESR=1
-
-if [[ ${MOZ_ESR} == 1 ]]; then
-       # ESR releases have slightly different version numbers
-       MOZ_PV="${PV/_p*}esr"
-fi
-
-# see 
https://gitweb.torproject.org/builders/tor-browser-build.git/tree/projects/firefox/config?h=maint-7.5#n4
-TOR_PV="7.5.6"
-EGIT_COMMIT="tor-browser-${MOZ_PV}-${TOR_PV%.*}-1-build1"
-
-# Patch version
-PATCH="${PN}-52.8-patches-01"
-
-MOZCONFIG_OPTIONAL_GTK2ONLY=1
-MOZCONFIG_OPTIONAL_WIFI=1
-
-inherit git-r3 check-reqs flag-o-matic toolchain-funcs eutils gnome2-utils 
mozconfig-v6.52 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"
-
-EGIT_REPO_URI="https://git.torproject.org/tor-browser.git";
-EGIT_CLONE_TYPE="shallow"
-BASE_SRC_URI="https://dist.torproject.org/${PN}/${TOR_PV}";
-ARCHIVE_SRC_URI="https://archive.torproject.org/tor-package-archive/${PN}/${TOR_PV}";
-PATCH_URIS=( 
https://dev.gentoo.org/~{anarchy,axs,polynomial-c}/mozilla/patchsets/${PATCH}.tar.xz
 )
-
-SRC_URI="${SRC_URI}
-       x86? ( ${BASE_SRC_URI}/tor-browser-linux32-${TOR_PV}_en-US.tar.xz
-               ${ARCHIVE_SRC_URI}/tor-browser-linux32-${TOR_PV}_en-US.tar.xz )
-       amd64? ( ${BASE_SRC_URI}/tor-browser-linux64-${TOR_PV}_en-US.tar.xz
-               ${ARCHIVE_SRC_URI}/tor-browser-linux64-${TOR_PV}_en-US.tar.xz )
-       ${PATCH_URIS[@]}"
-
-ASM_DEPEND=">=dev-lang/yasm-1.1"
-
-RDEPEND="
-       >=dev-libs/nspr-4.19
-       !!<=www-client/torbrowser-45.5.1_p607"
-
-DEPEND="${RDEPEND}
-       ${ASM_DEPEND}
-       virtual/opengl"
-
-QA_PRESTRIPPED="usr/lib*/${PN}/torbrowser"
-
-BUILD_OBJ_DIR="${S}/torsecure"
-
-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
-}
-
-src_unpack() {
-       unpack ${A}
-       git-r3_src_unpack
-}
-
-src_prepare() {
-       # Apply gentoo firefox patches
-       eapply "${WORKDIR}/${PN}"
-
-       # Allow user to apply any additional patches without modifing ebuild
-       eapply_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
-
-       # Keep codebase the same even if not using official branding
-       sed '/^MOZ_DEV_EDITION=1/d' \
-               -i "${S}"/browser/branding/aurora/configure.sh || die
-
-       # Allow user to apply any additional patches without modifing ebuild
-       eapply_user
-
-       # Autotools configure is now called old-configure.in
-       # This works because there is still a configure.in that happens to be 
for the
-       # shell wrapper configure script
-       eautoreconf old-configure.in
-
-       # Must run autoconf in js/src
-       cd "${S}"/js/src || die
-       eautoconf old-configure.in
-
-       # Need to update jemalloc's configure
-       cd "${S}"/memory/jemalloc/src || die
-       WANT_AUTOCONF= eautoconf
-}
-
-src_configure() {
-       MEXTENSIONS="default"
-
-       mozconfig_init
-       mozconfig_config
-
-       # Add full relro support for hardened
-       use hardened && append-ldflags "-Wl,-z,relro,-z,now"
-
-       mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
-
-       # Rename the install directory and the executable
-       mozconfig_annotate 'torbrowser' --with-app-name=torbrowser
-       mozconfig_annotate 'torbrowser' --with-app-basename=torbrowser
-       # see 
https://gitweb.torproject.org/tor-browser.git/tree/old-configure.in?h=tor-browser-52.6.0esr-7.5-2#n3917
-       mozconfig_annotate 'torbrowser' --with-tor-browser-version=${TOR_PV}
-       mozconfig_annotate 'torbrowser' --disable-tor-browser-update
-
-       # torbrowser uses a patched nss library
-       # see 
https://gitweb.torproject.org/tor-browser.git/log/security/nss?h=tor-browser-52.6.0esr-7.5-2
-       mozconfig_annotate 'torbrowser' --without-system-nspr
-       mozconfig_annotate 'torbrowser' --without-system-nss
-
-       echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig
-       echo "mk_add_options XARGS=/usr/bin/xargs" >> "${S}"/.mozconfig
-
-       # Finalize and report settings
-       mozconfig_final
-
-       # workaround for funky/broken upstream configure...
-       SHELL="${SHELL:-${EPREFIX%/}/bin/bash}" \
-       emake -f client.mk configure
-}
-
-src_compile() {
-       MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX%/}/bin/bash}" \
-       emake -f client.mk realbuild
-}
-
-src_install() {
-       cd "${BUILD_OBJ_DIR}" || die
-
-       # Pax mark xpcshell for hardened support, only used for startupcache 
creation.
-       pax-mark m "${BUILD_OBJ_DIR}"/dist/bin/xpcshell
-
-       # see: 
https://gitweb.torproject.org/builders/tor-browser-build.git/tree/projects/tor-browser/build?h=maint-7.5#n23
-       touch 
"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/extension-overrides.js" 
\
-               || die
-
-       # see: 
https://gitweb.torproject.org/builders/tor-browser-build.git/tree/projects/tor-browser/build?h=maint-7.5#n158
-       echo "pref(\"extensions.torlauncher.prompt_for_locale\", \"false\");" \
-               >> 
"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/extension-overrides.js" 
\
-               || die
-
-       echo "pref(\"intl.locale.matchOS\", \"false\");" \
-               >> 
"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/extension-overrides.js" 
\
-               || die
-
-       # see: 
https://gitweb.torproject.org/builders/tor-browser-build.git/tree/projects/tor-browser/build?h=maint-7.5#n196
-       echo "pref(\"general.useragent.locale\", \"en-US\");" \
-               >> 
"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/000-tor-browser.js" \
-               || die
-
-       # Reenable defaults/profile functionality
-       # see: https://bugzilla.mozilla.org/show_bug.cgi?id=1234012
-       # see: 
https://mike.kaply.com/2016/05/24/default-profile-directory-doesnt-work-in-firefox-46/
-       echo "pref(\"general.config.filename\", \"profile.cfg\");" \
-               >> 
"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/000-tor-browser.js" \
-               || die
-
-       echo "pref(\"general.config.obscure_value\", 0);" \
-               >> 
"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/000-tor-browser.js" \
-               || die
-
-       insinto ${MOZILLA_FIVE_HOME}
-       doins "${FILESDIR}/profile.cfg"
-
-       MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX%/}/bin/bash}" \
-       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} "Tor Browser" ${PN} "Network;WebBrowser" 
"StartupWMClass=Torbrowser"
-
-       # 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}/{torbrowser,torbrowser-bin,plugin-container}
-
-       # 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"
-
-       insinto ${MOZILLA_FIVE_HOME}/defaults/profile
-       doins -r "${profile_dir}"/{extensions,preferences,bookmarks.html}
-
-       # see: 
https://gitweb.torproject.org/builders/tor-browser-bundle.git/tree/RelativeLink/start-tor-browser#n301
-       dodoc "${FILESDIR}/README.tor-launcher"
-       dodoc 
"${WORKDIR}/tor-browser_en-US/Browser/TorBrowser/Docs/ChangeLog.txt"
-
-       # see: https://trac.torproject.org/projects/tor/ticket/11751#comment:2
-       # see: 
https://github.com/Whonix/anon-ws-disable-stacked-tor/blob/master/usr/lib/anon-ws-disable-stacked-tor/torbrowser.sh
-       dodoc "${FILESDIR}/99torbrowser.example"
-}
-
-pkg_preinst() {
-       gnome2_icon_savelist
-
-       # if the apulse libs are available in MOZILLA_FIVE_HOME then apulse
-       # doesn't need to be forced into the LD_LIBRARY_PATH
-       if use pulseaudio && has_version ">=media-sound/apulse-0.1.9" ; then
-               einfo "APULSE found - Generating library symlinks for sound 
support"
-               local lib
-               pushd "${ED}"${MOZILLA_FIVE_HOME} &>/dev/null || die
-               for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
-                       # a quickpkg rolled by hand will grab symlinks as part 
of the package,
-                       # so we need to avoid creating them if they already 
exist.
-                       if ! [ -L ${lib##*/} ]; then
-                               ln -s "${lib}" ${lib##*/} || die
-                       fi
-               done
-               popd &>/dev/null || die
-       fi
-}
-
-pkg_postinst() {
-       gnome2_icon_cache_update
-
-       if use pulseaudio && has_version ">=media-sound/apulse-0.1.9" ; then
-               elog "Apulse was detected at merge time on this system and so 
it will always be"
-               elog "used for sound.  If you wish to use pulseaudio instead 
please unmerge"
-               elog "media-sound/apulse."
-       fi
-
-       if [[ -z ${REPLACING_VERSIONS} ]]; then
-               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!"
-               elog "Torbrowser uses port 9150 to connect to Tor. You can 
change the port"
-               elog "in the connection settings to match your setup."
-               elog ""
-               elog "To get the advanced functionality of Torbutton (network 
information,"
-               elog "new identity), Torbrowser needs to access a control port."
-               elog "See 99torbrowser.example in /usr/share/doc/${PF} and"
-               elog 
"https://github.com/MeisterP/torbrowser-overlay/blob/master/Readme.md";
-               elog "for further information."
-       fi
-}
-
-pkg_postrm() {
-       gnome2_icon_cache_update
-}

diff --git a/www-client/torbrowser/torbrowser-60.6.1.8.0.8.1.1.ebuild 
b/www-client/torbrowser/torbrowser-60.6.1.8.0.8.1.1.ebuild
new file mode 100644
index 0000000..9034134
--- /dev/null
+++ b/www-client/torbrowser/torbrowser-60.6.1.8.0.8.1.1.ebuild
@@ -0,0 +1,368 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+WANT_AUTOCONF="2.1"
+
+PYTHON_COMPAT=( python3_{5,6,7} )
+PYTHON_REQ_USE='ncurses,sqlite,ssl,threads(+)'
+MOZCONFIG_OPTIONAL_WIFI=1
+
+LLVM_MAX_SLOT=8
+
+inherit check-reqs flag-o-matic toolchain-funcs eutils gnome2-utils llvm \
+               mozconfig-v6.${PV%%.*} pax-utils xdg-utils autotools
+inherit eapi7-ver
+
+MOZ_PV="$(ver_cut 1-3)esr"
+# https://dist.torproject.org/torbrowser
+TOR_PV="$(ver_cut 4-6)"
+if [[ -z ${PV%%*_alpha} ]]; then
+       TOR_PV="$(ver_rs 2 a ${TOR_PV})"
+else
+       KEYWORDS="~amd64 ~x86"
+fi
+TOR_PV="${TOR_PV%.0}"
+# https://gitweb.torproject.org/tor-browser.git/refs/tags
+GIT_TAG="$(ver_cut 4-5)-$(ver_cut 7-8)"
+GIT_TAG="tor-browser-${MOZ_PV}-$(ver_rs 3 '-build' ${GIT_TAG})"
+
+DESCRIPTION="The Tor Browser"
+HOMEPAGE="
+https://www.torproject.org/projects/torbrowser.html
+https://gitweb.torproject.org/tor-browser.git
+"
+
+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 hwaccel jack -screenshot selinux test"
+
+SRC_URI="mirror://tor/dist/${PN}/${TOR_PV}"
+PATCH="firefox-${PV%%.*}.6-patches-01"
+PATCH=( 
https://dev.gentoo.org/~{anarchy,axs,polynomial-c}/mozilla/patchsets/${PATCH}.tar.xz
 )
+SRC_URI="
+       https://gitweb.torproject.org/tor-browser.git/snapshot/${GIT_TAG}.tar.gz
+       -> ${GIT_TAG}.tar.gz
+       x86? (
+               ${SRC_URI}/tor-browser-linux32-${TOR_PV}_en-US.tar.xz
+       )
+       amd64? (
+               ${SRC_URI}/tor-browser-linux64-${TOR_PV}_en-US.tar.xz
+       )
+       ${PATCH[@]}
+"
+RESTRICT="primaryuri"
+
+RDEPEND="
+       system-icu? ( >=dev-libs/icu-60.2 )
+       jack? ( virtual/jack )
+       selinux? ( sec-policy/selinux-mozilla )
+"
+DEPEND="
+       ${RDEPEND}
+       >=sys-devel/llvm-4.0.1
+       >=sys-devel/clang-4.0.1
+       >=dev-lang/yasm-1.1
+       virtual/opengl
+"
+RDEPEND="
+       ${RDEPEND}
+       >=net-vpn/tor-0.3.3.9
+"
+
+S="${WORKDIR}/${GIT_TAG}"
+
+QA_PRESTRIPPED="usr/lib*/${PN}/${PN}/${PN}"
+
+BUILD_OBJ_DIR="${WORKDIR}/tb"
+
+llvm_check_deps() {
+       if ! has_version "sys-devel/clang:${LLVM_SLOT}" ; then
+               ewarn "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM 
slot ${LLVM_SLOT} ..."
+               return 1
+       fi
+
+       if use clang ; then
+               if ! has_version "=sys-devel/lld-${LLVM_SLOT}*" ; then
+                       ewarn "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot 
use LLVM slot ${LLVM_SLOT} ..."
+                       return 1
+               fi
+       fi
+
+       einfo "Will use LLVM slot ${LLVM_SLOT}!"
+}
+
+pkg_setup() {
+       moz_pkgsetup
+
+       # Avoid PGO profiling problems due to enviroment leakage
+       # These should *always* be cleaned up anyway
+       unset DBUS_SESSION_BUS_ADDRESS \
+               DISPLAY \
+               ORBIT_SOCKETDIR \
+               SESSION_MANAGER \
+               XDG_SESSION_COOKIE \
+               XAUTHORITY
+
+       append-cppflags "-DTOR_BROWSER_DATA_IN_HOME_DIR"
+       MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}/${PN}"
+
+       addpredict /proc/self/oom_score_adj
+
+       llvm_pkg_setup
+}
+
+pkg_pretend() {
+       # Ensure we have enough disk space to compile
+       CHECKREQS_DISK_BUILD="4G"
+
+       check-reqs_pkg_setup
+}
+
+src_prepare() {
+       local PATCHES=(
+               "${WORKDIR}"/firefox
+               "${FILESDIR}"/${PN}-profiledir.patch
+               "${FILESDIR}"/${PN}-lto.patch
+               "${FILESDIR}"/${PN}-rust_missing_docs.patch
+       )
+
+       sed \
+               -e '/Unknown option: %s/ s:raise InvalidOptionError:print:' \
+               -i python/mozbuild/mozbuild/configure/__init__.py
+
+       # 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
+
+       # Keep codebase the same even if not using official branding
+       sed '/^MOZ_DEV_EDITION=1/d' \
+               -i "${S}"/browser/branding/aurora/configure.sh || die
+
+       default
+
+       # Autotools configure is now called old-configure.in
+       # This works because there is still a configure.in that happens to be 
for the
+       # shell wrapper configure script
+       eautoreconf old-configure.in
+
+       # Must run autoconf in js/src
+       cd "${S}"/js/src || die
+       eautoconf old-configure.in
+}
+
+src_configure() {
+       MEXTENSIONS="default"
+
+       # Add information about TERM to output (build.log) to aid debugging
+       # blessings problems
+       if [[ -n "${TERM}" ]] ; then
+               einfo "TERM is set to: \"${TERM}\""
+       else
+               einfo "TERM is unset."
+       fi
+
+       ####################################
+       #
+       # mozconfig, CFLAGS and CXXFLAGS setup
+       #
+       ####################################
+
+       mozconfig_init
+       mozconfig_config
+
+       # enable JACK, bug 600002
+       mozconfig_use_enable jack
+
+       # Add full relro support for hardened
+       if use hardened; then
+               append-ldflags "-Wl,-z,relro,-z,now"
+               mozconfig_use_enable hardened hardening
+       fi
+
+       # Disable built-in ccache support to avoid sandbox violation, #665420
+       # Use FEATURES=ccache instead!
+       mozconfig_annotate '' --without-ccache
+       sed -i -e 's/ccache_stats = None/return None/' \
+               python/mozbuild/mozbuild/controller/building.py || \
+               die "Failed to disable ccache stats call"
+
+       mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
+
+       # allow elfhack to work in combination with unstripped binaries
+       # when they would normally be larger than 2GiB.
+       append-ldflags "-Wl,--compress-debug-sections=zlib"
+
+       if use clang ; then
+               # https://bugzilla.mozilla.org/show_bug.cgi?id=1423822
+               mozconfig_annotate 'elf-hack is broken when using Clang' 
--disable-elf-hack
+       fi
+
+       echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig
+       echo "mk_add_options XARGS=/usr/bin/xargs" >> "${S}"/.mozconfig
+
+       # Default mozilla_five_home no longer valid option
+       sed '/with-default-mozilla-five-home=/d' -i "${S}"/.mozconfig
+       # Rename the install directory and the executable
+       mozconfig_annotate 'torbrowser' 
--libdir="${EPREFIX}"/usr/$(get_libdir)/${PN}
+       mozconfig_annotate 'torbrowser' --with-app-name=${PN}
+       mozconfig_annotate 'torbrowser' --with-app-basename=${PN}
+       mozconfig_annotate 'torbrowser' --disable-tor-browser-update
+       mozconfig_annotate 'torbrowser' --with-tor-browser-version=${TOR_PV}
+       mozconfig_annotate 'torbrowser' 
--disable-tor-browser-data-outside-app-dir
+       mozconfig_annotate 'torbrowser' 
--with-branding=browser/branding/official
+       mozconfig_annotate 'torbrowser' --disable-maintenance-service
+       mozconfig_annotate 'torbrowser' --disable-webrtc
+       mozconfig_annotate 'torbrowser' --disable-eme
+
+       mozconfig_annotate 'torbrowser' --without-system-nspr
+       mozconfig_annotate 'torbrowser' --without-system-nss
+
+       # Finalize and report settings
+       mozconfig_final
+
+       # workaround for funky/broken upstream configure...
+       SHELL="${SHELL:-${EPREFIX}/bin/bash}" MOZ_NOSPAM=1 \
+       ./mach configure || die
+}
+
+src_compile() {
+       MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" 
MOZ_NOSPAM=1 \
+       BUILD_VERBOSE_LOG=1 \
+       ./mach build --verbose || die
+}
+
+src_install() {
+       local 
profile_dir="${WORKDIR}/tor-browser_en-US/Browser/TorBrowser/Data/Browser/profile.default"
+       cd "${BUILD_OBJ_DIR}" || die
+
+       cat "${profile_dir}"/bookmarks.html > \
+               dist/bin/browser/chrome/en-US/locale/browser/bookmarks.html
+
+       # Pax mark xpcshell for hardened support, only used for startupcache 
creation.
+       pax-mark m "${BUILD_OBJ_DIR}"/dist/bin/xpcshell
+
+       touch 
"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
+               || die
+
+       mozconfig_install_prefs \
+               
"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js"
+
+       # Augment this with hwaccel prefs
+       if use hwaccel ; then
+               printf 'pref("%s", true);\npref("%s", true);\n' \
+               layers.acceleration.force-enabled webgl.force-enabled >> \
+               
"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
+               || die
+       fi
+
+       if ! use screenshot; then
+               echo "pref(\"extensions.screenshots.disabled\", true);" >> \
+                       
"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
+                       || die
+       fi
+
+       sed -e '/extensions\.autoDisableScopes/s:\<0\>:3:' \
+               -i 
"${BUILD_OBJ_DIR}"/dist/bin/browser/defaults/preferences/000-tor-browser.js \
+               || die
+
+       cd "${S}"
+       MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" 
MOZ_NOSPAM=1 \
+       DESTDIR="${D}" ./mach install || die
+
+       # Install icons and .desktop for menu entry
+       local size icon_path
+       icon_path="${S}/browser/branding/official"
+       for size in 16 32 48 64 128 256; do
+               newicon -s ${size} "${icon_path}/default${size}.png" ${PN}.png
+       done
+       make_desktop_entry ${PN} "Tor Browser" ${PN} "Network;WebBrowser" 
"StartupWMClass=Torbrowser"
+
+       # 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}/{${PN},${PN}-bin,plugin-container}
+
+       # Profile without the tor-launcher extension
+       # see: https://trac.torproject.org/projects/tor/ticket/10160
+
+       rm "${profile_dir}/extensions/tor-launc...@torproject.org.xpi" || die \
+               "Failed to remove torlauncher extension"
+
+       insinto ${MOZILLA_FIVE_HOME}/browser
+       doins -r "${profile_dir}"/extensions
+
+       dodoc 
"${WORKDIR}/tor-browser_en-US/Browser/TorBrowser/Docs/ChangeLog.txt"
+}
+
+pkg_preinst() {
+       gnome2_icon_savelist
+
+       # if the apulse libs are available in MOZILLA_FIVE_HOME then apulse
+       # doesn't need to be forced into the LD_LIBRARY_PATH
+       if use pulseaudio && has_version ">=media-sound/apulse-0.1.9" ; then
+               einfo "APULSE found - Generating library symlinks for sound 
support"
+               local lib
+               pushd "${ED}"${MOZILLA_FIVE_HOME} &>/dev/null || die
+               for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
+                       # a quickpkg rolled by hand will grab symlinks as part 
of the package,
+                       # so we need to avoid creating them if they already 
exist.
+                       if ! [ -L ${lib##*/} ]; then
+                               ln -s "${lib}" ${lib##*/} || die
+                       fi
+               done
+               popd &>/dev/null || die
+       fi
+}
+
+pkg_postinst() {
+       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!"
+       elog "Torbrowser uses port 9150 to connect to Tor. You can change the 
port"
+       elog "in the connection settings to match your setup."
+
+       gnome2_icon_cache_update
+       xdg_desktop_database_update
+
+       if use pulseaudio && has_version ">=media-sound/apulse-0.1.9"; then
+               elog "Apulse was detected at merge time on this system and so 
it will always be"
+               elog "used for sound.  If you wish to use pulseaudio instead 
please unmerge"
+               elog "media-sound/apulse."
+               elog
+       fi
+}
+
+pkg_postrm() {
+       gnome2_icon_cache_update
+       xdg_desktop_database_update
+}

Reply via email to