Browse Source

Пт июн 28 15:32:42 MSK 2019

Mike Tatarko 1 month ago
parent
commit
22c04aa17e
47 changed files with 3094 additions and 44 deletions
  1. 3 0
      app-admin/setools/Manifest
  2. 12 0
      app-admin/setools/metadata.xml
  3. 49 0
      app-admin/setools/setools-4.2.1.ebuild
  4. 2 2
      dev-db/tarantool/Manifest
  5. 0 0
      dev-db/tarantool/tarantool-1.10.2.98.ebuild
  6. 1 0
      media-gfx/simpleviewer-gl/Manifest
  7. 37 0
      media-gfx/simpleviewer-gl/simpleviewer-gl-2.99.ebuild
  8. 2 0
      media-libs/x264/Manifest
  9. 13 0
      media-libs/x264/metadata.xml
  10. 61 0
      media-libs/x264/x264-9999.ebuild
  11. 10 0
      media-sound/pulseaudio/Manifest
  12. 48 0
      media-sound/pulseaudio/files/pulseaudio-11.1-disable-flat-volumes.patch
  13. 129 0
      media-sound/pulseaudio/files/pulseaudio-12.2-fix-alsa-includes-0.patch
  14. 44 0
      media-sound/pulseaudio/files/pulseaudio-12.2-fix-alsa-includes-1.patch
  15. 6 0
      media-sound/pulseaudio/files/pulseaudio.conf.d
  16. 80 0
      media-sound/pulseaudio/files/pulseaudio.init.d-5
  17. 10 0
      media-sound/pulseaudio/files/pulseaudio.service
  18. 1 0
      media-sound/pulseaudio/files/pulseaudio.tmpfiles
  19. 77 0
      media-sound/pulseaudio/metadata.xml
  20. 362 0
      media-sound/pulseaudio/pulseaudio-12.2-r1.ebuild
  21. 2 0
      media-video/pipewire/Manifest
  22. 50 0
      media-video/pipewire/pipewire-0.2.5.ebuild
  23. 3 0
      media-video/x264-encoder/Manifest
  24. 13 0
      media-video/x264-encoder/files/gpac.patch
  25. 13 0
      media-video/x264-encoder/metadata.xml
  26. 75 0
      media-video/x264-encoder/x264-encoder-9999.ebuild
  27. 4 2
      net-libs/nodejs/Manifest
  28. 35 32
      net-libs/nodejs/nodejs-8.14.1.ebuild
  29. 210 0
      net-libs/nodejs/nodejs-11.8.0.ebuild
  30. 11 0
      net-libs/webkit-gtk/Manifest
  31. 16 0
      net-libs/webkit-gtk/metadata.xml
  32. 280 0
      net-libs/webkit-gtk/webkit-gtk-2.22.4.ebuild
  33. 285 0
      net-libs/webkit-gtk/webkit-gtk-2.22.5.ebuild
  34. 287 0
      net-libs/webkit-gtk/webkit-gtk-2.22.6.ebuild
  35. 287 0
      net-libs/webkit-gtk/webkit-gtk-2.22.7.ebuild
  36. 288 0
      net-libs/webkit-gtk/webkit-gtk-2.24.0.ebuild
  37. 3 0
      sys-apps/bubblewrap/Manifest
  38. 43 0
      sys-apps/bubblewrap/bubblewrap-0.3.1-r1.ebuild
  39. 11 0
      sys-apps/bubblewrap/metadata.xml
  40. 5 0
      sys-apps/policycoreutils/Manifest
  41. 13 0
      sys-apps/policycoreutils/files/policycoreutils-2.7-0001-newrole-not-suid.patch
  42. 27 0
      sys-apps/policycoreutils/metadata.xml
  43. 178 0
      sys-apps/policycoreutils/policycoreutils-2.9_rc1.ebuild
  44. 1 1
      sys-kernel/gentoo-sources/Manifest
  45. 1 1
      sys-kernel/gentoo-sources/gentoo-sources-4.99.99.ebuild
  46. 3 3
      www-client/iridium-browser-bin/Manifest
  47. 3 3
      www-client/iridium-browser-bin/iridium-browser-bin-2018.11.71.ebuild

+ 3 - 0
app-admin/setools/Manifest

@@ -0,0 +1,3 @@
+DIST setools-4.2.1.tar.gz 365096 SHA256 da08f9b044d0054acfec8e0c450430f4757ba1843d858ddfd71b756c92db47df SHA512 7d00295fe7ff16e96e15266807f8e0a67cc2978f9051cd85afb9ee71ca7fad16ccf7421a4a163bb793950bc20a44f3cbb8409b4e0642d0f96cf7a3df7bc59c31 WHIRLPOOL 77a4b1c2c50f487071ffdd94e6447c9aedeff7ba41d07d6a3cae8f6f5af142a55a3b3bcc07ff2abe94cc70eb77cdba2f07259d986e78d091e129b73f509f2b8a
+EBUILD setools-4.2.1.ebuild 1202 SHA256 a191007f926b9f58e79bd6be70a03a301fab38f2d3d87c52efc90f005672be98 SHA512 94d4408cd765cfc21be7675ed2681ceb4edc9444ab74a8aeacee6bc1c2fbeed18ad60d058ea162e0f1fbfc73cdbd1e120319d46309b40c04f4061d70e45ed301 WHIRLPOOL 5d81006c9698448bbc779fe3c5071206a984b57b282e06ce7408a7a593d1a672dd0f45ad199a878106defacd4c7a213b14ef547bee00f62b79a8e4dffd523958
+MISC metadata.xml 401 SHA256 00a385fbe7a4a33445038d23fd75566e65acbff203ebb81cb663330ecc56e61b SHA512 354eb8fc14e5673dfd6ad2781a784cd6d77442bf879a96c206b758615c1612397c09c20161efb9e37bc56a588e97a74a20939773dec0b1f137eb6ac353234d2f WHIRLPOOL ad57bf8fb1d4532dfb19ba4046810b6e82a530626825379291568af94b670fae6634733a5f5338d642f8ce33e6de4488d34c23fcffb0aaa884173da940c00fd7

+ 12 - 0
app-admin/setools/metadata.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<maintainer type="project">
+		<email>selinux@gentoo.org</email>
+		<name>SELinux Team</name>
+	</maintainer>
+	<longdescription>SELinux policy analysis tools.</longdescription>
+	<upstream>
+		<remote-id type="github">SELinuxProject/setools</remote-id>
+	</upstream>
+</pkgmetadata>

+ 49 - 0
app-admin/setools/setools-4.2.1.ebuild

@@ -0,0 +1,49 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+PYTHON_COMPAT=( python3_5 python3_6 )
+
+inherit distutils-r1
+
+DESCRIPTION="Policy Analysis Tools for SELinux"
+HOMEPAGE="https://github.com/SELinuxProject/setools/wiki"
+
+if [[ ${PV} == 9999 ]] ; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/SELinuxProject/setools.git"
+else
+	SRC_URI="https://github.com/SELinuxProject/setools/archive/${PV}.tar.gz -> ${P}.tar.gz"
+	KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+IUSE="X test"
+
+RDEPEND="${PYTHON_DEPS}
+	>=dev-python/networkx-2.0[${PYTHON_USEDEP}]
+	>=sys-libs/libsepol-2.8:=
+	>=sys-libs/libselinux-2.8:=
+	X? (
+		dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
+	)"
+
+DEPEND="${RDEPEND}
+	>=dev-python/cython-0.27
+	test? (
+		sys-apps/checkpolicy
+	)"
+
+python_prepare_all() {
+	sed -i "s/'-Werror', //" "${S}"/setup.py || die "failed to remove Werror"
+	sed -i "s@^lib_dirs = .*@lib_dirs = ['${ROOT:-/}usr/$(get_libdir)']@" "${S}"/setup.py || \
+		die "failed to set lib_dirs"
+
+#	use X || local PATCHES=( "${FILESDIR}"/setools-4.2.0-remove-gui.patch )
+	distutils-r1_python_prepare_all
+}
+
+python_test() {
+	esetup.py test
+}

+ 2 - 2
dev-db/tarantool/Manifest

@@ -1,4 +1,4 @@
 AUX tarantool.cfg 1921 SHA256 74a7c55a25d8ad320589e190813ccabea5bcba0eaacf6ab72611b1978081293c SHA512 797d4def3dd228492c5c78d13bdaef417b072bdecf83e69a691fdd88ab71fee800e6c800b7ff4a4229d9e7e0f0d1b9373119ed5c64020a6d678a9a7ffa8d679f WHIRLPOOL 26c9c22e870e831b33a340927fa0662389e2f793ff1bf5f7c1845ac3986a0b4572b9ad269883e5819681e88b2e82a985da4ec7c4bdcdb39a707372ee23688c14
-DIST tarantool-1.7.3.285.tar.gz 6163159 SHA256 a14de8e3b274054c284520897ff14e7e3dd9a9b4ca85ce203c163486e4be0103 SHA512 123b91fca87c18872aaa906bd7e234736350fb6484370b57e3ee7158636129088d4a01e46522cf873ba53eb4360365c826da29240f6393296563e44d5f7cb63c WHIRLPOOL 1e5d6e5836bd53eba8f2a44076735f1a2fddb2e6d6644aed731b631b74e9bb27f483eec9f5da28f58851a445b5778e9c73aab671344683000e7e597551e0ba8f
-EBUILD tarantool-1.7.3.285.ebuild 2035 SHA256 51605e45e0c980663e09bfceeb13e510218cea69cdc5a71b817355138dc8253b SHA512 abd44428a4fa75c9dbb7867fbfcbb584eebed1238c8b0b5f8144c5ca2a4db52d100bfba353a200e5d6821b3aa8f4ba5fa165ec282c8d44e45bb419e64f9b64d9 WHIRLPOOL 563d9c62e1b4cb135ee963eff998bf1fa0b290b5cd4fd5dd49de733ca87999fc049bd7a2be33b6b88db70b3bd572b9f6a46201c2c6514aeff88f23f7d35e2319
+DIST tarantool-1.10.2.98.tar.gz 17232192 SHA256 485d9ef26527e0b9b9ac7e32b5ff5f67eb2f204214f199ba93cab2562ffd2be7 SHA512 b0073929fae859f8869aa8cd231fbc72ab590927361e46b769c7207f8b027cafab6d9a1df00b7aa7621bb88812e480ab5bc94306dbc65c23a445dc2c6ee760ff WHIRLPOOL a6eb2f959b272b950a427220be8f24f4b4bdde8f23bec06048f753327b8db387c7f98247db260048cc6eff4eee7e0b711bb7b52f9fd40fbe9997068407b0e1b2
+EBUILD tarantool-1.10.2.98.ebuild 2035 SHA256 51605e45e0c980663e09bfceeb13e510218cea69cdc5a71b817355138dc8253b SHA512 abd44428a4fa75c9dbb7867fbfcbb584eebed1238c8b0b5f8144c5ca2a4db52d100bfba353a200e5d6821b3aa8f4ba5fa165ec282c8d44e45bb419e64f9b64d9 WHIRLPOOL 563d9c62e1b4cb135ee963eff998bf1fa0b290b5cd4fd5dd49de733ca87999fc049bd7a2be33b6b88db70b3bd572b9f6a46201c2c6514aeff88f23f7d35e2319
 EBUILD tarantool-9999.ebuild 1983 SHA256 24d954fef55b243b0276c521d7ca0c23bb09dee01a3a3d4de3df494622ea890f SHA512 5cbe529da3e4034ddbc709ddffac48d5d37a9d4b66b24cf62485e6a5869cf2d1c186fceaafe0c21938ae7ada9be83f2141de0648754425f21830adc243c721f2 WHIRLPOOL cf9a56ac24b12509b4919a29c458e558eeb9d8d7e675cf7d17af318e224eade6533913dce0d67fea47943a0b47f3e6a5fcb4ab0e1ce9ef77dd9764d932a80673

dev-db/tarantool/tarantool-1.7.3.285.ebuild → dev-db/tarantool/tarantool-1.10.2.98.ebuild


+ 1 - 0
media-gfx/simpleviewer-gl/Manifest

@@ -1,2 +1,3 @@
+EBUILD simpleviewer-gl-2.99.ebuild 717 SHA256 ea4c2940bb19f7d0a2f01cf35d6cc514944890b68a30966b5666522cb9268b68 SHA512 91cc2fdbdb014ddd89f61aaa653fa2dfa4c86fdb6d5b9e758859fba7b28115c3fcc4b19be9ea64634fa780031cba0f57ff2ae06b01071198f1d0ce7171390439 WHIRLPOOL 013016f6bea5ed530f4c8301eee3a596807c8a8e85cfa1a5a614e34651d10713b3916e6a0b4f320e0cebe4d65fa66da8794dcec166374ab855db4e971103ddd3
 EBUILD simpleviewer-gl-3.05.ebuild 717 SHA256 ea4c2940bb19f7d0a2f01cf35d6cc514944890b68a30966b5666522cb9268b68 SHA512 91cc2fdbdb014ddd89f61aaa653fa2dfa4c86fdb6d5b9e758859fba7b28115c3fcc4b19be9ea64634fa780031cba0f57ff2ae06b01071198f1d0ce7171390439 WHIRLPOOL 013016f6bea5ed530f4c8301eee3a596807c8a8e85cfa1a5a614e34651d10713b3916e6a0b4f320e0cebe4d65fa66da8794dcec166374ab855db4e971103ddd3
 EBUILD simpleviewer-gl-9999.ebuild 715 SHA256 15dc9223dee727f0267e36d00e5244609718e3336d1fd997b9c7c353e9708931 SHA512 40a187d7e38e1fe50d3e7a1e782561256158e0b43f9ef8819f40b30651205f8037f842d1f83620f724c84473693475626ecff739424afa5cc194db442f54bf23 WHIRLPOOL 04133ef08a8c40fd575092dd6d0df5e2efa728e442252f3f1832a2771cc60fd5219bfca08367e7b6bff09ce951bba94874da3f2a5c8bbb91cb64bd59fdd379d8

+ 37 - 0
media-gfx/simpleviewer-gl/simpleviewer-gl-2.99.ebuild

@@ -0,0 +1,37 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=6
+
+inherit cmake-utils git-r3
+
+DESCRIPTION="Small and simple image viewer for Linux."
+HOMEPAGE="http://www.ugolnik.info/?p=1302"
+EGIT_REPO_URI="https://bitbucket.org/andreyu/simple-viewer-gl"
+EGIT_TAG="${PV}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+IUSE=""
+
+DEPEND="
+	media-libs/lcms
+	media-libs/glfw
+	media-libs/freetype:2
+	media-libs/giflib
+	media-libs/imlib2[X,jpeg,gif,png,tiff]
+	virtual/jpeg
+	media-libs/libpng
+	media-libs/tiff
+	media-libs/openexr
+	media-libs/ilmbase
+	virtual/opengl
+"
+RDEPEND="${DEPEND}"
+
+src_install() {
+	dobin "${BUILD_DIR}"/sviewgl
+	dodoc config.example
+}

+ 2 - 0
media-libs/x264/Manifest

@@ -0,0 +1,2 @@
+EBUILD x264-9999.ebuild 1916 SHA256 1b9de7242398cf721cee118e8e22025abce0a329749e735d425a99c17a97e39d SHA512 f6a07add9f54b40308aff77251a2f1795eb677f3d0b3e3f8f23e24850589664534662afcfdbcce95d46f8518b56b0110ec02070c4cbf3e281b01c4a76bea18f1 WHIRLPOOL 0516e85f266a856b1803578669f798307d9542578bbac89fec3d6b35cf5864095b70a648e575aef58db6510687c7853e38f71c9eab2abe5fa2468ae2c49f207e
+MISC metadata.xml 589 SHA256 4ed0169d32cb7587b0a2035f6d6ccde80794e48b7e293c7c6f3132bec2578455 SHA512 7a4acc6f2cf54f66efee1fedb379ea155559ddca1ff8bae88b5a8638b23555515e9cc31dff7ae6bb16e6d716e616dcb4b508870ad78ab1fe461ba8b7056f524e WHIRLPOOL bd49c9f96cd82465da98aa1bafedc3631a34405f408d84f9b8fc5619cbc60af786b786b130eebcbd058c10c587db42dd596efd5700916c5c5be3b45937bfcd85

+ 13 - 0
media-libs/x264/metadata.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<maintainer type="project">
+		<email>media-video@gentoo.org</email>
+	</maintainer>
+	<use>
+		<flag name="10bit">Set output bit depth to 10, this may not be compatible with all decoders</flag>
+		<flag name="interlaced">enable interlaced encoding support, this can decrease encoding speed by up to 2%</flag>
+		<flag name="opencl">Add support for OpenCL.</flag>
+		<flag name="pic">disable optimized assembly code that is not PIC friendly</flag>
+	</use>
+</pkgmetadata>

+ 61 - 0
media-libs/x264/x264-9999.ebuild

@@ -0,0 +1,61 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit flag-o-matic multilib-minimal toolchain-funcs
+
+DESCRIPTION="A free library for encoding X264/AVC streams"
+HOMEPAGE="https://www.videolan.org/developers/x264.html"
+if [[ ${PV} == 9999 ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://git.videolan.org/git/x264.git"
+else
+	inherit versionator
+	MY_P="x264-snapshot-$(get_version_component_range 3)-2245"
+	SRC_URI="https://download.videolan.org/pub/videolan/x264/snapshots/${MY_P}.tar.bz2"
+	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+	S="${WORKDIR}/${MY_P}"
+fi
+
+SONAME="155"
+SLOT="0/${SONAME}"
+
+LICENSE="GPL-2"
+IUSE="10bit altivec +interlaced opencl pic static-libs cpu_flags_x86_sse +threads"
+
+ASM_DEP=">=dev-lang/nasm-2.13"
+DEPEND="abi_x86_32? ( ${ASM_DEP} )
+	abi_x86_64? ( ${ASM_DEP} )
+	opencl? ( dev-lang/perl )"
+RDEPEND="opencl? ( >=virtual/opencl-0-r3[${MULTILIB_USEDEP}] )"
+
+DOCS=( AUTHORS doc/{ratecontrol,regression_test,standards,threads,vui}.txt )
+
+multilib_src_configure() {
+	tc-export CC
+	local asm_conf=""
+
+	if [[ ${ABI} == x86* ]] && { use pic || use !cpu_flags_x86_sse ; } || [[ ${ABI} == "x32" ]] || [[ ${CHOST} == armv5* ]] || [[ ${ABI} == ppc* ]] && { use !altivec ; }; then
+		asm_conf=" --disable-asm"
+	fi
+
+	"${S}/configure" \
+		--prefix="${EPREFIX}"/usr \
+		--libdir="${EPREFIX}"/usr/$(get_libdir) \
+		--disable-cli \
+		--disable-avs \
+		--disable-lavf \
+		--disable-swscale \
+		--disable-ffms \
+		--disable-gpac \
+		--enable-pic \
+		--enable-shared \
+		--host="${CHOST}" \
+		$(usex 10bit "--bit-depth=10" "") \
+		$(usex interlaced "" "--disable-interlaced") \
+		$(usex opencl "" "--disable-opencl") \
+		$(usex static-libs "--enable-static" "") \
+		$(usex threads "" "--disable-thread") \
+		${asm_conf} || die
+}

+ 10 - 0
media-sound/pulseaudio/Manifest

@@ -0,0 +1,10 @@
+AUX pulseaudio-11.1-disable-flat-volumes.patch 1992 SHA256 b160a70f749a9fa46ccca03ebaf2d9951f1c776f3acaf4932f0e391c7f0cad0b SHA512 603f60ef38aeba83038fe5dc9e5f6a82e42d10a7f057f158b489dd04857c3bc8203b728d9df6736314ee3002648390cd564fdce347f2e6791e901a47041dd1fc WHIRLPOOL 300323e055dac91cdcfcfbf304b9d2032ba0aab6a874f8f2edfbcbf49d209219a2a34ca323556239d23b0bd64a6bd8bf0fdf89a1efbda95d62c979dc12c42467
+AUX pulseaudio-12.2-fix-alsa-includes-0.patch 3781 SHA256 5c7b569d59c5cfd768c251701a2207fc39ebecc764f257ea9f80f1ab656c71b6 SHA512 79d619809049a64946c63a66ac95dfa8781c90bf9c6003648b16bb1b340097f867f45ced42e93825ad9a67139f330cf7867d113f00f7eb63c9413bfe772d7cbc WHIRLPOOL fbcbda21113d52df45ee2d6701b21063e2204074daceb25ab95f4aef7cb19224d630b4a56da64240f5bb5a8a5727db7bab10fd63c5d74859f712ebfbe633f517
+AUX pulseaudio-12.2-fix-alsa-includes-1.patch 1493 SHA256 1807acde65eeeea8e6b0d323a9909fec2ba1b3cb259e9d925bb0567a8c20939a SHA512 b3780d87dd75b54a8b47c5da4a6e4a613c396d1f28c5e2af16ec1a550f0101011ae07f8d3568457ea26339f14f72984cc734f5d71672155c8119032a9cc4b0ff WHIRLPOOL 125df08a9754b727389dcc28e36a6bc74f2753b052ba408fea7ed530052729501c7d4cec8a2161943a9f5a2e7132321e38fbc0cb3505b485a257efcab09a13d8
+AUX pulseaudio.conf.d 151 SHA256 99f8e923e249ad64a8dcc3084a3300988a42412f8160476184115d5f3580a667 SHA512 f97ed431e371e43d297b099952bf1e897b243a822183524b8e3ea17e888c08590bb3793e195bc22e3254eae7f2e1fa00204a752638746c4dde825a423f08c24b WHIRLPOOL fd6904b6cbf82f9c216b64dd543be8899f91b196cdc1c37f70fd9e63aa7b2d9c08afad4c3eb392de5035d22f0e264facfd0be8393dc7df363d1c5aff5eec7ed7
+AUX pulseaudio.init.d-5 2227 SHA256 f3f19fe6aee3822b861de486c55412f05aeed112e9a062103c1381e83ad72c69 SHA512 d0e1519fc97208c2d42c7d9d8f2e7d4658e741e8063102713da361748b6deaeae475619a65b3d3d1893c107a4511e17d4245264b5430190087f1823899c0f64b WHIRLPOOL 689d0cd2dd8c160f4c9ff610d49ddd0235078bd906f942383a77bc620de7e4e6c254ce23d5cf40da92974306d8ce3c160ad94350c6ae8666a4fbe262cb67f99c
+AUX pulseaudio.service 227 SHA256 62cd3b7e83845a27f437790cf293970f85ff02816da599a53cd5f3bf13da3788 SHA512 567663b231fe7c2682b08b1059cdad1fcb3c4cb01c1b24aed9afb6fb767b30f250b78bbbed48aadfb06c6d1a4963a6db24877d79a1d36c4be2a128b479c086d6 WHIRLPOOL bb548efc14d88b372abaafae557fe23681ce93d1b010fe7761458c5f7793a96886aa368df4cbec5a4fde078f9e8d940020e3ad2a36248ff6c8ab3b70f412d634
+AUX pulseaudio.tmpfiles 36 SHA256 d836951fb800308256288506b6bd82919d377399e1292dc10905a7aa12dac0e9 SHA512 f040850d81030ef04e1aa368d333a1ae1b7238adef5772280fc344c3068262d5ab8c9f3edb92db9c443f9d7d21abb27583ea1efc51ed733bbfa43e2edc68dde1 WHIRLPOOL b293b7372b7f63ddea63e6985d1f66a2010d8778ea3ae00501e58f15bfba3ed19b794111c073ee3bd5c8cf98d33f3c8db95220acf57f97477523f4cfa7121553
+DIST pulseaudio-12.2.tar.xz 1665092 SHA256 809668ffc296043779c984f53461c2b3987a45b7a25eb2f0a1d11d9f23ba4055 SHA512 877754c1838b3cb042dbc18a5f1cc3cf313ffcaee7a64703330406d1f86279c34f1107634ac3083b158365e6757fbacf5ec406bc3c5788d291de67b77a561a4e WHIRLPOOL 5d7e2df94fd9afcf664ef76c6855b8e0bdd89e5005d491ce981d7a04e875c0b7b70d7d8f36a83f3e6a508e251f4b1f08e511895d004ea440a52665bff0aa76de
+EBUILD pulseaudio-12.2-r1.ebuild 11643 SHA256 e3e4f87e28c05308bffe0a34841ff91aeed1a91eb55e94f590856f68e215399e SHA512 ada9e3a12892a8d56bd202812bcd8f30b4ba1132aef00d0b4797d10c83f97f151c6f0f6d3b5fff40a372c1bc6d839ddaba44f47a9827aa1bd5facf0f1b4eff33 WHIRLPOOL 9a4eae9226c726244e4df6d348b20d7a0cf107a55a46f9784c406e9381640f291ff925027acfcc2b0af057a4352c12eff6de6826838a73beb66114ba2ab8bbc6
+MISC metadata.xml 3308 SHA256 023f5af2846ccd6c9dd330c1a257de1f4f39ea4a05653a369a24086203776266 SHA512 a004e0e0e82e5c4b2e1953ea754bb47bf4b43bb60e422e5685131b3f3192eee6086a0582eb17879193877b66499e8cad22496fa5003ea4f3b617a320940eda31 WHIRLPOOL 26856063b3381bb5a8b75aa9918c57c297e1c3761ab15aa665fd428c73de11d1ea4392c189f2340a365a98c80cde44a9879db6a2805fdf79239d2c544a85d075

+ 48 - 0
media-sound/pulseaudio/files/pulseaudio-11.1-disable-flat-volumes.patch

@@ -0,0 +1,48 @@
+diff -up a/man/pulse-daemon.conf.5.xml.in b/man/pulse-daemon.conf.5.xml.in
+--- a/man/pulse-daemon.conf.5.xml.in	2016-05-26 23:21:17.000000000 -0500
++++ b/man/pulse-daemon.conf.5.xml.in	2016-05-31 10:01:55.679976730 -0500
+@@ -220,7 +220,7 @@ License along with PulseAudio; if not, s
+       <p><opt>flat-volumes=</opt> Enable 'flat' volumes, i.e. where
+       possible let the sink volume equal the maximum of the volumes of
+       the inputs connected to it. Takes a boolean argument, defaults
+-      to <opt>yes</opt>.</p>
++      to <opt>no</opt>.</p>
+     </option>
+ 
+   </section>
+diff -up a/src/daemon/daemon-conf.c b/src/daemon/daemon-conf.c
+--- a/src/daemon/daemon-conf.c	2016-05-26 23:21:17.000000000 -0500
++++ b/src/daemon/daemon-conf.c	2016-05-31 10:01:55.680976735 -0500
+@@ -68,7 +68,7 @@ static const pa_daemon_conf default_conf
+     .realtime_priority = 5,  /* Half of JACK's default rtprio */
+     .disallow_module_loading = false,
+     .disallow_exit = false,
+-    .flat_volumes = true,
++    .flat_volumes = false,
+     .exit_idle_time = 20,
+     .scache_idle_time = 20,
+     .script_commands = NULL,
+diff -up a/src/daemon/daemon.conf.in b/src/daemon/daemon.conf.in
+--- a/src/daemon/daemon.conf.in	2016-05-31 10:01:55.680976735 -0500
++++ b/src/daemon/daemon.conf.in	2016-05-31 10:02:28.048133267 -0500
+@@ -57,7 +57,7 @@ ifelse(@HAVE_DBUS@, 1, [dnl
+ ; enable-lfe-remixing = no
+ ; lfe-crossover-freq = 0
+ 
+-; flat-volumes = yes
++; flat-volumes = no
+ 
+ ifelse(@HAVE_SYS_RESOURCE_H@, 1, [dnl
+ ; rlimit-fsize = -1
+diff -up a/src/pulsecore/core.c b/src/pulsecore/core.c
+--- a/src/pulsecore/core.c	2016-05-26 23:21:17.000000000 -0500
++++ b/src/pulsecore/core.c	2016-05-31 10:01:55.681976740 -0500
+@@ -135,7 +135,7 @@ pa_core* pa_core_new(pa_mainloop_api *m,
+     c->exit_idle_time = -1;
+     c->scache_idle_time = 20;
+ 
+-    c->flat_volumes = true;
++    c->flat_volumes = false;
+     c->disallow_module_loading = false;
+     c->disallow_exit = false;
+     c->running_as_daemon = false;

+ 129 - 0
media-sound/pulseaudio/files/pulseaudio-12.2-fix-alsa-includes-0.patch

@@ -0,0 +1,129 @@
+From 993d3fd89e5611997f1e165bf03edefb0204b0a4 Mon Sep 17 00:00:00 2001
+From: Olaf Hering <olaf@aepfle.de>
+Date: Wed, 27 Mar 2019 09:35:05 +0100
+Subject: [PATCH] alsa: Use correct header path
+
+Consumers are expected to use <alsa/asoundlib.h> instead of
+<asoundlib.h>.
+
+This is in preparation of an change to pkgconfig(alsa) to
+not pollute CFLAGS with -I/usr/include/alsa anymore.
+
+Signed-off-by: Olaf Hering <olaf@aepfle.de>
+---
+ src/modules/alsa/alsa-mixer.c         | 2 +-
+ src/modules/alsa/alsa-mixer.h         | 2 +-
+ src/modules/alsa/alsa-sink.c          | 2 +-
+ src/modules/alsa/alsa-source.c        | 2 +-
+ src/modules/alsa/alsa-ucm.c           | 2 +-
+ src/modules/alsa/alsa-util.c          | 2 +-
+ src/modules/alsa/alsa-util.h          | 2 +-
+ src/modules/alsa/module-alsa-source.c | 2 +-
+ 8 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/src/modules/alsa/alsa-mixer.c b/src/modules/alsa/alsa-mixer.c
+index 5cb99c8fd..cd99a75f8 100644
+--- a/src/modules/alsa/alsa-mixer.c
++++ b/src/modules/alsa/alsa-mixer.c
+@@ -23,7 +23,7 @@
+ #endif
+ 
+ #include <sys/types.h>
+-#include <asoundlib.h>
++#include <alsa/asoundlib.h>
+ #include <math.h>
+ 
+ #ifdef HAVE_VALGRIND_MEMCHECK_H
+diff --git a/src/modules/alsa/alsa-mixer.h b/src/modules/alsa/alsa-mixer.h
+index 3ea4d7329..65b071165 100644
+--- a/src/modules/alsa/alsa-mixer.h
++++ b/src/modules/alsa/alsa-mixer.h
+@@ -21,7 +21,7 @@
+   along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
+ ***/
+ 
+-#include <asoundlib.h>
++#include <alsa/asoundlib.h>
+ 
+ #include <pulse/sample.h>
+ #include <pulse/mainloop-api.h>
+diff --git a/src/modules/alsa/alsa-sink.c b/src/modules/alsa/alsa-sink.c
+index 28143402a..4b46708ce 100644
+--- a/src/modules/alsa/alsa-sink.c
++++ b/src/modules/alsa/alsa-sink.c
+@@ -25,7 +25,7 @@
+ #include <signal.h>
+ #include <stdio.h>
+ 
+-#include <asoundlib.h>
++#include <alsa/asoundlib.h>
+ 
+ #ifdef HAVE_VALGRIND_MEMCHECK_H
+ #include <valgrind/memcheck.h>
+diff --git a/src/modules/alsa/alsa-source.c b/src/modules/alsa/alsa-source.c
+index 8129220b0..c8bf649e1 100644
+--- a/src/modules/alsa/alsa-source.c
++++ b/src/modules/alsa/alsa-source.c
+@@ -25,7 +25,7 @@
+ #include <signal.h>
+ #include <stdio.h>
+ 
+-#include <asoundlib.h>
++#include <alsa/asoundlib.h>
+ 
+ #include <pulse/rtclock.h>
+ #include <pulse/timeval.h>
+diff --git a/src/modules/alsa/alsa-ucm.c b/src/modules/alsa/alsa-ucm.c
+index 341c8012e..0a40ca8fe 100644
+--- a/src/modules/alsa/alsa-ucm.c
++++ b/src/modules/alsa/alsa-ucm.c
+@@ -27,7 +27,7 @@
+ #include <ctype.h>
+ #include <sys/types.h>
+ #include <limits.h>
+-#include <asoundlib.h>
++#include <alsa/asoundlib.h>
+ 
+ #ifdef HAVE_VALGRIND_MEMCHECK_H
+ #include <valgrind/memcheck.h>
+diff --git a/src/modules/alsa/alsa-util.c b/src/modules/alsa/alsa-util.c
+index e8d712e72..bd0a47e50 100644
+--- a/src/modules/alsa/alsa-util.c
++++ b/src/modules/alsa/alsa-util.c
+@@ -23,7 +23,7 @@
+ #endif
+ 
+ #include <sys/types.h>
+-#include <asoundlib.h>
++#include <alsa/asoundlib.h>
+ 
+ #include <pulse/sample.h>
+ #include <pulse/xmalloc.h>
+diff --git a/src/modules/alsa/alsa-util.h b/src/modules/alsa/alsa-util.h
+index 6b27339ec..4ceaa06ee 100644
+--- a/src/modules/alsa/alsa-util.h
++++ b/src/modules/alsa/alsa-util.h
+@@ -21,7 +21,7 @@
+   along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
+ ***/
+ 
+-#include <asoundlib.h>
++#include <alsa/asoundlib.h>
+ 
+ #include <pulse/sample.h>
+ #include <pulse/channelmap.h>
+diff --git a/src/modules/alsa/module-alsa-source.c b/src/modules/alsa/module-alsa-source.c
+index af6800dd2..747ba9342 100644
+--- a/src/modules/alsa/module-alsa-source.c
++++ b/src/modules/alsa/module-alsa-source.c
+@@ -24,7 +24,7 @@
+ 
+ #include <stdio.h>
+ 
+-#include <asoundlib.h>
++#include <alsa/asoundlib.h>
+ 
+ #ifdef HAVE_VALGRIND_MEMCHECK_H
+ #include <valgrind/memcheck.h>
+-- 
+2.18.1

+ 44 - 0
media-sound/pulseaudio/files/pulseaudio-12.2-fix-alsa-includes-1.patch

@@ -0,0 +1,44 @@
+From b89d33bb182c42db5ad3987b0e91b7bf62f421e8 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Sun, 21 Apr 2019 11:59:30 +0200
+Subject: [PATCH] alsa: Fix inclusion of use-case.h
+
+The recent change in ALSA upstream stripped -I$include/alsa path from
+pkgconfig.  We already fixed for this change in some places but still
+the code for UCM was overlooked, and this resulted in the unresolved
+symbols in alsa card module. Fix them as well.
+
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+---
+ configure.ac                | 2 +-
+ src/modules/alsa/alsa-ucm.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index c004bd70d..b44ed1595 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -826,7 +826,7 @@ AS_IF([test "x$enable_alsa" = "xyes" && test "x$HAVE_ALSA" = "x0"],
+ AS_IF([test "x$HAVE_ALSA" = "x1"],
+     [
+         save_CPPFLAGS="$CPPFLAGS"; CPPFLAGS="$CPPFLAGS $ASOUNDLIB_CFLAGS"
+-        AC_CHECK_HEADERS([use-case.h], HAVE_ALSA_UCM=1, HAVE_ALSA_UCM=0)
++        AC_CHECK_HEADERS([alsa/use-case.h], HAVE_ALSA_UCM=1, HAVE_ALSA_UCM=0)
+         CPPFLAGS="$save_CPPFLAGS"
+     ],
+     HAVE_ALSA_UCM=0)
+diff --git a/src/modules/alsa/alsa-ucm.h b/src/modules/alsa/alsa-ucm.h
+index 53abf3f90..c926f3cc3 100644
+--- a/src/modules/alsa/alsa-ucm.h
++++ b/src/modules/alsa/alsa-ucm.h
+@@ -23,7 +23,7 @@
+ ***/
+ 
+ #ifdef HAVE_ALSA_UCM
+-#include <use-case.h>
++#include <alsa/use-case.h>
+ #else
+ typedef void snd_use_case_mgr_t;
+ #endif
+-- 
+2.18.1

+ 6 - 0
media-sound/pulseaudio/files/pulseaudio.conf.d

@@ -0,0 +1,6 @@
+# Config file for /etc/init.d/pulseaudio
+
+# For more see "pulseaudio -h".
+
+# Startup options
+PA_OPTS="--log-target=syslog --disallow-module-loading=1"

+ 80 - 0
media-sound/pulseaudio/files/pulseaudio.init.d-5

@@ -0,0 +1,80 @@
+#!/sbin/openrc-run
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+	need localmount
+	use net
+
+	local script="/etc/pulse/system.pa"
+
+	for opt in ${PA_OPTS}; do
+		case "$opt" in
+			--file=*)	script="${opt#*=}" ;;
+			-F*)		script="${opt#-F}" ;;
+		esac
+	done
+
+	config "$script"
+
+	local needs="$(get_options need)"
+	if [ -n "${needs}" ]; then
+		need ${needs}
+		return
+	fi
+
+	if egrep -q '^[[:space:]]*load-module[[:space:]]+module-console-kit' "$script"; then
+	    needs="${needs} consolekit"
+	fi
+
+#ifdef UDEV
+	if egrep -q '^[[:space:]]*load-module[[:space:]]+module-udev-detect' "$script"; then
+	    needs="${needs} udev"
+	fi
+#endif
+
+#ifdef AVAHI
+	if egrep -q '^[[:space:]]*load-module[[:space:]]+module-zeroconf-publish' "$script"; then
+	    needs="${needs} avahi-daemon"
+	fi
+#endif
+
+#ifdef BLUETOOTH
+	if egrep -q '^[[:space:]]*load-module[[:space:]]+module-bt-proximity' "$script"; then
+	    needs="${needs} bluetooth"
+	fi
+#endif
+
+#ifdef ALSA
+	if egrep -q '^[[:space:]]*load-module[[:space:]]+module-alsa-(sink|source)' "$script" || 
+	    egrep -q '^[[:space:]]*load-module[[:space:]]+module-(udev-)?detect' "$script" ||
+	    egrep -q '^[[:space:]]*add-autoload-source[[:space:]]+(input|output)[[:space:]]+module-alsa-(sink|source)' "$script"; then
+	    needs="${needs} alsasound"
+	fi
+#endif
+
+	need "${needs}"
+	save_options need "${needs}"
+}
+
+start() {
+	if [ -z "${PULSEAUDIO_SHOULD_NOT_GO_SYSTEMWIDE}" ]; then
+		eerror "Please don't use system wide PulseAudio unless you read the"
+		eerror "documentation available at http://www.pulseaudio.org/wiki/WhatIsWrongWithSystemMode"
+		eerror ""
+		eerror "When you're done, please set the variable PULSEAUDIO_SHOULD_NOT_GO_SYSTEMWIDE in"
+		eerror "/etc/conf.d/pulseaudio . Please remember that upstream does not support this mode"
+		eerror "when used for standard desktop configurations."
+		return 1
+	fi
+	ebegin "Starting pulseaudio"
+	PA_ALL_OPTS="${PA_OPTS} --fail=1 --daemonize=1 --system"
+	start-stop-daemon --start --exec /usr/bin/pulseaudio -- ${PA_ALL_OPTS}
+	eend $?
+}
+
+stop() {
+	ebegin "Stopping pulseaudio"
+	start-stop-daemon --stop --quiet --exec /usr/bin/pulseaudio --pidfile /var/run/pulse/pid
+	eend $?
+}

+ 10 - 0
media-sound/pulseaudio/files/pulseaudio.service

@@ -0,0 +1,10 @@
+[Unit]
+Description=System wide PulseAudio instance
+After=syslog.target network.target alsasound.service
+
+[Service]
+Restart=always
+ExecStart=/usr/bin/pulseaudio --system --log-target=syslog
+
+[Install]
+WantedBy=multi-user.target

+ 1 - 0
media-sound/pulseaudio/files/pulseaudio.tmpfiles

@@ -0,0 +1 @@
+d /var/run/pulse 0755 pulse audio -

+ 77 - 0
media-sound/pulseaudio/metadata.xml

@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+  <maintainer type="project">
+    <email>gnome@gentoo.org</email>
+    <name>Gentoo GNOME Desktop</name>
+  </maintainer>
+  <use>
+    <flag name="X">
+      Build the X11 publish module to export PulseAudio information
+      through X11 protocol for clients to make use. Don't enable this
+      flag if you want to use a system wide instance. If unsure, enable
+      this flag.
+    </flag>
+    <flag name="alsa-plugin">
+      Request installing <pkg>media-plugins/alsa-plugins</pkg> with
+      PulseAudio plugin enabled. This ensures that clients supporting
+      ALSA only will use PulseAudio.
+    </flag>
+    <flag name="elogind">Use <pkg>sys-auth/elogind</pkg> for giving each session a PA client</flag>
+    <flag name="gconf">
+      Ensure <pkg>gnome-base/gconf</pkg> is present for pulseaudio GConf
+      to GSettings module automatic migration (keeping the user configuration)
+    </flag>
+    <flag name="oss">
+      Enable OSS sink/source (output/input). Deprecated, upstream does
+      not support this on systems where other sink/source systems are
+      available (i.e.: Linux). The padsp wrapper is now always build
+      if the system supports OSS at all.
+    </flag>
+    <flag name="glib">
+      Add support to <pkg>dev-libs/glib</pkg>-based mainloop for the
+      libpulse client library, to allow using libpulse on glib-based
+      programs. Build the GSettings PA module.
+    </flag>
+    <flag name="system-wide">
+      Allow preparation and installation of the system-wide init
+      script for PulseAudio. Since this support is only supported for
+      embedded situations, do not enable without reading the upstream
+      instructions at
+      https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/WhatIsWrongWithSystemWide/ .
+    </flag>
+    <flag name="asyncns">Use libasyncns for asynchronous name resolution.</flag>
+    <flag name="doc">Build the doxygen-described API documentation.</flag>
+    <flag name="realtime">
+      Makes PulseAudio use RealtimeKit (<pkg>sys-auth/rtkit</pkg>) to get
+      real-time priority while running.
+    </flag>
+    <flag name="equalizer">
+      Enable the equalizer module (requires <pkg>sci-libs/fftw</pkg>).
+    </flag>
+    <flag name="ssl">
+      Use <pkg>dev-libs/openssl</pkg> to provide support for RAOP
+      (AirPort) streaming.
+    </flag>
+    <flag name="gdbm">
+      Use <pkg>sys-libs/gdbm</pkg> to store PulseAudio
+      databases. Recommended for desktop usage. This flag causes the
+      whole package to be licensed under GPL-2 or later.
+    </flag>
+    <flag name="webrtc-aec">
+      Uses the webrtc.org AudioProcessing library for enhancing VoIP calls
+      greatly in applications that support it by performing acoustic echo
+      cancellation, analog gain control, noise suppression and other processing.
+    </flag>
+    <flag name="systemd">
+      Build with <pkg>sys-apps/systemd</pkg> support to replace standalone
+      ConsoleKit.
+    </flag>
+    <flag name="native-headset">
+      Build with native HSP backend for bluez 5.
+    </flag>
+    <flag name="ofono-headset">
+      Build with oFono HFP backend for bluez 5, requires <pkg>net-misc/ofono</pkg>.
+    </flag>
+  </use>
+</pkgmetadata>

+ 362 - 0
media-sound/pulseaudio/pulseaudio-12.2-r1.ebuild

@@ -0,0 +1,362 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit bash-completion-r1 flag-o-matic gnome2-utils linux-info systemd user udev multilib-minimal
+
+DESCRIPTION="A networked sound server with an advanced plugin system"
+HOMEPAGE="https://www.freedesktop.org/wiki/Software/PulseAudio/"
+SRC_URI="https://freedesktop.org/software/pulseaudio/releases/${P}.tar.xz"
+
+# libpulse-simple and libpulse link to libpulse-core; this is daemon's
+# library and can link to gdbm and other GPL-only libraries. In this
+# cases, we have a fully GPL-2 package. Leaving the rest of the
+# GPL-forcing USE flags for those who use them.
+LICENSE="!gdbm? ( LGPL-2.1 ) gdbm? ( GPL-2 )"
+
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 ~hppa ia64 ppc ppc64 ~sh ~sparc x86 ~amd64-fbsd ~amd64-linux ~x86-linux"
+
+# +alsa-plugin as discussed in bug #519530
+IUSE="+alsa +alsa-plugin +asyncns bluetooth +caps dbus doc equalizer elogind gconf
++gdbm +glib gtk ipv6 jack libsamplerate libressl lirc native-headset neon
+ofono-headset +orc oss qt5 realtime selinux sox ssl systemd system-wide tcpd test
++udev +webrtc-aec +X zeroconf"
+
+# See "*** BLUEZ support not found (requires D-Bus)" in configure.ac
+REQUIRED_USE="
+	?? ( elogind systemd )
+	bluetooth? ( dbus )
+	equalizer? ( dbus )
+	ofono-headset? ( bluetooth )
+	native-headset? ( bluetooth )
+	realtime? ( dbus )
+	udev? ( || ( alsa oss ) )
+"
+
+# libpcre needed in some cases, bug #472228
+CDEPEND="
+	|| (
+		elibc_glibc? ( virtual/libc )
+		elibc_uclibc? ( virtual/libc )
+		dev-libs/libpcre
+	)
+	>=media-libs/libsndfile-1.0.20[${MULTILIB_USEDEP}]
+	X? (
+		>=x11-libs/libX11-1.4.0[${MULTILIB_USEDEP}]
+		>=x11-libs/libxcb-1.6[${MULTILIB_USEDEP}]
+		x11-libs/libSM[${MULTILIB_USEDEP}]
+		x11-libs/libICE[${MULTILIB_USEDEP}]
+		x11-libs/libXtst[${MULTILIB_USEDEP}]
+	)
+	caps? ( >=sys-libs/libcap-2.22-r2[${MULTILIB_USEDEP}] )
+	libsamplerate? ( >=media-libs/libsamplerate-0.1.1-r1 )
+	alsa? ( >=media-libs/alsa-lib-1.0.19 )
+	glib? ( >=dev-libs/glib-2.26.0:2[${MULTILIB_USEDEP}] )
+	zeroconf? ( >=net-dns/avahi-0.6.12[dbus] )
+	jack? ( virtual/jack )
+	tcpd? ( sys-apps/tcp-wrappers[${MULTILIB_USEDEP}] )
+	lirc? ( app-misc/lirc )
+	dbus? ( >=sys-apps/dbus-1.0.0[${MULTILIB_USEDEP}] )
+	gtk? ( x11-libs/gtk+:3 )
+	bluetooth? (
+		>=net-wireless/bluez-5
+		>=sys-apps/dbus-1.0.0
+		media-libs/sbc
+	)
+	asyncns? ( net-libs/libasyncns[${MULTILIB_USEDEP}] )
+	udev? ( >=virtual/udev-143[hwdb(+)] )
+	equalizer? ( sci-libs/fftw:3.0 )
+	ofono-headset? ( >=net-misc/ofono-1.13 )
+	orc? ( >=dev-lang/orc-0.4.15 )
+	sox? ( >=media-libs/soxr-0.1.1 )
+	ssl? (
+		!libressl? ( dev-libs/openssl:0= )
+		libressl? ( dev-libs/libressl:= )
+	)
+	media-libs/speexdsp
+	gdbm? ( sys-libs/gdbm:= )
+	webrtc-aec? ( >=media-libs/webrtc-audio-processing-0.2 )
+	elogind? ( sys-auth/elogind )
+	systemd? ( sys-apps/systemd:0=[${MULTILIB_USEDEP}] )
+	dev-libs/libltdl:0
+	selinux? ( sec-policy/selinux-pulseaudio )
+" # libltdl is a valid RDEPEND, libltdl.so is used for native abi in pulsecore and daemon
+
+RDEPEND="${CDEPEND}
+	realtime? ( sys-auth/rtkit )
+	gconf? ( >=gnome-base/gconf-3.2.6 )
+"
+
+DEPEND="${RDEPEND}
+	sys-devel/m4
+	doc? ( app-doc/doxygen )
+	test? ( >=dev-libs/check-0.9.10 )
+	X? (
+		x11-base/xorg-proto
+		>=x11-libs/libXtst-1.0.99.2[${MULTILIB_USEDEP}]
+	)
+	dev-libs/libatomic_ops
+	virtual/pkgconfig
+	system-wide? ( || ( dev-util/unifdef sys-freebsd/freebsd-ubin ) )
+	dev-util/intltool
+	>=sys-devel/gettext-0.18.1
+"
+# This is a PDEPEND to avoid a circular dep
+PDEPEND="
+	alsa? ( alsa-plugin? ( >=media-plugins/alsa-plugins-1.0.27-r1[pulseaudio,${MULTILIB_USEDEP}] ) )
+"
+
+# alsa-utils dep is for the alsasound init.d script (see bug #155707)
+# bluez dep is for the bluetooth init.d script
+# PyQt5 dep is for the qpaeq script
+RDEPEND="${RDEPEND}
+	equalizer? ( qt5? ( dev-python/PyQt5[dbus,widgets] ) )
+	system-wide? (
+		alsa? ( media-sound/alsa-utils )
+		bluetooth? ( >=net-wireless/bluez-5 )
+	)
+"
+
+PATCHES=(
+	"${FILESDIR}"/pulseaudio-11.1-disable-flat-volumes.patch # bug 627894
+)
+
+pkg_pretend() {
+	CONFIG_CHECK="~HIGH_RES_TIMERS"
+	WARNING_HIGH_RES_TIMERS="CONFIG_HIGH_RES_TIMERS:\tis not set (required for enabling timer-based scheduling in pulseaudio)\n"
+	check_extra_config
+
+	if linux_config_exists; then
+		local snd_hda_prealloc_size=$(linux_chkconfig_string SND_HDA_PREALLOC_SIZE)
+		if [ -n "${snd_hda_prealloc_size}" ] && [ "${snd_hda_prealloc_size}" -lt 2048 ]; then
+			ewarn "A preallocated buffer-size of 2048 (kB) or higher is recommended for the HD-audio driver!"
+			ewarn "CONFIG_SND_HDA_PREALLOC_SIZE=${snd_hda_prealloc_size}"
+		fi
+	fi
+}
+
+pkg_setup() {
+	linux-info_pkg_setup
+	gnome2_environment_reset #543364
+
+	enewgroup audio 18 # Just make sure it exists
+
+	if use system-wide; then
+		enewgroup pulse-access
+		enewgroup pulse
+		enewuser pulse -1 -1 /var/run/pulse pulse,audio
+	fi
+}
+
+src_prepare() {
+	default
+	if use alsa; then
+	    eapply "${FILESDIR}"/pulseaudio-12.2-fix-alsa-includes-{0,1}.patch # bug 686206
+	fi
+	# Skip test that cannot work with sandbox, bug #501846
+	sed -i -e '/lock-autospawn-test /d' src/Makefile.am || die
+	sed -i -e 's/lock-autospawn-test$(EXEEXT) //' src/Makefile.in || die
+}
+
+multilib_src_configure() {
+	local myconf=(
+		--disable-adrian-aec
+		--disable-bluez4
+		--disable-esound
+		--disable-gconf
+		--disable-solaris
+		--enable-largefile
+		--localstatedir="${EPREFIX}"/var
+		--with-systemduserunitdir=$(systemd_get_userunitdir)
+		--with-udev-rules-dir="${EPREFIX}/$(get_udevdir)"/rules.d
+		$(multilib_native_use_enable alsa)
+		$(multilib_native_use_enable bluetooth bluez5)
+		$(multilib_native_use_enable glib gsettings)
+		$(multilib_native_use_enable gtk gtk3)
+		$(multilib_native_use_enable jack)
+		$(multilib_native_use_enable libsamplerate samplerate)
+		$(multilib_native_use_enable lirc)
+		$(multilib_native_use_enable orc)
+		$(multilib_native_use_enable oss oss-output)
+		$(multilib_native_use_enable ssl openssl)
+		# tests involve random modules, so just do them for the native
+		$(multilib_native_use_enable test default-build-tests)
+		$(multilib_native_use_enable udev)
+		$(multilib_native_use_enable webrtc-aec)
+		$(multilib_native_use_enable zeroconf avahi)
+		$(multilib_native_use_with equalizer fftw)
+		$(multilib_native_use_with sox soxr)
+		$(multilib_native_usex gdbm '--with-database=gdbm' '--with-database=simple')
+		$(use_enable glib glib2)
+		$(use_enable asyncns)
+		$(use_enable neon neon-opt)
+		$(use_enable tcpd tcpwrap)
+		$(use_enable dbus)
+		$(use_enable X x11)
+		$(use_enable systemd systemd-daemon)
+		# systemd-login isn't necessary for non-native, but the rest of systemd are; not changing it at this point close to a meson port
+		$(use_enable systemd systemd-login)
+		$(use_enable systemd systemd-journal)
+		$(use_enable ipv6)
+		$(use_with caps)
+	)
+
+	if use elogind && multilib_is_native_abi; then
+		myconf+=(
+			--enable-systemd-login
+			SYSTEMDLOGIN_CFLAGS=`pkg-config --cflags "libelogind" 2>/dev/null`
+			SYSTEMDLOGIN_LIBS=`pkg-config --libs "libelogind" 2>/dev/null`
+		)
+	fi
+
+	if use bluetooth; then
+		myconf+=(
+			$(multilib_native_use_enable native-headset bluez5-native-headset)
+			$(multilib_native_use_enable ofono-headset bluez5-ofono-headset)
+		)
+	fi
+
+	if ! multilib_is_native_abi; then
+		myconf+=(
+			# hack around unnecessary checks
+			# (results don't matter, we're not building anything using it)
+			ac_cv_lib_ltdl_lt_dladvise_init=yes
+			LIBSPEEX_CFLAGS=' '
+			LIBSPEEX_LIBS=' '
+		)
+	else
+		# Make padsp work for non-native ABI, supposedly only possible with glibc; this is used by /usr/bin/padsp that comes from native build, thus we need this argument for native build
+		if use elibc_glibc ; then
+			myconf+=( --with-pulsedsp-location="${EPREFIX}"'/usr/\\$$LIB/pulseaudio' )
+		fi
+	fi
+
+	ECONF_SOURCE=${S} \
+	econf "${myconf[@]}"
+}
+
+multilib_src_compile() {
+	if multilib_is_native_abi; then
+		emake
+		use doc && emake doxygen
+	else
+		local targets=( libpulse.la libpulsedsp.la libpulse-simple.la )
+		use glib && targets+=( libpulse-mainloop-glib.la )
+		emake -C src ${targets[*]}
+	fi
+}
+
+multilib_src_test() {
+	# We avoid running the toplevel check target because that will run
+	# po/'s tests too, and they are broken. Officially, it should work
+	# with intltool 0.41, but that doesn't look like a stable release.
+	if multilib_is_native_abi; then
+		emake -C src check
+	fi
+}
+
+multilib_src_install() {
+	if multilib_is_native_abi; then
+		emake -j1 DESTDIR="${D}" bashcompletiondir="$(get_bashcompdir)" install
+		if use doc ; then
+			docinto html
+			dodoc -r doxygen/html/
+		fi
+	else
+		local targets=( libpulse.la libpulse-simple.la )
+		use glib && targets+=( libpulse-mainloop-glib.la )
+		emake DESTDIR="${D}" install-pkgconfigDATA
+		emake DESTDIR="${D}" -C src \
+			install-libLTLIBRARIES \
+			install-padsplibLTLIBRARIES \
+			lib_LTLIBRARIES="${targets[*]}" \
+			install-pulseincludeHEADERS
+	fi
+}
+
+multilib_src_install_all() {
+	if use system-wide; then
+		newconfd "${FILESDIR}/pulseaudio.conf.d" pulseaudio
+
+		use_define() {
+			local define=${2:-$(echo $1 | tr '[:lower:]' '[:upper:]')}
+
+			use "$1" && echo "-D$define" || echo "-U$define"
+		}
+
+		unifdef $(use_define zeroconf AVAHI) \
+			$(use_define alsa) \
+			$(use_define bluetooth) \
+			$(use_define udev) \
+			"${FILESDIR}/pulseaudio.init.d-5" \
+			> "${T}/pulseaudio"
+
+		doinitd "${T}/pulseaudio"
+
+		systemd_dounit "${FILESDIR}/${PN}.service"
+
+		# We need /var/run/pulse, bug #442852
+		systemd_newtmpfilesd "${FILESDIR}/${PN}.tmpfiles" "${PN}.conf"
+	else
+		# Prevent warnings when system-wide is not used, bug #447694
+		if use dbus ; then
+			rm "${ED%/}"/etc/dbus-1/system.d/pulseaudio-system.conf || die
+		fi
+	fi
+
+	if use zeroconf ; then
+		sed -e '/module-zeroconf-publish/s:^#::' \
+			-i "${ED%/}/etc/pulse/default.pa" || die
+	fi
+
+	dodoc NEWS README todo
+
+	# Create the state directory
+	use prefix || diropts -o pulse -g pulse -m0755
+
+	find "${ED}" \( -name '*.a' -o -name '*.la' \) -delete || die
+}
+
+pkg_postinst() {
+	gnome2_schemas_update
+	if use system-wide; then
+		elog "You have enabled the 'system-wide' USE flag for pulseaudio."
+		elog "This mode should only be used on headless servers, embedded systems,"
+		elog "or thin clients. It will usually require manual configuration, and is"
+		elog "incompatible with many expected pulseaudio features."
+		elog "On normal desktop systems, system-wide mode is STRONGLY DISCOURAGED."
+		elog "For more information, see"
+		elog "    https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/WhatIsWrongWithSystemWide/"
+		elog "    https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/SystemWide/"
+		elog "    https://wiki.gentoo.org/wiki/PulseAudio#Headless_server"
+	fi
+
+	if use equalizer && ! use qt5; then
+		elog "You've enabled the 'equalizer' USE-flag but not the 'qt5' USE-flag."
+		elog "This will build the equalizer module, but the 'qpaeq' tool"
+		elog "which is required to set equalizer levels will not work."
+	fi
+
+	if use equalizer && use qt5; then
+		elog "You will need to load some extra modules to make qpaeq work."
+		elog "You can do that by adding the following two lines in"
+		elog "/etc/pulse/default.pa and restarting pulseaudio:"
+		elog "load-module module-equalizer-sink"
+		elog "load-module module-dbus-protocol"
+	fi
+
+	if use native-headset && use ofono-headset; then
+		elog "You have enabled both native and ofono headset profiles. The runtime decision"
+		elog "which to use is done via the 'headset' argument of module-bluetooth-discover."
+	fi
+
+	if use libsamplerate; then
+		elog "The libsamplerate based resamplers are now deprecated, because they offer no"
+		elog "particular advantage over speex. Upstream suggests disabling them."
+	fi
+}
+
+pkg_postrm() {
+	gnome2_schemas_update
+}

+ 2 - 0
media-video/pipewire/Manifest

@@ -0,0 +1,2 @@
+DIST pipewire-0.2.5.tar.gz 417895 SHA256 6e75bb88a329f97984925bd303643075788df8d51b345bb43feb1be2c3b7102c SHA512 f084df7b39d7a643fbd52f469270e4cdc61c10b3cd95d68b3dd31efc34f7b718aa792c82c01a1ab9ee8357823d1882058137d3543f66460ba85778d65cf09c87 WHIRLPOOL 584f5566ff82854d36be0266a32465138d7a8bf73872a944cd6904e9faec6e0e12fdff2b0d3d804c230d19e4677ff58eae636bbb7c12d138d534e1379ad815d4
+EBUILD pipewire-0.2.5.ebuild 964 SHA256 b1a411e185824a759a0feb798a1e31ed9ed624a932e27e4536ee0c7e80dd108c SHA512 5cf48dcc42eb4f75f7d7fcd9ceee93c1c221f4a03dbcfc6c1a76c07524e7e713aa6118ab2c97717920791ccd8238eb2fd7e9c9854cffe8748a49583998881c4e WHIRLPOOL 7dcca09594ae8ecb71e5781f921c31802318be51cf320972e4d5503ebcc15220c55ffb115225222b28e24f4ece95564ef73ea202c77df9faa58c1410660e02c7

+ 50 - 0
media-video/pipewire/pipewire-0.2.5.ebuild

@@ -0,0 +1,50 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit meson
+
+MY_PV="${PV%_*}"
+MY_P="${PN}-${MY_PV}"
+
+S="${WORKDIR}/${MY_P}"
+
+RESTRICT="mirror"
+
+DESCRIPTION="Multimedia processing graphs"
+HOMEPAGE="http://pipewire.org/"
+SRC_URI="https://github.com/PipeWire/${PN}/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="docs gstreamer systemd"
+
+RDEPEND="
+	media-libs/alsa-lib
+	media-libs/sbc
+	media-video/ffmpeg:=
+	sys-apps/dbus
+	virtual/libudev
+	gstreamer? (
+		media-libs/gstreamer:1.0
+		media-libs/gst-plugins-base:1.0
+	)
+	systemd? ( sys-apps/systemd )
+"
+DEPEND="
+	${RDEPEND}
+	app-doc/xmltoman
+	docs? ( app-doc/doxygen )
+"
+
+src_configure() {
+	local emesonargs=(
+		-Denable_gstreamer="$(usex gstreamer true false)"
+		-Denable_man="true"
+		-Denable_docs="$(usex docs true false)"
+		-Denable_systemd="$(usex systemd true false)"
+	)
+	meson_src_configure
+}

+ 3 - 0
media-video/x264-encoder/Manifest

@@ -0,0 +1,3 @@
+AUX gpac.patch 507 SHA256 e5707e103597b2f631bac3e3d85b5ea931bfeeec9b40ed0201c50ee410ee6d86 SHA512 9da7a1ffe637e39863e5828547923424b9c072d194d3ddadcc9a6c31f7803f5456b3ba88d470458a84d37b0c07374983adc124f3710ae7122a81a13ea9b4ae0e WHIRLPOOL 198150f569a4da1b48fc9b393145d6393c28ed5be3b3ab1576173fe1465fd70b3cfdf496bd138255154e45ff5552c108e1e6a096958bc3d3edca6430816d6a16
+EBUILD x264-encoder-9999.ebuild 2173 SHA256 7f9546342192acda85887b734d24ab3d859ff7a1927fec3eb3b6a453dea67486 SHA512 02b910744b90304a5862872f01b80a8c6ecd304e76cab9a0a616203c7d3de1a57e41add1d675a4b9fa4930faddfa70418310f0e935ac17a1a49476e7a3c99e46 WHIRLPOOL a4a0982f8c39c903540f836d153c61cde1def79598776fca4090cb95843f3eced797103285207f94166c61b54926e1e8d558f8c14b8517871ae804a3a0087ac4
+MISC metadata.xml 587 SHA256 867f446d7573f371ffc300b8cf789459eba5deca624c07a149992c3cc32d7fe5 SHA512 383e8540e2bde9190f48030956ff00eebb86f02781dfeffee9507198e00ee9d7f6cba6e05e5b9c7e8c692b0d5935531c162d7b5efe61a7f1ce2a88458ae2ec04 WHIRLPOOL c4d92917acb234eb49a1c3e3dceed6db1c3c2a62f393e4c90e75e6106698a22b23b4580007348a423e89f19a8df7fc3b21efcb1b573229f1477f1aa48833885f

+ 13 - 0
media-video/x264-encoder/files/gpac.patch

@@ -0,0 +1,13 @@
+Index: x264-snapshot-20150820-2245/configure
+===================================================================
+--- x264-snapshot-20150820-2245.orig/configure
++++ x264-snapshot-20150820-2245/configure
+@@ -1086,7 +1086,7 @@ fi
+ 
+ if [ "$gpac" = "auto" -a "$lsmash" != "yes" ] ; then
+     gpac="no"
+-    GPAC_LIBS="-lgpac_static"
++    GPAC_LIBS="-lgpac"
+     cc_check "" -lz && GPAC_LIBS="$GPAC_LIBS -lz"
+     if [ "$SYS" = "WINDOWS" ] ; then
+         cc_check "" -lws2_32 && GPAC_LIBS="$GPAC_LIBS -lws2_32"

+ 13 - 0
media-video/x264-encoder/metadata.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+  <maintainer type="project">
+    <email>media-video@gentoo.org</email>
+  </maintainer>
+  <use>
+    <flag name="10bit">Set output bit depth to 10</flag>
+    <flag name="avs">enable AvxSynth support in the AviSynth input module</flag>
+    <flag name="ffmpegsource">Enable ffmpegsource aka ffms support, disables lavf</flag>
+    <flag name="interlaced">Enable interlaced encoding support, this can decrease encoding speed by up to 2%</flag>
+  </use>
+</pkgmetadata>

+ 75 - 0
media-video/x264-encoder/x264-encoder-9999.ebuild

@@ -0,0 +1,75 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="A free commandline encoder for X264/AVC streams"
+HOMEPAGE="https://www.videolan.org/developers/x264.html"
+if [[ ${PV} == 9999 ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://git.videolan.org/git/x264.git"
+	SRC_URI=""
+else
+	MY_P="x264-snapshot-$(ver_cut 3)-2245"
+	SRC_URI="http://download.videolan.org/pub/videolan/x264/snapshots/${MY_P}.tar.bz2"
+	KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+	S="${WORKDIR}/${MY_P}"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="10bit avs custom-cflags ffmpeg ffmpegsource +interlaced libav mp4 +threads"
+
+REQUIRED_USE="ffmpegsource? ( ffmpeg )"
+
+RDEPEND="
+	~media-libs/x264-${PV}[interlaced=,threads=]
+	ffmpeg? (
+		!libav? ( media-video/ffmpeg:= )
+		libav? ( media-video/libav:= )
+	)
+	ffmpegsource? ( media-libs/ffmpegsource )
+	mp4? ( >=media-video/gpac-0.5.2:= )"
+
+ASM_DEP=">=dev-lang/nasm-2.13"
+DEPEND="${RDEPEND}
+	amd64? ( ${ASM_DEP} )
+	x86? ( ${ASM_DEP} )
+	x86-fbsd? ( ${ASM_DEP} )"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=( "${FILESDIR}/gpac.patch" )
+
+src_configure() {
+	tc-export CC
+
+	# let upstream pick the optimization level by default
+	use custom-cflags || filter-flags -O?
+
+	./configure \
+		--prefix="${EPREFIX}"/usr \
+		--libdir="${EPREFIX}"/usr/$(get_libdir) \
+		--system-libx264 \
+		--host="${CHOST}" \
+		--disable-lsmash \
+		$(usex 10bit "--bit-depth=10" "") \
+		$(usex avs "" "--disable-avs") \
+		$(usex ffmpeg "" "--disable-lavf --disable-swscale") \
+		$(usex ffmpegsource "" "--disable-ffms") \
+		$(usex interlaced "" "--disable-interlaced") \
+		$(usex mp4 "" "--disable-gpac") \
+		$(usex threads "" "--disable-thread") || die
+
+	# this is a nasty workaround for bug #376925 for x264 that also applies
+	# here, needed because as upstream doesn't like us fiddling with their CFLAGS
+	if use custom-cflags; then
+		local cflags
+		cflags="$(grep "^CFLAGS=" config.mak | sed 's/CFLAGS=//')"
+		cflags="${cflags//$(get-flag O)/}"
+		cflags="${cflags//-O? /$(get-flag O) }"
+		cflags="${cflags//-g /}"
+		sed -i "s:^CFLAGS=.*:CFLAGS=${cflags//:/\\:}:" config.mak
+	fi
+}

+ 4 - 2
net-libs/nodejs/Manifest

@@ -3,7 +3,9 @@ AUX nodejs-10.3.0-global-npm-config.patch 819 SHA256 eb412fa354c76a6dcb5a894c8d2
 AUX nodejs-11.4.0-stdarg_h.patch 243 SHA256 f9ab8069b836a4886946516d4bb22d212c97008c8978953adc99b527537aa22c SHA512 008cb557c9d94fd3a70dcf54ea260ed5ad457f62bbc689eccb668052c7195895c3c7f115354dc76da8f1ff0c6807bda9ca7bce62c844e37036c3916cea40286b WHIRLPOOL 3d6a742e6bcacab204fa851afe1e5d5c36bf2ff3be25475ce81d15f98c7128b6ae2c020fc2243ddc83361ef90a4b8c508389187992c151e302a942839e0d4a9c
 AUX nodejs-99999999-llhttp.patch 506 SHA256 23b71cc2e1b27f16595ea246ea6c2a46282e6192892a023536ba971961b32fc6 SHA512 13cdbaf73696b4feef1fec48ac43f6a6d80f59096a81308c746655e2cffa0b0ef78850facff103f27062fd25192d8abd7bc200b36bd25df7bd4b800f80da0c5c WHIRLPOOL 2903af7badc59e4097fddde3d0fe87295f3df5b6e6abd2f913a992ac5d53119e8577807ced547409ba0076ae48fe3e73950514734ade57a211b5e398dae3f618
 DIST node-v11.6.0.tar.xz 20410716 SHA256 94f2be389c80ab939114f67c824db7ebd12df602358b7481c55431336bbff9b3 SHA512 7e3ee41a5de8395669796cf8f81a9e8f584ceda480b54874fceb057ccf8aa5b986239ca842b2dbd796dd1a97f9e2111995b334278f6d7bf38421a84c4e883c65 WHIRLPOOL 3581a99b52141f577dcb282b3163fb406d80fbd641b5ae172c8167463cad9917d907304364ed0b31d72abd80241e7f2456f439956995bb727698bd54a2079aca
-DIST node-v8.14.1.tar.xz 18497208 SHA256 b1df87803ddffb76fc6739f025f69f6b8288514fcd2f278f0d675ac3d52a6b9b SHA512 038975261da930aa8122e9ad44f6d59c32b32dbf6f71a4da8ba74f0874455a7b8f7a9878d900829898b25adb57b81a8114b4222b0384173db19daa769ea025d0 WHIRLPOOL cada539679f3a207f0d465d790a7ffc7b4890c8711f3f161ca7eea3d2d2dc1b8f5e2e350f2613cbecde0c0d4daaeb8c2c6e8723c5a1cb2c15acaa8a17e221028
+DIST node-v11.7.0.tar.xz 21218124 SHA256 07febdd8722f6e24ad0cb9360e183baa75a07cad390c14896e3d97027e0fada2 SHA512 eec2d5e67d94314f1a09f3a1c3407d6b12e9decbdff99d41eb487c4ddc1929fc5661be0b6fbb180961ecb6094311630b19faa0af031d82ff8de7ae213ee35ab7 WHIRLPOOL 957f4ecf3b88d2f7b4a345d39203ff3a8a1bb3c44156dd5cbfe1da405fe2a9ad212a35a477c189e02e359e8f0f6586c1b98161184fe17590cf3a5d41d85226a4
+DIST node-v11.8.0.tar.xz 21253080 SHA256 7041550b94211d65ef0bee76c02bd5ddfdd9122c6d4b289323194edbfbe447a0 SHA512 7c33984014c2b95bde59affee88bc77caa2788dbdd7db87150acd58c56304932bf4b030994c91fc655f0f32202b8d1ed370c3d19d09569af50ffce91414d62ac WHIRLPOOL e2b6d20f7055fdd2ffb09f070bef891630f0fb10f59cd21836e94b70b6c58e09c10cdcbd03e86564def73edc91ce98b769559b651ba9ef085013fdd8da507d6a
 EBUILD nodejs-11.6.0.ebuild 6518 SHA256 96fa0c93ab7f5598ef2c6aeed06f8e50d0cee9874219c8e7724f0af935e363e4 SHA512 3d8e67f7d35fff87ec66c7dfcd0a4390339904f3bd5af6459a2621ebd161cb0228bb7cd2484b433763be35a6cca27ec419a8e8ce4f9f8d50c75cc755134ab3ab WHIRLPOOL 913ebd04c16b4d33504515e93273f2891b86e2def1d5eae0a59c5eeea4601915a9ef1739169ae2a3790d54a19e3e78d99bc3f4ee51ae0d635809117463b9ca53
-EBUILD nodejs-8.14.1.ebuild 6442 SHA256 38a21ae86cffdcca5d4a87e10bc1fc71a2367c7ede7175adbe9eae87ac44c52e SHA512 9291910af341adc7363dbac1a9b5efe6628b0abfb5f0c173516b02b75ffa51d906ccd3aafbaf453968c996ee08ba015684c4e430700c6577da143af42a98d78c WHIRLPOOL ae8c291db76108b2d056f4248021b632b021736b56dbf00f5df4f8741215443efe1ec19852fd92abaed98230ec9f56863dab20f57db76064983a3a15c5283704
+EBUILD nodejs-11.7.0.ebuild 6528 SHA256 2557b84ade43ede907fc5d9cbdaff002e1d81f9834f24bc6a95dff8ddb01864d SHA512 282cf38a033641d74eda95939f76d5e1aa40c9a2b53e46ac877f8a7a1c55fd2772ec3980bc0f78d21e748027dce66960c73708d9ad3d59ebf5eff35cd8f537dd WHIRLPOOL 5f64135672c3a6f236cb9441d2ddf49b6fffa8dd6c4ecde4f234a4d7a6da4598d72c9dfeab2cb209a3a5ded949b5c514280c1556d25630a9db6634a384d2c9a5
+EBUILD nodejs-11.8.0.ebuild 6531 SHA256 c394588bbe3dfe92fbcef1c8d684139d82ada575fc5c309ad04baef28f202375 SHA512 551ed05471504b1112c1f1e4b37d2151f4025148f0d27de9717f5f92aefa650f192b9a9e097ea90119148c04be8321f1ba7c75c0120c6f8d9db759cd55531d36 WHIRLPOOL 5a8328511659e1cfad2ca4339eef0d876008c4c272a0a9ea55896a50a1694ef6e6794c5ebcc6d9c09a9c4ff2c2629fcd41c0dc096d5a6d051727b86ed40d106d
 MISC metadata.xml 473 SHA256 b9f6072b47cc6364632c196887ec89346a1796413b13c4c44beefda4e5b62bc0 SHA512 f2911891d28329b3f6a21b56976f1507939bd51cb65581f73c2b5716c4610551cbc225450755be2e649e2070e1810ef41ca641d105155ceb1847e9a93ad2ee85 WHIRLPOOL 7c27a76cc13a62704fabb12cb3f2e97370fd606d32b03ab71cbc8b12958fa11f47f4792fff8b482a1c80de7d43eb04d2a59fa046afccf81a955114964047f644

+ 35 - 32
net-libs/nodejs/nodejs-8.14.1.ebuild

@@ -1,8 +1,7 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
-RESTRICT="test"
 
 PYTHON_COMPAT=( python2_7 )
 PYTHON_REQ_USE="threads"
@@ -24,24 +23,26 @@ REQUIRED_USE="
 "
 
 RDEPEND="
-	>=dev-libs/libuv-1.23.2:=
-	>=net-dns/c-ares-1.10.1
-	>=net-libs/http-parser-2.8.0:=
-	>=net-libs/nghttp2-1.33.0
+	>=dev-libs/libuv-1.24.1:=
+	>=net-dns/c-ares-1.15.0
+	>=net-libs/http-parser-2.9.0:=
+	>=net-libs/nghttp2-1.34.0
 	sys-libs/zlib
-	icu? ( >=dev-libs/icu-60.1:= )
-	ssl? ( dev-libs/openssl )
+	icu? ( >=dev-libs/icu-63.1:= )
+	ssl? ( >=dev-libs/openssl-1.1.1 )
 "
-DEPEND="${RDEPEND}
+DEPEND="
+	${RDEPEND}
 	${PYTHON_DEPS}
 	systemtap? ( dev-util/systemtap )
-	test? ( net-misc/curl )"
-
-S="${WORKDIR}/node-v${PV}"
-
+	test? ( net-misc/curl )
+"
 PATCHES=(
-	"${FILESDIR}"/nodejs-10.3.0-global-npm-config.patch
+	"${FILESDIR}"/${PN}-10.3.0-global-npm-config.patch
+	"${FILESDIR}"/${PN}-11.4.0-stdarg_h.patch
+	"${FILESDIR}"/${PN}-99999999-llhttp.patch
 )
+S="${WORKDIR}/node-v${PV}"
 
 pkg_pretend() {
 	(use x86 && ! use cpu_flags_x86_sse2) && \
@@ -69,12 +70,8 @@ src_prepare() {
 
 	# proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
 	local LIBDIR=$(get_libdir)
-	sed -i \
-		-e "s|lib/|${LIBDIR}/|g" \
-		-e 's|share/doc/node/|share/doc/'"${PF}"'/|g' \
-		tools/install.py || die
-
-	sed -i -e "s/'lib'/'${LIBDIR}'/" lib/module.js deps/npm/lib/npm.js || die
+	sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
+	sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
 
 	# Avoid writing a depfile, not useful
 	sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
@@ -98,7 +95,10 @@ src_prepare() {
 }
 
 src_configure() {
-	local myconf=( --shared-cares --shared-http-parser --shared-libuv --shared-nghttp2 --shared-zlib )
+	local myconf=(
+		--shared-cares --shared-http-parser --shared-libuv --shared-nghttp2
+		--shared-zlib
+	)
 	use debug && myconf+=( --debug )
 	use icu && myconf+=( --with-intl=system-icu ) || myconf+=( --with-intl=none )
 	use inspector || myconf+=( --without-inspector )
@@ -133,11 +133,6 @@ src_compile() {
 	emake -C out
 }
 
-src_test() {
-	out/${BUILDTYPE}/cctest || die
-	"${PYTHON}" tools/test.py --mode=${BUILDTYPE,,} -J message parallel sequential || die
-}
-
 src_install() {
 	local LIBDIR="${ED}/usr/$(get_libdir)"
 	emake install DESTDIR="${D}"
@@ -156,6 +151,7 @@ src_install() {
 			sed -i '/fonts.googleapis.com/ d' $i;
 		done
 		# Install docs
+		docinto html
 		dodoc -r "${S}"/doc/*
 	fi
 
@@ -195,13 +191,20 @@ src_install() {
 				"${find_name[@]}" \
 			\) \) -exec rm -rf "{}" \;
 	fi
+
+	mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die
+}
+
+src_test() {
+	out/${BUILDTYPE}/cctest || die
+	"${PYTHON}" tools/test.py --mode=${BUILDTYPE,,} -J message parallel sequential || die
 }
 
 pkg_postinst() {
-	einfo "The global npm config lives in /etc/npm. This deviates slightly"
-	einfo "from upstream which otherwise would have it live in /usr/etc/."
-	einfo ""
-	einfo "Protip: When using node-gyp to install native modules, you can"
-	einfo "avoid having to download extras by doing the following:"
-	einfo "$ node-gyp --nodedir /usr/include/node <command>"
+	elog "The global npm config lives in /etc/npm. This deviates slightly"
+	elog "from upstream which otherwise would have it live in /usr/etc/."
+	elog ""
+	elog "Protip: When using node-gyp to install native modules, you can"
+	elog "avoid having to download extras by doing the following:"
+	elog "$ node-gyp --nodedir /usr/include/node <command>"
 }

+ 210 - 0
net-libs/nodejs/nodejs-11.8.0.ebuild

@@ -0,0 +1,210 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="threads"
+
+inherit bash-completion-r1 eutils flag-o-matic pax-utils python-single-r1 toolchain-funcs
+
+DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
+HOMEPAGE="https://nodejs.org/"
+SRC_URI="https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz"
+
+LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x64-macos"
+IUSE="cpu_flags_x86_sse2 debug doc icu inspector +npm +snapshot +ssl systemtap test"
+REQUIRED_USE="
+	${PYTHON_REQUIRED_USE}
+	inspector? ( icu ssl )
+	npm? ( ssl )
+"
+
+RDEPEND="
+	>=dev-libs/libuv-1.25.0:=
+	>=net-dns/c-ares-1.15.0
+	>=net-libs/http-parser-2.9.0:=
+	>=net-libs/nghttp2-1.34.0
+	sys-libs/zlib
+	icu? ( >=dev-libs/icu-63.1:= )
+	ssl? ( =dev-libs/openssl-1.1.1*:0= )
+"
+DEPEND="
+	${RDEPEND}
+	${PYTHON_DEPS}
+	systemtap? ( dev-util/systemtap )
+	test? ( net-misc/curl )
+"
+PATCHES=(
+	"${FILESDIR}"/${PN}-10.3.0-global-npm-config.patch
+	"${FILESDIR}"/${PN}-11.4.0-stdarg_h.patch
+	"${FILESDIR}"/${PN}-99999999-llhttp.patch
+)
+S="${WORKDIR}/node-v${PV}"
+
+pkg_pretend() {
+	(use x86 && ! use cpu_flags_x86_sse2) && \
+		die "Your CPU doesn't support the required SSE2 instruction."
+
+	( [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++11 ) && \
+		die "Your compiler doesn't support C++11. Use GCC 4.8, Clang 3.3 or newer."
+}
+
+src_prepare() {
+	tc-export CC CXX PKG_CONFIG
+	export V=1
+	export BUILDTYPE=Release
+
+	# fix compilation on Darwin
+	# https://code.google.com/p/gyp/issues/detail?id=260
+	sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
+
+	# make sure we use python2.* while using gyp
+	sed -i -e "s/python/${EPYTHON}/" deps/npm/node_modules/node-gyp/gyp/gyp || die
+	sed -i -e "s/|| 'python2'/|| '${EPYTHON}'/" deps/npm/node_modules/node-gyp/lib/configure.js || die
+
+	# less verbose install output (stating the same as portage, basically)
+	sed -i -e "/print/d" tools/install.py || die
+
+	# proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
+	local LIBDIR=$(get_libdir)
+	sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
+	sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
+
+	# Avoid writing a depfile, not useful
+	sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
+
+	sed -i -e "/'-O3'/d" common.gypi deps/v8/gypfiles/toolchain.gypi || die
+
+	# Avoid a test that I've only been able to reproduce from emerge. It doesnt
+	# seem sandbox related either (invoking it from a sandbox works fine).
+	# The issue is that no stdin handle is openened when asked for one.
+	# It doesn't really belong upstream , so it'll just be removed until someone
+	# with more gentoo-knowledge than me (jbergstroem) figures it out.
+	rm test/parallel/test-stdout-close-unref.js || die
+
+	# debug builds. change install path, remove optimisations and override buildtype
+	if use debug; then
+		sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
+		BUILDTYPE=Debug
+	fi
+
+	default
+}
+
+src_configure() {
+	local myconf=(
+		--shared-cares --shared-http-parser --shared-libuv --shared-nghttp2
+		--shared-zlib
+	)
+	use debug && myconf+=( --debug )
+	use icu && myconf+=( --with-intl=system-icu ) || myconf+=( --with-intl=none )
+	use inspector || myconf+=( --without-inspector )
+	use npm || myconf+=( --without-npm )
+	use snapshot && myconf+=( --with-snapshot )
+	use ssl && myconf+=( --shared-openssl ) || myconf+=( --without-ssl )
+
+	local myarch=""
+	case ${ABI} in
+		amd64) myarch="x64";;
+		arm) myarch="arm";;
+		arm64) myarch="arm64";;
+		ppc64) myarch="ppc64";;
+		x32) myarch="x32";;
+		x86) myarch="ia32";;
+		*) myarch="${ABI}";;
+	esac
+
+	GYP_DEFINES="linux_use_gold_flags=0
+		linux_use_bundled_binutils=0
+		linux_use_bundled_gold=0" \
+	"${PYTHON}" configure \
+		--prefix="${EPREFIX}"/usr \
+		--dest-cpu=${myarch} \
+		$(use_with systemtap dtrace) \
+		"${myconf[@]}" || die
+}
+
+src_compile() {
+	emake -C out mksnapshot
+	pax-mark m "out/${BUILDTYPE}/mksnapshot"
+	emake -C out
+}
+
+src_install() {
+	local LIBDIR="${ED}/usr/$(get_libdir)"
+	emake install DESTDIR="${D}"
+	pax-mark -m "${ED}"usr/bin/node
+
+	# set up a symlink structure that node-gyp expects..
+	dodir /usr/include/node/deps/{v8,uv}
+	dosym . /usr/include/node/src
+	for var in deps/{uv,v8}/include; do
+		dosym ../.. /usr/include/node/${var}
+	done
+
+	if use doc; then
+		# Patch docs to make them offline readable
+		for i in `grep -rl 'fonts.googleapis.com' "${S}"/out/doc/api/*`; do
+			sed -i '/fonts.googleapis.com/ d' $i;
+		done
+		# Install docs
+		docinto html
+		dodoc -r "${S}"/doc/*
+	fi
+
+	if use npm; then
+		dodir /etc/npm
+
+		# Install bash completion for `npm`
+		# We need to temporarily replace default config path since
+		# npm otherwise tries to write outside of the sandbox
+		local npm_config="usr/$(get_libdir)/node_modules/npm/lib/config/core.js"
+		sed -i -e "s|'/etc'|'${ED}/etc'|g" "${ED}/${npm_config}" || die
+		local tmp_npm_completion_file="$(emktemp)"
+		"${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
+		newbashcomp "${tmp_npm_completion_file}" npm
+		sed -i -e "s|'${ED}/etc'|'/etc'|g" "${ED}/${npm_config}" || die
+
+		# Move man pages
+		doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
+
+		# Clean up
+		rm "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile} || die
+		rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man} || die
+
+		local find_exp="-or -name"
+		local find_name=()
+		for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
+			".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
+			"*.md" "*.markdown" "*.bat" "*.cmd"; do
+			find_name+=( ${find_exp} "${match}" )
+		done
+
+		# Remove various development and/or inappropriate files and
+		# useless docs of dependend packages.
+		find "${LIBDIR}"/node_modules \
+			\( -type d -name examples \) -or \( -type f \( \
+				-iname "LICEN?E*" \
+				"${find_name[@]}" \
+			\) \) -exec rm -rf "{}" \;
+	fi
+
+	mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die
+}
+
+src_test() {
+	out/${BUILDTYPE}/cctest || die
+	"${PYTHON}" tools/test.py --mode=${BUILDTYPE,,} -J message parallel sequential || die
+}
+
+pkg_postinst() {
+	elog "The global npm config lives in /etc/npm. This deviates slightly"
+	elog "from upstream which otherwise would have it live in /usr/etc/."
+	elog ""
+	elog "Protip: When using node-gyp to install native modules, you can"
+	elog "avoid having to download extras by doing the following:"
+	elog "$ node-gyp --nodedir /usr/include/node <command>"
+}

+ 11 - 0
net-libs/webkit-gtk/Manifest

@@ -0,0 +1,11 @@
+DIST webkitgtk-2.22.4.tar.xz 16752132 SHA256 fab5be2883802352ae0e735dd1eff4bc18abaff7ac78689cec72eb2f611943b8 SHA512 a46107f7da8513b06bd1e5685c03ca7f1a48af66b817908b8e61f1b343d98e122af73ccdeb47657cf4378fe33107fdc119a9a51d87db07ad5316ab39ed0db55f WHIRLPOOL af7717aa42617b3d358d86eaba02a8c915f0fbf6375b4ad088742a57c97c36ad1048f695f1c820bc965b43c50a9923daf2d69118155e446546559e4542001fee
+DIST webkitgtk-2.22.5.tar.xz 16774560 SHA256 99d3863f418a7c3a3e37e5062950dbf2d91fb106ec1633459b0ef6f2d5f6cb13 SHA512 fcea9fab3d71869cc10e322b1b63864a9594624f6aa3e29efd8b47e5ca639145f8c2cdb299ecb51eadf3ac1238dac06b4b7ebe94969b2f61a21cea8b609007bc WHIRLPOOL 83616a7f603d013bad061a70a94329e526ace80eab4e2799323c2be54888fd350a2da5d0d26f7fcd3319179d7b2aa46677a27c3f9f8f24ce6a08cb057aa506ef
+DIST webkitgtk-2.22.6.tar.xz 16773696 SHA256 df90db9c0db0a2072b945fa3e1d45865922bd686c4659cce6cb5897ce357c85b SHA512 18f4a4c145b524bebf1eaae58057e1e6cb74ba5a162c5195f072ba25c4399e7749c74fe6f8e9351bb9f2630a2c43f59935943e5bb318a5c4977f727a68602709 WHIRLPOOL bf7ee87f009559a224a64a60b2d966d927116e73409787027967ae7176764af0f4b8dc4b3329ef0511f061f04571c0d5bb4d2d7ce5cbd11657ce6a5c301fd07b
+DIST webkitgtk-2.22.7.tar.xz 16777676 SHA256 4be6f7d605cd0a690fd26e8aa83b089a33ad9d419148eafcfb60580dd2af30ff SHA512 c11f60b14f279752bb75efce4b69cbfd75e854bfb16772edc3b24d28eff2fb65090e03f24c1cfaf1f27668e017d877e04d5210560da70568029c5af33a916126 WHIRLPOOL 23cb18c7387a9fb2e1b8b34f2820b65255d5174b9a0868d5dc6eb92b05073b2a52935396e96911772a421fee12cb2e2b906b9ef6fcdf384cf87315dab863e5dd
+DIST webkitgtk-2.24.0.tar.xz 17894000 SHA256 2e4ad1503fe482ceb5a83cf70ac9cd42f37eb718555a4d6844fe4c59a9214407 SHA512 7a1444b22fb59ecdd638344acf3525f1ef9204215a568e185f2ac7f4e43cf89c7be307be31d51ec46231bbf5e9470e48d56395873d7368aca8022ff5c4100dab WHIRLPOOL cd770629bc0e77a3a6107f65cdc25720a5f56ea5301c7c917160769cf2651b3bb38e77f3987e59d35934f0797ebf9c668c1358ccdef9b5cacccb4026a7a46c01
+EBUILD webkit-gtk-2.22.4.ebuild 8394 SHA256 6312eae5de4d52b2a374559d3404013dfcf1ffbc65fcf7c017382a03a5b4493f SHA512 2f3fe97e5fe1e228b401089b522423edb71f8a489ebf02d076e255fee6943fc55ca4a633d6d6b6782acbec1144c538396c0bf9a9c944578010563ccae079e340 WHIRLPOOL 86f42b2e3df32686b6c89a1e6fd7925d5eed000e0464815e85b4a3c4ca56559b8a5057f29d9f5ebabfc44b66d5c2e62ecfaa85ad6ea76619ca9a4c0351ce6eed
+EBUILD webkit-gtk-2.22.5.ebuild 8543 SHA256 cb2206cf89ac384d492fa49c7de75f3d44bf204f21328c3bc9540f6b96c56189 SHA512 3fada417d4609fdf3be61263de93181b00c5a1dfdead0a4be6068e2152b7b784da1b83d5df997bed9f33ef9d01e2d22f92a947484939a09c1124602e39259907 WHIRLPOOL ee20863da6e16160c8c2b81db6c57789f2e108e7302da25c92a846aa764f940da84b338be3f84897588602d88cc8ca684238ba1df7ec4499b27a92cdc658b5cc
+EBUILD webkit-gtk-2.22.6.ebuild 8598 SHA256 51c39c2947df30012657d84916a73abe35fa989ee15442c9df104d49428388c6 SHA512 d385b3b9682945270396fcbb19d321b97d5c0ae88210725076c8621dc88666672cbef5abbd9f9c0175d6a1a926262882702899465e8d32eeba18aa40c3002041 WHIRLPOOL df7364bf5464bc06ef78c57ff99146b26d3d11df946abd436706f04bb84fe3fdda4b9c1c18d0bc2af44f9e689143d543106073c3b47fc8dd898cbb9ab7d39875
+EBUILD webkit-gtk-2.22.7.ebuild 8600 SHA256 67d95c02cec33cbe1dfb1a9dbf99fce2a7247ddc9377c4a0b579a7ee03ddb137 SHA512 6672d086ad4cb6a20209e046fdc541c031fc319e27aa42751906ff009ea62e88afa97e1a78176be924b83252ee5583a5a7c57bd9d3db0221ff4a7a1abfc227b6 WHIRLPOOL 0cddc53e4e91dc3fcb657911b71265f682520d9ea03957586e8d70752a7b4ca81a6057e0244a9d1702fbf31179fd788e47f42b409ed753f38be4a0256b63d789
+EBUILD webkit-gtk-2.24.0.ebuild 8638 SHA256 c831c362a966c32ecd6b1a7be910c0e1ad20663bacba6f93eb63def17efe2b05 SHA512 3935b01295411e115bdbc54614261108fa6eacbbbb70b0c5e3a7e45786dc5185b237ae78ed2669b42371d9e184f5d97e8a618139b043f182a9aa02e015cbfdd9 WHIRLPOOL 4c05d9941d647e371eb360332f111d536b90d3628009b1bc381f921e90581fd8726513a3ebb7d295bd4aaa10f590f33faa820ac0ac0e91fc37422a339639ab04
+MISC metadata.xml 680 SHA256 cf8dc2e3a5209247837f77660508e7adaade5f2dd1ac0d27394936a8145b3df4 SHA512 acbcc1a46d844cb1b5fe7f69c77cf98c920c78e535a4cc3ab33269da8361aedb4a6a7a8433b053cf73b5d07b8981d6892ef92ff25471f4e133ad5179c7df181e WHIRLPOOL de8a8bfa3a20c400a08897b14ab0ae6b3c7c95e4f7406107fe6df92ee832c5365f53a6f125b0f4a62559dcda421adf15a3e2b5424f4571db770a32c1c414c54a

+ 16 - 0
net-libs/webkit-gtk/metadata.xml

@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+	<email>gnome@gentoo.org</email>
+	<name>Gentoo GNOME Desktop</name>
+</maintainer>
+<use>
+	<flag name="coverage">Enable code coverage support</flag>
+	<flag name="egl">Enable EGL support</flag>
+	<flag name="geolocation">Enable geolocation support through <pkg>app-misc/geoclue</pkg></flag>
+	<flag name="gles2">Enable GLESv2 support</flag>
+	<flag name="nsplugin">Enable full nsplugin support (GTK2 plugins)</flag>
+	<flag name="webgl">Build support for the WebGL HTML API using <pkg>virtual/opengl</pkg></flag>
+</use>
+</pkgmetadata>

+ 280 - 0
net-libs/webkit-gtk/webkit-gtk-2.22.4.ebuild

@@ -0,0 +1,280 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+CMAKE_MAKEFILE_GENERATOR="ninja"
+PYTHON_COMPAT=( python2_7 )
+USE_RUBY="ruby26"
+
+inherit check-reqs cmake-utils flag-o-matic gnome2 pax-utils python-any-r1 ruby-single toolchain-funcs virtualx
+
+MY_P="webkitgtk-${PV}"
+DESCRIPTION="Open source web browser engine"
+HOMEPAGE="https://www.webkitgtk.org"
+SRC_URI="https://www.webkitgtk.org/releases/${MY_P}.tar.xz"
+
+LICENSE="LGPL-2+ BSD"
+SLOT="4/37" # soname version of libwebkit2gtk-4.0
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~amd64-linux ~x86-linux ~x86-macos"
+
+IUSE="aqua coverage doc +egl +geolocation gles2 gnome-keyring +gstreamer +introspection +jit libnotify nsplugin +opengl spell wayland +webgl +X"
+
+# webgl needs gstreamer, bug #560612
+# gstreamer with opengl/gles2 needs egl
+# Review on bumps if fixed upstream and adjust accordingly:
+# non-GL builds are broken - https://bugs.webkit.org/show_bug.cgi?id=191997
+# GstreamerGL gets built even with GL disabled (thus requiring opengl or gles2 with gstreamer) - https://bugs.webkit.org/show_bug.cgi?id=191998
+REQUIRED_USE="
+	^^ ( opengl gles2 )
+	geolocation? ( introspection )
+	gles2? ( egl !opengl )
+	gstreamer? ( opengl? ( egl ) )
+	nsplugin? ( X )
+	webgl? ( gstreamer
+		|| ( gles2 opengl ) )
+	wayland? ( egl )
+	|| ( aqua wayland X )
+"
+
+# Tests fail to link for inexplicable reasons
+# https://bugs.webkit.org/show_bug.cgi?id=148210
+RESTRICT="test"
+
+# Aqua support in gtk3 is untested
+# Dependencies found at Source/cmake/OptionsGTK.cmake
+# Various compile-time optionals for gtk+-3.22.0 - ensure it
+# Missing OpenWebRTC checks and conditionals, but ENABLE_MEDIA_STREAM/ENABLE_WEB_RTC is experimental upstream (PRIVATE OFF)
+# >=gst-plugins-opus-1.14.4-r1 for opusparse (required by MSE)
+RDEPEND="
+	>=x11-libs/cairo-1.10.2:=[X?]
+	>=media-libs/fontconfig-2.8.0:1.0
+	>=media-libs/freetype-2.4.2:2
+	>=dev-libs/libgcrypt-1.6.0:0=
+	>=x11-libs/gtk+-3.22:3[aqua?,introspection?,wayland?,X?]
+	>=media-libs/harfbuzz-1.3.3:=[icu(+)]
+	>=dev-libs/icu-3.8.1-r1:=
+	virtual/jpeg:0=
+	>=net-libs/libsoup-2.48:2.4[introspection?]
+	>=dev-libs/libxml2-2.8.0:2
+	>=media-libs/libpng-1.4:0=
+	dev-db/sqlite:3=
+	sys-libs/zlib:0
+	>=dev-libs/atk-2.8.0
+	media-libs/libwebp:=
+
+	>=dev-libs/glib-2.40:2
+	>=dev-libs/libxslt-1.1.7
+	media-libs/woff2
+	gnome-keyring? ( app-crypt/libsecret )
+	geolocation? ( >=app-misc/geoclue-2.1.5:2.0 )
+	introspection? ( >=dev-libs/gobject-introspection-1.32.0:= )
+	dev-libs/libtasn1:=
+	>=dev-libs/libgcrypt-1.7.0:0=
+	nsplugin? ( >=x11-libs/gtk+-2.24.10:2 )
+	spell? ( >=app-text/enchant-0.22:= )
+	gstreamer? (
+		>=media-libs/gstreamer-1.14:1.0
+		>=media-libs/gst-plugins-base-1.14:1.0[egl?,gles2?,opengl?]
+		>=media-plugins/gst-plugins-opus-1.14.4-r1:1.0
+		>=media-libs/gst-plugins-bad-1.14:1.0 )
+
+	X? (
+		x11-libs/libX11
+		x11-libs/libXcomposite
+		x11-libs/libXdamage
+		x11-libs/libXrender
+		x11-libs/libXt )
+
+	libnotify? ( x11-libs/libnotify )
+	dev-libs/hyphen
+
+	egl? ( media-libs/mesa[egl] )
+	gles2? ( media-libs/mesa[gles2] )
+	opengl? ( virtual/opengl )
+	webgl? (
+		x11-libs/libXcomposite
+		x11-libs/libXdamage )
+"
+
+# paxctl needed for bug #407085
+# Need real bison, not yacc
+DEPEND="${RDEPEND}
+	${PYTHON_DEPS}
+	${RUBY_DEPS}
+	>=app-accessibility/at-spi2-core-2.5.3
+	>=dev-lang/perl-5.10
+	dev-util/glib-utils
+	>=dev-util/gtk-doc-am-1.10
+	>=dev-util/gperf-3.0.1
+	>=sys-devel/bison-2.4.3
+	|| ( >=sys-devel/gcc-6.0 >=sys-devel/clang-3.3 )
+	sys-devel/gettext
+	virtual/pkgconfig
+
+	dev-lang/perl
+	virtual/perl-Data-Dumper
+	virtual/perl-Carp
+	virtual/perl-JSON-PP
+
+	doc? ( >=dev-util/gtk-doc-1.10 )
+	geolocation? ( dev-util/gdbus-codegen )
+	introspection? ( jit? ( sys-apps/paxctl ) )
+"
+#	test? (
+#		dev-python/pygobject:3[python_targets_python2_7]
+#		x11-themes/hicolor-icon-theme
+#		jit? ( sys-apps/paxctl ) )
+
+S="${WORKDIR}/${MY_P}"
+
+CHECKREQS_DISK_BUILD="18G" # and even this might not be enough, bug #417307
+
+pkg_pretend() {
+	if [[ ${MERGE_TYPE} != "binary" ]] ; then
+		if is-flagq "-g*" && ! is-flagq "-g*0" ; then
+			einfo "Checking for sufficient disk space to build ${PN} with debugging CFLAGS"
+			check-reqs_pkg_pretend
+		fi
+
+		if ! test-flag-CXX -std=c++11 ; then
+			die "You need at least GCC 4.9.x or Clang >= 3.3 for C++11-specific compiler flags"
+		fi
+
+		if tc-is-gcc && [[ $(gcc-version) < 4.9 ]] ; then
+			die 'The active compiler needs to be gcc 4.9 (or newer)'
+		fi
+	fi
+}
+
+pkg_setup() {
+	if [[ ${MERGE_TYPE} != "binary" ]] && is-flagq "-g*" && ! is-flagq "-g*0" ; then
+		check-reqs_pkg_setup
+	fi
+
+	python-any-r1_pkg_setup
+}
+
+src_prepare() {
+	cmake-utils_src_prepare
+	gnome2_src_prepare
+}
+
+src_configure() {
+	# Respect CC, otherwise fails on prefix #395875
+	tc-export CC
+
+	# Arches without JIT support also need this to really disable it in all places
+	use jit || append-cppflags -DENABLE_JIT=0 -DENABLE_YARR_JIT=0 -DENABLE_ASSEMBLER=0
+
+	# It does not compile on alpha without this in LDFLAGS
+	# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=648761
+	use alpha && append-ldflags "-Wl,--no-relax"
+
+	# ld segfaults on ia64 with LDFLAGS --as-needed, bug #555504
+	use ia64 && append-ldflags "-Wl,--no-as-needed"
+
+	# Sigbuses on SPARC with mcpu and co., bug #???
+	use sparc && filter-flags "-mvis"
+
+	# https://bugs.webkit.org/show_bug.cgi?id=42070 , #301634
+	use ppc64 && append-flags "-mminimal-toc"
+
+	# Try to use less memory, bug #469942 (see Fedora .spec for reference)
+	# --no-keep-memory doesn't work on ia64, bug #502492
+	if ! use ia64; then
+		append-ldflags "-Wl,--no-keep-memory"
+	fi
+
+	# We try to use gold when possible for this package
+#	if ! tc-ld-is-gold ; then
+#		append-ldflags "-Wl,--reduce-memory-overheads"
+#	fi
+
+	# Multiple rendering bugs on youtube, github, etc without this, bug #547224
+	append-flags $(test-flags -fno-strict-aliasing)
+
+	# Ruby situation is a bit complicated. See bug 513888
+	local rubyimpl
+	local ruby_interpreter=""
+	for rubyimpl in ${USE_RUBY}; do
+		if has_version "virtual/rubygems[ruby_targets_${rubyimpl}]"; then
+			ruby_interpreter="-DRUBY_EXECUTABLE=$(type -P ${rubyimpl})"
+		fi
+	done
+	# This will rarely occur. Only a couple of corner cases could lead us to
+	# that failure. See bug 513888
+	[[ -z $ruby_interpreter ]] && die "No suitable ruby interpreter found"
+
+	# TODO: Check Web Audio support
+	# should somehow let user select between them?
+	#
+	# FTL_JIT requires llvm
+	#
+	# opengl needs to be explicetly handled, bug #576634
+
+	local opengl_enabled
+	if use opengl || use gles2; then
+		opengl_enabled=ON
+	else
+		opengl_enabled=OFF
+	fi
+
+	local mycmakeargs=(
+		-DENABLE_QUARTZ_TARGET=$(usex aqua)
+		-DENABLE_API_TESTS=$(usex test)
+		-DENABLE_GTKDOC=$(usex doc)
+		-DENABLE_GEOLOCATION=$(usex geolocation)
+		$(cmake-utils_use_find_package gles2 OpenGLES2)
+		-DENABLE_GLES2=$(usex gles2)
+		-DENABLE_VIDEO=$(usex gstreamer)
+		-DENABLE_WEB_AUDIO=$(usex gstreamer)
+		-DENABLE_INTROSPECTION=$(usex introspection)
+		-DENABLE_JIT=$(usex jit)
+		-DUSE_LIBNOTIFY=$(usex libnotify)
+		-DUSE_LIBSECRET=$(usex gnome-keyring)
+		-DUSE_WOFF2=ON
+		-DENABLE_PLUGIN_PROCESS_GTK2=$(usex nsplugin)
+		-DENABLE_SPELLCHECK=$(usex spell)
+		-DENABLE_WAYLAND_TARGET=$(usex wayland)
+		-DENABLE_WEBGL=$(usex webgl)
+		$(cmake-utils_use_find_package egl EGL)
+		$(cmake-utils_use_find_package opengl OpenGL)
+		-DENABLE_X11_TARGET=$(usex X)
+		-DENABLE_OPENGL=${opengl_enabled}
+		-DCMAKE_BUILD_TYPE=Release
+		-DPORT=GTK
+		${ruby_interpreter}
+	)
+
+	# Allow it to use GOLD when possible as it has all the magic to
+	# detect when to use it and using gold for this concrete package has
+	# multiple advantages and is also the upstream default, bug #585788
+#	if tc-ld-is-gold ; then
+#		mycmakeargs+=( -DUSE_LD_GOLD=ON )
+#	else
+#		mycmakeargs+=( -DUSE_LD_GOLD=OFF )
+#	fi
+
+	CPPFLAGS="${CPPFLAGS} -DRELEASE_WITHOUT_OPTIMIZATIONS"
+	cmake-utils_src_configure
+}
+
+src_compile() {
+	cmake-utils_src_compile
+}
+
+src_test() {
+	# Prevents test failures on PaX systems
+	use jit && pax-mark m $(list-paxables Programs/*[Tt]ests/*) # Programs/unittests/.libs/test*
+
+	cmake-utils_src_test
+}
+
+src_install() {
+	cmake-utils_src_install
+
+	# Prevents crashes on PaX systems, bug #522808
+	use jit && pax-mark m "${ED}usr/libexec/webkit2gtk-4.0/jsc" "${ED}usr/libexec/webkit2gtk-4.0/WebKitWebProcess"
+	pax-mark m "${ED}usr/libexec/webkit2gtk-4.0/WebKitPluginProcess"
+	use nsplugin && pax-mark m "${ED}usr/libexec/webkit2gtk-4.0/WebKitPluginProcess"2
+}

+ 285 - 0
net-libs/webkit-gtk/webkit-gtk-2.22.5.ebuild

@@ -0,0 +1,285 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+CMAKE_MAKEFILE_GENERATOR="ninja"
+PYTHON_COMPAT=( python2_7 )
+USE_RUBY="ruby23 ruby24 ruby25 ruby26"
+
+inherit check-reqs cmake-utils flag-o-matic gnome2 pax-utils python-any-r1 ruby-single toolchain-funcs virtualx
+
+MY_P="webkitgtk-${PV}"
+DESCRIPTION="Open source web browser engine"
+HOMEPAGE="https://www.webkitgtk.org"
+SRC_URI="https://www.webkitgtk.org/releases/${MY_P}.tar.xz"
+
+LICENSE="LGPL-2+ BSD"
+SLOT="4/37" # soname version of libwebkit2gtk-4.0
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~amd64-linux ~x86-linux ~x86-macos"
+
+IUSE="aqua coverage doc +egl +geolocation gles2 gnome-keyring +gstreamer +introspection +jit libnotify nsplugin +opengl spell wayland +webgl +X"
+
+# webgl needs gstreamer, bug #560612
+# gstreamer with opengl/gles2 needs egl
+REQUIRED_USE="
+	geolocation? ( introspection )
+	gles2? ( egl !opengl )
+	gstreamer? ( opengl? ( egl ) )
+	nsplugin? ( X )
+	webgl? ( gstreamer
+		|| ( gles2 opengl ) )
+	wayland? ( egl )
+	|| ( aqua wayland X )
+"
+
+# Tests fail to link for inexplicable reasons
+# https://bugs.webkit.org/show_bug.cgi?id=148210
+RESTRICT="test"
+
+# Aqua support in gtk3 is untested
+# Dependencies found at Source/cmake/OptionsGTK.cmake
+# Various compile-time optionals for gtk+-3.22.0 - ensure it
+# Missing OpenWebRTC checks and conditionals, but ENABLE_MEDIA_STREAM/ENABLE_WEB_RTC is experimental upstream (PRIVATE OFF)
+# >=gst-plugins-opus-1.14.4-r1 for opusparse (required by MSE)
+RDEPEND="
+	>=x11-libs/cairo-1.10.2:=[X?]
+	>=media-libs/fontconfig-2.8.0:1.0
+	>=media-libs/freetype-2.4.2:2
+	>=dev-libs/libgcrypt-1.6.0:0=
+	>=x11-libs/gtk+-3.22:3[aqua?,introspection?,wayland?,X?]
+	>=media-libs/harfbuzz-1.3.3:=[icu(+)]
+	>=dev-libs/icu-3.8.1-r1:=
+	virtual/jpeg:0=
+	>=net-libs/libsoup-2.48:2.4[introspection?]
+	>=dev-libs/libxml2-2.8.0:2
+	>=media-libs/libpng-1.4:0=
+	dev-db/sqlite:3=
+	sys-libs/zlib:0
+	>=dev-libs/atk-2.8.0
+	media-libs/libwebp:=
+
+	>=dev-libs/glib-2.40:2
+	>=dev-libs/libxslt-1.1.7
+	media-libs/woff2
+	gnome-keyring? ( app-crypt/libsecret )
+	geolocation? ( >=app-misc/geoclue-2.1.5:2.0 )
+	introspection? ( >=dev-libs/gobject-introspection-1.32.0:= )
+	dev-libs/libtasn1:=
+	>=dev-libs/libgcrypt-1.7.0:0=
+	nsplugin? ( >=x11-libs/gtk+-2.24.10:2 )
+	spell? ( >=app-text/enchant-0.22:= )
+	gstreamer? (
+		>=media-libs/gstreamer-1.14:1.0
+		>=media-libs/gst-plugins-base-1.14:1.0[egl?,gles2?,opengl?]
+		>=media-plugins/gst-plugins-opus-1.14.4-r1:1.0
+		>=media-libs/gst-plugins-bad-1.14:1.0 )
+
+	X? (
+		x11-libs/libX11
+		x11-libs/libXcomposite
+		x11-libs/libXdamage
+		x11-libs/libXrender
+		x11-libs/libXt )
+
+	libnotify? ( x11-libs/libnotify )
+	dev-libs/hyphen
+
+	egl? ( media-libs/mesa[egl] )
+	gles2? ( media-libs/mesa[gles2] )
+	opengl? ( virtual/opengl )
+	webgl? (
+		x11-libs/libXcomposite
+		x11-libs/libXdamage )
+"
+
+# paxctl needed for bug #407085
+# Need real bison, not yacc
+DEPEND="${RDEPEND}
+	${PYTHON_DEPS}
+	${RUBY_DEPS}
+	>=app-accessibility/at-spi2-core-2.5.3
+	>=dev-lang/perl-5.10
+	dev-util/glib-utils
+	>=dev-util/gtk-doc-am-1.10
+	>=dev-util/gperf-3.0.1
+	>=sys-devel/bison-2.4.3
+	|| ( >=sys-devel/gcc-6.0 >=sys-devel/clang-3.3 )
+	sys-devel/gettext
+	virtual/pkgconfig
+
+	dev-lang/perl
+	virtual/perl-Data-Dumper
+	virtual/perl-Carp
+	virtual/perl-JSON-PP
+
+	doc? ( >=dev-util/gtk-doc-1.10 )
+	geolocation? ( dev-util/gdbus-codegen )
+	introspection? ( jit? ( sys-apps/paxctl ) )
+"
+#	test? (
+#		dev-python/pygobject:3[python_targets_python2_7]
+#		x11-themes/hicolor-icon-theme
+#		jit? ( sys-apps/paxctl ) )
+
+S="${WORKDIR}/${MY_P}"
+
+CHECKREQS_DISK_BUILD="18G" # and even this might not be enough, bug #417307
+
+pkg_pretend() {
+	if [[ ${MERGE_TYPE} != "binary" ]] ; then
+		if is-flagq "-g*" && ! is-flagq "-g*0" ; then
+			einfo "Checking for sufficient disk space to build ${PN} with debugging CFLAGS"
+			check-reqs_pkg_pretend
+		fi
+
+		if ! test-flag-CXX -std=c++11 ; then
+			die "You need at least GCC 4.9.x or Clang >= 3.3 for C++11-specific compiler flags"
+		fi
+
+		if tc-is-gcc && [[ $(gcc-version) < 4.9 ]] ; then
+			die 'The active compiler needs to be gcc 4.9 (or newer)'
+		fi
+	fi
+
+	if ! use opengl && ! use gles2; then
+		ewarn
+		ewarn "You are disabling OpenGL usage (USE=opengl or USE=gles) completely."
+		ewarn "This is an unsupported configuration meant for very specific embedded"
+		ewarn "use cases, where there truly is no GL possible (and even that use case"
+		ewarn "is very unlikely to come by). If you have GL (even software-only), you"
+		ewarn "really really should be enabling OpenGL!"
+		ewarn
+	fi
+}
+
+pkg_setup() {
+	if [[ ${MERGE_TYPE} != "binary" ]] && is-flagq "-g*" && ! is-flagq "-g*0" ; then
+		check-reqs_pkg_setup
+	fi
+
+	python-any-r1_pkg_setup
+}
+
+src_prepare() {
+	cmake-utils_src_prepare
+	gnome2_src_prepare
+}
+
+src_configure() {
+	# Respect CC, otherwise fails on prefix #395875
+	tc-export CC
+
+	# Arches without JIT support also need this to really disable it in all places
+	use jit || append-cppflags -DENABLE_JIT=0 -DENABLE_YARR_JIT=0 -DENABLE_ASSEMBLER=0
+
+	# It does not compile on alpha without this in LDFLAGS
+	# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=648761
+	use alpha && append-ldflags "-Wl,--no-relax"
+
+	# ld segfaults on ia64 with LDFLAGS --as-needed, bug #555504
+	use ia64 && append-ldflags "-Wl,--no-as-needed"
+
+	# Sigbuses on SPARC with mcpu and co., bug #???
+	use sparc && filter-flags "-mvis"
+
+	# https://bugs.webkit.org/show_bug.cgi?id=42070 , #301634
+	use ppc64 && append-flags "-mminimal-toc"
+
+	# Try to use less memory, bug #469942 (see Fedora .spec for reference)
+	# --no-keep-memory doesn't work on ia64, bug #502492
+	if ! use ia64; then
+		append-ldflags "-Wl,--no-keep-memory"
+	fi
+
+	# We try to use gold when possible for this package
+#	if ! tc-ld-is-gold ; then
+#		append-ldflags "-Wl,--reduce-memory-overheads"
+#	fi
+
+	# Multiple rendering bugs on youtube, github, etc without this, bug #547224
+	append-flags $(test-flags -fno-strict-aliasing)
+
+	# Ruby situation is a bit complicated. See bug 513888
+	local rubyimpl
+	local ruby_interpreter=""
+	for rubyimpl in ${USE_RUBY}; do
+		if has_version "virtual/rubygems[ruby_targets_${rubyimpl}]"; then
+			ruby_interpreter="-DRUBY_EXECUTABLE=$(type -P ${rubyimpl})"
+		fi
+	done
+	# This will rarely occur. Only a couple of corner cases could lead us to
+	# that failure. See bug 513888
+	[[ -z $ruby_interpreter ]] && die "No suitable ruby interpreter found"
+
+	# TODO: Check Web Audio support
+	# should somehow let user select between them?
+	#
+	# FTL_JIT requires llvm
+	#
+	# opengl needs to be explicetly handled, bug #576634
+
+	local opengl_enabled
+	if use opengl || use gles2; then
+		opengl_enabled=ON
+	else
+		opengl_enabled=OFF
+	fi
+
+	local mycmakeargs=(
+		-DENABLE_QUARTZ_TARGET=$(usex aqua)
+		-DENABLE_API_TESTS=$(usex test)
+		-DENABLE_GTKDOC=$(usex doc)
+		-DENABLE_GEOLOCATION=$(usex geolocation)
+		$(cmake-utils_use_find_package gles2 OpenGLES2)
+		-DENABLE_GLES2=$(usex gles2)
+		-DENABLE_VIDEO=$(usex gstreamer)
+		-DENABLE_WEB_AUDIO=$(usex gstreamer)
+		-DENABLE_INTROSPECTION=$(usex introspection)
+		-DENABLE_JIT=$(usex jit)
+		-DUSE_LIBNOTIFY=$(usex libnotify)
+		-DUSE_LIBSECRET=$(usex gnome-keyring)
+		-DUSE_WOFF2=ON
+		-DENABLE_PLUGIN_PROCESS_GTK2=$(usex nsplugin)
+		-DENABLE_SPELLCHECK=$(usex spell)
+		-DENABLE_WAYLAND_TARGET=$(usex wayland)
+		-DENABLE_WEBGL=$(usex webgl)
+		$(cmake-utils_use_find_package egl EGL)
+		$(cmake-utils_use_find_package opengl OpenGL)
+		-DENABLE_X11_TARGET=$(usex X)
+		-DENABLE_OPENGL=${opengl_enabled}
+		-DCMAKE_BUILD_TYPE=Release
+		-DPORT=GTK
+		${ruby_interpreter}
+	)
+
+	# Allow it to use GOLD when possible as it has all the magic to
+	# detect when to use it and using gold for this concrete package has
+	# multiple advantages and is also the upstream default, bug #585788
+#	if tc-ld-is-gold ; then
+#		mycmakeargs+=( -DUSE_LD_GOLD=ON )
+#	else
+#		mycmakeargs+=( -DUSE_LD_GOLD=OFF )
+#	fi
+	CPPFLAGS="${CPPFLAGS} -DRELEASE_WITHOUT_OPTIMIZATIONS"
+	cmake-utils_src_configure
+}
+
+src_compile() {
+	cmake-utils_src_compile
+}
+
+src_test() {
+	# Prevents test failures on PaX systems
+	use jit && pax-mark m $(list-paxables Programs/*[Tt]ests/*) # Programs/unittests/.libs/test*
+
+	cmake-utils_src_test
+}
+
+src_install() {
+	cmake-utils_src_install
+
+	# Prevents crashes on PaX systems, bug #522808
+	use jit && pax-mark m "${ED}usr/libexec/webkit2gtk-4.0/jsc" "${ED}usr/libexec/webkit2gtk-4.0/WebKitWebProcess"
+	pax-mark m "${ED}usr/libexec/webkit2gtk-4.0/WebKitPluginProcess"
+	use nsplugin && pax-mark m "${ED}usr/libexec/webkit2gtk-4.0/WebKitPluginProcess"2
+}

+ 287 - 0
net-libs/webkit-gtk/webkit-gtk-2.22.6.ebuild

@@ -0,0 +1,287 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+CMAKE_MAKEFILE_GENERATOR="ninja"
+PYTHON_COMPAT=( python2_7 )
+USE_RUBY="ruby23 ruby24 ruby25 ruby26"
+
+inherit check-reqs cmake-utils flag-o-matic gnome2 pax-utils python-any-r1 ruby-single toolchain-funcs virtualx
+
+MY_P="webkitgtk-${PV}"
+DESCRIPTION="Open source web browser engine"
+HOMEPAGE="https://www.webkitgtk.org"
+SRC_URI="https://www.webkitgtk.org/releases/${MY_P}.tar.xz"
+
+LICENSE="LGPL-2+ BSD"
+SLOT="4/37" # soname version of libwebkit2gtk-4.0
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc x86 ~amd64-fbsd ~amd64-linux ~x86-linux ~x86-macos"
+
+IUSE="aqua coverage doc +egl +geolocation gles2 gnome-keyring +gstreamer +introspection +jit libnotify nsplugin +opengl spell wayland +webgl +X"
+
+# webgl needs gstreamer, bug #560612
+# gstreamer with opengl/gles2 needs egl
+# non-GL builds are (temporarily?) broken - https://bugs.webkit.org/show_bug.cgi?id=193380
+REQUIRED_USE="
+	^^ ( opengl gles2 )
+	geolocation? ( introspection )
+	gles2? ( egl !opengl )
+	gstreamer? ( opengl? ( egl ) )
+	nsplugin? ( X )
+	webgl? ( gstreamer
+		|| ( gles2 opengl ) )
+	wayland? ( egl )
+	|| ( aqua wayland X )
+"
+
+# Tests fail to link for inexplicable reasons
+# https://bugs.webkit.org/show_bug.cgi?id=148210
+RESTRICT="test"
+
+# Aqua support in gtk3 is untested
+# Dependencies found at Source/cmake/OptionsGTK.cmake
+# Various compile-time optionals for gtk+-3.22.0 - ensure it
+# Missing OpenWebRTC checks and conditionals, but ENABLE_MEDIA_STREAM/ENABLE_WEB_RTC is experimental upstream (PRIVATE OFF)
+# >=gst-plugins-opus-1.14.4-r1 for opusparse (required by MSE)
+RDEPEND="
+	>=x11-libs/cairo-1.10.2:=[X?]
+	>=media-libs/fontconfig-2.8.0:1.0
+	>=media-libs/freetype-2.4.2:2
+	>=dev-libs/libgcrypt-1.6.0:0=
+	>=x11-libs/gtk+-3.22:3[aqua?,introspection?,wayland?,X?]
+	>=media-libs/harfbuzz-1.3.3:=[icu(+)]
+	>=dev-libs/icu-3.8.1-r1:=
+	virtual/jpeg:0=
+	>=net-libs/libsoup-2.48:2.4[introspection?]
+	>=dev-libs/libxml2-2.8.0:2
+	>=media-libs/libpng-1.4:0=
+	dev-db/sqlite:3=
+	sys-libs/zlib:0
+	>=dev-libs/atk-2.8.0
+	media-libs/libwebp:=
+
+	>=dev-libs/glib-2.40:2
+	>=dev-libs/libxslt-1.1.7
+	media-libs/woff2
+	gnome-keyring? ( app-crypt/libsecret )
+	geolocation? ( >=app-misc/geoclue-2.1.5:2.0 )
+	introspection? ( >=dev-libs/gobject-introspection-1.32.0:= )
+	dev-libs/libtasn1:=
+	>=dev-libs/libgcrypt-1.7.0:0=
+	nsplugin? ( >=x11-libs/gtk+-2.24.10:2 )
+	spell? ( >=app-text/enchant-0.22:= )
+	gstreamer? (
+		>=media-libs/gstreamer-1.14:1.0
+		>=media-libs/gst-plugins-base-1.14:1.0[egl?,gles2?,opengl?]
+		>=media-plugins/gst-plugins-opus-1.14.4-r1:1.0
+		>=media-libs/gst-plugins-bad-1.14:1.0 )
+
+	X? (
+		x11-libs/libX11
+		x11-libs/libXcomposite
+		x11-libs/libXdamage
+		x11-libs/libXrender
+		x11-libs/libXt )
+
+	libnotify? ( x11-libs/libnotify )
+	dev-libs/hyphen
+
+	egl? ( media-libs/mesa[egl] )
+	gles2? ( media-libs/mesa[gles2] )
+	opengl? ( virtual/opengl )
+	webgl? (
+		x11-libs/libXcomposite
+		x11-libs/libXdamage )
+"
+
+# paxctl needed for bug #407085
+# Need real bison, not yacc
+DEPEND="${RDEPEND}
+	${PYTHON_DEPS}
+	${RUBY_DEPS}
+	>=app-accessibility/at-spi2-core-2.5.3
+	>=dev-lang/perl-5.10
+	dev-util/glib-utils
+	>=dev-util/gtk-doc-am-1.10
+	>=dev-util/gperf-3.0.1
+	>=sys-devel/bison-2.4.3
+	|| ( >=sys-devel/gcc-6.0 >=sys-devel/clang-3.3 )
+	sys-devel/gettext
+	virtual/pkgconfig
+
+	dev-lang/perl
+	virtual/perl-Data-Dumper
+	virtual/perl-Carp
+	virtual/perl-JSON-PP
+
+	doc? ( >=dev-util/gtk-doc-1.10 )
+	geolocation? ( dev-util/gdbus-codegen )
+	introspection? ( jit? ( sys-apps/paxctl ) )
+"
+#	test? (
+#		dev-python/pygobject:3[python_targets_python2_7]
+#		x11-themes/hicolor-icon-theme
+#		jit? ( sys-apps/paxctl ) )
+
+S="${WORKDIR}/${MY_P}"
+
+CHECKREQS_DISK_BUILD="18G" # and even this might not be enough, bug #417307
+
+pkg_pretend() {
+	if [[ ${MERGE_TYPE} != "binary" ]] ; then
+		if is-flagq "-g*" && ! is-flagq "-g*0" ; then
+			einfo "Checking for sufficient disk space to build ${PN} with debugging CFLAGS"
+			check-reqs_pkg_pretend
+		fi
+
+		if ! test-flag-CXX -std=c++11 ; then
+			die "You need at least GCC 4.9.x or Clang >= 3.3 for C++11-specific compiler flags"
+		fi
+
+		if tc-is-gcc && [[ $(gcc-version) < 4.9 ]] ; then
+			die 'The active compiler needs to be gcc 4.9 (or newer)'
+		fi
+	fi
+
+	if ! use opengl && ! use gles2; then
+		ewarn
+		ewarn "You are disabling OpenGL usage (USE=opengl or USE=gles) completely."
+		ewarn "This is an unsupported configuration meant for very specific embedded"
+		ewarn "use cases, where there truly is no GL possible (and even that use case"
+		ewarn "is very unlikely to come by). If you have GL (even software-only), you"
+		ewarn "really really should be enabling OpenGL!"
+		ewarn
+	fi
+}
+
+pkg_setup() {
+	if [[ ${MERGE_TYPE} != "binary" ]] && is-flagq "-g*" && ! is-flagq "-g*0" ; then
+		check-reqs_pkg_setup
+	fi
+
+	python-any-r1_pkg_setup
+}
+
+src_prepare() {
+	cmake-utils_src_prepare
+	gnome2_src_prepare
+}
+
+src_configure() {
+	# Respect CC, otherwise fails on prefix #395875
+	tc-export CC
+
+	# Arches without JIT support also need this to really disable it in all places
+	use jit || append-cppflags -DENABLE_JIT=0 -DENABLE_YARR_JIT=0 -DENABLE_ASSEMBLER=0
+
+	# It does not compile on alpha without this in LDFLAGS
+	# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=648761
+	use alpha && append-ldflags "-Wl,--no-relax"
+
+	# ld segfaults on ia64 with LDFLAGS --as-needed, bug #555504
+	use ia64 && append-ldflags "-Wl,--no-as-needed"
+
+	# Sigbuses on SPARC with mcpu and co., bug #???
+	use sparc && filter-flags "-mvis"
+
+	# https://bugs.webkit.org/show_bug.cgi?id=42070 , #301634
+	use ppc64 && append-flags "-mminimal-toc"
+
+	# Try to use less memory, bug #469942 (see Fedora .spec for reference)
+	# --no-keep-memory doesn't work on ia64, bug #502492
+	if ! use ia64; then
+		append-ldflags "-Wl,--no-keep-memory"
+	fi
+
+	# We try to use gold when possible for this package
+#	if ! tc-ld-is-gold ; then
+#		append-ldflags "-Wl,--reduce-memory-overheads"
+#	fi
+
+	# Multiple rendering bugs on youtube, github, etc without this, bug #547224
+	append-flags $(test-flags -fno-strict-aliasing)
+
+	# Ruby situation is a bit complicated. See bug 513888
+	local rubyimpl
+	local ruby_interpreter=""
+	for rubyimpl in ${USE_RUBY}; do
+		if has_version "virtual/rubygems[ruby_targets_${rubyimpl}]"; then
+			ruby_interpreter="-DRUBY_EXECUTABLE=$(type -P ${rubyimpl})"
+		fi
+	done
+	# This will rarely occur. Only a couple of corner cases could lead us to
+	# that failure. See bug 513888
+	[[ -z $ruby_interpreter ]] && die "No suitable ruby interpreter found"
+
+	# TODO: Check Web Audio support
+	# should somehow let user select between them?
+	#
+	# FTL_JIT requires llvm
+	#
+	# opengl needs to be explicetly handled, bug #576634
+
+	local opengl_enabled
+	if use opengl || use gles2; then
+		opengl_enabled=ON
+	else
+		opengl_enabled=OFF
+	fi
+
+	local mycmakeargs=(
+		-DENABLE_QUARTZ_TARGET=$(usex aqua)
+		-DENABLE_API_TESTS=$(usex test)
+		-DENABLE_GTKDOC=$(usex doc)
+		-DENABLE_GEOLOCATION=$(usex geolocation)
+		$(cmake-utils_use_find_package gles2 OpenGLES2)
+		-DENABLE_GLES2=$(usex gles2)
+		-DENABLE_VIDEO=$(usex gstreamer)
+		-DENABLE_WEB_AUDIO=$(usex gstreamer)
+		-DENABLE_INTROSPECTION=$(usex introspection)
+		-DENABLE_JIT=$(usex jit)
+		-DUSE_LIBNOTIFY=$(usex libnotify)
+		-DUSE_LIBSECRET=$(usex gnome-keyring)
+		-DUSE_WOFF2=ON
+		-DENABLE_PLUGIN_PROCESS_GTK2=$(usex nsplugin)
+		-DENABLE_SPELLCHECK=$(usex spell)
+		-DENABLE_WAYLAND_TARGET=$(usex wayland)
+		-DENABLE_WEBGL=$(usex webgl)
+		$(cmake-utils_use_find_package egl EGL)
+		$(cmake-utils_use_find_package opengl OpenGL)
+		-DENABLE_X11_TARGET=$(usex X)
+		-DENABLE_OPENGL=${opengl_enabled}
+		-DCMAKE_BUILD_TYPE=Release
+		-DPORT=GTK
+		${ruby_interpreter}
+	)
+
+	# Allow it to use GOLD when possible as it has all the magic to
+	# detect when to use it and using gold for this concrete package has
+	# multiple advantages and is also the upstream default, bug #585788
+#	if tc-ld-is-gold ; then
+#		mycmakeargs+=( -DUSE_LD_GOLD=ON )
+#	else
+#		mycmakeargs+=( -DUSE_LD_GOLD=OFF )
+#	fi
+
+	cmake-utils_src_configure
+}
+
+src_compile() {
+	cmake-utils_src_compile
+}
+
+src_test() {
+	# Prevents test failures on PaX systems
+	use jit && pax-mark m $(list-paxables Programs/*[Tt]ests/*) # Programs/unittests/.libs/test*
+
+	cmake-utils_src_test
+}
+
+src_install() {
+	cmake-utils_src_install
+
+	# Prevents crashes on PaX systems, bug #522808
+	use jit && pax-mark m "${ED}usr/libexec/webkit2gtk-4.0/jsc" "${ED}usr/libexec/webkit2gtk-4.0/WebKitWebProcess"
+	pax-mark m "${ED}usr/libexec/webkit2gtk-4.0/WebKitPluginProcess"
+	use nsplugin && pax-mark m "${ED}usr/libexec/webkit2gtk-4.0/WebKitPluginProcess"2
+}

+ 287 - 0
net-libs/webkit-gtk/webkit-gtk-2.22.7.ebuild

@@ -0,0 +1,287 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+CMAKE_MAKEFILE_GENERATOR="ninja"
+PYTHON_COMPAT=( python2_7 )
+USE_RUBY="ruby23 ruby24 ruby25 ruby26"
+
+inherit check-reqs cmake-utils flag-o-matic gnome2 pax-utils python-any-r1 ruby-single toolchain-funcs virtualx
+
+MY_P="webkitgtk-${PV}"
+DESCRIPTION="Open source web browser engine"
+HOMEPAGE="https://www.webkitgtk.org"
+SRC_URI="https://www.webkitgtk.org/releases/${MY_P}.tar.xz"
+
+LICENSE="LGPL-2+ BSD"
+SLOT="4/37" # soname version of libwebkit2gtk-4.0
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~amd64-linux ~x86-linux ~x86-macos"
+
+IUSE="aqua coverage doc +egl +geolocation gles2 gnome-keyring +gstreamer +introspection +jit libnotify nsplugin +opengl spell wayland +webgl +X"
+
+# webgl needs gstreamer, bug #560612
+# gstreamer with opengl/gles2 needs egl
+# non-GL builds are (temporarily?) broken - https://bugs.webkit.org/show_bug.cgi?id=193380
+REQUIRED_USE="
+	^^ ( opengl gles2 )
+	geolocation? ( introspection )
+	gles2? ( egl !opengl )
+	gstreamer? ( opengl? ( egl ) )
+	nsplugin? ( X )
+	webgl? ( gstreamer
+		|| ( gles2 opengl ) )
+	wayland? ( egl )
+	|| ( aqua wayland X )
+"
+
+# Tests fail to link for inexplicable reasons
+# https://bugs.webkit.org/show_bug.cgi?id=148210
+RESTRICT="test"
+
+# Aqua support in gtk3 is untested
+# Dependencies found at Source/cmake/OptionsGTK.cmake
+# Various compile-time optionals for gtk+-3.22.0 - ensure it
+# Missing OpenWebRTC checks and conditionals, but ENABLE_MEDIA_STREAM/ENABLE_WEB_RTC is experimental upstream (PRIVATE OFF)
+# >=gst-plugins-opus-1.14.4-r1 for opusparse (required by MSE)
+RDEPEND="
+	>=x11-libs/cairo-1.10.2:=[X?]
+	>=media-libs/fontconfig-2.8.0:1.0
+	>=media-libs/freetype-2.4.2:2
+	>=dev-libs/libgcrypt-1.6.0:0=
+	>=x11-libs/gtk+-3.22:3[aqua?,introspection?,wayland?,X?]
+	>=media-libs/harfbuzz-1.3.3:=[icu(+)]
+	>=dev-libs/icu-3.8.1-r1:=
+	virtual/jpeg:0=
+	>=net-libs/libsoup-2.48:2.4[introspection?]
+	>=dev-libs/libxml2-2.8.0:2
+	>=media-libs/libpng-1.4:0=
+	dev-db/sqlite:3=
+	sys-libs/zlib:0
+	>=dev-libs/atk-2.8.0
+	media-libs/libwebp:=
+
+	>=dev-libs/glib-2.40:2
+	>=dev-libs/libxslt-1.1.7
+	media-libs/woff2
+	gnome-keyring? ( app-crypt/libsecret )
+	geolocation? ( >=app-misc/geoclue-2.1.5:2.0 )
+	introspection? ( >=dev-libs/gobject-introspection-1.32.0:= )
+	dev-libs/libtasn1:=
+	>=dev-libs/libgcrypt-1.7.0:0=
+	nsplugin? ( >=x11-libs/gtk+-2.24.10:2 )
+	spell? ( >=app-text/enchant-0.22:= )
+	gstreamer? (
+		>=media-libs/gstreamer-1.14:1.0
+		>=media-libs/gst-plugins-base-1.14:1.0[egl?,gles2?,opengl?]
+		>=media-plugins/gst-plugins-opus-1.14.4-r1:1.0
+		>=media-libs/gst-plugins-bad-1.14:1.0 )
+
+	X? (
+		x11-libs/libX11
+		x11-libs/libXcomposite
+		x11-libs/libXdamage
+		x11-libs/libXrender
+		x11-libs/libXt )
+
+	libnotify? ( x11-libs/libnotify )
+	dev-libs/hyphen
+
+	egl? ( media-libs/mesa[egl] )
+	gles2? ( media-libs/mesa[gles2] )
+	opengl? ( virtual/opengl )
+	webgl? (
+		x11-libs/libXcomposite
+		x11-libs/libXdamage )
+"
+
+# paxctl needed for bug #407085
+# Need real bison, not yacc
+DEPEND="${RDEPEND}
+	${PYTHON_DEPS}
+	${RUBY_DEPS}
+	>=app-accessibility/at-spi2-core-2.5.3
+	>=dev-lang/perl-5.10
+	dev-util/glib-utils
+	>=dev-util/gtk-doc-am-1.10
+	>=dev-util/gperf-3.0.1
+	>=sys-devel/bison-2.4.3
+	|| ( >=sys-devel/gcc-6.0 >=sys-devel/clang-3.3 )
+	sys-devel/gettext
+	virtual/pkgconfig
+
+	dev-lang/perl
+	virtual/perl-Data-Dumper
+	virtual/perl-Carp
+	virtual/perl-JSON-PP
+
+	doc? ( >=dev-util/gtk-doc-1.10 )
+	geolocation? ( dev-util/gdbus-codegen )
+	introspection? ( jit? ( sys-apps/paxctl ) )
+"
+#	test? (
+#		dev-python/pygobject:3[python_targets_python2_7]
+#		x11-themes/hicolor-icon-theme
+#		jit? ( sys-apps/paxctl ) )
+
+S="${WORKDIR}/${MY_P}"
+
+CHECKREQS_DISK_BUILD="18G" # and even this might not be enough, bug #417307
+
+pkg_pretend() {
+	if [[ ${MERGE_TYPE} != "binary" ]] ; then
+		if is-flagq "-g*" && ! is-flagq "-g*0" ; then
+			einfo "Checking for sufficient disk space to build ${PN} with debugging CFLAGS"
+			check-reqs_pkg_pretend
+		fi
+
+		if ! test-flag-CXX -std=c++11 ; then
+			die "You need at least GCC 4.9.x or Clang >= 3.3 for C++11-specific compiler flags"
+		fi
+
+		if tc-is-gcc && [[ $(gcc-version) < 4.9 ]] ; then
+			die 'The active compiler needs to be gcc 4.9 (or newer)'
+		fi
+	fi
+
+	if ! use opengl && ! use gles2; then
+		ewarn
+		ewarn "You are disabling OpenGL usage (USE=opengl or USE=gles) completely."
+		ewarn "This is an unsupported configuration meant for very specific embedded"
+		ewarn "use cases, where there truly is no GL possible (and even that use case"
+		ewarn "is very unlikely to come by). If you have GL (even software-only), you"
+		ewarn "really really should be enabling OpenGL!"
+		ewarn
+	fi
+}
+
+pkg_setup() {
+	if [[ ${MERGE_TYPE} != "binary" ]] && is-flagq "-g*" && ! is-flagq "-g*0" ; then
+		check-reqs_pkg_setup
+	fi
+
+	python-any-r1_pkg_setup
+}
+
+src_prepare() {
+	cmake-utils_src_prepare
+	gnome2_src_prepare
+}
+
+src_configure() {
+	# Respect CC, otherwise fails on prefix #395875
+	tc-export CC
+
+	# Arches without JIT support also need this to really disable it in all places
+	use jit || append-cppflags -DENABLE_JIT=0 -DENABLE_YARR_JIT=0 -DENABLE_ASSEMBLER=0
+
+	# It does not compile on alpha without this in LDFLAGS
+	# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=648761
+	use alpha && append-ldflags "-Wl,--no-relax"
+
+	# ld segfaults on ia64 with LDFLAGS --as-needed, bug #555504
+	use ia64 && append-ldflags "-Wl,--no-as-needed"
+
+	# Sigbuses on SPARC with mcpu and co., bug #???
+	use sparc && filter-flags "-mvis"
+
+	# https://bugs.webkit.org/show_bug.cgi?id=42070 , #301634
+	use ppc64 && append-flags "-mminimal-toc"
+
+	# Try to use less memory, bug #469942 (see Fedora .spec for reference)
+	# --no-keep-memory doesn't work on ia64, bug #502492
+	if ! use ia64; then
+		append-ldflags "-Wl,--no-keep-memory"
+	fi
+
+	# We try to use gold when possible for this package
+#	if ! tc-ld-is-gold ; then
+#		append-ldflags "-Wl,--reduce-memory-overheads"
+#	fi
+
+	# Multiple rendering bugs on youtube, github, etc without this, bug #547224
+	append-flags $(test-flags -fno-strict-aliasing)
+
+	# Ruby situation is a bit complicated. See bug 513888
+	local rubyimpl
+	local ruby_interpreter=""
+	for rubyimpl in ${USE_RUBY}; do
+		if has_version "virtual/rubygems[ruby_targets_${rubyimpl}]"; then
+			ruby_interpreter="-DRUBY_EXECUTABLE=$(type -P ${rubyimpl})"
+		fi
+	done
+	# This will rarely occur. Only a couple of corner cases could lead us to
+	# that failure. See bug 513888
+	[[ -z $ruby_interpreter ]] && die "No suitable ruby interpreter found"
+
+	# TODO: Check Web Audio support
+	# should somehow let user select between them?
+	#
+	# FTL_JIT requires llvm
+	#
+	# opengl needs to be explicetly handled, bug #576634
+
+	local opengl_enabled
+	if use opengl || use gles2; then
+		opengl_enabled=ON
+	else
+		opengl_enabled=OFF
+	fi
+
+	local mycmakeargs=(
+		-DENABLE_QUARTZ_TARGET=$(usex aqua)
+		-DENABLE_API_TESTS=$(usex test)
+		-DENABLE_GTKDOC=$(usex doc)
+		-DENABLE_GEOLOCATION=$(usex geolocation)
+		$(cmake-utils_use_find_package gles2 OpenGLES2)
+		-DENABLE_GLES2=$(usex gles2)
+		-DENABLE_VIDEO=$(usex gstreamer)
+		-DENABLE_WEB_AUDIO=$(usex gstreamer)
+		-DENABLE_INTROSPECTION=$(usex introspection)
+		-DENABLE_JIT=$(usex jit)
+		-DUSE_LIBNOTIFY=$(usex libnotify)
+		-DUSE_LIBSECRET=$(usex gnome-keyring)
+		-DUSE_WOFF2=ON
+		-DENABLE_PLUGIN_PROCESS_GTK2=$(usex nsplugin)
+		-DENABLE_SPELLCHECK=$(usex spell)
+		-DENABLE_WAYLAND_TARGET=$(usex wayland)
+		-DENABLE_WEBGL=$(usex webgl)
+		$(cmake-utils_use_find_package egl EGL)
+		$(cmake-utils_use_find_package opengl OpenGL)
+		-DENABLE_X11_TARGET=$(usex X)
+		-DENABLE_OPENGL=${opengl_enabled}
+		-DCMAKE_BUILD_TYPE=Release
+		-DPORT=GTK
+		${ruby_interpreter}
+	)
+
+	# Allow it to use GOLD when possible as it has all the magic to
+	# detect when to use it and using gold for this concrete package has
+	# multiple advantages and is also the upstream default, bug #585788
+#	if tc-ld-is-gold ; then
+#		mycmakeargs+=( -DUSE_LD_GOLD=ON )
+#	else
+#		mycmakeargs+=( -DUSE_LD_GOLD=OFF )
+#	fi
+
+	cmake-utils_src_configure
+}
+
+src_compile() {
+	cmake-utils_src_compile
+}
+
+src_test() {
+	# Prevents test failures on PaX systems
+	use jit && pax-mark m $(list-paxables Programs/*[Tt]ests/*) # Programs/unittests/.libs/test*
+
+	cmake-utils_src_test
+}
+
+src_install() {
+	cmake-utils_src_install
+
+	# Prevents crashes on PaX systems, bug #522808
+	use jit && pax-mark m "${ED}usr/libexec/webkit2gtk-4.0/jsc" "${ED}usr/libexec/webkit2gtk-4.0/WebKitWebProcess"
+	pax-mark m "${ED}usr/libexec/webkit2gtk-4.0/WebKitPluginProcess"
+	use nsplugin && pax-mark m "${ED}usr/libexec/webkit2gtk-4.0/WebKitPluginProcess"2
+}

+ 288 - 0
net-libs/webkit-gtk/webkit-gtk-2.24.0.ebuild

@@ -0,0 +1,288 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+CMAKE_MAKEFILE_GENERATOR="ninja"
+PYTHON_COMPAT=( python2_7 )
+USE_RUBY="ruby23 ruby24 ruby25 ruby26"
+
+inherit check-reqs cmake-utils flag-o-matic gnome2 pax-utils python-any-r1 ruby-single toolchain-funcs virtualx
+
+MY_P="webkitgtk-${PV}"
+DESCRIPTION="Open source web browser engine"
+HOMEPAGE="https://www.webkitgtk.org"
+SRC_URI="https://www.webkitgtk.org/releases/${MY_P}.tar.xz"
+
+LICENSE="LGPL-2+ BSD"
+SLOT="4/37" # soname version of libwebkit2gtk-4.0
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~amd64-linux ~x86-linux ~x86-macos"
+
+IUSE="aqua coverage doc +egl +geolocation gles2 gnome-keyring +gstreamer +introspection +jit jpeg2k libnotify nsplugin +opengl spell wayland +webgl +X"
+
+# webgl needs gstreamer, bug #560612
+# gstreamer with opengl/gles2 needs egl
+REQUIRED_USE="
+	geolocation? ( introspection )
+	gles2? ( egl !opengl )
+	gstreamer? ( opengl? ( egl ) )
+	nsplugin? ( X )
+	webgl? ( gstreamer
+		|| ( gles2 opengl ) )
+	wayland? ( egl )
+	|| ( aqua wayland X )
+"
+
+# Tests fail to link for inexplicable reasons
+# https://bugs.webkit.org/show_bug.cgi?id=148210
+RESTRICT="test"
+
+# Aqua support in gtk3 is untested
+# Dependencies found at Source/cmake/OptionsGTK.cmake
+# Various compile-time optionals for gtk+-3.22.0 - ensure it
+# Missing OpenWebRTC checks and conditionals, but ENABLE_MEDIA_STREAM/ENABLE_WEB_RTC is experimental upstream (PRIVATE OFF)
+# >=gst-plugins-opus-1.14.4-r1 for opusparse (required by MSE)
+RDEPEND="
+	>=x11-libs/cairo-1.16.0:=[X?]
+	>=media-libs/fontconfig-2.13.0:1.0
+	>=media-libs/freetype-2.9.0:2
+	>=dev-libs/libgcrypt-1.6.0:0=
+	>=x11-libs/gtk+-3.22:3[aqua?,introspection?,wayland?,X?]
+	>=media-libs/harfbuzz-1.4.2:=[icu(+)]
+	>=dev-libs/icu-3.8.1-r1:=
+	virtual/jpeg:0=
+	>=net-libs/libsoup-2.48:2.4[introspection?]
+	>=dev-libs/libxml2-2.8.0:2
+	>=media-libs/libpng-1.4:0=
+	dev-db/sqlite:3=
+	sys-libs/zlib:0
+	>=dev-libs/atk-2.8.0
+	media-libs/libwebp:=
+
+	>=dev-libs/glib-2.40:2
+	>=dev-libs/libxslt-1.1.7
+	media-libs/woff2
+	gnome-keyring? ( app-crypt/libsecret )
+	geolocation? ( >=app-misc/geoclue-2.1.5:2.0 )
+	introspection? ( >=dev-libs/gobject-introspection-1.32.0:= )
+	dev-libs/libtasn1:=
+	>=dev-libs/libgcrypt-1.7.0:0=
+	nsplugin? ( >=x11-libs/gtk+-2.24.10:2 )
+	spell? ( >=app-text/enchant-0.22:= )
+	gstreamer? (
+		>=media-libs/gstreamer-1.14:1.0
+		>=media-libs/gst-plugins-base-1.14:1.0[egl?,gles2?,opengl?]
+		>=media-plugins/gst-plugins-opus-1.14.4-r1:1.0
+		>=media-libs/gst-plugins-bad-1.14:1.0 )
+
+	X? (
+		x11-libs/libX11
+		x11-libs/libXcomposite
+		x11-libs/libXdamage
+		x11-libs/libXrender
+		x11-libs/libXt )
+
+	libnotify? ( x11-libs/libnotify )
+	dev-libs/hyphen
+	jpeg2k? ( >=media-libs/openjpeg-2.2.0:2= )
+
+	egl? ( media-libs/mesa[egl] )
+	gles2? ( media-libs/mesa[gles2] )
+	opengl? ( virtual/opengl )
+	webgl? (
+		x11-libs/libXcomposite
+		x11-libs/libXdamage )
+"
+
+# paxctl needed for bug #407085
+# Need real bison, not yacc
+DEPEND="${RDEPEND}
+	${PYTHON_DEPS}
+	${RUBY_DEPS}
+	>=app-accessibility/at-spi2-core-2.5.3
+	>=dev-lang/perl-5.10
+	dev-util/glib-utils
+	>=dev-util/gtk-doc-am-1.10
+	>=dev-util/gperf-3.0.1
+	>=sys-devel/bison-2.4.3
+	|| ( >=sys-devel/gcc-6.0 >=sys-devel/clang-3.3 )
+	sys-devel/gettext
+	virtual/pkgconfig
+
+	dev-lang/perl
+	virtual/perl-Data-Dumper
+	virtual/perl-Carp
+	virtual/perl-JSON-PP
+
+	doc? ( >=dev-util/gtk-doc-1.10 )
+	geolocation? ( dev-util/gdbus-codegen )
+	introspection? ( jit? ( sys-apps/paxctl ) )
+"
+#	test? (
+#		dev-python/pygobject:3[python_targets_python2_7]
+#		x11-themes/hicolor-icon-theme
+#		jit? ( sys-apps/paxctl ) )
+
+S="${WORKDIR}/${MY_P}"
+
+CHECKREQS_DISK_BUILD="18G" # and even this might not be enough, bug #417307
+
+pkg_pretend() {
+	if [[ ${MERGE_TYPE} != "binary" ]] ; then
+		if is-flagq "-g*" && ! is-flagq "-g*0" ; then
+			einfo "Checking for sufficient disk space to build ${PN} with debugging CFLAGS"
+			check-reqs_pkg_pretend
+		fi
+
+		if ! test-flag-CXX -std=c++11 ; then
+			die "You need at least GCC 4.9.x or Clang >= 3.3 for C++11-specific compiler flags&