Git Product home page Git Product logo

torbrowser-overlay's Introduction

torbrowser-overlay gentoo qa-reports pipeline status

To add the torbrowser overlay, run layman -a torbrowser or eselect repository enable torbrowser.

Install either www-client/torbrowser-launcher or www-client/torbrowser. If unsure, choose www-client/torbrowser-launcher.

Tor Browser Overview

www-client/torbrowser-launcher

Homepage

Tor Browser Launcher is intended to make Tor Browser easier to install and use for GNU/Linux users. You install 'torbrowser-launcher' from your distribution's package manager and it handles everything else:

  • Downloads and installs the most recent version of Tor Browser in your language and for your computer's architecture, or launches Tor Browser if it's already installed (Tor Browser will automatically update itself)
  • Certificate pins to https://www.torproject.org, so it doesn't rely on certificate authorities
  • Verifies Tor Browser's signature for you, to ensure the version you downloaded was cryptographically signed by Tor developers and was not tampered with
  • Adds "Tor Browser" and "Tor Browser Launcher Settings" application launcher to your desktop environment's menu
  • Optionally plays a modem sound when you open Tor Browser (because Tor is so slow)

www-client/torbrowser

Git repository

This Tor Browser build is not recommended by Tor upstream but uses the same sources. Use this only if you know what you are doing!

The profile folder is located at ~/.torproject/torbrowser/.

Torbrowser uses port 9150 to connect to Tor. You can change the port in /etc/env.d/99torbrowser to match your setup. See 99torbrowser.example for possible settings. You can do this either with gentoo's /etc/env.d mechanism or on the command line.

Advanced functionality

To get the advanced functionality (network information, new identity feature, password prompts for onion services), www-client/torbrowser needs to access a control port and the tor service needs to run with certain options enabled.

Tor Onion Menu

  • If you use www-client/torbrowser, you need to adjust and export the environment variables from 99torbrowser.example. You can do this either in /etc/env.d/99torbrowser with gentoo's /etc/env.d mechanism or on the command line.

  • If you use www-client/torbrowser-launcher, make sure that the environment variables in /etc/env.d/99torbrowser are unset and that you don't have the system wide tor running on port 9150.

  • For Onion Service Authentication to work, you need to enable ExtendedErrors for the tor servic. See torrc.example . for possible settings.

Tor Hidden Service

A hidden service of this repository is available at wmj5kiic7b6kjplpbvwadnht2nh2qnkbnqtcv3dyvpqtz7ssbssftxid.onion

git -c http.proxy=socks5h://127.0.0.1:9050 clone http://wmj5kiic7b6kjplpbvwadnht2nh2qnkbnqtcv3dyvpqtz7ssbssftxid.onion/poncho/torbrowser-overlay.git
cd torbrowser-overlay
git config --add remote.origin.proxy "socks5h://127.0.0.1:9050"

torbrowser-overlay's People

Contributors

bircoph avatar hasufell avatar meisterp avatar miezhiko avatar vladimir-lu avatar wax303 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

torbrowser-overlay's Issues

www-client/torbrowser-launcher-0.3.0: No ebuild to satisfy app-crypt/gpgme useflags

app-crypt/gpgme doesn't use PYTHON_SINGLE_TARGET. So, I get:

emerge: there are no ebuilds to satisfy "app-crypt/gpgme[python,python_targets_python3_4(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_7(-),python_single_target_python3_4(+)?,python_single_target_python3_5(+)?,python_single_target_python3_6(+)?]".
(dependency required by "www-client/torbrowser-launcher-0.3.0::torbrowser" [ebuild])
(dependency required by "=www-client/torbrowser-launcher-0.3.0" [argument])

I think the difference is that previous versions didn't require app-crypt/gpgme[python], and then the PYTHON_USEDEP directive was ignored I guess.

/usr/bin/torbrowser not POSIX compliant

Hello,
The torbrowser script uses /bin/sh (https://github.com/MeisterP/torbrowser-overlay/blob/master/www-client/torbrowser/torbrowser-102.6.0_p12001.ebuild#L739) but it not POSIX compliant. If you use a POSIX shell, the if condition gives an error.

Using dash:

$ /usr/bin/torbrowser 
/usr/bin/torbrowser: 9: [[: not found

This is because of the double square brackets [; to fix it you can just put a single [ , such as :

if true && [ -z ${MOZ_DISABLE_WAYLAND} ]; then
if [ -n "${WAYLAND_DISPLAY}" ]; then
export MOZ_ENABLE_WAYLAND=1
fi
fi

Another option is to use #!/bin/bash

torbrowser-launcher should depend on dev-libs/dbus-glib

Without dev-libs/dbus-glib installed, Tor Browser 9.5.4 run from torbrowser-launcher 0.3.2 exits with the following error:

write(2, "XPCOMGlueLoad error for file /home/creideiki/.local/share/torbrowser/tbb/x86_64/tor-browser_en-US/Browser/libxul.so:\nlibdbus-glib-1.so.2: cannot open shared object file: No such file or directory\n", 196) = 196
[...]
write(2, "Couldn't load XPCOM.\n", 21)  = 21

After emerging dev-libs/dbus-glib-0.110, Tor Browser starts successfully.

Please add a dependency on dev-libs/dbus-glib.

Update patch version

firefox-52.5-patches-01 is not compiling:

In file included from www-client/torbrowser-52.5.2_p7011/work/torbrowser-52.5.2_p7011/ff/gfx/thebes/Unified_cpp_gfx_thebes0.cpp:65:0:
www-client/torbrowser-52.5.2_p7011/work/torbrowser-52.5.2_p7011/gfx/thebes/gfxFont.cpp:2626:29: error: 'mozilla::gfx::ShapedTextFlags' has not been declared
                        gfx::ShapedTextFlags aFlags,
                             ^~~~~~~~~~~~~~~
www-client/torbrowser-52.5.2_p7011/work/torbrowser-52.5.2_p7011/gfx/thebes/gfxFont.cpp:2627:24: error: 'RoundingFlags' has not been declared
                        RoundingFlags aRounding,
                        ^~~~~~~~~~~~~
www-client/torbrowser-52.5.2_p7011/work/torbrowser-52.5.2_p7011/gfx/thebes/gfxFont.cpp:2619:1: error: template-id 'GetShapedWord<>' for 'gfxShapedWord* gfxFont::GetShapedWord(gfxFont::DrawTarget*, const uint8_t*, uint32_t, uint32_t, gfxFont::Script, bool, int32_t, int, int, gfxTextPerfMetrics*)' does not match any template declaration
 gfxFont::GetShapedWord(DrawTarget *aDrawTarget,
 ^~~~~~~

Update ebuild to version 2 works:
PATCH="${MY_PN}-52.5-patches-02"

[www-client/torbrowser-91.8.0_p11010] Fails to emerge

~ cat /var/tmp/portage/www-client/torbrowser-91.8.0_p11010/temp/build.log

 * src-firefox-tor-browser-91.8.0esr-11.0-1-build1.tar.xz BLAKE2B SHA512 size ;-) ...            [ ok ]
 * src-tor-launcher-0.2.33.tar.xz BLAKE2B SHA512 size ;-) ...            [ ok ]
 * tor-browser-linux64-11.0.10_en-US.tar.xz BLAKE2B SHA512 size ;-) ...  [ ok ]
>>> Downloading 'http://distfiles.gentoo.org/distfiles/d6/noscript_security_suite-11.4.3-an%2Bfx.xpi'
--2022-04-30 18:02:43--  http://distfiles.gentoo.org/distfiles/d6/noscript_security_suite-11.4.3-an%2Bfx.xpi
Resolving distfiles.gentoo.org (distfiles.gentoo.org)... 89.187.162.136, 89.187.162.143, 89.187.162.133, ...
Connecting to distfiles.gentoo.org (distfiles.gentoo.org)|89.187.162.136|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2022-04-30 18:02:45 ERROR 404: Not Found.

>>> Downloading 'https://addons.cdn.mozilla.net/user-media/addons/722/noscript_security_suite-11.4.3-an+fx.xpi'
--2022-04-30 18:02:45--  https://addons.cdn.mozilla.net/user-media/addons/722/noscript_security_suite-11.4.3-an+fx.xpi
Resolving addons.cdn.mozilla.net (addons.cdn.mozilla.net)... failed: Name or service not known.
wget: unable to resolve host address ‘addons.cdn.mozilla.net’
!!! Couldn't download 'noscript_security_suite-11.4.3-an+fx.xpi'. Aborting.
 * Fetch failed for 'www-client/torbrowser-91.8.0_p11010', Log file:
 *  '/var/tmp/portage/www-client/torbrowser-91.8.0_p11010/temp/build.log'

torbrowser fails to build with rust-1.43

4:18.33 error: casts cannot be followed by a field access 4:18.34 = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) 4:18.34 error: casts cannot be followed by a field access 4:18.34 = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) 4:18.35 error: casts cannot be followed by a field access 4:18.35 = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) 4:18.35 error: casts cannot be followed by a field access 4:18.35 = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [...] 4:39.37 error: aborting due to 4 previous errors 4:39.41 error: could not compilestyle.

It seems it requires a patch:
https://gitweb.gentoo.org/repo/gentoo.git/commit/www-client/firefox/firefox-68.7.0-r1.ebuild?id=052da9d6733c8981f199211d94d3cab6b4a783cd

tor-browser-31.6.0esr-4.5-1-build3.tar.gz fetch failure

Downloading 'https://gitweb.torproject.org/tor-browser.git/snapshot/tor-browser-31.6.0esr-4.5-1-build3.tar.gz'
--2015-05-08 22:04:27-- https://gitweb.torproject.org/tor-browser.git/snapshot/tor-browser-31.6.0esr-4.5-1-build3.tar.gz
Resolving gitweb.torproject.org (gitweb.torproject.org)... 154.35.132.68
Connecting to gitweb.torproject.org (gitweb.torproject.org)|154.35.132.68|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/x-gzip]
Saving to: ‘/usr/portage/distfiles/tor-browser-31.6.0esr-4.5-1-build3.tar.gz’

/usr/portage/distfi [ <=> ] 162.34M 3.39MB/s in 69s

2015-05-08 22:05:38 (2.34 MB/s) - ‘/usr/portage/distfiles/tor-browser-31.6.0esr-4.5-1-build3.tar.gz’ saved [170222459]

!!! Fetched file: tor-browser-31.6.0esr-4.5-1-build3.tar.gz VERIFY FAILED!
!!! Reason: Filesize does not match recorded size
!!! Got: 170222459
!!! Expected: 170222342
Refetching... File renamed to '/usr/portage/distfiles/tor-browser-31.6.0esr-4.5-1-build3.tar.gz.checksum_failure.sucajs'

!!! Couldn't download 'tor-browser-31.6.0esr-4.5-1-build3.tar.gz'. Aborting.

  • Fetch failed for 'www-client/torbrowser-31.6.0_p450', Log file:
  • '/var/tmp/portage/www-client/torbrowser-31.6.0_p450/temp/build.log'

failes to compile (gcc 5.2)

Hi!

I just tried to compile torbrowser 5 with the current gcc 5.2.

I get this error:
In file included from …/torbrowser-38.2.0_p500/ff/security/manager/ssl/src/Unified_cpp_manager_ssl_src1.cpp:20:0:
…/torbrowser-38.2.0_p500/security/manager/ssl/src/nsNSSCallbacks.cpp: In static member function 'static void nsNSSHttpInterface::initTable()':
…/torbrowser-38.2.0_p500/security/manager/ssl/src/nsNSSCallbacks.cpp:601:16: error: invalid conversion from 'SECStatus ()(SEC_HTTP_SERVER_SESSION, const char, const char_, const char_, const char_, PRIntervalTime, void__) {aka SECStatus ()(void_, const char_, const char_, const char_, const char_, unsigned int, void__)}' to 'SEC_HttpRequest_CreateFcn {aka SECStatus ()(void_, const char_, const char_, const char_, unsigned int, void**)}' [-fpermissive]
v1.createFcn = createFcn;

I have a normal firefox installed, too. gcc seems to use the typedef from the system include (/usr/include/nss/ocspt.h) for SEC_HttpRequest_CreateFcn.
(The system one has only three "const char*" parameters.)

I dont know if its an issue with this package or upstream.

Why not to add to the main Portage tree?

Upstream only supports building torbrowser with their reproducible build system and not directly from source like I do in the ebuild.
Therefore, I wouldn't move it to the main tree since this evokes the impression, that it is a fully supported package.

hasufell and I actually removed it from the tree after the discussion in https://bugs.gentoo.org/434652
The upstream supported way is to install the torbrowser bundle with www-client/torbrowser-launcher. Everything else is experimental and doesn't guarantee users privacy and security.

Then there was an effort from a gentoo developer in https://forums.gentoo.org/viewtopic-t-1082722.html not sure why it didn't workout.

Torbrowser-launcher and qt

Hello,

if I run the torbrowser-launcher from the applications menu nothing happens.

If I run torbrowser-launcher from the terminal I get the following error:

"Cannot mix incompatible Qt library (5.15.4) with this library (5.15.5)" (On my machine 5.15.5 is installed.)

Is there any way to overcome this. If I see it right, qt 5.15.4 is not available anymore via gentoo's official repository.

Thanks in advance and kind regards
Kalle72

torbrowser-launcher does not init and install the browser

Getting an error when I try to run torbrowser-launcher for the first time. Tried providing a URL but wasn't sure what to provide, nor did it seem to change the error.

~ $ torbrowser-launcher 
Tor Browser Launcher
By Micah Lee, licensed under MIT
version 0.3.5
https://github.com/micahflee/torbrowser-launcher
Downloading Tor Browser for the first time.
Downloading https://aus1.torproject.org/torbrowser/update_3/release/Linux_x86_64-gcc3/x/en-US
Traceback (most recent call last):
  File "/usr/lib/python-exec/python3.10/torbrowser-launcher", line 30, in <module>
    torbrowser_launcher.main()
  File "/usr/lib/python3.10/site-packages/torbrowser_launcher/__init__.py", line 92, in main
    gui.move(
TypeError: arguments did not match any overloaded call:
  move(self, a0: QPoint): argument 1 has unexpected type 'float'
  move(self, ax: int, ay: int): argument 1 has unexpected type 'float'

=www-client/torbrowser-60.9.0_p855: Unable to link (hunspell errors)

Hi,

I am unable to link =www-client/torbrowser-60.9.0_p855, it gives errors about Hunspell.

True of both ld.bfd and ld.gold.

Enabled USE flags for www-client/torbrowser are: clang,custom-cflags,custom-optimization,dbus,hardened,pulseaudio,startup-notification,system-harfbuzz,system-icu,system-jpeg,system-libevent,system-libvpx,system-sqlite

I do not have this problem with =www-client/firefox-69.0

Attached is the build log.

build.log

Build failure: USE Flag 'pgo' not in IUSE for www-client/torbrowser-68.8.0_p9010

As the title says.
I also notice what seems to be a warning "Please call python_get*() instead." maybe due to a recent move from Python 3.6 to Python 3.7.

 * Package:    www-client/torbrowser-68.8.0_p9010
 * Repository: torbrowser
 * Maintainer: [...]
 * USE:        abi_x86_64 amd64 clang cpu_flags_x86_avx2 dbus elibc_glibc kernel_linux startup-notification system-av1 system-harfbuzz system-icu system-jpeg system-libevent system-sqlite system-webp userland_GNU
 * FEATURES:   ccache network-sandbox preserve-libs sandbox userpriv usersandbox
 * Using python3.7 to build
 * python_export() is part of private eclass API.
 * Please call python_get*() instead.
 * Will use LLVM slot 10!
 * ERROR: www-client/torbrowser-68.8.0_p9010::torbrowser failed (setup phase):
 *   USE Flag 'pgo' not in IUSE for www-client/torbrowser-68.8.0_p9010
 * 
 * Call stack:
 *                        ebuild.sh, line 125:  Called pkg_setup
 *   torbrowser-68.8.0_p9010.ebuild, line 206:  Called use 'pgo'
 *                 phase-helpers.sh, line 247:  Called die
 * The specific snippet of code:
 *                              die "USE Flag '${u}' not in IUSE for ${CATEGORY}/${PF}"

Thank you!

torbrowser-60.2.1_p802 USE Flag 'clang' not in IUSE

Can not build torbrowser:

  • USE Flag 'clang' not in IUSE for www-client/torbrowser-60.2.1_p802
 * Package:    www-client/torbrowser-60.2.1_p802
 * Repository: torbrowser
 * Maintainer: [email protected]
 * USE:        abi_x86_64 amd64 dbus elibc_glibc hardened kernel_linux pulseaudio startup-notification userland_GNU
 * FEATURES:   preserve-libs sandbox userpriv usersandbox
>>> Unpacking source...
>>> Unpacking tor-browser-60.2.1esr-8.0-1-build1.tar.gz to /extdirs/portage/tmpdir/portage/www-client/torbrowser-60.2.1_p802/work
>>> Unpacking tor-browser-linux64-8.0.2_en-US.tar.xz to /extdirs/portage/tmpdir/portage/www-client/torbrowser-60.2.1_p802/work
>>> Unpacking firefox-60.0-patches-03.tar.xz to /extdirs/portage/tmpdir/portage/www-client/torbrowser-60.2.1_p802/work
>>> Source unpacked in /extdirs/portage/tmpdir/portage/www-client/torbrowser-60.2.1_p802/work
>>> Preparing source in /extdirs/portage/tmpdir/portage/www-client/torbrowser-60.2.1_p802/work/torbrowser-60.2.1_p802 ...
 * Applying patches from /extdirs/portage/tmpdir/portage/www-client/torbrowser-60.2.1_p802/work/firefox ...
 *   1001_gentoo_prefs.patch ...
 [ ok ]
 *   1002_drop_build_id.patch ...
 [ ok ]
 *   1003_gentoo_specific_pgo.patch ...
 [ ok ]
 *   1004_fix_pie_detection.patch ...
 [ ok ]
 *   1005_fix_fortify_sources.patch ...
 [ ok ]
 *   2000_system_harfbuzz.patch ...
 [ ok ]
 *   2001_system_graphite2.patch ...
 [ ok ]
 *   2002_musl_getid.patch ...
 [ ok ]
 *   2003_nICER_implicit_decls.patch ...
 [ ok ]
 *   2004_fix_lto_builds.patch ...
 [ ok ]
 *   2006_musl_sys_auxv.patch ...
 [ ok ]
 *   2007_add_musl_padding_cmsg.patch ...
 [ ok ]
 *   2008_add_support_for_new_Mesa_device_probing.patch ...
 [ ok ]
 *   6001_add_missing_header_for_basename.patch ...
 [ ok ]
 *   6002_add_alternate_name_for_private_siginfo_struct_member.patch ...
 [ ok ]
 *   6003_fix_syscall_wrappers_on_musl.patch ...
 [ ok ]
 *   6004_musl_drop_alloc_hooks.patch ...
 [ ok ]
 *   6005_musl_memory_report.patch ...
 [ ok ]
 *   6006_musl_pthread_setname.patch ...
 [ ok ]
 *   6007_musl_fix_tools.patch ...
 [ ok ]
 * Applying bug_1461221.patch ...
 [ ok ]
 * Applying firefox-60.0-blessings-TERM.patch ...
 [ ok ]
 * Applying firefox-60.0-rust-1.29-comp.patch ...
 [ ok ]
 * Applying firefox-60.0-missing-errno_h-in-SandboxOpenedFiles_cpp.patch ...
 [ ok ]
 * Applying torbrowser-60.2.0-Change_the_default_Firefox_profile_directory.patch ...
 [ ok ]
 * Applying torbrowser-60.2.0-allow-lightspark-and-freshplayerplugin.patch ...
 [ ok ]
 * Applying torbrowser-60.2.0-nss-fixup-warnings.patch ...
 [ ok ]
 * Running eautoreconf in '/extdirs/portage/tmpdir/portage/www-client/torbrowser-60.2.1_p802/work/torbrowser-60.2.1_p802' ...
 * Running autoconf ...
 [ ok ]
 * Running elibtoolize in: torbrowser-60.2.1_p802/
 * Running elibtoolize in: torbrowser-60.2.1_p802/intl/icu/source/
 * Running elibtoolize in: torbrowser-60.2.1_p802/js/src/ctypes/libffi/
 *   Applying portage/1.2.0 patch ...
 *   Applying sed/1.5.6 patch ...
 *   Applying as-needed/2.4.2 patch ...
 *   Applying target-nm/2.4.2 patch ...
 * Running elibtoolize in: torbrowser-60.2.1_p802/media/libvpx/libvpx/
 * Running elibtoolize in: torbrowser-60.2.1_p802/modules/freetype2/
 * Running elibtoolize in: torbrowser-60.2.1_p802/modules/freetype2/builds/unix/
 *   Applying portage/1.2.0 patch ...
 *   Applying sed/1.5.6 patch ...
 *   Applying as-needed/2.4.3 patch ...
 *   Applying ppc64le/2.4.4 patch ...
 * Running elibtoolize in: torbrowser-60.2.1_p802/nsprpub/
 * Running elibtoolize in: torbrowser-60.2.1_p802/python/mozbuild/mozbuild/
 * Running elibtoolize in: torbrowser-60.2.1_p802/python/mozbuild/mozbuild/test/
 * Running elibtoolize in: torbrowser-60.2.1_p802/third_party/aom/
 * Running elibtoolize in: torbrowser-60.2.1_p802/third_party/rust/freetype/
 * Running elibtoolize in: torbrowser-60.2.1_p802/third_party/rust/libz-sys/src/zlib-1.2.8/
 * Running elibtoolize in: torbrowser-60.2.1_p802/toolkit/crashreporter/google-breakpad/
 * Running elibtoolize in: torbrowser-60.2.1_p802/toolkit/crashreporter/google-breakpad/autotools/
 *   Applying portage/2.2 patch ...
 *   Applying sed/1.5.6 patch ...
 *   Applying as-needed/2.2.6 patch ...
 * Running autoconf old-configure.in ...
 [ ok ]
>>> Source prepared.
>>> Configuring source in /extdirs/portage/tmpdir/portage/www-client/torbrowser-60.2.1_p802/work/torbrowser-60.2.1_p802 ...
 * strip-flags: CFLAGS: changed '-pipe -march=sandybridge -mmmx -mno-3dnow -msse -msse2 -msse3 -mssse3 -mno-sse4a -mcx16 -msahf -mno-movbe -maes -mno-sha -mpclmul -mpopcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-bmi2 -mno-tbm -mavx -mno-avx2 -msse4.2 -msse4.1 -mno-lzcnt -mno-rtm -mno-hle -mno-rdrnd -mno-f16c -mno-fsgsbase -mno-rdseed -mno-prfchw -mno-adx -mfxsr -mxsave -mxsaveopt -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mno-prefetchwt1 --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=6144 -mtune=sandybridge -fstack-protector-strong' to '-pipe -march=sandybridge -mno-3dnow -mno-sse4a -mno-movbe -mno-sha -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-bmi2 -mno-tbm -mno-avx2 -mno-lzcnt -mno-rtm -mno-hle -mno-rdrnd -mno-f16c -mno-fsgsbase -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mtune=sandybridge -fstack-protector-strong'
 * strip-flags: CXXFLAGS: changed '-pipe -march=sandybridge -mmmx -mno-3dnow -msse -msse2 -msse3 -mssse3 -mno-sse4a -mcx16 -msahf -mno-movbe -maes -mno-sha -mpclmul -mpopcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-bmi2 -mno-tbm -mavx -mno-avx2 -msse4.2 -msse4.1 -mno-lzcnt -mno-rtm -mno-hle -mno-rdrnd -mno-f16c -mno-fsgsbase -mno-rdseed -mno-prfchw -mno-adx -mfxsr -mxsave -mxsaveopt -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mno-prefetchwt1 --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=6144 -mtune=sandybridge -fstack-protector-strong' to '-pipe -march=sandybridge -mno-3dnow -mno-sse4a -mno-movbe -mno-sha -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-bmi2 -mno-tbm -mno-avx2 -mno-lzcnt -mno-rtm -mno-hle -mno-rdrnd -mno-f16c -mno-fsgsbase -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mtune=sandybridge -fstack-protector-strong'
 * ERROR: www-client/torbrowser-60.2.1_p802::torbrowser failed (configure phase):
 *   USE Flag 'clang' not in IUSE for www-client/torbrowser-60.2.1_p802
 * 
 * Call stack:
 *          ebuild.sh, line  124:  Called src_configure
 *        environment, line 4841:  Called use 'clang'
 *   phase-helpers.sh, line  247:  Called die
 * The specific snippet of code:
 *                              die "USE Flag '${u}' not in IUSE for ${CATEGORY}/${PF}"
 * 
 * If you need support, post the output of `emerge --info '=www-client/torbrowser-60.2.1_p802::torbrowser'`,
 * the complete build log and the output of `emerge -pqv '=www-client/torbrowser-60.2.1_p802::torbrowser'`.
 * The complete build log is located at '/extdirs/portage/tmpdir/portage/www-client/torbrowser-60.2.1_p802/temp/build.log'.
 * The ebuild environment file is located at '/extdirs/portage/tmpdir/portage/www-client/torbrowser-60.2.1_p802/temp/environment'.
 * Working directory: '/extdirs/portage/tmpdir/portage/www-client/torbrowser-60.2.1_p802/work/torbrowser-60.2.1_p802'
 * S: '/extdirs/portage/tmpdir/portage/www-client/torbrowser-60.2.1_p802/work/torbrowser-60.2.1_p802'

www-client/torbrowser: about src_uri

Hello,
I wouldn't bother you too much but I'm trying to understand why you did add binaries in SRC_URI in torbrowser ebuild. I didn't suceed yet to know why.
Would you explain me?
Sincerely,
Case_Of.

missing dependency of launcher: dev-python/pyopenssl

Launcher didn't work:

Traceback (most recent call last):
File "/usr/bin/torbrowser-launcher", line 50, in
from twisted.internet.ssl import ClientContextFactory
File "/usr/lib64/python2.7/site-packages/twisted/internet/ssl.py", line 25, in
from OpenSSL import SSL
ImportError: No module named OpenSSL

Fixed by installing dev-python/pyopenssl

My DEPEND:
DEPEND="${PYTHON_DEPS}
dev-python/pygtk[${PYTHON_USEDEP}]
dev-python/twisted-web[${PYTHON_USEDEP}]
dev-python/pyopenssl[${PYTHON_USEDEP}]"

Removed twisted-core, since twisted-web depends on it, kind of redundant, but I don't know ebuild writing rules, maybe it should stay.

Thank you for the ebuild, was problematic with torbrowser on gentoo/funtoo.

Tor Browser fails to start: "libxul.so: undefined symbol: gdk_wayland_display_get_wl_compositor"

As described here: https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/40693 Tor Browser now fails to start if gtk+ is built with USE="-wayland"

A workaround has been applied to librewolf-bin > https://git.itzzen.net/itZzenXX/gentoo-librewolf/commit/5aac87b86c986a1a3f5ca1ef642f8548dfdd84c1

So, something similar needs to be done for tor browser for much the same reason. Added dependency on x11-libs/gtk+:3[wayland] should fix it.

I tested by manually rebuilding gtk+:3 with USE="wayland" and it works.

cannot build torbrowser-60.2.0_p800: /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/math.h:65:12: error: target of using declaration conflicts with declaration already in scope

19:13.05 /var/tmp/portage/www-client/torbrowser-60.2.0_p800/work/torbrowser-60.2.0_p800/ff/dist/include/mozilla/mozalloc.h:152:1: warning: replacement function 'operator new' cannot be declared 'inline' [-Winline-new-delete]
19:13.05 /var/tmp/portage/www-client/torbrowser-60.2.0_p800/work/torbrowser-60.2.0_p800/ff/dist/include/mozilla/mozalloc.h:159:21: warning: replacement function 'operator new' cannot be declared 'inline' [-Winline-new-delete]
19:13.05 /var/tmp/portage/www-client/torbrowser-60.2.0_p800/work/torbrowser-60.2.0_p800/ff/dist/include/mozilla/mozalloc.h:165:21: warning: replacement function 'operator new[]' cannot be declared 'inline' [-Winline-new-delete]
19:13.05 /var/tmp/portage/www-client/torbrowser-60.2.0_p800/work/torbrowser-60.2.0_p800/ff/dist/include/mozilla/mozalloc.h:171:21: warning: replacement function 'operator new[]' cannot be declared 'inline' [-Winline-new-delete]
19:13.05 /var/tmp/portage/www-client/torbrowser-60.2.0_p800/work/torbrowser-60.2.0_p800/ff/dist/include/mozilla/mozalloc.h:177:21: warning: replacement function 'operator delete' cannot be declared 'inline' [-Winline-new-delete]
19:13.06 /var/tmp/portage/www-client/torbrowser-60.2.0_p800/work/torbrowser-60.2.0_p800/ff/dist/include/mozilla/mozalloc.h:183:21: warning: replacement function 'operator delete' cannot be declared 'inline' [-Winline-new-delete]
19:13.06 /var/tmp/portage/www-client/torbrowser-60.2.0_p800/work/torbrowser-60.2.0_p800/ff/dist/include/mozilla/mozalloc.h:189:21: warning: replacement function 'operator delete[]' cannot be declared 'inline' [-Winline-new-delete]
19:13.06 /var/tmp/portage/www-client/torbrowser-60.2.0_p800/work/torbrowser-60.2.0_p800/ff/dist/include/mozilla/mozalloc.h:195:21: warning: replacement function 'operator delete[]' cannot be declared 'inline' [-Winline-new-delete]
19:13.06 /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/math.h:65:12: error: target of using declaration conflicts with declaration already in scope
19:13.06 /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/cmath:592:3: note: target of using declaration
19:13.06 /include/bits/mathcalls.h:201:19: note: conflicting declaration
19:13.06 /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/math.h:66:12: error: target of using declaration conflicts with declaration already in scope
19:13.06 /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/cmath:619:3: note: target of using declaration
19:13.06 /include/bits/mathcalls.h:234:19: note: conflicting declaration
19:13.07 /var/tmp/portage/www-client/torbrowser-60.2.0_p800/work/torbrowser-60.2.0_p800/ff/dist/include/js/Proxy.h:212:16: warning: offset of on non-standard-layout type 'js::BaseProxyHandler' [-Winvalid-offsetof]
19:13.07 /var/tmp/portage/www-client/torbrowser-60.2.0_p800/work/torbrowser-60.2.0_p800/ff/dist/include/mozilla/mozalloc.h:152:1: warning: replacement function 'operator new' cannot be declared 'inline' [-Winline-new-delete], err: false
19:13.07 /var/tmp/portage/www-client/torbrowser-60.2.0_p800/work/torbrowser-60.2.0_p800/ff/dist/include/mozilla/mozalloc.h:159:21: warning: replacement function 'operator new' cannot be declared 'inline' [-Winline-new-delete], err: false
19:13.07 /var/tmp/portage/www-client/torbrowser-60.2.0_p800/work/torbrowser-60.2.0_p800/ff/dist/include/mozilla/mozalloc.h:165:21: warning: replacement function 'operator new[]' cannot be declared 'inline' [-Winline-new-delete], err: false
19:13.07 /var/tmp/portage/www-client/torbrowser-60.2.0_p800/work/torbrowser-60.2.0_p800/ff/dist/include/mozilla/mozalloc.h:171:21: warning: replacement function 'operator new[]' cannot be declared 'inline' [-Winline-new-delete], err: false
19:13.08 /var/tmp/portage/www-client/torbrowser-60.2.0_p800/work/torbrowser-60.2.0_p800/ff/dist/include/mozilla/mozalloc.h:177:21: warning: replacement function 'operator delete' cannot be declared 'inline' [-Winline-new-delete], err: false
19:13.08 /var/tmp/portage/www-client/torbrowser-60.2.0_p800/work/torbrowser-60.2.0_p800/ff/dist/include/mozilla/mozalloc.h:183:21: warning: replacement function 'operator delete' cannot be declared 'inline' [-Winline-new-delete], err: false
19:13.08 /var/tmp/portage/www-client/torbrowser-60.2.0_p800/work/torbrowser-60.2.0_p800/ff/dist/include/mozilla/mozalloc.h:189:21: warning: replacement function 'operator delete[]' cannot be declared 'inline' [-Winline-new-delete], err: false
19:13.08 /var/tmp/portage/www-client/torbrowser-60.2.0_p800/work/torbrowser-60.2.0_p800/ff/dist/include/mozilla/mozalloc.h:195:21: warning: replacement function 'operator delete[]' cannot be declared 'inline' [-Winline-new-delete], err: false
19:13.08 /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/math.h:65:12: error: target of using declaration conflicts with declaration already in scope, err: true
19:13.08 /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/g++-v8/math.h:66:12: error: target of using declaration conflicts with declaration already in scope, err: true
19:13.09 /var/tmp/portage/www-client/torbrowser-60.2.0_p800/work/torbrowser-60.2.0_p800/ff/dist/include/js/Proxy.h:212:16: warning: offset of on non-standard-layout type 'js::BaseProxyHandler' [-Winvalid-offsetof], err: false
19:13.09 thread '<unnamed>' panicked at 'Failed to generate bindings, flags: ["/var/tmp/portage/www-client/torbrowser-60.2.0_p800/work/torbrowser-60.2.0_p800/ff/dist/include/mozilla/ServoBindings.h", "--rust-target", "1.0", "--blacklist-type", "nsACString_internal", "--blacklist-type", "nsAString_internal", "--blacklist-type", "ServoStyleContextBorrowed", "--blacklist-type", "ServoStyleContextBorrowedOrNull", "--blacklist-type", "mozilla::css::GridTemplateAreasValue", "--blacklist-type", "mozilla::css::ErrorReporter", "--blacklist-type", "mozilla::css::ImageValue", "--blacklist-type", "mozilla::css::URLValue", "--blacklist-type", "mozilla::css::URLValueData", "--blacklist-type", "mozilla::dom::CallerType", "--blacklist-type", "mozilla::AnonymousCounterStyle", "--blacklist-type", "mozilla::AtomArray", "--blacklist-type", "mozilla::MallocSizeOf", "--blacklist-type", "mozilla::OriginFlags", "--blacklist-type", "mozilla::UniquePtr", "--blacklist-type", "ServoRawOffsetArc", "--blacklist-type", "nsIContent", "--blacklist-type", "nsIDocument", "--blacklist-type", "nsIDocument_DocumentTheme", "--blacklist-type", "nsSimpleContentList", "--blacklist-type", "MediumFeaturesChangedResult", "--blacklist-type", "RawGeckoAnimationPropertySegment", "--blacklist-type", "RawGeckoComputedTiming", "--blacklist-type", "RawGeckoCSSPropertyIDList", "--blacklist-type", "RawGeckoDocument", "--blacklist-type", "RawGeckoElement", "--blacklist-type", "Element", "--blacklist-type", "RawGeckoKeyframeList", "--blacklist-type", "RawGeckoPropertyValuePairList", "--blacklist-type", "RawGeckoComputedKeyframeValuesList", "--blacklist-type", "RawGeckoFontFaceRuleList", "--blacklist-type", "RawGeckoNode", "--blacklist-type", "RawServoAnimationValue", "--blacklist-type", "RawGeckoServoAnimationValueList", "--blacklist-type", "RawServoMediaList", "--blacklist-type", "RawServoStyleSheetContents", "--blacklist-type", "RawServoDeclarationBlock", "--blacklist-type", "RawServoStyleRule", "--blacklist-type", "RawGeckoPresContext", "--blacklist-type", "RawGeckoPresContextOwned", "--blacklist-type", "RawGeckoStyleAnimationList", "--blacklist-type", "RawGeckoStyleChildrenIterator", "--blacklist-type", "RawGeckoServoStyleRuleList", "--blacklist-type", "RawGeckoURLExtraData", "--blacklist-type", "RawGeckoXBLBinding", "--blacklist-type", "RawServoSelectorList", "--blacklist-type", "RawServoSourceSizeList", "--blacklist-type", "RefPtr", "--blacklist-type", "RustString", "--blacklist-type", "CSSPseudoClassType", "--blacklist-type", "CSSPseudoElementType", "--blacklist-type", "ServoTraversalFlags", "--blacklist-type", "ComputedTimingFunction_BeforeFlag", "--blacklist-type", "CounterStylePtr", "--blacklist-type", "FontFamilyType", "--blacklist-type", "FontSizePrefs", "--blacklist-type", "GeckoFontMetrics", "--blacklist-type", "IterationCompositeOperation", "--blacklist-type", "Keyframe", "--blacklist-type", "PropertyValuePair", "--blacklist-type", "SeenPtrs", "--blacklist-type", "ServoBundledURI", "--blacklist-type", "ServoElementSnapshot", "--blacklist-type", "ServoElementSnapshotTable", "--blacklist-type", "ServoStyleSetSizes", "--blacklist-type", "SheetParsingMode", "--blacklist-type", "StyleBasicShapeType", "--blacklist-type", "StyleShapeSource", "--blacklist-type", "StyleTransition", "--blacklist-type", "gfxFontFeatureValueSet", "--blacklist-type", "nsCSSCounterDesc", "--blacklist-type", "nsCSSCounterStyleRule", "--blacklist-type", "nsCSSFontDesc", "--blacklist-type", "nsCSSFontFaceRule", "--blacklist-type", "nsCSSKeyword", "--blacklist-type", "nsCSSPropertyID", "--blacklist-type", "nsCSSPropertyIDSet", "--blacklist-type", "nsCSSRect", "--blacklist-type", "nsCSSShadowArray", "--blacklist-type", "nsCSSUnit", "--blacklist-type", "nsCSSValue", "--blacklist-type", "nsCSSValueSharedList", "--blacklist-type", "nsChangeHint", "--blacklist-type", "nsCursorImage", "--blacklist-type", "nsFont", "--blacklist-type", "nsAtom", "--blacklist-type", "nsIURI", "--blacklist-type", "nsCompatibility", "--blacklist-type", "nsRestyleHint", "--blacklist-type", "nsStyleBackground", "--blacklist-type", "nsStyleBorder", "--blacklist-type", "nsStyleColor", "--blacklist-type", "nsStyleColumn", "--blacklist-type", "nsStyleContent", "--blacklist-type", "nsStyleContentData", "--blacklist-type", "nsStyleContentData_CounterFunction", "--blacklist-type", "nsStyleContentType", "--blacklist-type", "nsStyleContext", "--blacklist-type", "nsStyleCoord", "--blacklist-type", "nsStyleCoord_Calc", "--blacklist-type", "nsStyleCoord_CalcValue", "--blacklist-type", "nsStyleDisplay", "--blacklist-type", "nsStyleEffects", "--blacklist-type", "nsStyleFilter", "--blacklist-type", "nsStyleFont", "--blacklist-type", "nsStyleGradient", "--blacklist-type", "nsStyleGradientStop", "--blacklist-type", "nsStyleGridTemplate", "--blacklist-type", "nsStyleImage", "--blacklist-type", "nsStyleImageLayers", "--blacklist-type", "nsStyleImageLayers_Layer", "--blacklist-type", "nsStyleImageLayers_LayerType", "--blacklist-type", "nsStyleImageRequest", "--blacklist-type", "nsStyleList", "--blacklist-type", "nsStyleMargin", "--blacklist-type", "nsStyleOutline", "--blacklist-type", "nsStylePadding", "--blacklist-type", "nsStylePosition", "--blacklist-type", "nsStyleQuoteValues", "--blacklist-type", "nsStyleSVG", "--blacklist-type", "nsStyleSVGOpacitySource", "--blacklist-type", "nsStyleSVGPaint", "--blacklist-type", "nsStyleSVGReset", "--blacklist-type", "nsStyleTable", "--blacklist-type", "nsStyleTableBorder", "--blacklist-type", "nsStyleText", "--blacklist-type", "nsStyleTextReset", "--blacklist-type", "nsStyleUIReset", "--blacklist-type", "nsStyleUnion", "--blacklist-type", "nsStyleUnit", "--blacklist-type", "nsStyleUserInterface", "--blacklist-type", "nsStyleVariables", "--blacklist-type", "nsStyleVisibility", "--blacklist-type", "nsStyleXUL", "--blacklist-type", "nsTimingFunction", "--blacklist-type", "nscolor", "--blacklist-type", "nscoord", "--blacklist-type", "nsresult", "--blacklist-type", "Loader", "--blacklist-type", "LoaderReusableStyleSheets", "--blacklist-type", "SheetLoadData", "--blacklist-type", "ServoStyleSheet", "--blacklist-type", "ServoComputedData", "--blacklist-type", "ServoStyleContext", "--blacklist-type", "ServoStyleContextStrong", "--blacklist-type", "EffectCompositor_CascadeLevel", "--blacklist-type", "UpdateAnimationsTasks", "--blacklist-type", "ParsingMode", "--blacklist-type", "InheritTarget", "--blacklist-type", "URLMatchingFunction", "--blacklist-type", "StyleAnimation", "--blacklist-type", "StyleRuleInclusion", "--blacklist-type", "nsStyleTransformMatrix::MatrixTransformOperator", "--blacklist-type", "RawGeckoGfxMatrix4x4", "--blacklist-type", "FontFamilyName", "--blacklist-type", "mozilla::SharedFontList", "--blacklist-type", "RawServoStyleSetOwned", "--blacklist-type", "RawServoStyleSetOwnedOrNull", "--blacklist-type", "RawServoStyleSetBorrowed", "--blacklist-type", "RawServoStyleSetBorrowedOrNull", "--blacklist-type", "RawServoStyleSetBorrowedMut", "--blacklist-type", "RawServoStyleSetBorrowedMutOrNull", "--blacklist-type", "RawServoStyleSet", "--blacklist-type", "RawServoAuthorStylesOwned", "--blacklist-type", "RawServoAuthorStylesOwnedOrNull", "--blacklist-type", "RawServoAuthorStylesBorrowed", "--blacklist-type", "RawServoAuthorStylesBorrowedOrNull", "--blacklist-type", "RawServoAuthorStylesBorrowedMut", "--blacklist-type", "RawServoAuthorStylesBorrowedMutOrNull", "--blacklist-type", "RawServoAuthorStyles", "--blacklist-type", "RawServoSelectorListOwned", "--blacklist-type", "RawServoSelectorListOwnedOrNull", "--blacklist-type", "RawServoSelectorListBorrowed", "--blacklist-type", "RawServoSelectorListBorrowedOrNull", "--blacklist-type", "RawServoSelectorListBorrowedMut", "--blacklist-type", "RawServoSelectorListBorrowedMutOrNull", "--blacklist-type", "RawServoSourceSizeListOwned", "--blacklist-type", "RawServoSourceSizeListOwnedOrNull", "--blacklist-type", "RawServoSourceSizeListBorrowed", "--blacklist-type", "RawServoSourceSizeListBorrowedOrNull", "--blacklist-type", "RawServoSourceSizeListBorrowedMut", "--blacklist-type", "RawServoSourceSizeListBorrowedMutOrNull", "--blacklist-type", "ServoElementSnapshotOwned", "--blacklist-type", "ServoElementSnapshotOwnedOrNull", "--blacklist-type", "ServoElementSnapshotBorrowed", "--blacklist-type", "ServoElementSnapshotBorrowedOrNull", "--blacklist-type", "ServoElementSnapshotBorrowedMut", "--blacklist-type", "ServoElementSnapshotBorrowedMutOrNull", "--blacklist-type", "RawServoAnimationValueMapOwned", "--blacklist-type", "RawServoAnimationValueMapOwnedOrNull", "--blacklist-type", "RawServoAnimationValueMapBorrowed", "--blacklist-type", "RawServoAnimationValueMapBorrowedOrNull", "--blacklist-type", "RawServoAnimationValueMapBorrowedMut", "--blacklist-type", "RawServoAnimationValueMapBorrowedMutOrNull", "--blacklist-type", "RawServoAnimationValueMap", "--blacklist-type", "RawGeckoNodeBorrowed", "--blacklist-type", "RawGeckoNodeBorrowedOrNull", "--blacklist-type", "RawGeckoElementBorrowed", "--blacklist-type", "RawGeckoElementBorrowedOrNull", "--blacklist-type", "RawGeckoDocumentBorrowed", "--blacklist-type", "RawGeckoDocumentBorrowedOrNull", "--blacklist-type", "RawServoDeclarationBlockStrongBorrowed", "--blacklist-type", "RawServoDeclarationBlockStrongBorrowedOrNull", "--blacklist-type", "RawGeckoPresContextBorrowed", "--blacklist-type", "RawGeckoPresContextBorrowedOrNull", "--blacklist-type", "RawGeckoXBLBindingBorrowed", "--blacklist-type", "RawGeckoXBLBindingBorrowedOrNull", "--blacklist-type", "nsCSSPropertyIDSetBorrowed", "--blacklist-type", "nsCSSPropertyIDSetBorrowedOrNull", "--blacklist-type", "nsCSSPropertyIDSetBorrowedMut", "--blacklist-type", "nsCSSPropertyIDSetBorrowedMutOrNull", "--blacklist-type", "nsCSSValueBorrowed", "--blacklist-type", "nsCSSValueBorrowedOrNull", "--blacklist-type", "nsCSSValueBorrowedMut", "--blacklist-type", "nsCSSValueBorrowedMutOrNull", "--blacklist-type", "nsTimingFunctionBorrowed", "--blacklist-type", "nsTimingFunctionBorrowedOrNull", "--blacklist-type", "nsTimingFunctionBorrowedMut", "--blacklist-type", "nsTimingFunctionBorrowedMutOrNull", "--blacklist-type", "RawGeckoAnimationPropertySegmentBorrowed", "--blacklist-type", "RawGeckoAnimationPropertySegmentBorrowedOrNull", "--blacklist-type", "RawGeckoAnimationPropertySegmentBorrowedMut", "--blacklist-type", "RawGeckoAnimationPropertySegmentBorrowedMutOrNull", "--blacklist-type", "RawGeckoComputedTimingBorrowed", "--blacklist-type", "RawGeckoComputedTimingBorrowedOrNull", "--blacklist-type", "RawGeckoComputedTimingBorrowedMut", "--blacklist-type", "RawGeckoComputedTimingBorrowedMutOrNull", "--blacklist-type", "RawGeckoCSSPropertyIDListBorrowed", "--blacklist-type", "RawGeckoCSSPropertyIDListBorrowedOrNull", "--blacklist-type", "RawGeckoCSSPropertyIDListBorrowedMut", "--blacklist-type", "RawGeckoCSSPropertyIDListBorrowedMutOrNull", "--blacklist-type", "RawGeckoKeyframeListBorrowed", "--blacklist-type", "RawGeckoKeyframeListBorrowedOrNull", "--blacklist-type", "RawGeckoKeyframeListBorrowedMut", "--blacklist-type", "RawGeckoKeyframeListBorrowedMutOrNull", "--blacklist-type", "RawGeckoPropertyValuePairListBorrowed", "--blacklist-type", "RawGeckoPropertyValuePairListBorrowedOrNull", "--blacklist-type", "RawGeckoPropertyValuePairListBorrowedMut", "--blacklist-type", "RawGeckoPropertyValuePairListBorrowedMutOrNull", "--blacklist-type", "RawGeckoComputedKeyframeValuesListBorrowed", "--blacklist-type", "RawGeckoComputedKeyframeValuesListBorrowedOrNull", "--blacklist-type", "RawGeckoComputedKeyframeValuesListBorrowedMut", "--blacklist-type", "RawGeckoComputedKeyframeValuesListBorrowedMutOrNull", "--blacklist-type", "RawGeckoFontFaceRuleListBorrowed", "--blacklist-type", "RawGeckoFontFaceRuleListBorrowedOrNull", "--blacklist-type", "RawGeckoFontFaceRuleListBorrowedMut", "--blacklist-type", "RawGeckoFontFaceRuleListBorrowedMutOrNull", "--blacklist-type", "RawGeckoServoStyleRuleListBorrowed", "--blacklist-type", "RawGeckoServoStyleRuleListBorrowedOrNull", "--blacklist-type", "RawGeckoServoStyleRuleListBorrowedMut", "--blacklist-type", "RawGeckoServoStyleRuleListBorrowedMutOrNull", "--blacklist-type", "RawGeckoServoAnimationValueListBorrowed", "--blacklist-type", "RawGeckoServoAnimationValueListBorrowedOrNull", "--blacklist-type", "RawGeckoServoAnimationValueListBorrowedMut", "--blacklist-type", "RawGeckoServoAnimationValueListBorrowedMutOrNull", "--blacklist-type", "RawGeckoStyleAnimationListBorrowed", "--blacklist-type", "RawGeckoStyleAnimationListBorrowedOrNull", "--blacklist-type", "RawGeckoStyleAnimationListBorrowedMut", "--blacklist-type", "RawGeckoStyleAnimationListBorrowedMutOrNull", "--blacklist-type", "RawGeckoStyleChildrenIteratorBorrowed", "--blacklist-type", "RawGeckoStyleChildrenIteratorBorrowedOrNull", "--blacklist-type", "RawGeckoStyleChildrenIteratorBorrowedMut", "--blacklist-type", "RawGeckoStyleChildrenIteratorBorrowedMutOrNull", "--blacklist-type", "ServoCssRulesStrong", "--blacklist-type", "ServoCssRulesBorrowed", "--blacklist-type", "ServoCssRulesBorrowedOrNull", "--blacklist-type", "ServoCssRules", "--blacklist-type", "RawServoStyleSheetContentsStrong", "--blacklist-type", "RawServoStyleSheetContentsBorrowed", "--blacklist-type", "RawServoStyleSheetContentsBorrowedOrNull", "--blacklist-type", "RawServoDeclarationBlockStrong", "--blacklist-type", "RawServoDeclarationBlockBorrowed", "--blacklist-type", "RawServoDeclarationBlockBorrowedOrNull", "--blacklist-type", "RawServoStyleRuleStrong", "--blacklist-type", "RawServoStyleRuleBorrowed", "--blacklist-type", "RawServoStyleRuleBorrowedOrNull", "--blacklist-type", "RawServoImportRuleStrong", "--blacklist-type", "RawServoImportRuleBorrowed", "--blacklist-type", "RawServoImportRuleBorrowedOrNull", "--blacklist-type", "RawServoImportRule", "--blacklist-type", "RawServoAnimationValueStrong", "--blacklist-type", "RawServoAnimationValueBorrowed", "--blacklist-type", "RawServoAnimationValueBorrowedOrNull", "--blacklist-type", "RawServoKeyframeStrong", "--blacklist-type", "RawServoKeyframeBorrowed", "--blacklist-type", "RawServoKeyframeBorrowedOrNull", "--blacklist-type", "RawServoKeyframe", "--blacklist-type", "RawServoKeyframesRuleStrong", "--blacklist-type", "RawServoKeyframesRuleBorrowed", "--blacklist-type", "RawServoKeyframesRuleBorrowedOrNull", "--blacklist-type", "RawServoKeyframesRule", "--blacklist-type", "RawServoMediaListStrong", "--blacklist-type", "RawServoMediaListBorrowed", "--blacklist-type", "RawServoMediaListBorrowedOrNull", "--blacklist-type", "RawServoMediaRuleStrong", "--blacklist-type", "RawServoMediaRuleBorrowed", "--blacklist-type", "RawServoMediaRuleBorrowedOrNull", "--blacklist-type", "RawServoMediaRule", "--blacklist-type", "RawServoNamespaceRuleStrong", "--blacklist-type", "RawServoNamespaceRuleBorrowed", "--blacklist-type", "RawServoNamespaceRuleBorrowedOrNull", "--blacklist-type", "RawServoNamespaceRule", "--blacklist-type", "RawServoPageRuleStrong", "--blacklist-type", "RawServoPageRuleBorrowed", "--blacklist-type", "RawServoPageRuleBorrowedOrNull", "--blacklist-type", "RawServoPageRule", "--blacklist-type", "RawServoSupportsRuleStrong", "--blacklist-type", "RawServoSupportsRuleBorrowed", "--blacklist-type", "RawServoSupportsRuleBorrowedOrNull", "--blacklist-type", "RawServoSupportsRule", "--blacklist-type", "RawServoDocumentRuleStrong", "--blacklist-type", "RawServoDocumentRuleBorrowed", "--blacklist-type", "RawServoDocumentRuleBorrowedOrNull", "--blacklist-type", "RawServoDocumentRule", "--blacklist-type", "RawServoFontFeatureValuesRuleStrong", "--blacklist-type", "RawServoFontFeatureValuesRuleBorrowed", "--blacklist-type", "RawServoFontFeatureValuesRuleBorrowedOrNull", "--blacklist-type", "RawServoFontFeatureValuesRule", "--blacklist-type", "RawServoRuleNodeStrong", "--blacklist-type", "RawServoRuleNodeBorrowed", "--blacklist-type", "RawServoRuleNodeBorrowedOrNull", "--blacklist-type", "RawServoRuleNode", "--no-derive-default", "--disable-name-namespacing", "--generate", "function", "--ignore-methods", "--raw-line", "pub use nsstring::{nsACString, nsAString, nsString, nsStringRepr};", "--raw-line", "use gecko_bindings::structs::nsStyleTransformMatrix;", "--raw-line", "use gecko_bindings::structs::nsTArray;", "--raw-line", "type nsACString_internal = nsACString;", "--raw-line", "type nsAString_internal = nsAString;", "--raw-line", "pub type ServoStyleContextBorrowed<\'a> = &\'a ::properties::ComputedValues;", "--raw-line", "pub type ServoStyleContextBorrowedOrNull<\'a> = Option<&\'a ::properties::ComputedValues>;", "--raw-line", "pub type ServoComputedDataBorrowed<\'a> = &\'a ServoComputedData;", "--raw-line", "pub type RawServoAnimationValueTableBorrowed<\'a> = &\'a ();", "--raw-line", "use gecko_bindings::structs::mozilla::css::GridTemplateAreasValue;", "--raw-line", "use gecko_bindings::structs::mozilla::css::ErrorReporter;", "--raw-line", "use gecko_bindings::structs::mozilla::css::ImageValue;", "--raw-line", "use gecko_bindings::structs::mozilla::css::URLValue;", "--raw-line", "use gecko_bindings::structs::mozilla::css::URLValueData;", "--raw-line", "use gecko_bindings::structs::mozilla::dom::CallerType;", "--raw-line", "use gecko_bindings::structs::mozilla::AnonymousCounterStyle;", "--raw-line", "use gecko_bindings::structs::mozilla::AtomArray;", "--raw-line", "use gecko_bindings::structs::mozilla::MallocSizeOf;", "--raw-line", "use gecko_bindings::structs::mozilla::OriginFlags;", "--raw-line", "use gecko_bindings::structs::mozilla::UniquePtr;", "--raw-line", "use gecko_bindings::structs::ServoRawOffsetArc;", "--raw-line", "use gecko_bindings::structs::nsIContent;", "--raw-line", "use gecko_bindings::structs::nsIDocument;", "--raw-line", "use gecko_bindings::structs::nsIDocument_DocumentTheme;", "--raw-line", "use gecko_bindings::structs::nsSimpleContentList;", "--raw-line", "use gecko_bindings::structs::MediumFeaturesChangedResult;", "--raw-line", "use gecko_bindings::structs::RawGeckoAnimationPropertySegment;", "--raw-line", "use gecko_bindings::structs::RawGeckoComputedTiming;", "--raw-line", "use gecko_bindings::structs::RawGeckoCSSPropertyIDList;", "--raw-line", "use gecko_bindings::structs::RawGeckoDocument;", "--raw-line", "use gecko_bindings::structs::RawGeckoElement;", "--raw-line", "use gecko_bindings::structs::Element;", "--raw-line", "use gecko_bindings::structs::RawGeckoKeyframeList;", "--raw-line", "use gecko_bindings::structs::RawGeckoPropertyValuePairList;", "--raw-line", "use gecko_bindings::structs::RawGeckoComputedKeyframeValuesList;", "--raw-line", "use gecko_bindings::structs::RawGeckoFontFaceRuleList;", "--raw-line", "use gecko_bindings::structs::RawGeckoNode;", "--raw-line", "use gecko_bindings::structs::RawServoAnimationValue;", "--raw-line", "use gecko_bindings::structs::RawGeckoServoAnimationValueList;", "--raw-line", "use gecko_bindings::structs::RawServoMediaList;", "--raw-line", "use gecko_bindings::structs::RawServoStyleSheetContents;", "--raw-line", "use gecko_bindings::structs::RawServoDeclarationBlock;", "--raw-line", "use gecko_bindings::structs::RawServoStyleRule;", "--raw-line", "use gecko_bindings::structs::RawGeckoPresContext;", "--raw-line", "use gecko_bindings::structs::RawGeckoPresContextOwned;", "--raw-line", "use gecko_bindings::structs::RawGeckoStyleAnimationList;", "--raw-line", "use gecko_bindings::structs::RawGeckoStyleChildrenIterator;", "--raw-line", "use gecko_bindings::structs::RawGeckoServoStyleRuleList;", "--raw-line", "use gecko_bindings::structs::RawGeckoURLExtraData;", "--raw-line", "use gecko_bindings::structs::RawGeckoXBLBinding;", "--raw-line", "use gecko_bindings::structs::RawServoSelectorList;", "--raw-line", "use gecko_bindings::structs::RawServoSourceSizeList;", "--raw-line", "use gecko_bindings::structs::RefPtr;", "--raw-line", "use gecko_bindings::structs::RustString;", "--raw-line", "use gecko_bindings::structs::CSSPseudoClassType;", "--raw-line", "use gecko_bindings::structs::CSSPseudoElementType;", "--raw-line", "use gecko_bindings::structs::ServoTraversalFlags;", "--raw-line", "use gecko_bindings::structs::ComputedTimingFunction_BeforeFlag;", "--raw-line", "use gecko_bindings::structs::CounterStylePtr;", "--raw-line", "use gecko_bindings::structs::FontFamilyType;", "--raw-line", "use gecko_bindings::structs::FontSizePrefs;", "--raw-line", "use gecko_bindings::structs::GeckoFontMetrics;", "--raw-line", "use gecko_bindings::structs::IterationCompositeOperation;", "--raw-line", "use gecko_bindings::structs::Keyframe;", "--raw-line", "use gecko_bindings::structs::PropertyValuePair;", "--raw-line", "use gecko_bindings::structs::SeenPtrs;", "--raw-line", "use gecko_bindings::structs::ServoBundledURI;", "--raw-line", "use gecko_bindings::structs::ServoElementSnapshot;", "--raw-line", "use gecko_bindings::structs::ServoElementSnapshotTable;", "--raw-line", "use gecko_bindings::structs::ServoStyleSetSizes;", "--raw-line", "use gecko_bindings::structs::SheetParsingMode;", "--raw-line", "use gecko_bindings::structs::StyleBasicShapeType;", "--raw-line", "use gecko_bindings::structs::StyleShapeSource;", "--raw-line", "use gecko_bindings::structs::StyleTransition;", "--raw-line", "use gecko_bindings::structs::gfxFontFeatureValueSet;", "--raw-line", "use gecko_bindings::structs::nsCSSCounterDesc;", "--raw-line", "use gecko_bindings::structs::nsCSSCounterStyleRule;", "--raw-line", "use gecko_bindings::structs::nsCSSFontDesc;", "--raw-line", "use gecko_bindings::structs::nsCSSFontFaceRule;", "--raw-line", "use gecko_bindings::structs::nsCSSKeyword;", "--raw-line", "use gecko_bindings::structs::nsCSSPropertyID;", "--raw-line", "use gecko_bindings::structs::nsCSSPropertyIDSet;", "--raw-line", "use gecko_bindings::structs::nsCSSRect;", "--raw-line", "use gecko_bindings::structs::nsCSSShadowArray;", "--raw-line", "use gecko_bindings::structs::nsCSSUnit;", "--raw-line", "use gecko_bindings::structs::nsCSSValue;", "--raw-line", "use gecko_bindings::structs::nsCSSValueSharedList;", "--raw-line", "use gecko_bindings::structs::nsChangeHint;", "--raw-line", "use gecko_bindings::structs::nsCursorImage;", "--raw-line", "use gecko_bindings::structs::nsFont;", "--raw-line", "use gecko_bindings::structs::nsAtom;", "--raw-line", "use gecko_bindings::structs::nsIURI;", "--raw-line", "use gecko_bindings::structs::nsCompatibility;", "--raw-line", "use gecko_bindings::structs::nsRestyleHint;", "--raw-line", "use gecko_bindings::structs::nsStyleBackground;", "--raw-line", "unsafe impl Send for nsStyleBackground {}", "--raw-line", "unsafe impl Sync for nsStyleBackground {}", "--raw-line", "use gecko_bindings::structs::nsStyleBorder;", "--raw-line", "unsafe impl Send for nsStyleBorder {}", "--raw-line", "unsafe impl Sync for nsStyleBorder {}", "--raw-line", "use gecko_bindings::structs::nsStyleColor;", "--raw-line", "unsafe impl Send for nsStyleColor {}", "--raw-line", "unsafe impl Sync for nsStyleColor {}", "--raw-line", "use gecko_bindings::structs::nsStyleColumn;", "--raw-line", "unsafe impl Send for nsStyleColumn {}", "--raw-line", "unsafe impl Sync for nsStyleColumn {}", "--raw-line", "use gecko_bindings::structs::nsStyleContent;", "--raw-line", "unsafe impl Send for nsStyleContent {}", "--raw-line", "unsafe impl Sync for nsStyleContent {}", "--raw-line", "use gecko_bindings::structs::nsStyleContentData;", "--raw-line", "unsafe impl Send for nsStyleContentData {}", "--raw-line", "unsafe impl Sync for nsStyleContentData {}", "--raw-line", "use gecko_bindings::structs::nsStyleContentData_CounterFunction;", "--raw-line", "unsafe impl Send for nsStyleContentData_CounterFunction {}", "--raw-line", "unsafe impl Sync for nsStyleContentData_CounterFunction {}", "--raw-line", "use gecko_bindings::structs::nsStyleContentType;", "--raw-line", "unsafe impl Send for nsStyleContentType {}", "--raw-line", "unsafe impl Sync for nsStyleContentType {}", "--raw-line", "use gecko_bindings::structs::nsStyleContext;", "--raw-line", "unsafe impl Send for nsStyleContext {}", "--raw-line", "unsafe impl Sync for nsStyleContext {}", "--raw-line", "use gecko_bindings::structs::nsStyleCoord;", "--raw-line", "unsafe impl Send for nsStyleCoord {}", "--raw-line", "unsafe impl Sync for nsStyleCoord {}", "--raw-line", "use gecko_bindings::structs::nsStyleCoord_Calc;", "--raw-line", "unsafe impl Send for nsStyleCoord_Calc {}", "--raw-line", "unsafe impl Sync for nsStyleCoord_Calc {}", "--raw-line", "use gecko_bindings::structs::nsStyleCoord_CalcValue;", "--raw-line", "unsafe impl Send for nsStyleCoord_CalcValue {}", "--raw-line", "unsafe impl Sync for nsStyleCoord_CalcValue {}", "--raw-line", "use gecko_bindings::structs::nsStyleDisplay;", "--raw-line", "unsafe impl Send for nsStyleDisplay {}", "--raw-line", "unsafe impl Sync for nsStyleDisplay {}", "--raw-line", "use gecko_bindings::structs::nsStyleEffects;", "--raw-line", "unsafe impl Send for nsStyleEffects {}", "--raw-line", "unsafe impl Sync for nsStyleEffects {}", "--raw-line", "use gecko_bindings::structs::nsStyleFilter;", "--raw-line", "unsafe impl Send for nsStyleFilter {}", "--raw-line", "unsafe impl Sync for nsStyleFilter {}", "--raw-line", "use gecko_bindings::structs::nsStyleFont;", "--raw-line", "unsafe impl Send for nsStyleFont {}", "--raw-line", "unsafe impl Sync for nsStyleFont {}", "--raw-line", "use gecko_bindings::structs::nsStyleGradient;", "--raw-line", "unsafe impl Send for nsStyleGradient {}", "--raw-line", "unsafe impl Sync for nsStyleGradient {}", "--raw-line", "use gecko_bindings::structs::nsStyleGradientStop;", "--raw-line", "unsafe impl Send for nsStyleGradientStop {}", "--raw-line", "unsafe impl Sync for nsStyleGradientStop {}", "--raw-line", "use gecko_bindings::structs::nsStyleGridTemplate;", "--raw-line", "unsafe impl Send for nsStyleGridTemplate {}", "--raw-line", "unsafe impl Sync for nsStyleGridTemplate {}", "--raw-line", "use gecko_bindings::structs::nsStyleImage;", "--raw-line", "unsafe impl Send for nsStyleImage {}", "--raw-line", "unsafe impl Sync for nsStyleImage {}", "--raw-line", "use gecko_bindings::structs::nsStyleImageLayers;", "--raw-line", "unsafe impl Send for nsStyleImageLayers {}", "--raw-line", "unsafe impl Sync for nsStyleImageLayers {}", "--raw-line", "use gecko_bindings::structs::nsStyleImageLayers_Layer;", "--raw-line", "unsafe impl Send for nsStyleImageLayers_Layer {}", "--raw-line", "unsafe impl Sync for nsStyleImageLayers_Layer {}", "--raw-line", "use gecko_bindings::structs::nsStyleImageLayers_LayerType;", "--raw-line", "unsafe impl Send for nsStyleImageLayers_LayerType {}", "--raw-line", "unsafe impl Sync for nsStyleImageLayers_LayerType {}", "--raw-line", "use gecko_bindings::structs::nsStyleImageRequest;", "--raw-line", "unsafe impl Send for nsStyleImageRequest {}", "--raw-line", "unsafe impl Sync for nsStyleImageRequest {}", "--raw-line", "use gecko_bindings::structs::nsStyleList;", "--raw-line", "unsafe impl Send for nsStyleList {}", "--raw-line", "unsafe impl Sync for nsStyleList {}", "--raw-line", "use gecko_bindings::structs::nsStyleMargin;", "--raw-line", "unsafe impl Send for nsStyleMargin {}", "--raw-line", "unsafe impl Sync for nsStyleMargin {}", "--raw-line", "use gecko_bindings::structs::nsStyleOutline;", "--raw-line", "unsafe impl Send for nsStyleOutline {}", "--raw-line", "unsafe impl Sync for nsStyleOutline {}", "--raw-line", "use gecko_bindings::structs::nsStylePadding;", "--raw-line", "unsafe impl Send for nsStylePadding {}", "--raw-line", "unsafe impl Sync for nsStylePadding {}", "--raw-line", "use gecko_bindings::structs::nsStylePosition;", "--raw-line", "unsafe impl Send for nsStylePosition {}", "--raw-line", "unsafe impl Sync for nsStylePosition {}", "--raw-line", "use gecko_bindings::structs::nsStyleQuoteValues;", "--raw-line", "unsafe impl Send for nsStyleQuoteValues {}", "--raw-line", "unsafe impl Sync for nsStyleQuoteValues {}", "--raw-line", "use gecko_bindings::structs::nsStyleSVG;", "--raw-line", "unsafe impl Send for nsStyleSVG {}", "--raw-line", "unsafe impl Sync for nsStyleSVG {}", "--raw-line", "use gecko_bindings::structs::nsStyleSVGOpacitySource;", "--raw-line", "unsafe impl Send for nsStyleSVGOpacitySource {}", "--raw-line", "unsafe impl Sync for nsStyleSVGOpacitySource {}", "--raw-line", "use gecko_bindings::structs::nsStyleSVGPaint;", "--raw-line", "unsafe impl Send for nsStyleSVGPaint {}", "--raw-line", "unsafe impl Sync for nsStyleSVGPaint {}", "--raw-line", "use gecko_bindings::structs::nsStyleSVGReset;", "--raw-line", "unsafe impl Send for nsStyleSVGReset {}", "--raw-line", "unsafe impl Sync for nsStyleSVGReset {}", "--raw-line", "use gecko_bindings::structs::nsStyleTable;", "--raw-line", "unsafe impl Send for nsStyleTable {}", "--raw-line", "unsafe impl Sync for nsStyleTable {}", "--raw-line", "use gecko_bindings::structs::nsStyleTableBorder;", "--raw-line", "unsafe impl Send for nsStyleTableBorder {}", "--raw-line", "unsafe impl Sync for nsStyleTableBorder {}", "--raw-line", "use gecko_bindings::structs::nsStyleText;", "--raw-line", "unsafe impl Send for nsStyleText {}", "--raw-line", "unsafe impl Sync for nsStyleText {}", "--raw-line", "use gecko_bindings::structs::nsStyleTextReset;", "--raw-line", "unsafe impl Send for nsStyleTextReset {}", "--raw-line", "unsafe impl Sync for nsStyleTextReset {}", "--raw-line", "use gecko_bindings::structs::nsStyleUIReset;", "--raw-line", "unsafe impl Send for nsStyleUIReset {}", "--raw-line", "unsafe impl Sync for nsStyleUIReset {}", "--raw-line", "use gecko_bindings::structs::nsStyleUnion;", "--raw-line", "unsafe impl Send for nsStyleUnion {}", "--raw-line", "unsafe impl Sync for nsStyleUnion {}", "--raw-line", "use gecko_bindings::structs::nsStyleUnit;", "--raw-line", "unsafe impl Send for nsStyleUnit {}", "--raw-line", "unsafe impl Sync for nsStyleUnit {}", "--raw-line", "use gecko_bindings::structs::nsStyleUserInterface;", "--raw-line", "unsafe impl Send for nsStyleUserInterface {}", "--raw-line", "unsafe impl Sync for nsStyleUserInterface {}", "--raw-line", "use gecko_bindings::structs::nsStyleVariables;", "--raw-line", "unsafe impl Send for nsStyleVariables {}", "--raw-line", "unsafe impl Sync for nsStyleVariables {}", "--raw-line", "use gecko_bindings::structs::nsStyleVisibility;", "--raw-line", "unsafe impl Send for nsStyleVisibility {}", "--raw-line", "unsafe impl Sync for nsStyleVisibility {}", "--raw-line", "use gecko_bindings::structs::nsStyleXUL;", "--raw-line", "unsafe impl Send for nsStyleXUL {}", "--raw-line", "unsafe impl Sync for nsStyleXUL {}", "--raw-line", "use gecko_bindings::structs::nsTimingFunction;", "--raw-line", "use gecko_bindings::structs::nscolor;", "--raw-line", "use gecko_bindings::structs::nscoord;", "--raw-line", "use gecko_bindings::structs::nsresult;", "--raw-line", "use gecko_bindings::structs::Loader;", "--raw-line", "use gecko_bindings::structs::LoaderReusableStyleSheets;", "--raw-line", "use gecko_bindings::structs::SheetLoadData;", "--raw-line", "use gecko_bindings::structs::ServoStyleSheet;", "--raw-line", "use gecko_bindings::structs::ServoComputedData;", "--raw-line", "use gecko_bindings::structs::ServoStyleContext;", "--raw-line", "use gecko_bindings::structs::ServoStyleContextStrong;", "--raw-line", "use gecko_bindings::structs::EffectCompositor_CascadeLevel;", "--raw-line", "use gecko_bindings::structs::UpdateAnimationsTasks;", "--raw-line", "use gecko_bindings::structs::ParsingMode;", "--raw-line", "use gecko_bindings::structs::InheritTarget;", "--raw-line", "use gecko_bindings::structs::URLMatchingFunction;", "--raw-line", "use gecko_bindings::structs::StyleAnimation;", "--raw-line", "use gecko_bindings::structs::StyleRuleInclusion;", "--raw-line", "use gecko_bindings::structs::nsStyleTransformMatrix::MatrixTransformOperator;", "--raw-line", "unsafe impl Send for nsStyleTransformMatrix::MatrixTransformOperator {}", "--raw-line", "unsafe impl Sync for nsStyleTransformMatrix::MatrixTransformOperator {}", "--raw-line", "use gecko_bindings::structs::RawGeckoGfxMatrix4x4;", "--raw-line", "use gecko_bindings::structs::FontFamilyName;", "--raw-line", "use gecko_bindings::structs::mozilla::SharedFontList;", "--raw-line", "pub type nsTArrayBorrowed_uintptr_t<\'a> = &\'a mut ::gecko_bindings::structs::nsTArray<usize>;", "--raw-line", "pub type RawServoStyleSetOwned = ::gecko_bindings::sugar::ownership::Owned<RawServoStyleSet>;", "--raw-line", "pub type RawServoStyleSetOwnedOrNull = ::gecko_bindings::sugar::ownership::OwnedOrNull<RawServoStyleSet>;", "--raw-line", "pub type RawServoStyleSetBorrowed<\'a> = &\'a RawServoStyleSet;", "--raw-line", "pub type RawServoStyleSetBorrowedOrNull<\'a> = Option<&\'a RawServoStyleSet>;", "--raw-line", "pub type RawServoStyleSetBorrowedMut<\'a> = &\'a mut RawServoStyleSet;", "--raw-line", "pub type RawServoStyleSetBorrowedMutOrNull<\'a> = Option<&\'a mut RawServoStyleSet>;", "--raw-line", "enum RawServoStyleSetVoid { }", "--raw-line", "pub struct RawServoStyleSet(RawServoStyleSetVoid);", "--raw-line", "pub type RawServoAuthorStylesOwned = ::gecko_bindings::sugar::ownership::Owned<RawServoAuthorStyles>;", "--raw-line", "pub type RawServoAuthorStylesOwnedOrNull = ::gecko_bindings::sugar::ownership::OwnedOrNull<RawServoAuthorStyles>;", "--raw-line", "pub type RawServoAuthorStylesBorrowed<\'a> = &\'a RawServoAuthorStyles;", "--raw-line", "pub type RawServoAuthorStylesBorrowedOrNull<\'a> = Option<&\'a RawServoAuthorStyles>;", "--raw-line", "pub type RawServoAuthorStylesBorrowedMut<\'a> = &\'a mut RawServoAuthorStyles;", "--raw-line", "pub type RawServoAuthorStylesBorrowedMutOrNull<\'a> = Option<&\'a mut RawServoAuthorStyles>;", "--raw-line", "enum RawServoAuthorStylesVoid { }", "--raw-line", "pub struct RawServoAuthorStyles(RawServoAuthorStylesVoid);", "--raw-line", "pub type RawServoSelectorListOwned = ::gecko_bindings::sugar::ownership::Owned<RawServoSelectorList>;", "--raw-line", "pub type RawServoSelectorListOwnedOrNull = ::gecko_bindings::sugar::ownership::OwnedOrNull<RawServoSelectorList>;", "--raw-line", "pub type RawServoSelectorListBorrowed<\'a> = &\'a RawServoSelectorList;", "--raw-line", "pub type RawServoSelectorListBorrowedOrNull<\'a> = Option<&\'a RawServoSelectorList>;", "--raw-line", "pub type RawServoSelectorListBorrowedMut<\'a> = &\'a mut RawServoSelectorList;", "--raw-line", "pub type RawServoSelectorListBorrowedMutOrNull<\'a> = Option<&\'a mut RawServoSelectorList>;", "--raw-line", "pub type RawServoSourceSizeListOwned = ::gecko_bindings::sugar::ownership::Owned<RawServoSourceSizeList>;", "--raw-line", "pub type RawServoSourceSizeListOwnedOrNull = ::gecko_bindings::sugar::ownership::OwnedOrNull<RawServoSourceSizeList>;", "--raw-line", "pub type RawServoSourceSizeListBorrowed<\'a> = &\'a RawServoSourceSizeList;", "--raw-line", "pub type RawServoSourceSizeListBorrowedOrNull<\'a> = Option<&\'a RawServoSourceSizeList>;", "--raw-line", "pub type RawServoSourceSizeListBorrowedMut<\'a> = &\'a mut RawServoSourceSizeList;", "--raw-line", "pub type RawServoSourceSizeListBorrowedMutOrNull<\'a> = Option<&\'a mut RawServoSourceSizeList>;", "--raw-line", "pub type ServoElementSnapshotOwned = ::gecko_bindings::sugar::ownership::Owned<ServoElementSnapshot>;", "--raw-line", "pub type ServoElementSnapshotOwnedOrNull = ::gecko_bindings::sugar::ownership::OwnedOrNull<ServoElementSnapshot>;", "--raw-line", "pub type ServoElementSnapshotBorrowed<\'a> = &\'a ServoElementSnapshot;", "--raw-line", "pub type ServoElementSnapshotBorrowedOrNull<\'a> = Option<&\'a ServoElementSnapshot>;", "--raw-line", "pub type ServoElementSnapshotBorrowedMut<\'a> = &\'a mut ServoElementSnapshot;", "--raw-line", "pub type ServoElementSnapshotBorrowedMutOrNull<\'a> = Option<&\'a mut ServoElementSnapshot>;", "--raw-line", "pub type RawServoAnimationValueMapOwned = ::gecko_bindings::sugar::ownership::Owned<RawServoAnimationValueMap>;", "--raw-line", "pub type RawServoAnimationValueMapOwnedOrNull = ::gecko_bindings::sugar::ownership::OwnedOrNull<RawServoAnimationValueMap>;", "--raw-line", "pub type RawServoAnimationValueMapBorrowed<\'a> = &\'a RawServoAnimationValueMap;", "--raw-line", "pub type RawServoAnimationValueMapBorrowedOrNull<\'a> = Option<&\'a RawServoAnimationValueMap>;", "--raw-line", "pub type RawServoAnimationValueMapBorrowedMut<\'a> = &\'a mut RawServoAnimationValueMap;", "--raw-line", "pub type RawServoAnimationValueMapBorrowedMutOrNull<\'a> = Option<&\'a mut RawServoAnimationValueMap>;", "--raw-line", "enum RawServoAnimationValueMapVoid { }", "--raw-line", "pub struct RawServoAnimationValueMap(RawServoAnimationValueMapVoid);", "--raw-line", "pub type RawGeckoNodeBorrowed<\'a> = &\'a RawGeckoNode;", "--raw-line", "pub type RawGeckoNodeBorrowedOrNull<\'a> = Option<&\'a RawGeckoNode>;", "--raw-line", "pub type RawGeckoElementBorrowed<\'a> = &\'a RawGeckoElement;", "--raw-line", "pub type RawGeckoElementBorrowedOrNull<\'a> = Option<&\'a RawGeckoElement>;", "--raw-line", "pub type RawGeckoDocumentBorrowed<\'a> = &\'a RawGeckoDocument;", "--raw-line", "pub type RawGeckoDocumentBorrowedOrNull<\'a> = Option<&\'a RawGeckoDocument>;", "--raw-line", "pub type RawServoDeclarationBlockStrongBorrowed<\'a> = &\'a RawServoDeclarationBlockStrong;", "--raw-line", "pub type RawServoDeclarationBlockStrongBorrowedOrNull<\'a> = Option<&\'a RawServoDeclarationBlockStrong>;", "--raw-line", "pub type RawGeckoPresContextBorrowed<\'a> = &\'a RawGeckoPresContext;", "--raw-line", "pub type RawGeckoPresContextBorrowedOrNull<\'a> = Option<&\'a RawGeckoPresContext>;", "--raw-line", "pub type RawGeckoXBLBindingBorrowed<\'a> = &\'a RawGeckoXBLBinding;", "--raw-line", "pub type RawGeckoXBLBindingBorrowedOrNull<\'a> = Option<&\'a RawGeckoXBLBinding>;", "--raw-line", "pub type nsCSSPropertyIDSetBorrowed<\'a> = &\'a nsCSSPropertyIDSet;", "--raw-line", "pub type nsCSSPropertyIDSetBorrowedOrNull<\'a> = Option<&\'a nsCSSPropertyIDSet>;", "--raw-line", "pub type nsCSSPropertyIDSetBorrowedMut<\'a> = &\'a mut nsCSSPropertyIDSet;", "--raw-line", "pub type nsCSSPropertyIDSetBorrowedMutOrNull<\'a> = Option<&\'a mut nsCSSPropertyIDSet>;", "--raw-line", "pub type nsCSSValueBorrowed<\'a> = &\'a nsCSSValue;", "--raw-line", "pub type nsCSSValueBorrowedOrNull<\'a> = Option<&\'a nsCSSValue>;", "--raw-line", "pub type nsCSSValueBorrowedMut<\'a> = &\'a mut nsCSSValue;", "--raw-line", "pub type nsCSSValueBorrowedMutOrNull<\'a> = Option<&\'a mut nsCSSValue>;", "--raw-line", "pub type nsTimingFunctionBorrowed<\'a> = &\'a nsTimingFunction;", "--raw-line", "pub type nsTimingFunctionBorrowedOrNull<\'a> = Option<&\'a nsTimingFunction>;", "--raw-line", "pub type nsTimingFunctionBorrowedMut<\'a> = &\'a mut nsTimingFunction;", "--raw-line", "pub type nsTimingFunctionBorrowedMutOrNull<\'a> = Option<&\'a mut nsTimingFunction>;", "--raw-line", "pub type RawGeckoAnimationPropertySegmentBorrowed<\'a> = &\'a RawGeckoAnimationPropertySegment;", "--raw-line", "pub type RawGeckoAnimationPropertySegmentBorrowedOrNull<\'a> = Option<&\'a RawGeckoAnimationPropertySegment>;", "--raw-line", "pub type RawGeckoAnimationPropertySegmentBorrowedMut<\'a> = &\'a mut RawGeckoAnimationPropertySegment;", "--raw-line", "pub type RawGeckoAnimationPropertySegmentBorrowedMutOrNull<\'a> = Option<&\'a mut RawGeckoAnimationPropertySegment>;", "--raw-line", "pub type RawGeckoComputedTimingBorrowed<\'a> = &\'a RawGeckoComputedTiming;", "--raw-line", "pub type RawGeckoComputedTimingBorrowedOrNull<\'a> = Option<&\'a RawGeckoComputedTiming>;", "--raw-line", "pub type RawGeckoComputedTimingBorrowedMut<\'a> = &\'a mut RawGeckoComputedTiming;", "--raw-line", "pub type RawGeckoComputedTimingBorrowedMutOrNull<\'a> = Option<&\'a mut RawGeckoComputedTiming>;", "--raw-line", "pub type RawGeckoCSSPropertyIDListBorrowed<\'a> = &\'a RawGeckoCSSPropertyIDList;", "--raw-line", "pub type RawGeckoCSSPropertyIDListBorrowedOrNull<\'a> = Option<&\'a RawGeckoCSSPropertyIDList>;", "--raw-line", "pub type RawGeckoCSSPropertyIDListBorrowedMut<\'a> = &\'a mut RawGeckoCSSPropertyIDList;", "--raw-line", "pub type RawGeckoCSSPropertyIDListBorrowedMutOrNull<\'a> = Option<&\'a mut RawGeckoCSSPropertyIDList>;", "--raw-line", "pub type RawGeckoKeyframeListBorrowed<\'a> = &\'a RawGeckoKeyframeList;", "--raw-line", "pub type RawGeckoKeyframeListBorrowedOrNull<\'a> = Option<&\'a RawGeckoKeyframeList>;", "--raw-line", "pub type RawGeckoKeyframeListBorrowedMut<\'a> = &\'a mut RawGeckoKeyframeList;", "--raw-line", "pub type RawGeckoKeyframeListBorrowedMutOrNull<\'a> = Option<&\'a mut RawGeckoKeyframeList>;", "--raw-line", "pub type RawGeckoPropertyValuePairListBorrowed<\'a> = &\'a RawGeckoPropertyValuePairList;", "--raw-line", "pub type RawGeckoPropertyValuePairListBorrowedOrNull<\'a> = Option<&\'a RawGeckoPropertyValuePairList>;", "--raw-line", "pub type RawGeckoPropertyValuePairListBorrowedMut<\'a> = &\'a mut RawGeckoPropertyValuePairList;", "--raw-line", "pub type RawGeckoPropertyValuePairListBorrowedMutOrNull<\'a> = Option<&\'a mut RawGeckoPropertyValuePairList>;", "--raw-line", "pub type RawGeckoComputedKeyframeValuesListBorrowed<\'a> = &\'a RawGeckoComputedKeyframeValuesList;", "--raw-line", "pub type RawGeckoComputedKeyframeValuesListBorrowedOrNull<\'a> = Option<&\'a RawGeckoComputedKeyframeValuesList>;", "--raw-line", "pub type RawGeckoComputedKeyframeValuesListBorrowedMut<\'a> = &\'a mut RawGeckoComputedKeyframeValuesList;", "--raw-line", "pub type RawGeckoComputedKeyframeValuesListBorrowedMutOrNull<\'a> = Option<&\'a mut RawGeckoComputedKeyframeValuesList>;", "--raw-line", "pub type RawGeckoFontFaceRuleListBorrowed<\'a> = &\'a RawGeckoFontFaceRuleList;", "--raw-line", "pub type RawGeckoFontFaceRuleListBorrowedOrNull<\'a> = Option<&\'a RawGeckoFontFaceRuleList>;", "--raw-line", "pub type RawGeckoFontFaceRuleListBorrowedMut<\'a> = &\'a mut RawGeckoFontFaceRuleList;", "--raw-line", "pub type RawGeckoFontFaceRuleListBorrowedMutOrNull<\'a> = Option<&\'a mut RawGeckoFontFaceRuleList>;", "--raw-line", "pub type RawGeckoServoStyleRuleListBorrowed<\'a> = &\'a RawGeckoServoStyleRuleList;", "--raw-line", "pub type RawGeckoServoStyleRuleListBorrowedOrNull<\'a> = Option<&\'a RawGeckoServoStyleRuleList>;", "--raw-line", "pub type RawGeckoServoStyleRuleListBorrowedMut<\'a> = &\'a mut RawGeckoServoStyleRuleList;", "--raw-line", "pub type RawGeckoServoStyleRuleListBorrowedMutOrNull<\'a> = Option<&\'a mut RawGeckoServoStyleRuleList>;", "--raw-line", "pub type RawGeckoServoAnimationValueListBorrowed<\'a> = &\'a RawGeckoServoAnimationValueList;", "--raw-line", "pub type RawGeckoServoAnimationValueListBorrowedOrNull<\'a> = Option<&\'a RawGeckoServoAnimationValueList>;", "--raw-line", "pub type RawGeckoServoAnimationValueListBorrowedMut<\'a> = &\'a mut RawGeckoServoAnimationValueList;", "--raw-line", "pub type RawGeckoServoAnimationValueListBorrowedMutOrNull<\'a> = Option<&\'a mut RawGeckoServoAnimationValueList>;", "--raw-line", "pub type RawGeckoStyleAnimationListBorrowed<\'a> = &\'a RawGeckoStyleAnimationList;", "--raw-line", "pub type RawGeckoStyleAnimationListBorrowedOrNull<\'a> = Option<&\'a RawGeckoStyleAnimationList>;", "--raw-line", "pub type RawGeckoStyleAnimationListBorrowedMut<\'a> = &\'a mut RawGeckoStyleAnimationList;", "--raw-line", "pub type RawGeckoStyleAnimationListBorrowedMutOrNull<\'a> = Option<&\'a mut RawGeckoStyleAnimationList>;", "--raw-line", "pub type RawGeckoStyleChildrenIteratorBorrowed<\'a> = &\'a RawGeckoStyleChildrenIterator;", "--raw-line", "pub type RawGeckoStyleChildrenIteratorBorrowedOrNull<\'a> = Option<&\'a RawGeckoStyleChildrenIterator>;", "--raw-line", "pub type RawGeckoStyleChildrenIteratorBorrowedMut<\'a> = &\'a mut RawGeckoStyleChildrenIterator;", "--raw-line", "pub type RawGeckoStyleChildrenIteratorBorrowedMutOrNull<\'a> = Option<&\'a mut RawGeckoStyleChildrenIterator>;", "--raw-line", "pub type ServoCssRulesStrong = ::gecko_bindings::sugar::ownership::Strong<ServoCssRules>;", "--raw-line", "pub type ServoCssRulesBorrowed<\'a> = &\'a ServoCssRules;", "--raw-line", "pub type ServoCssRulesBorrowedOrNull<\'a> = Option<&\'a ServoCssRules>;", "--raw-line", "enum ServoCssRulesVoid { }", "--raw-line", "pub struct ServoCssRules(ServoCssRulesVoid);", "--raw-line", "pub type RawServoStyleSheetContentsStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoStyleSheetContents>;", "--raw-line", "pub type RawServoStyleSheetContentsBorrowed<\'a> = &\'a RawServoStyleSheetContents;", "--raw-line", "pub type RawServoStyleSheetContentsBorrowedOrNull<\'a> = Option<&\'a RawServoStyleSheetContents>;", "--raw-line", "pub type RawServoDeclarationBlockStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoDeclarationBlock>;", "--raw-line", "pub type RawServoDeclarationBlockBorrowed<\'a> = &\'a RawServoDeclarationBlock;", "--raw-line", "pub type RawServoDeclarationBlockBorrowedOrNull<\'a> = Option<&\'a RawServoDeclarationBlock>;", "--raw-line", "pub type RawServoStyleRuleStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoStyleRule>;", "--raw-line", "pub type RawServoStyleRuleBorrowed<\'a> = &\'a RawServoStyleRule;", "--raw-line", "pub type RawServoStyleRuleBorrowedOrNull<\'a> = Option<&\'a RawServoStyleRule>;", "--raw-line", "pub type RawServoImportRuleStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoImportRule>;", "--raw-line", "pub type RawServoImportRuleBorrowed<\'a> = &\'a RawServoImportRule;", "--raw-line", "pub type RawServoImportRuleBorrowedOrNull<\'a> = Option<&\'a RawServoImportRule>;", "--raw-line", "enum RawServoImportRuleVoid { }", "--raw-line", "pub struct RawServoImportRule(RawServoImportRuleVoid);", "--raw-line", "pub type RawServoAnimationValueStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoAnimationValue>;", "--raw-line", "pub type RawServoAnimationValueBorrowed<\'a> = &\'a RawServoAnimationValue;", "--raw-line", "pub type RawServoAnimationValueBorrowedOrNull<\'a> = Option<&\'a RawServoAnimationValue>;", "--raw-line", "pub type RawServoKeyframeStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoKeyframe>;", "--raw-line", "pub type RawServoKeyframeBorrowed<\'a> = &\'a RawServoKeyframe;", "--raw-line", "pub type RawServoKeyframeBorrowedOrNull<\'a> = Option<&\'a RawServoKeyframe>;", "--raw-line", "enum RawServoKeyframeVoid { }", "--raw-line", "pub struct RawServoKeyframe(RawServoKeyframeVoid);", "--raw-line", "pub type RawServoKeyframesRuleStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoKeyframesRule>;", "--raw-line", "pub type RawServoKeyframesRuleBorrowed<\'a> = &\'a RawServoKeyframesRule;", "--raw-line", "pub type RawServoKeyframesRuleBorrowedOrNull<\'a> = Option<&\'a RawServoKeyframesRule>;", "--raw-line", "enum RawServoKeyframesRuleVoid { }", "--raw-line", "pub struct RawServoKeyframesRule(RawServoKeyframesRuleVoid);", "--raw-line", "pub type RawServoMediaListStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoMediaList>;", "--raw-line", "pub type RawServoMediaListBorrowed<\'a> = &\'a RawServoMediaList;", "--raw-line", "pub type RawServoMediaListBorrowedOrNull<\'a> = Option<&\'a RawServoMediaList>;", "--raw-line", "pub type RawServoMediaRuleStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoMediaRule>;", "--raw-line", "pub type RawServoMediaRuleBorrowed<\'a> = &\'a RawServoMediaRule;", "--raw-line", "pub type RawServoMediaRuleBorrowedOrNull<\'a> = Option<&\'a RawServoMediaRule>;", "--raw-line", "enum RawServoMediaRuleVoid { }", "--raw-line", "pub struct RawServoMediaRule(RawServoMediaRuleVoid);", "--raw-line", "pub type RawServoNamespaceRuleStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoNamespaceRule>;", "--raw-line", "pub type RawServoNamespaceRuleBorrowed<\'a> = &\'a RawServoNamespaceRule;", "--raw-line", "pub type RawServoNamespaceRuleBorrowedOrNull<\'a> = Option<&\'a RawServoNamespaceRule>;", "--raw-line", "enum RawServoNamespaceRuleVoid { }", "--raw-line", "pub struct RawServoNamespaceRule(RawServoNamespaceRuleVoid);", "--raw-line", "pub type RawServoPageRuleStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoPageRule>;", "--raw-line", "pub type RawServoPageRuleBorrowed<\'a> = &\'a RawServoPageRule;", "--raw-line", "pub type RawServoPageRuleBorrowedOrNull<\'a> = Option<&\'a RawServoPageRule>;", "--raw-line", "enum RawServoPageRuleVoid { }", "--raw-line", "pub struct RawServoPageRule(RawServoPageRuleVoid);", "--raw-line", "pub type RawServoSupportsRuleStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoSupportsRule>;", "--raw-line", "pub type RawServoSupportsRuleBorrowed<\'a> = &\'a RawServoSupportsRule;", "--raw-line", "pub type RawServoSupportsRuleBorrowedOrNull<\'a> = Option<&\'a RawServoSupportsRule>;", "--raw-line", "enum RawServoSupportsRuleVoid { }", "--raw-line", "pub struct RawServoSupportsRule(RawServoSupportsRuleVoid);", "--raw-line", "pub type RawServoDocumentRuleStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoDocumentRule>;", "--raw-line", "pub type RawServoDocumentRuleBorrowed<\'a> = &\'a RawServoDocumentRule;", "--raw-line", "pub type RawServoDocumentRuleBorrowedOrNull<\'a> = Option<&\'a RawServoDocumentRule>;", "--raw-line", "enum RawServoDocumentRuleVoid { }", "--raw-line", "pub struct RawServoDocumentRule(RawServoDocumentRuleVoid);", "--raw-line", "pub type RawServoFontFeatureValuesRuleStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoFontFeatureValuesRule>;", "--raw-line", "pub type RawServoFontFeatureValuesRuleBorrowed<\'a> = &\'a RawServoFontFeatureValuesRule;", "--raw-line", "pub type RawServoFontFeatureValuesRuleBorrowedOrNull<\'a> = Option<&\'a RawServoFontFeatureValuesRule>;", "--raw-line", "enum RawServoFontFeatureValuesRuleVoid { }", "--raw-line", "pub struct RawServoFontFeatureValuesRule(RawServoFontFeatureValuesRuleVoid);", "--raw-line", "pub type RawServoRuleNodeStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoRuleNode>;", "--raw-line", "pub type RawServoRuleNodeBorrowed<\'a> = &\'a RawServoRuleNode;", "--raw-line", "pub type RawServoRuleNodeBorrowedOrNull<\'a> = Option<&\'a RawServoRuleNode>;", "--raw-line", "enum RawServoRuleNodeVoid { }", "--raw-line", "pub struct RawServoRuleNode(RawServoRuleNodeVoid);", "--whitelist-function", "Servo_.*", "--whitelist-function", "Gecko_.*", "--", "-I", "/var/tmp/portage/www-client/torbrowser-60.2.0_p800/work/torbrowser-60.2.0_p800/ff/dist/include", "-I", "/var/tmp/portage/www-client/torbrowser-60.2.0_p800/work/torbrowser-60.2.0_p800/ff/dist/include/nspr", "-include", "/var/tmp/portage/www-client/torbrowser-60.2.0_p800/work/torbrowser-60.2.0_p800/ff/dist/include/mozilla-config.h", "-x", "c++", "-std=c++14", "-fno-sized-deallocation", "-DTRACING=1", "-DIMPL_LIBXUL", "-DMOZ_STYLO_BINDINGS=1", "-DMOZILLA_INTERNAL_API", "-DRUST_BINDGEN", "-DMOZ_STYLO", "-DOS_POSIX=1", "-m64", "-DOS_LINUX=1", "-I/var/tmp/portage/www-client/torbrowser-60.2.0_p800/work/torbrowser-60.2.0_p800/ff/dist/include/nspr", "-I/var/tmp/portage/www-client/torbrowser-60.2.0_p800/work/torbrowser-60.2.0_p800/ff/dist/include/nss", "-I/usr/include/pixman-1", "-I/var/tmp/portage/www-client/torbrowser-60.2.0_p800/work/torbrowser-60.2.0_p800/ff/dist/include/cairo", "--no-rustfmt-bindings"]', servo/components/style/build_gecko.rs:296:17
19:13.09 stack backtrace:
19:13.09    0:     0x5645705f665e - std::sys::unix::backtrace::tracing::imp::unwind_backtrace::h9aa5ffc216cd8bab
19:13.09    1:     0x5645705e6f76 - std::sys_common::backtrace::print::h20333f3cf15259f2
19:13.09    2:     0x5645705e4eed - std::panicking::default_hook::{{closure}}::hd1cdeeefd64cf4be
19:13.09    3:     0x5645705e4c60 - std::panicking::default_hook::h386fdb6b44148c45
19:13.09    4:     0x5645705e558c - std::panicking::rust_panic_with_hook::h655ee35696268a2c
19:13.09    5:     0x5645705e5339 - std::panicking::continue_panic_fmt::h9e6d68e1d0b2da5c
19:13.09    6:     0x5645705e529d - std::panicking::begin_panic_fmt::h8726b3c9c9f319ff
19:13.10    7:     0x56457046b89a - build_script_build::build_gecko::bindings::write_binding_file::h00f86697c146b901
19:13.10    8:     0x564570473f6d - build_script_build::build_gecko::bindings::generate_bindings::h0d45ac74a299b0b4
19:13.10    9:     0x564570603dd9 - __rust_maybe_catch_panic
19:13.10   10:     0x5645704629cd - <F as alloc::boxed::FnBox<A>>::call_box::h6ef04e26f16e6aa9
19:13.10   11:     0x5645705e245a - std::sys_common::thread::start_thread::h590269ce51109f94
19:13.10   12:     0x5645705e6105 - std::sys::unix::thread::Thread::new::thread_start::h24bdff52d06895a1
19:13.10   13:     0x7fad7f4e1969 - <unknown>
19:13.10   14:     0x7fad7ee0a5fe - clone
19:13.10   15:                0x0 - <unknown>

www-client/torbrowser-launcher-0.1.6 should depend on dev-python/service_identity

When attempting to run a just installed torbrowser-launcher-0.1.6, it failed to check for updates, complaining about service_identity missing:

$ torbrowser-launcher
/usr/lib64/python2.7/site-packages/twisted/internet/_sslverify.py:184: UserWarning: You do not have the service_identity module installed. Please install it from https://pypi.python.org/pypi/service_identity. Without the service_identity module and a recent enough pyOpenSSL tosupport it, Twisted can perform only rudimentary TLS client hostnameverification. Many valid certificate/hostname mappings may be rejected.
verifyHostname, VerificationError = _selectVerifyImplementation()
Tor Browser Launcher
By Micah Lee, licensed under MIT
version 0.1.6
https://github.com/micahflee/torbrowser-launcher
Initializing Tor Browser Launcher
Successfully loaded mirrors from /usr/share/torbrowser-launcher/mirrors.txt
Warning: can't load mirrors from /home/creideiki/.config/torbrowser/mirrors.txt
Importing keys
gpg: key 63FEE659: "Erinn Clark [email protected]" not changed
gpg: Total number processed: 1
gpg: unchanged: 1
Starting launcher dialog
LATEST VERSION 0
Checking for update
Running task: download_update_check
Downloading https://www.torproject.org/projects/torbrowser/RecommendedTBBVersions
Download error: [<twisted.python.failure.Failure <class 'twisted.internet._sslverify.SimpleVerificationError'>>] <class 'twisted.web._newclient.ResponseNeverReceived'>
Running task: attempt_update
Checking to see if update is needed

After manually emerging dev-python/service_identity-14.0.0, it works:

$ torbrowser-launcher
Tor Browser Launcher
By Micah Lee, licensed under MIT
version 0.1.6
https://github.com/micahflee/torbrowser-launcher
Initializing Tor Browser Launcher
Successfully loaded mirrors from /usr/share/torbrowser-launcher/mirrors.txt
Warning: can't load mirrors from /home/creideiki/.config/torbrowser/mirrors.txt
Importing keys
gpg: key 63FEE659: "Erinn Clark [email protected]" not changed
gpg: Total number processed: 1
gpg: unchanged: 1
Starting launcher dialog
LATEST VERSION 0
Checking for update
Running task: download_update_check
Downloading https://www.torproject.org/projects/torbrowser/RecommendedTBBVersions
Finished receiving body: Response body fully received
Running task: attempt_update
Checking to see if update is needed
TBB is not installed, attempting to install 4.0.1
Running task: download_sha256
Downloading https://www.torproject.org/dist/torbrowser/4.0.1/sha256sums.txt
Finished receiving body: Response body fully received
Running task: download_sha256_sig
Downloading https://www.torproject.org/dist/torbrowser/4.0.1/sha256sums.txt.asc
Finished receiving body: Response body fully received
Running task: download_tarball
Downloading https://www.torproject.org/dist/torbrowser/4.0.1/tor-browser-linux64-4.0.1_en-US.tar.xz
Finished receiving body: Response body fully received
Running task: verify
Verifying signature
gpg: Signature made fre 31 okt 2014 20:12:39 CET using RSA key ID 63FEE659
gpg: Good signature from "Erinn Clark [email protected]" [unknown]
gpg: aka "Erinn Clark [email protected]" [unknown]
gpg: aka "Erinn Clark [email protected]" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: 8738 A680 B84B 3031 A630 F2DB 416F 0610 63FE E659

www-client/torbrowser-60.6.1_p808: Could not compile `style_traits`

No issue with compiling Firefox (66.0.3).
Latest successfully built version of Tor Browser: 60.6.0_p807 (but this may be due to a bumped dependency in the meantime).

Failed with and without MAKEOPTS="-j1".

No "system-*" use flags enabled for this package.
dev-lang/rust-1.34.1 is installed.

 2:49.04    Compiling style_traits v0.0.1 (/var/tmp/portage/www-client/torbrowser-60.6.1_p808/work/torbrowser-60.6.1_p808/servo/components/style_traits)
 2:49.13 warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead
 2:49.13   --> servo/components/style_traits/viewport.rs:10:30
 2:49.13    |
 2:49.13 10 | #[allow(unused_imports)] use std::ascii::AsciiExt;
 2:49.13    |                              ^^^^^^^^^^^^^^^^^^^^
 2:49.13    |
 2:49.13    = note: #[warn(deprecated)] on by default
 2:49.13 
 2:49.35 error: missing documentation for macro
 2:49.35    --> servo/components/style_traits/values.rs:139:1
 2:49.35     |
 2:49.35 139 | macro_rules! serialize_function {
 2:49.35     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 2:49.35     |
 2:49.35 note: lint level defined here
 2:49.35    --> servo/components/style_traits/lib.rs:12:22
 2:49.35     |
 2:49.35 12  | #![deny(unsafe_code, missing_docs)]
 2:49.35     |                      ^^^^^^^^^^^^
 2:49.35 
 2:49.36 error: missing documentation for macro
 2:49.36    --> servo/components/style_traits/values.rs:408:1
 2:49.36     |
 2:49.36 408 | macro_rules! define_css_keyword_enum {
 2:49.36     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 2:49.36 
 2:49.36 error: aborting due to 2 previous errors
 2:49.36 
 2:49.38 error: Could not compile `style_traits`.
 2:49.38 warning: build failed, waiting for other jobs to finish...

www-client/torbrowser-31.4.0 distfiles are not available

>>> Downloading 'https://dist.torproject.org/torbrowser/4.0.3/tor-browser-linux64-4.0.3_en-US.tar.xz'
--2015-02-27 05:30:59--  https://dist.torproject.org/torbrowser/4.0.3/tor-browser-linux64-4.0.3_en-US.tar.xz
Resolving dist.torproject.org (dist.torproject.org)... 154.35.132.70, 38.229.72.16, 82.195.75.101, ...
Connecting to dist.torproject.org (dist.torproject.org)|154.35.132.70|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2015-02-27 05:31:00 ERROR 404: Not Found.

!!! Couldn't download 'tor-browser-linux64-4.0.3_en-US.tar.xz'. Aborting.
 * Fetch failed for 'www-client/torbrowser-31.4.0', Log file:
 *  '/var/tmp/portage/www-client/torbrowser-31.4.0/temp/build.log'

Apparently 4.0.4 was released and older distfiles were removed:
https://www.torproject.org/projects/torbrowser.html

Please update torbrowser or at least mirror older distfiles somewhere.

torbrowser-launcher-0.1.8, new signing keys?

Thank you for maintaining the torbrowser overlay, it's appreciated.

There is a new deveopler signing key now, but tb-l-0.1.7 does not handle it. I can verify manually, but it would be nice if we had the new launcher version in the overlay when you get the time to do it:

https://github.com/micahflee/torbrowser-launcher/tree/master/share

The new key is here:
https://hkps.pool.sks-keyservers.net/pks/lookup?op=vindex&search=0x4E2C6E8793298290

Thanks again for your work.

Tor Browser opens 86 tabs on start-up.

I just enabled and used the repository and it emerged fine. No errors, and I open the browser. And It opens a ludicrous amount of tabs when it starts. Nothing else seems incorrect and I dont seem to get any errors, but I do not know why tabs would be spammed open. Maybe it has something to do with my window-manager (BSPWM)

to replicate the error:
Emerge the newest release of torbrowser
Start tor browser
86 Tabs open

Expected Behavior:
1 tab opens

Log for when I start it from the terminal is,

Gtk-Message: 11:34:48.437: Failed to load module "colorreload-gtk-module"
Gtk-Message: 11:34:48.437: Failed to load module "window-decorations-gtk-module"
...

www-client/torbrowser-60.9.0_p855: cssparser: error[E0506]: cannot assign to `self.input.cached_token` because it is borrowed

torbrowser fails to compile:
6:19.63 Compiling rayon v1.0.0
6:22.74 error[E0506]: cannot assign to self.input.cached_token because it is borrowed
6:22.74 --> /var/tmp/portage/www-client/torbrowser-60.9.0_p855/work/tor-browser-60.9.0esr-8.5-2-build2/third_party/rust/cssparser/src/parser.rs:572:17
6:22.74 |
6:22.74 547 | pub fn next_including_whitespace_and_comments(&mut self) -> Result<&Token<'i>, BasicParseError<'i>> {
6:22.74 | - let's call the lifetime of this reference '1
6:22.74 ...
6:22.74 560 | Some(ref cached_token)
6:22.74 | ---------------- borrow of self.input.cached_token occurs here
6:22.74 ...
6:22.74 572 | self.input.cached_token = Some(CachedToken {
6:22.74 | ^^^^^^^^^^^^^^^^^^^^^^^ assignment to borrowed self.input.cached_token occurs here
6:22.74 ...
6:22.75 584 | Ok(token)
6:22.75 | --------- returning this value requires that self.input.cached_token.0 is borrowed for '1
6:22.75
6:22.93 Compiling cstr v0.1.3
6:23.08 error: aborting due to previous error
6:23.08
6:23.08 For more information about this error, try rustc --explain E0506.
6:23.10 error: Could not compile cssparser.
6:23.10 warning: build failed, waiting for other jobs to finish...

torbrowser-launcher should depend on dev-python/distro

New dep is introduced here: torproject/torbrowser-launcher#484

Without it, torbrowser launcher fails to emerge with:

>>> Compiling source in /var/tmp/portage/www-client/torbrowser-launcher-0.3.3/work/torbrowser-launcher-0.3.3 ... python3.8 setup.py build -j 16 Traceback (most recent call last): File "setup.py", line 31, in <module> import distro ModuleNotFoundError: No module named 'distro'

In addition, I'm not quite sure why we needed to add distro by patching it in. I think ebuilds will only run on a very few distributions.

The `New Identity` feature doesn't work

Could it be fixed?
For me it is strange that this feature doesn't work because of a tor's ControlPort is fairly available.
May be I should use the torbrowser-launcher to make it work?
BTW: torbrowser-launcher doesn't work for me either. It is starts with download of "update" and then just stops.

"www-client/torbrowser" and "www-client/torbrowser-launcher" file-collide

Ho, ho, ho. Merry Gentoo Christmas, Meister P. Two trivial issues for you this wintry night.

Firstly, www-client/torbrowser and www-client/torbrowser-launcher overlap in the files they install: e.g.,

$ emerge torbrowser-launcher
...
>>> Completed installing www-client/torbrowser-launcher-0.3.4 into /var/tmp/portage/www-client/torbrowser-launcher-0.3.4/image

 * Final size of build directory: 620 KiB
 * Final size of installed tree:  524 KiB

 * QA Notice: DISTUTILS_USE_SETUPTOOLS value is probably incorrect
 *   have:     DISTUTILS_USE_SETUPTOOLS=bdepend (or unset)
 *   expected: DISTUTILS_USE_SETUPTOOLS=no
 * Verifying compiled files in /usr/lib/python3.8/site-packages
 * Verifying compiled files in /usr/lib/python3.9/site-packages

>>> Installing (3 of 3) www-client/torbrowser-launcher-0.3.4::torbrowser
 * checking 62 files for package collisions
 * This package will overwrite one or more files that may belong to other
 * packages (see list below). You can use a command such as `portageq
 * owners / <filename>` to identify the installed package that owns a
 * file. If portageq reports that only one package owns a file then do
 * NOT file a bug report. A bug report is only useful if it identifies at
 * least two or more packages that are known to install the same file(s).
 * If a collision occurs and you can not explain where the file came from
 * then you should simply ignore the collision since there is not enough
 * information to determine if a real problem exists. Please do NOT file
 * a bug report at https://bugs.gentoo.org/ unless you report exactly
 * which two packages install the same file(s). See
 * https://wiki.gentoo.org/wiki/Knowledge_Base:Blockers for tips on how
 * to solve the problem. And once again, please do NOT file a bug report
 * unless you have completely understood the above message.
 * 
 * Detected file collision(s):
 * 
 * 	/usr/share/applications/torbrowser.desktop
 * 	/usr/share/icons/hicolor/128x128/apps/torbrowser.png
 * 
 * Searching all installed packages for file collisions...
 * 
 * Press Ctrl-C to Stop
 * 
 * www-client/torbrowser-91.3.0_p11001:0::torbrowser
 * 	/usr/share/applications/torbrowser.desktop
 * 	/usr/share/icons/hicolor/128x128/apps/torbrowser.png
 * 
 * Package 'www-client/torbrowser-launcher-0.3.4' NOT merged due to file
 * collisions. If necessary, refer to your elog messages for the whole
 * content of the above message.

>>> Failed to install www-client/torbrowser-launcher-0.3.4, Log file:

Adding a soft blocker to each preventing the other from being concurrently installed will resolve that. So, that's nice.

Secondly, torbrowser-launcher also suffers a trivial setuptools issue. Presumably, adding DISTUTILS_USE_SETUPTOOLS=no to your torbrowser-launcher-*.ebuild should (in theory, being optimistic because Christmas here) resolve that.

Have a gr8 Yuletide, m8 – and thanks for all the anonymized clearnet! 🎅

net-libs/stem-1.8.1 fails to build.

‘/usr/portage/distfiles/stem-1.8.1.tar.gz.__download__’ saved [2860581]

!!! Fetched file: stem-1.8.1.tar.gz VERIFY FAILED!
!!! Reason: Filesize does not match recorded size
!!! Got:      2860581
!!! Expected: 2860303
Refetching... File renamed to '/usr/portage/distfiles/stem-1.8.1.tar.gz._checksum_failure_.d6dccds0'

torbrowser-bin ebuild?

Do you think it would be possible to add a new ebuild that uses the already compiled version from the TOR project website? Just like the firefox-bin or the thunderbird-bin ebuilds already do

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.