summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Xu (Hello71) <alex_y_xu@yahoo.ca>2020-07-28 09:41:37 -0400
committerAlex Xu (Hello71) <alex_y_xu@yahoo.ca>2020-07-28 09:41:37 -0400
commitd241ee7943383a8ad8aacd70d5e301a6acf22c38 (patch)
tree5aaddca6d5744a9e3565da0846cbda2e1a34be3b
downloadgentoo-overlay-d241ee7943383a8ad8aacd70d5e301a6acf22c38.tar.xz
gentoo-overlay-d241ee7943383a8ad8aacd70d5e301a6acf22c38.zip
Initial commit
-rw-r--r--app-emulation/dxvk-bin/Manifest1
-rw-r--r--app-emulation/dxvk-bin/dxvk-bin-1.7.ebuild39
-rw-r--r--app-emulation/dxvk-bin/metadata.xml8
-rw-r--r--app-text/pdfsizeopt/metadata.xml8
-rw-r--r--app-text/pdfsizeopt/pdfsizeopt-9999.ebuild36
-rw-r--r--dev-java/freemarker-bin/Manifest1
-rw-r--r--dev-java/freemarker-bin/freemarker-bin-2.3.30.ebuild22
-rw-r--r--dev-java/freemarker-bin/metadata.xml8
-rw-r--r--dev-java/java-sdk-docs/Manifest1
-rw-r--r--dev-java/java-sdk-docs/java-sdk-docs-14.0.2.ebuild37
-rw-r--r--dev-java/java-sdk-docs/metadata.xml5
-rw-r--r--dev-java/openj9-openjdk-bin/Manifest8
-rw-r--r--dev-java/openj9-openjdk-bin/files/openjdk-bin-14.env.sh16
-rw-r--r--dev-java/openj9-openjdk-bin/metadata.xml16
-rw-r--r--dev-java/openj9-openjdk-bin/openj9-openjdk-bin-11.0.8.10.0.21.0.ebuild119
-rw-r--r--dev-java/openj9-openjdk-bin/openj9-openjdk-bin-14.0.2.12.0.21.0.ebuild119
-rw-r--r--dev-java/openj9-openjdk-jre-bin/Manifest8
-rw-r--r--dev-java/openj9-openjdk-jre-bin/files/openjdk-jre-bin-11.env.sh16
-rw-r--r--dev-java/openj9-openjdk-jre-bin/files/openjdk-jre-bin-8.env.sh16
-rw-r--r--dev-java/openj9-openjdk-jre-bin/metadata.xml15
-rw-r--r--dev-java/openj9-openjdk-jre-bin/openj9-openjdk-jre-bin-11.0.8.10.0.21.0.ebuild107
-rw-r--r--dev-java/openj9-openjdk-jre-bin/openj9-openjdk-jre-bin-14.0.2.12.0.21.0.ebuild107
-rw-r--r--dev-java/openj9-openjdk/Manifest4
-rw-r--r--dev-java/openj9-openjdk/files/omr-fam.patch70
-rw-r--r--dev-java/openj9-openjdk/files/omr-omrstr-iconv-failure-overflow.patch13
-rw-r--r--dev-java/openj9-openjdk/files/openj9-j9utf8-fam.patch26
-rw-r--r--dev-java/openj9-openjdk/files/openj9-make-jvmti-test-variables-static.patch68
-rw-r--r--dev-java/openj9-openjdk/files/openj9-subscriptionID.patch36
-rw-r--r--dev-java/openj9-openjdk/files/openjdk-14.env.sh16
-rw-r--r--dev-java/openj9-openjdk/files/openjdk-8238380-childproc-fcommon.patch48
-rw-r--r--dev-java/openj9-openjdk/metadata.xml21
-rw-r--r--dev-java/openj9-openjdk/openj9-openjdk-11.0.21.0.ebuild318
-rw-r--r--dev-java/openj9-openjdk/openj9-openjdk-14.0.21.0.ebuild318
-rw-r--r--dev-java/openjdk-bin/Manifest4
-rw-r--r--dev-java/openjdk-bin/files/openjdk-bin-14.env.sh16
-rw-r--r--dev-java/openjdk-bin/metadata.xml15
-rw-r--r--dev-java/openjdk-bin/openjdk-bin-14.0.2_p12.ebuild115
-rw-r--r--dev-java/openjdk-jre-bin/Manifest1
-rw-r--r--dev-java/openjdk-jre-bin/files/openjdk-jre-bin-14.env.sh16
-rw-r--r--dev-java/openjdk-jre-bin/metadata.xml22
-rw-r--r--dev-java/openjdk-jre-bin/openjdk-jre-bin-14.0.2_p12.ebuild100
-rw-r--r--dev-java/openjdk/Manifest1
-rw-r--r--dev-java/openjdk/files/openjdk-14.env.sh16
-rw-r--r--dev-java/openjdk/metadata.xml16
-rw-r--r--dev-java/openjdk/openjdk-14.0.2_p12.ebuild276
-rw-r--r--dev-libs/aml/aml-9999.ebuild32
-rw-r--r--dev-libs/aml/metadata.xml8
-rw-r--r--dev-libs/libdwarf/Manifest1
-rw-r--r--dev-libs/libdwarf/libdwarf-20200719.ebuild20
-rw-r--r--dev-libs/libdwarf/metadata.xml8
-rw-r--r--dev-util/android-udev-rules/Manifest1
-rw-r--r--dev-util/android-udev-rules/android-udev-rules-20200613.ebuild32
-rw-r--r--dev-util/android-udev-rules/metadata.xml8
-rw-r--r--dev-util/pmbootstrap/Manifest1
-rw-r--r--dev-util/pmbootstrap/metadata.xml8
-rw-r--r--dev-util/pmbootstrap/pmbootstrap-1.20.0.ebuild19
-rw-r--r--games-rpg/runescape-launcher/Manifest1
-rw-r--r--games-rpg/runescape-launcher/metadata.xml8
-rw-r--r--games-rpg/runescape-launcher/runescape-launcher-2.2.7.ebuild37
-rw-r--r--gui-apps/waypipe/Manifest1
-rw-r--r--gui-apps/waypipe/metadata.xml12
-rw-r--r--gui-apps/waypipe/waypipe-0.6.1.ebuild50
-rw-r--r--gui-apps/wshowkeys/metadata.xml8
-rw-r--r--gui-apps/wshowkeys/wshowkeys-9999.ebuild32
-rw-r--r--licenses/RuneScape-EULA405
-rw-r--r--licenses/oracle-java-documentation-1455
-rw-r--r--mail-client/astroid/astroid-9999.ebuild91
-rw-r--r--mail-client/astroid/metadata.xml23
-rw-r--r--metadata/layout.conf3
-rw-r--r--net-dns/libidn-compat/Manifest2
-rw-r--r--net-dns/libidn-compat/files/libidn-1.33-parallel-make.patch115
-rw-r--r--net-dns/libidn-compat/libidn-compat-1.33.ebuild61
-rw-r--r--net-dns/libidn-compat/metadata.xml8
-rw-r--r--net-libs/neatvnc/metadata.xml8
-rw-r--r--net-libs/neatvnc/neatvnc-9999.ebuild45
-rw-r--r--net-misc/gallery-dl/Manifest1
-rw-r--r--net-misc/gallery-dl/gallery-dl-1.14.0.ebuild35
-rw-r--r--net-misc/gallery-dl/metadata.xml8
-rw-r--r--net-misc/wayvnc/metadata.xml8
-rw-r--r--net-misc/wayvnc/wayvnc-9999.ebuild31
-rw-r--r--profiles/package.use.mask12
-rw-r--r--profiles/repo_name1
-rw-r--r--sys-apps/xdg-desktop-portal-wlr/Manifest1
-rw-r--r--sys-apps/xdg-desktop-portal-wlr/metadata.xml8
-rw-r--r--sys-apps/xdg-desktop-portal-wlr/xdg-desktop-portal-wlr-0.1.0.ebuild40
-rw-r--r--virtual/jdk/jdk-11-r1.ebuild14
-rw-r--r--virtual/jdk/jdk-14.ebuild14
-rw-r--r--virtual/jdk/metadata.xml4
-rw-r--r--virtual/jre/jre-11-r2.ebuild14
-rw-r--r--virtual/jre/jre-14.ebuild14
-rw-r--r--virtual/jre/metadata.xml4
-rw-r--r--x11-apps/sx/metadata.xml8
-rw-r--r--x11-apps/sx/sx-9999.ebuild22
93 files changed, 3591 insertions, 0 deletions
diff --git a/app-emulation/dxvk-bin/Manifest b/app-emulation/dxvk-bin/Manifest
new file mode 100644
index 0000000..d6a4439
--- /dev/null
+++ b/app-emulation/dxvk-bin/Manifest
@@ -0,0 +1 @@
+DIST dxvk-bin-1.7.tar.gz 7734725 BLAKE2B f608a4f228f62b3240a796c2a7fcf514208a1bb421a912405374b4d3a36b17e4172e61bee0722b072f606861325ae988f5ef660ee987c34c9319c1fa1ccf25fe SHA512 c0456c5106ef4a58e7ee1e093557a5769a56430a3907381bccccbaccf17b0af0791b052c41deb2bc7505337d56ef33ba0cfbbfdbb579263ff63ddbf4fbaf1eec
diff --git a/app-emulation/dxvk-bin/dxvk-bin-1.7.ebuild b/app-emulation/dxvk-bin/dxvk-bin-1.7.ebuild
new file mode 100644
index 0000000..bc0b42a
--- /dev/null
+++ b/app-emulation/dxvk-bin/dxvk-bin-1.7.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Vulkan-based D3D11 and D3D10 implementation for Linux / Wine"
+HOMEPAGE="https://github.com/doitsujin/dxvk"
+SRC_URI="https://github.com/doitsujin/dxvk/releases/download/v${PV}/dxvk-${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="ZLIB"
+SLOT="0"
+# x86 is fine except for the stupid vulkan package.use.mask...
+KEYWORDS="-* ~amd64"
+IUSE="+abi_x86_32 +abi_x86_64"
+
+RDEPEND="
+ !app-emulation/dxvk
+ || (
+ app-emulation/wine-vanilla[abi_x86_32?,abi_x86_64?,vulkan]
+ app-emulation/wine-staging[abi_x86_32?,abi_x86_64?,vulkan]
+ )
+"
+
+REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )"
+
+S=${WORKDIR}/dxvk-${PV}
+
+src_compile() {
+ sed -i -e 's#"x32"#"../'$(ABI=x86 get_libdir)/dxvk'"#' setup_dxvk.sh || die
+ sed -i -e 's#"x64"#"../'$(ABI=amd64 get_libdir)/dxvk'"#' setup_dxvk.sh || die
+}
+
+src_install() {
+ dobin setup_dxvk.sh
+ dodir usr/$(ABI=x86 get_libdir)
+ dodir usr/$(ABI=amd64 get_libdir)
+ mv x32 "${ED}"/usr/$(ABI=x86 get_libdir)/dxvk || die
+ mv x64 "${ED}"/usr/$(ABI=amd64 get_libdir)/dxvk || die
+}
diff --git a/app-emulation/dxvk-bin/metadata.xml b/app-emulation/dxvk-bin/metadata.xml
new file mode 100644
index 0000000..004555a
--- /dev/null
+++ b/app-emulation/dxvk-bin/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>alex_y_xu@yahoo.ca</email>
+ <name>Alex Xu (Hello71)</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/app-text/pdfsizeopt/metadata.xml b/app-text/pdfsizeopt/metadata.xml
new file mode 100644
index 0000000..004555a
--- /dev/null
+++ b/app-text/pdfsizeopt/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>alex_y_xu@yahoo.ca</email>
+ <name>Alex Xu (Hello71)</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/app-text/pdfsizeopt/pdfsizeopt-9999.ebuild b/app-text/pdfsizeopt/pdfsizeopt-9999.ebuild
new file mode 100644
index 0000000..0d77669
--- /dev/null
+++ b/app-text/pdfsizeopt/pdfsizeopt-9999.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python2_7 )
+inherit git-r3 python-single-r1
+
+DESCRIPTION="PDF file size optimizer"
+HOMEPAGE="https://github.com/pts/pdfsizeopt"
+EGIT_REPO_URI="https://github.com/pts/pdfsizeopt.git"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS=""
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+ app-text/ghostscript-gpl
+ media-gfx/tif22pnm
+ media-gfx/sam2p
+"
+BDEPEND="${PYTHON_DEPS}"
+
+src_prepare() {
+ default
+ python_fix_shebang mksingle.py
+}
+
+src_compile() {
+ ./mksingle.py
+}
+
+src_install() {
+ newbin pdfsizeopt.single pdfsizeopt
+}
diff --git a/dev-java/freemarker-bin/Manifest b/dev-java/freemarker-bin/Manifest
new file mode 100644
index 0000000..0677175
--- /dev/null
+++ b/dev-java/freemarker-bin/Manifest
@@ -0,0 +1 @@
+DIST apache-freemarker-2.3.30-bin.tar.gz 3168455 BLAKE2B 7502792cbbdf9bb65334265a6424927440f448b35d53611cb0d2d47435343cdd330a881ac8101c4f0f8b8b60b01eef5c71b1110002ed342a2ea581c41b886015 SHA512 81d3aae24f61e6022e756d7c6d94b04e362469e1a119a6cbaaff95de25f81c089450856d90aa6db646717c1236b8dbf7725b652803fa00c86b9aab93ba298fea
diff --git a/dev-java/freemarker-bin/freemarker-bin-2.3.30.ebuild b/dev-java/freemarker-bin/freemarker-bin-2.3.30.ebuild
new file mode 100644
index 0000000..f751563
--- /dev/null
+++ b/dev-java/freemarker-bin/freemarker-bin-2.3.30.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit java-pkg-2
+
+DESCRIPTION="A Java tool to generate text output based on templates (binary package)"
+HOMEPAGE="https://freemarker.apache.org/"
+SRC_URI="https://downloads.apache.org/freemarker/engine/${PV}/binaries/apache-freemarker-${PV}-bin.tar.gz"
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-1.7"
+
+S="${WORKDIR}/apache-freemarker-${PV}-bin"
+
+src_install() {
+ java-pkg_dojar freemarker.jar
+}
diff --git a/dev-java/freemarker-bin/metadata.xml b/dev-java/freemarker-bin/metadata.xml
new file mode 100644
index 0000000..004555a
--- /dev/null
+++ b/dev-java/freemarker-bin/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>alex_y_xu@yahoo.ca</email>
+ <name>Alex Xu (Hello71)</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-java/java-sdk-docs/Manifest b/dev-java/java-sdk-docs/Manifest
new file mode 100644
index 0000000..5674068
--- /dev/null
+++ b/dev-java/java-sdk-docs/Manifest
@@ -0,0 +1 @@
+DIST jdk-14.0.2_doc-all.zip 52312117 BLAKE2B 50efe51e41f4d4d1526c0de5ca5daea8e0588c08983ccb8194cfbf1b57333b40b491dccd22af372a0957cab4c9aae818242228a07a8973bd9a4e6f5aa15027b8 SHA512 8452faa7d6722de3708da8b1bbad984e65b2ead3fb71926cdbfec86f98f412d0fd11662c5061745c997f9f9a5b5d57a9f682be0be43500e8507cc172fdcf34c3
diff --git a/dev-java/java-sdk-docs/java-sdk-docs-14.0.2.ebuild b/dev-java/java-sdk-docs/java-sdk-docs-14.0.2.ebuild
new file mode 100644
index 0000000..42dae5e
--- /dev/null
+++ b/dev-java/java-sdk-docs/java-sdk-docs-14.0.2.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DOWNLOAD_URL="https://www.oracle.com/java/technologies/javase-jdk${SLOT}-doc-downloads.html"
+
+SLOT="${PV%%.*}"
+DESCRIPTION="Oracle's documentation bundle (including API) for Java SE"
+HOMEPAGE="https://docs.oracle.com/javase/14"
+SRC_URI="jdk-${PV}_doc-all.zip"
+LICENSE="oracle-java-documentation-${SLOT}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+RESTRICT="fetch"
+
+DEPEND="app-arch/unzip"
+
+S="${WORKDIR}/docs"
+
+pkg_nofetch() {
+ einfo "Please download ${SRC_URI} from"
+ einfo "${DOWNLOAD_URL}"
+ einfo "by agreeing to the license and place it in your distfiles directory."
+ einfo ""
+ einfo "If you find the file on the download page replaced with a higher"
+ einfo "version, please report it in bug #67266 (link below)."
+ einfo ""
+ einfo "If emerge fails because of a checksum error, it is possible that"
+ einfo "the upstream release changed without renaming. Try downloading the file"
+ einfo "again (or a newer revision if available). Otherwise report this to"
+ einfo "https://bugs.gentoo.org/67266 and we will make a new revision."
+}
+
+src_install() {
+ insinto /usr/share/doc/${PN}-${SLOT}/html
+ doins -r index.html */
+}
diff --git a/dev-java/java-sdk-docs/metadata.xml b/dev-java/java-sdk-docs/metadata.xml
new file mode 100644
index 0000000..7a38bb9
--- /dev/null
+++ b/dev-java/java-sdk-docs/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+</pkgmetadata>
diff --git a/dev-java/openj9-openjdk-bin/Manifest b/dev-java/openj9-openjdk-bin/Manifest
new file mode 100644
index 0000000..826a961
--- /dev/null
+++ b/dev-java/openj9-openjdk-bin/Manifest
@@ -0,0 +1,8 @@
+DIST OpenJDK11U-jdk_ppc64le_linux_openj9_11.0.8_10_openj9-0.21.0.tar.gz 196415558 BLAKE2B 4a296081c74ba95c4242d51e5cafb15752acb4616204533c9ca9d958187527d8d7914e4a9839323d0ad2b778def736e5d370ce50fcd6d876a18e0fb5549c28e2 SHA512 882eb3928d8aab29c32a4e39cfc1e20669d11611b2158ac38dc149ef3da4e18c551444db0d8b903897903623869e90da72e78aeb6d2c1fa6d060a4a1694f78f7
+DIST OpenJDK11U-jdk_ppc64le_linux_openj9_linuxXL_11.0.8_10_openj9-0.21.0.tar.gz 196402945 BLAKE2B 18757be55519a8be40c2a2278761cdf5343049dda6c02f3b493a55042978d048061e109dccb40ebb1eea51fe65a6aa0c32c6b786a4a18c92c938d1cc36a21cd9 SHA512 ac1c65e011e1528dac2d94839fe2a7cc58b341800950e1d7767c585f21106d82e5a7ad6389a167ba0b95ff2e00d6d4470186d8d8339eb01b61952ad52dec8bc0
+DIST OpenJDK11U-jdk_x64_linux_openj9_11.0.8_10_openj9-0.21.0.tar.gz 195566437 BLAKE2B 2d65e5cdf1b8526d4d065c2240814813234d9571dfdb1ca8f438c8f5cf120fda2027ca6cf5470117931aedd5b4758d1663be937dc148cc4b70bb41ecff2692f9 SHA512 74b698cb398e6dbc050b9faa878b496e559ae92bc2a54e8889c37f70bfa05ebd2e9407285fa1c21448a8f3a8a26f01210856ff0bf77c2f33fca29e9115caf52d
+DIST OpenJDK11U-jdk_x64_linux_openj9_linuxXL_11.0.8_10_openj9-0.21.0.tar.gz 195553141 BLAKE2B 2dcf822d2c9c8d95dce76e3933a538535662051cdeb3c71fdc2a0dc2c59bc14c8ca0cda0f23bd65a14ae1dcf32e93804a4ae07533f4b5f0a21b3903a32e21dbf SHA512 4e4a093bcffeb66c455cec3490eb6e6766a7b174505428fd9c23313d16f22f37d6cf22c186708c3e6c1fcb5aea8772079e392c1556ead4b496774cad995be3c3
+DIST OpenJDK14U-jdk_ppc64le_linux_openj9_14.0.2_12_openj9-0.21.0.tar.gz 203990535 BLAKE2B 0bc831e499bab0f10e55cb05e184a7a30c308146e58b20be5678418b45298ea361ffc3299cc2d03f68af9625e9e004dcb6a0e044e325df361a103eea65324ba5 SHA512 20f28ab961bab0b30f2c7041c7454ee257351e8ebd983d46615a38f8f5ea1c21340f081e2264ddf6ee151b1f15d73fc63caa459e06ed42720fd58f59613c755b
+DIST OpenJDK14U-jdk_ppc64le_linux_openj9_linuxXL_14.0.2_12_openj9-0.21.0.tar.gz 202921752 BLAKE2B 09da234abbca3f18ca005c8237a7f88735e99ad1f275aee20ce7c100f54c02dad5aa214f895c27d9d330dc2305775691ab91ce8e0ce4e0b5dbb9150f89747c1f SHA512 19b8587eaef417d3a12dd04c6c2b0cb500a4561912cbeb6bea30e38ea55f1b43d39a6f1f8be4bb5532659615e2d5c22107ba1090c1d2f36c69371d0fbacea210
+DIST OpenJDK14U-jdk_x64_linux_openj9_14.0.2_12_openj9-0.21.0.tar.gz 202955761 BLAKE2B 662f1cd4a6a4e1196a38825f57b29badcfc14b7598a9416c2ee755d2d39faaa243b7e74f0882de72a7dc9d542946038ece587de657694df9ea3e258a74e7a2c1 SHA512 d551304f0e1f153dde05ae6d1dd695dffa4e0c8f2b5776db14c143a2f1f1a8248552de5b7d2ca31dc9044b0dba0871dd08642c9311961d574ba233400c2eb30c
+DIST OpenJDK14U-jdk_x64_linux_openj9_linuxXL_14.0.2_12_openj9-0.21.0.tar.gz 202942292 BLAKE2B 353f61065a5e8842932637ed9ecc743e18ff8b792da8802dae6d6defa23b18780c62c14f8b12786bf0b2073c81a71022a9a40c09981b0e9eaaadcb4281f53110 SHA512 875afe53de8c6413b5b0d6fb2d81be73f6212daa4c94e6b042b886a1702e4619ed1360f00e6db9090c4db41f8f152f851160b81aa187afdba26b524e70debfe2
diff --git a/dev-java/openj9-openjdk-bin/files/openjdk-bin-14.env.sh b/dev-java/openj9-openjdk-bin/files/openjdk-bin-14.env.sh
new file mode 100644
index 0000000..9e9c5ec
--- /dev/null
+++ b/dev-java/openj9-openjdk-bin/files/openjdk-bin-14.env.sh
@@ -0,0 +1,16 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+VERSION="AdoptOpenJDK ${PV}"
+JAVA_HOME="${EPREFIX}/opt/${P}"
+JDK_HOME="${EPREFIX}/opt/${P}"
+JAVAC="\${JAVA_HOME}/bin/javac"
+PATH="\${JAVA_HOME}/bin"
+ROOTPATH="\${JAVA_HOME}/bin"
+LDPATH="\${JAVA_HOME}/lib/:\${JAVA_HOME}/lib/server/"
+MANPATH=""
+PROVIDES_TYPE="JDK JRE"
+PROVIDES_VERSION="${SLOT}"
+BOOTCLASSPATH=""
+GENERATION="2"
+ENV_VARS="JAVA_HOME JDK_HOME JAVAC PATH ROOTPATH LDPATH MANPATH"
diff --git a/dev-java/openj9-openjdk-bin/metadata.xml b/dev-java/openj9-openjdk-bin/metadata.xml
new file mode 100644
index 0000000..4b9f7e6
--- /dev/null
+++ b/dev-java/openj9-openjdk-bin/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <longdescription>
+ Java™ is the world's leading programming language and platform.
+ The code for Java is open source and available at OpenJDK™.
+ AdoptOpenJDK provides prebuilt OpenJDK binaries from a fully open source set of build scripts and infrastructure.
+ </longdescription>
+ <use>
+ <flag name="headless-awt">Don't install the X backend for AWT, needed by some GUIs (used to be X flag)</flag>
+ <flag name="gentoo-vm">Allow this JDK to be recognised by Gentoo (package manager, eselect, java-config, EXPERIMENTAL!)</flag>
+ <flag name="large-heap">Support Java heap sizes greater than 57Gb</flag>
+ <flag name="source">Install JVM sources</flag>
+ <flag name="webstart">Provide javaws command through symlink to icedtea-web</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-java/openj9-openjdk-bin/openj9-openjdk-bin-11.0.8.10.0.21.0.ebuild b/dev-java/openj9-openjdk-bin/openj9-openjdk-bin-11.0.8.10.0.21.0.ebuild
new file mode 100644
index 0000000..81410d2
--- /dev/null
+++ b/dev-java/openj9-openjdk-bin/openj9-openjdk-bin-11.0.8.10.0.21.0.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit java-vm-2 toolchain-funcs versionator
+
+abi_uri() {
+ echo "${2-$1}? (
+ large-heap? (
+ https://github.com/AdoptOpenJDK/openjdk${SLOT}-binaries/releases/download/jdk-${DL_PV}/OpenJDK${SLOT}U-jdk_${1}_linux_openj9_linuxXL_${DL_PV//+/_}.tar.gz
+ )
+ !large-heap? (
+ https://github.com/AdoptOpenJDK/openjdk${SLOT}-binaries/releases/download/jdk-${DL_PV}/OpenJDK${SLOT}U-jdk_${1}_linux_openj9_${DL_PV//+/_}.tar.gz
+ )
+ )"
+}
+
+JDK_PV=$(get_version_component_range 1-3)+$(get_version_component_range 4)
+DL_PV=${JDK_PV}_openj9-$(get_version_component_range 5-7)
+SLOT=$(get_major_version)
+
+SRC_URI="
+ $(abi_uri ppc64le ppc64)
+ $(abi_uri x64 amd64)
+"
+
+DESCRIPTION="Prebuilt Java JDK binaries provided by AdoptOpenJDK"
+HOMEPAGE="https://adoptopenjdk.net"
+LICENSE="GPL-2-with-classpath-exception"
+KEYWORDS="~amd64 ~ppc64"
+IUSE="alsa cups doc +gentoo-vm headless-awt large-heap nsplugin selinux source webstart"
+
+RDEPEND="
+ media-libs/fontconfig:1.0
+ media-libs/freetype:2
+ >=sys-apps/baselayout-java-0.1.0-r1
+ >=sys-libs/glibc-2.2.5:*
+ sys-libs/zlib
+ alsa? ( media-libs/alsa-lib )
+ cups? ( net-print/cups )
+ doc? ( dev-java/java-sdk-docs:${SLOT} )
+ selinux? ( sec-policy/selinux-java )
+ !headless-awt? (
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrender
+ x11-libs/libXtst
+ )"
+
+PDEPEND="webstart? ( >=dev-java/icedtea-web-1.6.1:0 )
+ nsplugin? ( >=dev-java/icedtea-web-1.6.1:0[nsplugin] )"
+
+RESTRICT="preserve-libs splitdebug"
+QA_PREBUILT="*"
+
+S="${WORKDIR}/jdk-${JDK_PV}"
+
+pkg_pretend() {
+ if [[ "$(tc-is-softfloat)" != "no" ]]; then
+ die "These binaries require a hardfloat system."
+ fi
+}
+
+src_install() {
+ local dest="/opt/${P}"
+ local ddest="${ED%/}/${dest#/}"
+
+ # Not sure why they bundle this as it's commonly available and they
+ # only do so on x86_64. It's needed by libfontmanager.so. IcedTea
+ # also has an explicit dependency while Oracle seemingly dlopens it.
+ rm -vf lib/libfreetype.so || die
+
+ # Oracle and IcedTea have libjsoundalsa.so depending on
+ # libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird.
+ if ! use alsa ; then
+ rm -v lib/libjsound.* || die
+ fi
+
+ if use headless-awt ; then
+ rm -v lib/lib*{[jx]awt,splashscreen}* || die
+ fi
+
+ if ! use source ; then
+ rm -v lib/src.zip || die
+ fi
+
+ rm -v lib/security/cacerts || die
+ dosym ../../../../etc/ssl/certs/java/cacerts \
+ "${dest}"/lib/security/cacerts
+
+ dodir "${dest}"
+ cp -pPR * "${ddest}" || die
+
+ # provide stable symlink
+ dosym "${P}" "/opt/${PN}-${SLOT}"
+
+ use gentoo-vm && java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh
+ java-vm_set-pax-markings "${ddest}"
+ java-vm_revdep-mask
+ java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
+}
+
+pkg_postinst() {
+ java-vm-2_pkg_postinst
+
+ if use gentoo-vm ; then
+ ewarn "WARNING! You have enabled the gentoo-vm USE flag, making this JDK"
+ ewarn "recognised by the system. This will almost certainly break"
+ ewarn "many java ebuilds as they are not ready for openjdk-11"
+ else
+ ewarn "The experimental gentoo-vm USE flag has not been enabled so this JDK"
+ ewarn "will not be recognised by the system. For example, simply calling"
+ ewarn "\"java\" will launch a different JVM. This is necessary until Gentoo"
+ ewarn "fully supports Java 11. This JDK must therefore be invoked using its"
+ ewarn "absolute location under ${EPREFIX}/opt/${P}."
+ fi
+}
diff --git a/dev-java/openj9-openjdk-bin/openj9-openjdk-bin-14.0.2.12.0.21.0.ebuild b/dev-java/openj9-openjdk-bin/openj9-openjdk-bin-14.0.2.12.0.21.0.ebuild
new file mode 100644
index 0000000..81410d2
--- /dev/null
+++ b/dev-java/openj9-openjdk-bin/openj9-openjdk-bin-14.0.2.12.0.21.0.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit java-vm-2 toolchain-funcs versionator
+
+abi_uri() {
+ echo "${2-$1}? (
+ large-heap? (
+ https://github.com/AdoptOpenJDK/openjdk${SLOT}-binaries/releases/download/jdk-${DL_PV}/OpenJDK${SLOT}U-jdk_${1}_linux_openj9_linuxXL_${DL_PV//+/_}.tar.gz
+ )
+ !large-heap? (
+ https://github.com/AdoptOpenJDK/openjdk${SLOT}-binaries/releases/download/jdk-${DL_PV}/OpenJDK${SLOT}U-jdk_${1}_linux_openj9_${DL_PV//+/_}.tar.gz
+ )
+ )"
+}
+
+JDK_PV=$(get_version_component_range 1-3)+$(get_version_component_range 4)
+DL_PV=${JDK_PV}_openj9-$(get_version_component_range 5-7)
+SLOT=$(get_major_version)
+
+SRC_URI="
+ $(abi_uri ppc64le ppc64)
+ $(abi_uri x64 amd64)
+"
+
+DESCRIPTION="Prebuilt Java JDK binaries provided by AdoptOpenJDK"
+HOMEPAGE="https://adoptopenjdk.net"
+LICENSE="GPL-2-with-classpath-exception"
+KEYWORDS="~amd64 ~ppc64"
+IUSE="alsa cups doc +gentoo-vm headless-awt large-heap nsplugin selinux source webstart"
+
+RDEPEND="
+ media-libs/fontconfig:1.0
+ media-libs/freetype:2
+ >=sys-apps/baselayout-java-0.1.0-r1
+ >=sys-libs/glibc-2.2.5:*
+ sys-libs/zlib
+ alsa? ( media-libs/alsa-lib )
+ cups? ( net-print/cups )
+ doc? ( dev-java/java-sdk-docs:${SLOT} )
+ selinux? ( sec-policy/selinux-java )
+ !headless-awt? (
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrender
+ x11-libs/libXtst
+ )"
+
+PDEPEND="webstart? ( >=dev-java/icedtea-web-1.6.1:0 )
+ nsplugin? ( >=dev-java/icedtea-web-1.6.1:0[nsplugin] )"
+
+RESTRICT="preserve-libs splitdebug"
+QA_PREBUILT="*"
+
+S="${WORKDIR}/jdk-${JDK_PV}"
+
+pkg_pretend() {
+ if [[ "$(tc-is-softfloat)" != "no" ]]; then
+ die "These binaries require a hardfloat system."
+ fi
+}
+
+src_install() {
+ local dest="/opt/${P}"
+ local ddest="${ED%/}/${dest#/}"
+
+ # Not sure why they bundle this as it's commonly available and they
+ # only do so on x86_64. It's needed by libfontmanager.so. IcedTea
+ # also has an explicit dependency while Oracle seemingly dlopens it.
+ rm -vf lib/libfreetype.so || die
+
+ # Oracle and IcedTea have libjsoundalsa.so depending on
+ # libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird.
+ if ! use alsa ; then
+ rm -v lib/libjsound.* || die
+ fi
+
+ if use headless-awt ; then
+ rm -v lib/lib*{[jx]awt,splashscreen}* || die
+ fi
+
+ if ! use source ; then
+ rm -v lib/src.zip || die
+ fi
+
+ rm -v lib/security/cacerts || die
+ dosym ../../../../etc/ssl/certs/java/cacerts \
+ "${dest}"/lib/security/cacerts
+
+ dodir "${dest}"
+ cp -pPR * "${ddest}" || die
+
+ # provide stable symlink
+ dosym "${P}" "/opt/${PN}-${SLOT}"
+
+ use gentoo-vm && java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh
+ java-vm_set-pax-markings "${ddest}"
+ java-vm_revdep-mask
+ java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
+}
+
+pkg_postinst() {
+ java-vm-2_pkg_postinst
+
+ if use gentoo-vm ; then
+ ewarn "WARNING! You have enabled the gentoo-vm USE flag, making this JDK"
+ ewarn "recognised by the system. This will almost certainly break"
+ ewarn "many java ebuilds as they are not ready for openjdk-11"
+ else
+ ewarn "The experimental gentoo-vm USE flag has not been enabled so this JDK"
+ ewarn "will not be recognised by the system. For example, simply calling"
+ ewarn "\"java\" will launch a different JVM. This is necessary until Gentoo"
+ ewarn "fully supports Java 11. This JDK must therefore be invoked using its"
+ ewarn "absolute location under ${EPREFIX}/opt/${P}."
+ fi
+}
diff --git a/dev-java/openj9-openjdk-jre-bin/Manifest b/dev-java/openj9-openjdk-jre-bin/Manifest
new file mode 100644
index 0000000..1717b02
--- /dev/null
+++ b/dev-java/openj9-openjdk-jre-bin/Manifest
@@ -0,0 +1,8 @@
+DIST OpenJDK11U-jre_ppc64le_linux_openj9_11.0.8_10_openj9-0.21.0.tar.gz 42189120 BLAKE2B de720db5ce4d40d5e9cf71a31f8979d190b72cf5510ff31fc755e24702174ccb59988b8e746b3ccb11cfdbc67039aa179f55a9864f139927e250b9edd8917267 SHA512 89e301db5d185d48614a4135349ee92e647e566bf222dd54ca3479226be645d29354d5ccbed1e9ea3b7ef73ba64b24b650fe814e20881292b6348a9aa25df1af
+DIST OpenJDK11U-jre_ppc64le_linux_openj9_linuxXL_11.0.8_10_openj9-0.21.0.tar.gz 42082361 BLAKE2B e7dbc5a1deef3996a82c7207fe682e830d94bb143c16bb057f6609fe7b6b56d56569668751d3333af836dd3b45f5eef207916bf17eaecdeaa27b9fa359cbbe1e SHA512 7baa12613f3f4b4ef7a0301b5c1e262c3446e097cea763a7adfe2602785ad3ab3cb74cc542a17c6b7c717c0eb9f0304cde9a48b13f2864fff31bffdee5750dbd
+DIST OpenJDK11U-jre_x64_linux_openj9_11.0.8_10_openj9-0.21.0.tar.gz 41781638 BLAKE2B 16be8630e7781c3f35072bbac254640a4d41f9b27799b56d7f78b63940e51d9f28a4168cbeaabd885562520d227e9efb4c9d80690c9ad02f8e0b7911023cb51e SHA512 51578fd2722c22cb50c678f74612409d34666ac8804c0efa705ed0d695c32ce3f5829f5fbe9be6d3336f39935b7eedad192621977c5e13f365b51e1fb03fd6df
+DIST OpenJDK11U-jre_x64_linux_openj9_linuxXL_11.0.8_10_openj9-0.21.0.tar.gz 41774880 BLAKE2B 7e6d75ee457be194ae4c478cd9c4c8c64607b4ed19bf59d313d3ad643d57b1fa0c161ce74e0ae9d2d667a3016a977a6e6de3cd794429e69972010d472493d3fc SHA512 ac2111079c72e349122356275ab6d7b38b13188aec58ee97c7ced2daf3c98900c76abaf33bad5dd8f43321d6786bd71d0cc02836a5820eb0ce20b24b78262293
+DIST OpenJDK14U-jre_ppc64le_linux_openj9_14.0.2_12_openj9-0.21.0.tar.gz 50706170 BLAKE2B 3898aa34e9a5775c1b7ac343d73a105a996f1288b853e4dc80a66816c548b4ced435d77152f89cc8828cbd8b5c959a34c8c762753e52a3ff880840a7cb334885 SHA512 00400a14d35e722170e09d8a2d9357747244e3e2815fb7fd04769d4656b2847196b1c680215ba9e5ff0a849c778145cc7cea39878446c1f7404baa055b562603
+DIST OpenJDK14U-jre_ppc64le_linux_openj9_linuxXL_14.0.2_12_openj9-0.21.0.tar.gz 50281280 BLAKE2B c00c786fa760ddab538a17cb356638e25bf62930b86426956790be4a7c1c58bb94ca30f27a11587c757f628ef6a012dfbbcbbbf9878ee5899358bf590489b173 SHA512 abfb2df61390e288169e8fa75f3abb754358daa1da9ec904795a1bbcd11c5642bd24300763a84574d3567f6e697a3c347ec15c1740cc5fff4f2b5819abba631f
+DIST OpenJDK14U-jre_x64_linux_openj9_14.0.2_12_openj9-0.21.0.tar.gz 50282552 BLAKE2B 099d9cea63981c13d0f545cb22aed7acb0686d77feda38af838e37a2c41d8918ea9261c6ae3195ad0c9e56cbfcbc18b8d69c8240afda5c89417d9eda5c38a863 SHA512 1071806ed9bc1aaf5f18cec271d32993e92cb9dc3fe21c42028bd9f25e7b1e2c362d00518ee2dd53000712fe74091379731669078eaaa7f33c440f4b95df061f
+DIST OpenJDK14U-jre_x64_linux_openj9_linuxXL_14.0.2_12_openj9-0.21.0.tar.gz 50277370 BLAKE2B e450d4ca0cfbb556f4e19341da723605629161a17f18b192343e1413c81e61cc36517df3851231fe3845e4a29a2e7eb23dae26ae0055a02528e0516d9187aa54 SHA512 037a37ecb2e97c94ed752fb0e17278facd9e76d8ea729428491d709d6297e70d12161dd8392f32dfc0ac660ec960feb7aeea01521d770c01b6192b1bf0caa299
diff --git a/dev-java/openj9-openjdk-jre-bin/files/openjdk-jre-bin-11.env.sh b/dev-java/openj9-openjdk-jre-bin/files/openjdk-jre-bin-11.env.sh
new file mode 100644
index 0000000..ec0dca4
--- /dev/null
+++ b/dev-java/openj9-openjdk-jre-bin/files/openjdk-jre-bin-11.env.sh
@@ -0,0 +1,16 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+VERSION="AdoptOpenJDK JRE ${PV}"
+JAVA_HOME="${EPREFIX}/opt/${P}"
+JDK_HOME="${EPREFIX}/opt/${P}"
+JAVAC="\${JAVA_HOME}/bin/javac"
+PATH="\${JAVA_HOME}/bin"
+ROOTPATH="\${JAVA_HOME}/bin"
+LDPATH="\${JAVA_HOME}/lib/:\${JAVA_HOME}/lib/server/"
+MANPATH="\${JAVA_HOME}/man"
+PROVIDES_TYPE="JRE"
+PROVIDES_VERSION="${SLOT}"
+BOOTCLASSPATH=""
+GENERATION="2"
+ENV_VARS="JAVA_HOME JDK_HOME JAVAC PATH ROOTPATH LDPATH MANPATH"
diff --git a/dev-java/openj9-openjdk-jre-bin/files/openjdk-jre-bin-8.env.sh b/dev-java/openj9-openjdk-jre-bin/files/openjdk-jre-bin-8.env.sh
new file mode 100644
index 0000000..fabc13c
--- /dev/null
+++ b/dev-java/openj9-openjdk-jre-bin/files/openjdk-jre-bin-8.env.sh
@@ -0,0 +1,16 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+VERSION="AdoptOpenJDK JRE ${PV}"
+JAVA_HOME="${EPREFIX}/opt/${P}"
+JDK_HOME="${EPREFIX}/opt/${P}"
+JAVAC="\${JAVA_HOME}/bin/javac"
+PATH="\${JAVA_HOME}/bin"
+ROOTPATH="\${JAVA_HOME}/bin"
+LDPATH="\${JAVA_HOME}/lib/:\${JAVA_HOME}/lib/server/"
+MANPATH="\${JAVA_HOME}/man"
+PROVIDES_TYPE="JRE"
+PROVIDES_VERSION="1.${SLOT}"
+BOOTCLASSPATH="\${JAVA_HOME}/jre/lib/resources.jar:\${JAVA_HOME}/jre/lib/rt.jar:\${JAVA_HOME}/jre/lib/jsse.jar:\${JAVA_HOME}/jre/lib/jce.jar:\${JAVA_HOME}/jre/lib/charsets.jar"
+GENERATION="2"
+ENV_VARS="JAVA_HOME JDK_HOME JAVAC PATH ROOTPATH LDPATH MANPATH"
diff --git a/dev-java/openj9-openjdk-jre-bin/metadata.xml b/dev-java/openj9-openjdk-jre-bin/metadata.xml
new file mode 100644
index 0000000..23c1e7f
--- /dev/null
+++ b/dev-java/openj9-openjdk-jre-bin/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <longdescription>
+ Java™ is the world's leading programming language and platform.
+ The code for Java is open source and available at OpenJDK™.
+ AdoptOpenJDK provides prebuilt OpenJDK JRE binaries from a fully open source set of build scripts and infrastructure.
+ </longdescription>
+ <use>
+ <flag name="headless-awt">Don't install the X backend for AWT, needed by some GUIs (used to be X flag)</flag>
+ <flag name="gentoo-vm">Allow this JDK to be recognised by Gentoo (package manager, eselect, java-config, EXPERIMENTAL!)</flag>
+ <flag name="large-heap">Support Java heap sizes greater than 57Gb</flag>
+ <flag name="webstart">Provide javaws command through symlink to icedtea-web</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-java/openj9-openjdk-jre-bin/openj9-openjdk-jre-bin-11.0.8.10.0.21.0.ebuild b/dev-java/openj9-openjdk-jre-bin/openj9-openjdk-jre-bin-11.0.8.10.0.21.0.ebuild
new file mode 100644
index 0000000..6a9311e
--- /dev/null
+++ b/dev-java/openj9-openjdk-jre-bin/openj9-openjdk-jre-bin-11.0.8.10.0.21.0.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit java-vm-2 toolchain-funcs versionator
+
+abi_uri() {
+ echo "${2-$1}? (
+ large-heap? (
+ https://github.com/AdoptOpenJDK/openjdk${SLOT}-binaries/releases/download/jdk-${DL_PV}/OpenJDK${SLOT}U-jre_${1}_linux_openj9_linuxXL_${DL_PV//+/_}.tar.gz
+ )
+ !large-heap? (
+ https://github.com/AdoptOpenJDK/openjdk${SLOT}-binaries/releases/download/jdk-${DL_PV}/OpenJDK${SLOT}U-jre_${1}_linux_openj9_${DL_PV//+/_}.tar.gz
+ )
+ )"
+}
+
+JDK_PV=$(get_version_component_range 1-3)+$(get_version_component_range 4)
+DL_PV=${JDK_PV}_openj9-$(get_version_component_range 5-7)
+SLOT=$(get_major_version)
+
+SRC_URI="
+ $(abi_uri ppc64le ppc64)
+ $(abi_uri x64 amd64)
+"
+
+DESCRIPTION="Prebuilt Java JRE binaries provided by AdoptOpenJDK"
+HOMEPAGE="https://adoptopenjdk.net"
+LICENSE="GPL-2-with-classpath-exception"
+KEYWORDS="~amd64"
+IUSE="alsa cups +gentoo-vm large-heap headless-awt nsplugin selinux webstart"
+
+RDEPEND="
+ media-libs/fontconfig:1.0
+ media-libs/freetype:2
+ >net-libs/libnet-1.1
+ >=sys-apps/baselayout-java-0.1.0-r1
+ >=sys-libs/glibc-2.2.5:*
+ sys-libs/zlib
+ alsa? ( media-libs/alsa-lib )
+ cups? ( net-print/cups )
+ selinux? ( sec-policy/selinux-java )
+ !headless-awt? (
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrender
+ x11-libs/libXtst
+ )"
+
+PDEPEND="webstart? ( >=dev-java/icedtea-web-1.6.1:0 )
+ nsplugin? ( >=dev-java/icedtea-web-1.6.1:0[nsplugin] )"
+
+RESTRICT="preserve-libs splitdebug"
+QA_PREBUILT="*"
+
+S="${WORKDIR}/jdk-${MY_PV}-jre"
+
+src_install() {
+ local dest="/opt/${P}"
+ local ddest="${ED%/}/${dest#/}"
+
+ # Not sure why they bundle this as it's commonly available and they
+ # only do so on x86_64. It's needed by libfontmanager.so. IcedTea
+ # also has an explicit dependency while Oracle seemingly dlopens it.
+ rm -vf lib/libfreetype.so || die
+
+ # Oracle and IcedTea have libjsoundalsa.so depending on
+ # libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird.
+ if ! use alsa ; then
+ rm -v lib/libjsound.* || die
+ fi
+
+ if use headless-awt ; then
+ rm -v lib/lib*{[jx]awt,splashscreen}* || die
+ fi
+
+ rm -v lib/security/cacerts || die
+ dosym ../../../../etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
+
+ dodir "${dest}"
+ cp -pPR * "${ddest}" || die
+
+ # provide stable symlink
+ dosym "${P}" "/opt/${PN}-${SLOT}"
+
+ use gentoo-vm && java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh
+ java-vm_set-pax-markings "${ddest}"
+ java-vm_revdep-mask
+ java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
+}
+
+pkg_postinst() {
+ java-vm-2_pkg_postinst
+
+ if use gentoo-vm ; then
+ ewarn "WARNING! You have enabled the gentoo-vm USE flag, making this JRE"
+ ewarn "recognised by the system. This will almost certainly break things."
+ else
+ ewarn "The experimental gentoo-vm USE flag has not been enabled so this JRE"
+ ewarn "will not be recognised by the system. For example, simply calling"
+ ewarn "\"java\" will launch a different JVM. This is necessary until Gentoo"
+ ewarn "fully supports Java 11. This JRE must therefore be invoked using its"
+ ewarn "absolute location under ${EPREFIX}/opt/${P}."
+ fi
+}
diff --git a/dev-java/openj9-openjdk-jre-bin/openj9-openjdk-jre-bin-14.0.2.12.0.21.0.ebuild b/dev-java/openj9-openjdk-jre-bin/openj9-openjdk-jre-bin-14.0.2.12.0.21.0.ebuild
new file mode 100644
index 0000000..6a9311e
--- /dev/null
+++ b/dev-java/openj9-openjdk-jre-bin/openj9-openjdk-jre-bin-14.0.2.12.0.21.0.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit java-vm-2 toolchain-funcs versionator
+
+abi_uri() {
+ echo "${2-$1}? (
+ large-heap? (
+ https://github.com/AdoptOpenJDK/openjdk${SLOT}-binaries/releases/download/jdk-${DL_PV}/OpenJDK${SLOT}U-jre_${1}_linux_openj9_linuxXL_${DL_PV//+/_}.tar.gz
+ )
+ !large-heap? (
+ https://github.com/AdoptOpenJDK/openjdk${SLOT}-binaries/releases/download/jdk-${DL_PV}/OpenJDK${SLOT}U-jre_${1}_linux_openj9_${DL_PV//+/_}.tar.gz
+ )
+ )"
+}
+
+JDK_PV=$(get_version_component_range 1-3)+$(get_version_component_range 4)
+DL_PV=${JDK_PV}_openj9-$(get_version_component_range 5-7)
+SLOT=$(get_major_version)
+
+SRC_URI="
+ $(abi_uri ppc64le ppc64)
+ $(abi_uri x64 amd64)
+"
+
+DESCRIPTION="Prebuilt Java JRE binaries provided by AdoptOpenJDK"
+HOMEPAGE="https://adoptopenjdk.net"
+LICENSE="GPL-2-with-classpath-exception"
+KEYWORDS="~amd64"
+IUSE="alsa cups +gentoo-vm large-heap headless-awt nsplugin selinux webstart"
+
+RDEPEND="
+ media-libs/fontconfig:1.0
+ media-libs/freetype:2
+ >net-libs/libnet-1.1
+ >=sys-apps/baselayout-java-0.1.0-r1
+ >=sys-libs/glibc-2.2.5:*
+ sys-libs/zlib
+ alsa? ( media-libs/alsa-lib )
+ cups? ( net-print/cups )
+ selinux? ( sec-policy/selinux-java )
+ !headless-awt? (
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrender
+ x11-libs/libXtst
+ )"
+
+PDEPEND="webstart? ( >=dev-java/icedtea-web-1.6.1:0 )
+ nsplugin? ( >=dev-java/icedtea-web-1.6.1:0[nsplugin] )"
+
+RESTRICT="preserve-libs splitdebug"
+QA_PREBUILT="*"
+
+S="${WORKDIR}/jdk-${MY_PV}-jre"
+
+src_install() {
+ local dest="/opt/${P}"
+ local ddest="${ED%/}/${dest#/}"
+
+ # Not sure why they bundle this as it's commonly available and they
+ # only do so on x86_64. It's needed by libfontmanager.so. IcedTea
+ # also has an explicit dependency while Oracle seemingly dlopens it.
+ rm -vf lib/libfreetype.so || die
+
+ # Oracle and IcedTea have libjsoundalsa.so depending on
+ # libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird.
+ if ! use alsa ; then
+ rm -v lib/libjsound.* || die
+ fi
+
+ if use headless-awt ; then
+ rm -v lib/lib*{[jx]awt,splashscreen}* || die
+ fi
+
+ rm -v lib/security/cacerts || die
+ dosym ../../../../etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
+
+ dodir "${dest}"
+ cp -pPR * "${ddest}" || die
+
+ # provide stable symlink
+ dosym "${P}" "/opt/${PN}-${SLOT}"
+
+ use gentoo-vm && java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh
+ java-vm_set-pax-markings "${ddest}"
+ java-vm_revdep-mask
+ java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
+}
+
+pkg_postinst() {
+ java-vm-2_pkg_postinst
+
+ if use gentoo-vm ; then
+ ewarn "WARNING! You have enabled the gentoo-vm USE flag, making this JRE"
+ ewarn "recognised by the system. This will almost certainly break things."
+ else
+ ewarn "The experimental gentoo-vm USE flag has not been enabled so this JRE"
+ ewarn "will not be recognised by the system. For example, simply calling"
+ ewarn "\"java\" will launch a different JVM. This is necessary until Gentoo"
+ ewarn "fully supports Java 11. This JRE must therefore be invoked using its"
+ ewarn "absolute location under ${EPREFIX}/opt/${P}."
+ fi
+}
diff --git a/dev-java/openj9-openjdk/Manifest b/dev-java/openj9-openjdk/Manifest
new file mode 100644
index 0000000..a97ce7d
--- /dev/null
+++ b/dev-java/openj9-openjdk/Manifest
@@ -0,0 +1,4 @@
+DIST openj9-0.21.0.tar.gz 16216102 BLAKE2B 7536e61b742562b7782239d600b78bfa4c00850589cc80bbe8820d97842db55cc001bfbdbb81eb1da534c250a4315ce772fdbe1bcdd1e26863df1fb548618853 SHA512 8137318d9cde6a6383539d2b1a0535951cab178d4f31ccd83260460bdf2b57569e784d205d2fd6e17e0fbc04b6e4aa5a57b81fe46112d38eb0fc5b374b55cf16
+DIST openj9-omr-0.21.0.tar.gz 7704671 BLAKE2B e97b4bd8b975814af74c569f71a4aa35df373eb8c583d21a44065e2db140eca3649b674b5347fd031831c10701ccdb2a263eeeacf19bd4831c1e63ab18398f65 SHA512 7eed6eb68d251934291be859f061801b41b95abc481d3e3d059fc4f3eee94ba2b31143aa00b9abd39dc2325540ed0a4f16e075396e34741f57e36fe69d376b0f
+DIST openj9-openjdk-jdk11-openj9-0.21.0.tar.gz 104216281 BLAKE2B 21716b92b07a72be19b53f926dc1248e633ba01a82f0ad841883eed325d3caaa887c6ea87c8f2e13aff9f230d981418d2b7ff6bd6fb99cf0ff6dcda948c6a3dc SHA512 2b915c88b62b04c0549037d6be42428ba9f99b51f00d364c0ba9c9c7340d1b67da99f583a2623b04d8708703f789ef680ea70b8259e8557af34da830a136a0d8
+DIST openj9-openjdk-jdk14-openj9-0.21.0.tar.gz 95491120 BLAKE2B b4d17dadda4d209f04126520ec5a86fc38bfab6af75d9ce2047555c8cec0dca28205b1a056b7294c111947cafa2eaaadebb2851ec8958367626e9c4b0940ad57 SHA512 83b08fc63dfc06e97583720ccfb4643f07398700b93d8328a5fd730764bba9665cde57e7f149024f11e752aa04f6450114dd3cecf5e589e24991c3340292c009
diff --git a/dev-java/openj9-openjdk/files/omr-fam.patch b/dev-java/openj9-openjdk/files/omr-fam.patch
new file mode 100644
index 0000000..9141ec1
--- /dev/null
+++ b/dev-java/openj9-openjdk/files/omr-fam.patch
@@ -0,0 +1,70 @@
+diff --git a/ddr/tools/blob_reader/blob_reader.cpp b/ddr/tools/blob_reader/blob_reader.cpp
+index 028decd0c..a0212609f 100644
+--- a/ddr/tools/blob_reader/blob_reader.cpp
++++ b/ddr/tools/blob_reader/blob_reader.cpp
+@@ -85,7 +85,7 @@ struct BlobHeaderV1 {
+
+ struct BlobString {
+ uint16_t length;
+- char data[1]; /* flexible array member */
++ char data[];
+
+ void endian_swap()
+ {
+diff --git a/include_core/ute_core.h b/include_core/ute_core.h
+index 8b3b1c65d..330ea52c6 100644
+--- a/include_core/ute_core.h
++++ b/include_core/ute_core.h
+@@ -125,7 +125,7 @@ typedef struct UtTraceRecord {
+ uint64_t threadSyn2; /* Thread synonym 2 */
+ int32_t firstEntry; /* Offset to first trace entry */
+ int32_t nextEntry; /* Offset to next entry */
+- char threadName[1]; /* Thread name */
++ char threadName[]; /* Thread name */
+ } UtTraceRecord;
+
+ /*
+diff --git a/include_core/ute_dataformat.h b/include_core/ute_dataformat.h
+index 71d9e36ad..8a9dcb487 100644
+--- a/include_core/ute_dataformat.h
++++ b/include_core/ute_dataformat.h
+@@ -180,7 +180,7 @@ typedef struct UtProcSection {
+ #define UT_TRACE_ACTIVE_SECTION_NAME "UTTA"
+ typedef struct UtActiveSection {
+ UtDataHeader header; /* Eyecatcher, version etc */
+- char active[1]; /* Trace activation commands */
++ char active[]; /* Trace activation commands */
+ } UtActiveSection;
+
+ /*
+@@ -191,7 +191,7 @@ typedef struct UtActiveSection {
+ #define UT_TRACE_SERVICE_SECTION_NAME "UTSS"
+ typedef struct UtServiceSection {
+ UtDataHeader header; /* Eyecatcher, version etc */
+- char level[1]; /* Service level info */
++ char level[]; /* Service level info */
+ } UtServiceSection;
+
+ /*
+@@ -202,7 +202,7 @@ typedef struct UtServiceSection {
+ #define UT_TRACE_STARTUP_SECTION_NAME "UTSO"
+ typedef struct UtStartupSection {
+ UtDataHeader header; /* Eyecatcher, version etc */
+- char options[1]; /* Startup options */
++ char options[]; /* Startup options */
+ } UtStartupSection;
+
+ /*
+diff --git a/omrtrace/omrtrace_internal.h b/omrtrace/omrtrace_internal.h
+index e52347eac..a68a88abd 100644
+--- a/omrtrace/omrtrace_internal.h
++++ b/omrtrace/omrtrace_internal.h
+@@ -157,7 +157,7 @@ typedef struct OMR_TraceGlobal OMR_TraceGlobal;
+ typedef struct UtTraceCfg {
+ UtDataHeader header;
+ struct UtTraceCfg *next; /* Next trace config command */
+- char command[1]; /* Start of variable length section */
++ char command[]; /* Start of variable length section */
+ } UtTraceCfg;
+
+ typedef struct UtDeferredConfigInfo {
diff --git a/dev-java/openj9-openjdk/files/omr-omrstr-iconv-failure-overflow.patch b/dev-java/openj9-openjdk/files/omr-omrstr-iconv-failure-overflow.patch
new file mode 100644
index 0000000..f90c431
--- /dev/null
+++ b/dev-java/openj9-openjdk/files/omr-omrstr-iconv-failure-overflow.patch
@@ -0,0 +1,13 @@
+diff --git a/port/common/omrstr.c b/port/common/omrstr.c
+index ad76cdf93..f936f0026 100644
+--- a/port/common/omrstr.c
++++ b/port/common/omrstr.c
+@@ -3121,7 +3121,7 @@ convertPlatformToWide(struct OMRPortLibrary *portLibrary, charconvState_t encodi
+ } else if (E2BIG == errno) {
+ resultSize = (outBufferSize - wideBufferLimit); /* number of bytes written */
+ } else {
+- resultSize = OMRPORT_ERROR_STRING_ILLEGAL_STRING;
++ return OMRPORT_ERROR_STRING_ILLEGAL_STRING;
+ }
+ } else {
+ resultSize = (outBufferSize - wideBufferLimit); /* number of bytes written */
diff --git a/dev-java/openj9-openjdk/files/openj9-j9utf8-fam.patch b/dev-java/openj9-openjdk/files/openj9-j9utf8-fam.patch
new file mode 100644
index 0000000..f45a539
--- /dev/null
+++ b/dev-java/openj9-openjdk/files/openj9-j9utf8-fam.patch
@@ -0,0 +1,26 @@
+diff --git a/runtime/cfdumper/romdump.c b/runtime/cfdumper/romdump.c
+index 5040c2c25..1cfcd36c7 100644
+--- a/runtime/cfdumper/romdump.c
++++ b/runtime/cfdumper/romdump.c
+@@ -154,7 +154,7 @@ addRegion(J9Pool *regionPool, UDATA offset, UDATA length, UDATA type, const char
+ static UDATA
+ getUTF8Length(J9UTF8 *utf8)
+ {
+- UDATA length = sizeof(J9UTF8) + J9UTF8_LENGTH(utf8) - sizeof(J9UTF8_DATA(utf8));
++ UDATA length = sizeof(J9UTF8) + J9UTF8_LENGTH(utf8);
+ if (length & 1) {
+ length++;
+ }
+diff --git a/runtime/oti/j9nonbuilder.h b/runtime/oti/j9nonbuilder.h
+index c5705188d..e9babe227 100644
+--- a/runtime/oti/j9nonbuilder.h
++++ b/runtime/oti/j9nonbuilder.h
+@@ -3219,7 +3219,7 @@ typedef struct J9ClassLoader {
+
+ typedef struct J9UTF8 {
+ U_16 length;
+- U_8 data[2];
++ U_8 data[];
+ } J9UTF8;
+
+ typedef struct J9ROMClass {
diff --git a/dev-java/openj9-openjdk/files/openj9-make-jvmti-test-variables-static.patch b/dev-java/openj9-openjdk/files/openj9-make-jvmti-test-variables-static.patch
new file mode 100644
index 0000000..5d5b8a7
--- /dev/null
+++ b/dev-java/openj9-openjdk/files/openj9-make-jvmti-test-variables-static.patch
@@ -0,0 +1,68 @@
+From b91f42fc90179585c3e2a9866e93a3168b1ada9d Mon Sep 17 00:00:00 2001
+From: Graham Chapman <graham_chapman@ca.ibm.com>
+Date: Sat, 25 Jul 2020 16:13:13 -0400
+Subject: [PATCH] Make JVMTI test variables static
+
+Two tests declare the same named global non-statically which breaks some
+newer compilers.
+
+Fixes: #10252
+
+[ci skip]
+
+Signed-off-by: Graham Chapman <graham_chapman@ca.ibm.com>
+---
+ .../src/com/ibm/jvmti/tests/traceSubscription/ts001.c | 4 ++--
+ .../jvmtitests/src/com/ibm/jvmti/tests/verboseGC/vgc001.c | 8 ++++----
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/runtime/tests/jvmtitests/src/com/ibm/jvmti/tests/traceSubscription/ts001.c b/runtime/tests/jvmtitests/src/com/ibm/jvmti/tests/traceSubscription/ts001.c
+index 97843fc7c7..2c1e1ae67f 100644
+--- a/runtime/tests/jvmtitests/src/com/ibm/jvmti/tests/traceSubscription/ts001.c
++++ b/runtime/tests/jvmtitests/src/com/ibm/jvmti/tests/traceSubscription/ts001.c
+@@ -1,5 +1,5 @@
+ /*******************************************************************************
+- * Copyright (c) 2001, 2018 IBM Corp. and others
++ * Copyright (c) 2001, 2020 IBM Corp. and others
+ *
+ * This program and the accompanying materials are made available under
+ * the terms of the Eclipse Public License 2.0 which accompanies this
+@@ -35,7 +35,7 @@ static jvmtiExtensionFunction subscribe = NULL;
+ static jvmtiExtensionFunction unsubscribe = NULL;
+ static jvmtiExtensionFunction flush = NULL;
+ static jvmtiExtensionFunction metadata = NULL;
+-void *subscriptionID;
++static void *subscriptionID;
+ volatile static jint bufferCount = 0;
+ volatile static jint bufferCountFinal = 0;
+ volatile static int completed = 0;
+diff --git a/runtime/tests/jvmtitests/src/com/ibm/jvmti/tests/verboseGC/vgc001.c b/runtime/tests/jvmtitests/src/com/ibm/jvmti/tests/verboseGC/vgc001.c
+index 2fda9e8bd7..f1601298af 100644
+--- a/runtime/tests/jvmtitests/src/com/ibm/jvmti/tests/verboseGC/vgc001.c
++++ b/runtime/tests/jvmtitests/src/com/ibm/jvmti/tests/verboseGC/vgc001.c
+@@ -1,5 +1,5 @@
+ /*******************************************************************************
+- * Copyright (c) 2001, 2018 IBM Corp. and others
++ * Copyright (c) 2001, 2020 IBM Corp. and others
+ *
+ * This program and the accompanying materials are made available under
+ * the terms of the Eclipse Public License 2.0 which accompanies this
+@@ -31,15 +31,15 @@ static agentEnv * env;
+ static jvmtiExtensionFunction subscribe = NULL;
+ static jvmtiExtensionFunction unsubscribe = NULL;
+
+-void *subscriptionID;
++static void *subscriptionID;
+ volatile static jint bufferCount = 0;
+ volatile static int alarmed = 0;
+
+-void *subscriptionID2;
++static void *subscriptionID2;
+ volatile static jint bufferCount2 = 0;
+ volatile static int alarmed2 = 0;
+
+-void *subscriptionID3;
++static void *subscriptionID3;
+ volatile static jint bufferCount3 = 0;
+ volatile static int alarmed3 = 0;
+
diff --git a/dev-java/openj9-openjdk/files/openj9-subscriptionID.patch b/dev-java/openj9-openjdk/files/openj9-subscriptionID.patch
new file mode 100644
index 0000000..e754e05
--- /dev/null
+++ b/dev-java/openj9-openjdk/files/openj9-subscriptionID.patch
@@ -0,0 +1,36 @@
+diff --git a/runtime/tests/jvmtitests/src/com/ibm/jvmti/tests/traceSubscription/ts001.c b/runtime/tests/jvmtitests/src/com/ibm/jvmti/tests/traceSubscription/ts001.c
+index 97843fc7c..a2cc3ffe6 100644
+--- a/runtime/tests/jvmtitests/src/com/ibm/jvmti/tests/traceSubscription/ts001.c
++++ b/runtime/tests/jvmtitests/src/com/ibm/jvmti/tests/traceSubscription/ts001.c
+@@ -35,7 +35,7 @@ static jvmtiExtensionFunction subscribe = NULL;
+ static jvmtiExtensionFunction unsubscribe = NULL;
+ static jvmtiExtensionFunction flush = NULL;
+ static jvmtiExtensionFunction metadata = NULL;
+-void *subscriptionID;
++static void *subscriptionID;
+ volatile static jint bufferCount = 0;
+ volatile static jint bufferCountFinal = 0;
+ volatile static int completed = 0;
+diff --git a/runtime/tests/jvmtitests/src/com/ibm/jvmti/tests/verboseGC/vgc001.c b/runtime/tests/jvmtitests/src/com/ibm/jvmti/tests/verboseGC/vgc001.c
+index 2fda9e8bd..d11047e44 100644
+--- a/runtime/tests/jvmtitests/src/com/ibm/jvmti/tests/verboseGC/vgc001.c
++++ b/runtime/tests/jvmtitests/src/com/ibm/jvmti/tests/verboseGC/vgc001.c
+@@ -31,15 +31,15 @@ static agentEnv * env;
+ static jvmtiExtensionFunction subscribe = NULL;
+ static jvmtiExtensionFunction unsubscribe = NULL;
+
+-void *subscriptionID;
++static void *subscriptionID;
+ volatile static jint bufferCount = 0;
+ volatile static int alarmed = 0;
+
+-void *subscriptionID2;
++static void *subscriptionID2;
+ volatile static jint bufferCount2 = 0;
+ volatile static int alarmed2 = 0;
+
+-void *subscriptionID3;
++static void *subscriptionID3;
+ volatile static jint bufferCount3 = 0;
+ volatile static int alarmed3 = 0;
+
diff --git a/dev-java/openj9-openjdk/files/openjdk-14.env.sh b/dev-java/openj9-openjdk/files/openjdk-14.env.sh
new file mode 100644
index 0000000..96c4be7
--- /dev/null
+++ b/dev-java/openj9-openjdk/files/openjdk-14.env.sh
@@ -0,0 +1,16 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+VERSION="OpenJDK ${PV}"
+JAVA_HOME="${EPREFIX}/usr/$(get_libdir)/${PN}-${SLOT}"
+JDK_HOME="${EPREFIX}/usr/$(get_libdir)/${PN}-${SLOT}"
+JAVAC="\${JAVA_HOME}/bin/javac"
+PATH="\${JAVA_HOME}/bin"
+ROOTPATH="\${JAVA_HOME}/bin"
+LDPATH="\${JAVA_HOME}/lib/:\${JAVA_HOME}/lib/server/"
+MANPATH=""
+PROVIDES_TYPE="JDK JRE"
+PROVIDES_VERSION="${SLOT}"
+BOOTCLASSPATH=""
+GENERATION="2"
+ENV_VARS="JAVA_HOME JDK_HOME JAVAC PATH ROOTPATH LDPATH MANPATH"
diff --git a/dev-java/openj9-openjdk/files/openjdk-8238380-childproc-fcommon.patch b/dev-java/openj9-openjdk/files/openjdk-8238380-childproc-fcommon.patch
new file mode 100644
index 0000000..a972bc6
--- /dev/null
+++ b/dev-java/openj9-openjdk/files/openjdk-8238380-childproc-fcommon.patch
@@ -0,0 +1,48 @@
+
+# HG changeset patch
+# User qpzhang
+# Date 1580822830 -28800
+# Node ID 6925fca959590dd0f747a9cffa5f0664ec02c7b1
+# Parent 8f6ffa575f63db3f07f96e52c97883fbaff459b4
+8238380: java.base/unix/native/libjava/childproc.c "multiple definition" link errors with GCC10
+Reviewed-by: stuefe, clanger, rriggs
+Contributed-by: patrick@os.amperecomputing.com
+
+diff -r 8f6ffa575f63 -r 6925fca95959 src/java.base/unix/native/libjava/childproc.c
+--- a/src/java.base/unix/native/libjava/childproc.c Tue Feb 11 11:17:37 2020 +0800
++++ b/src/java.base/unix/native/libjava/childproc.c Tue Feb 04 21:27:10 2020 +0800
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+@@ -34,6 +34,7 @@
+
+ #include "childproc.h"
+
++const char * const *parentPathv;
+
+ ssize_t
+ restartableWrite(int fd, const void *buf, size_t count)
+diff -r 8f6ffa575f63 -r 6925fca95959 src/java.base/unix/native/libjava/childproc.h
+--- a/src/java.base/unix/native/libjava/childproc.h Tue Feb 11 11:17:37 2020 +0800
++++ b/src/java.base/unix/native/libjava/childproc.h Tue Feb 04 21:27:10 2020 +0800
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+@@ -126,7 +126,7 @@
+ * The cached and split version of the JDK's effective PATH.
+ * (We don't support putenv("PATH=...") in native code)
+ */
+-const char * const *parentPathv;
++extern const char * const *parentPathv;
+
+ ssize_t restartableWrite(int fd, const void *buf, size_t count);
+ int restartableDup2(int fd_from, int fd_to);
+
diff --git a/dev-java/openj9-openjdk/metadata.xml b/dev-java/openj9-openjdk/metadata.xml
new file mode 100644
index 0000000..2c13f5e
--- /dev/null
+++ b/dev-java/openj9-openjdk/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <longdescription>
+ Java™ is the world's leading programming language and platform.
+ The code for Java is open source and available at OpenJDK™.
+ </longdescription>
+ <slots>
+ <slot name="11">Java™ version 11</slot>
+ </slots>
+ <use>
+ <flag name="custom-optimization">Use custom -O flags instead of upstream defaults</flag>
+ <flag name="ddr">Enable Direct Dump Reader</flag>
+ <flag name="headless-awt">Don't install the X backend for AWT, needed by some GUIs</flag>
+ <flag name="gentoo-vm">Allow this JDK to be recognised by Gentoo (package manager, eselect, java-config, EXPERIMENTAL!)</flag>
+ <flag name="javafx">Import OpenJFX modules at build time, via <pkg>dev-java/openjfx</pkg></flag>
+ <flag name="jbootstrap">Build OpenJDK twice, the second time using the result of the first</flag>
+ <flag name="systemtap">Enable SystemTAP/DTrace tracing</flag>
+ <flag name="webstart">Provide javaws command through symlink to icedtea-web</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-java/openj9-openjdk/openj9-openjdk-11.0.21.0.ebuild b/dev-java/openj9-openjdk/openj9-openjdk-11.0.21.0.ebuild
new file mode 100644
index 0000000..f3a49a3
--- /dev/null
+++ b/dev-java/openj9-openjdk/openj9-openjdk-11.0.21.0.ebuild
@@ -0,0 +1,318 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools check-reqs flag-o-matic java-pkg-2 java-vm-2 multiprocessing pax-utils toolchain-funcs
+
+# we need -ga tag to fetch tarball and unpack it, but exact number everywhere else to
+# set build version properly
+SLOT="$(get_major_version)"
+OPENJ9_PV="$(get_version_component_range 2-4)"
+OPENJ9_P=openj9-${OPENJ9_PV}
+FREEMARKER_PV=2.3.30
+
+DESCRIPTION="Open source implementation of the Java programming language"
+HOMEPAGE="https://openjdk.java.net"
+SRC_URI="
+ https://github.com/ibmruntimes/openj9-openjdk-jdk${SLOT}/archive/${OPENJ9_P}.tar.gz -> openj9-openjdk-jdk${SLOT}-${OPENJ9_P}.tar.gz
+ https://github.com/eclipse/openj9/archive/${OPENJ9_P}.tar.gz -> ${OPENJ9_P}.tar.gz
+ https://github.com/eclipse/openj9-omr/archive/${OPENJ9_P}.tar.gz -> openj9-omr-${OPENJ9_PV}.tar.gz
+ "
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64"
+
+IUSE="alsa custom-cflags custom-optimization cups ddr debug doc gentoo-vm headless-awt javafx +jbootstrap nsplugin +pch selinux systemtap webstart"
+
+COMMON_DEPEND="
+ media-libs/freetype:2=
+ media-libs/giflib:0/7
+ media-libs/libpng:0=
+ media-libs/lcms:2=
+ sys-libs/zlib
+ virtual/jpeg:0=
+ systemtap? ( dev-util/systemtap )
+
+ dev-libs/elfutils
+ dev-libs/libdwarf
+ sys-process/numactl
+"
+
+# Many libs are required to build, but not to run, make is possible to remove
+# by listing conditionally in RDEPEND unconditionally in DEPEND
+RDEPEND="
+ ${COMMON_DEPEND}
+ >=sys-apps/baselayout-java-0.1.0-r1
+ !headless-awt? (
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXt
+ x11-libs/libXtst
+ )
+ alsa? ( media-libs/alsa-lib )
+ cups? ( net-print/cups )
+ selinux? ( sec-policy/selinux-java )
+"
+
+DEPEND="
+ ${COMMON_DEPEND}
+ app-arch/zip
+ media-libs/alsa-lib
+ net-print/cups
+ x11-base/xorg-proto
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXt
+ x11-libs/libXtst
+ javafx? ( dev-java/openjfx:${SLOT}= )
+ || (
+ dev-java/openjdk-bin:${SLOT}
+ dev-java/openjdk:${SLOT}
+ )
+ || (
+ dev-java/freemarker-bin
+ dev-java/freemarker
+ )
+"
+
+PDEPEND="
+ webstart? ( >=dev-java/icedtea-web-1.6.1:0 )
+ nsplugin? ( >=dev-java/icedtea-web-1.6.1:0[nsplugin] )
+"
+
+REQUIRED_USE="javafx? ( alsa !headless-awt )"
+
+S=${WORKDIR}/openj9-openjdk-jdk${SLOT}-${OPENJ9_P}
+
+# The space required to build varies wildly depending on USE flags,
+# ranging from 2GB to 16GB. This function is certainly not exact but
+# should be close enough to be useful.
+openjdk_check_requirements() {
+ local M
+ M=2048
+ M=$(( $(usex jbootstrap 2 1) * $M ))
+ M=$(( $(usex debug 3 1) * $M ))
+ M=$(( $(usex doc 320 0) + + 192 + $M ))
+
+ CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
+}
+
+pkg_pretend() {
+ openjdk_check_requirements
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}"
+ fi
+}
+
+pkg_setup() {
+ openjdk_check_requirements
+ java-vm-2_pkg_setup
+
+ JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT}"
+ JAVA_PKG_WANT_SOURCE="${SLOT}"
+ JAVA_PKG_WANT_TARGET="${SLOT}"
+
+ # The nastiness below is necessary while the gentoo-vm USE flag is
+ # masked. First we call java-pkg-2_pkg_setup if it looks like the
+ # flag was unmasked against one of the possible build VMs. If not,
+ # we try finding one of them in their expected locations. This would
+ # have been slightly less messy if openjdk-bin had been installed to
+ # /opt/${PN}-${SLOT} or if there was a mechanism to install a VM env
+ # file but disable it so that it would not normally be selectable.
+
+ local vm
+ for vm in ${JAVA_PKG_WANT_BUILD_VM}; do
+ if [[ -d ${EPREFIX}/usr/lib/jvm/${vm} ]]; then
+ java-pkg-2_pkg_setup
+ return
+ fi
+ done
+
+ if has_version --host-root dev-java/openjdk:${SLOT}; then
+ export JDK_HOME=${EPREFIX}/usr/$(get_libdir)/openjdk-${SLOT}
+ else
+ if [[ ${MERGE_TYPE} != "binary" ]]; then
+ JDK_HOME=$(best_version --host-root dev-java/openjdk-bin:${SLOT})
+ [[ -n ${JDK_HOME} ]] || die "Build VM not found!"
+ JDK_HOME=${JDK_HOME#*/}
+ JDK_HOME=${EPREFIX}/opt/${JDK_HOME%-r*}
+ export JDK_HOME
+ fi
+ fi
+}
+
+src_prepare() {
+ ln -s ../openj9-${OPENJ9_P} openj9 || die
+ ln -s ../openj9-omr-${OPENJ9_P} omr || die
+ default
+ (
+ cd openj9 || die
+ #eapply "${FILESDIR}/openj9-j9utf8-fam.patch"
+ eapply "${FILESDIR}/openj9-make-jvmti-test-variables-static.patch"
+ )
+ (
+ cd omr || die
+ eapply "${FILESDIR}/omr-omrstr-iconv-failure-overflow.patch"
+ #eapply "${FILESDIR}/omr-fam.patch"
+ )
+ sed -i -e '/^OPENJ9_SHA :=/s/:=.*/:= '${OPENJ9_P}/ \
+ -e '/^OPENJ9_TAG :=/s/:=.*/:= '${OPENJ9_P}/ \
+ -e '/^OPENJ9OMR_SHA :=/s/:=.*/:= '${OPENJ9_P}/ \
+ closed/OpenJ9.gmk
+ chmod +x configure || die
+}
+
+src_configure() {
+ if ! use custom-cflags; then
+ strip-flags
+
+ # Work around stack alignment issue, bug #647954. in case we ever have x86
+ use x86 && append-flags -mincoming-stack-boundary=2
+
+ # Work around -fno-common ( GCC10 default ), bug #713180
+ append-flags -fcommon
+ fi
+
+ if ! use custom-optimization; then
+ filter-flags '-O*'
+ fi
+
+ local freemarker_jar
+ local diefunc=$(declare -f die)
+ die() { :; }
+ freemarker_jar=$(java-pkg_getjar --build-only freemarker freemarker.jar)
+ local r=$?
+ eval "$diefunc"
+ if [[ $r != 0 ]]; then
+ freemarker_jar=$(java-pkg_getjar --build-only freemarker-bin freemarker.jar)
+ fi
+
+ # Enabling full docs appears to break doc building. If not
+ # explicitly disabled, the flag will get auto-enabled if pandoc and
+ # graphviz are detected. pandoc has loads of dependencies anyway.
+
+ local myconf=(
+ --disable-ccache
+ --enable-full-docs=no
+ --with-boot-jdk="${JDK_HOME}"
+ --with-extra-cflags="${CFLAGS}"
+ --with-extra-cxxflags="${CXXFLAGS}"
+ --with-extra-ldflags="${LDFLAGS}"
+ --with-giflib=system
+ --with-lcms=system
+ --with-libjpeg=system
+ --with-libpng=system
+ --with-native-debug-symbols=$(usex debug internal none)
+ --with-vendor-name="Gentoo"
+ --with-vendor-url="https://gentoo.org"
+ --with-vendor-bug-url="https://bugs.gentoo.org"
+ --with-vendor-vm-bug-url="https://bugs.openjdk.java.net"
+ --with-zlib=system
+ --enable-dtrace=$(usex systemtap yes no)
+ --enable-headless-only=$(usex headless-awt yes no)
+ --with-vendor-version-string="${PVR}"
+ --with-version-pre=""
+
+ --with-freemarker-jar=${freemarker_jar}
+ --disable-warnings-as-errors{,-omr,-openj9}
+ $(use_enable ddr)
+ )
+
+ if use javafx; then
+ local zip="${EROOT%/}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip"
+ if [[ -r ${zip} ]]; then
+ myconf+=( --with-import-modules="${zip}" )
+ else
+ die "${zip} not found or not readable"
+ fi
+ fi
+
+ # PaX breaks pch, bug #601016
+ if use pch && ! host-is-pax; then
+ myconf+=( --enable-precompiled-headers )
+ else
+ myconf+=( --disable-precompiled-headers )
+ fi
+
+ (
+ unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC XARGS
+ CFLAGS= CXXFLAGS= LDFLAGS= \
+ CONFIG_SITE=/dev/null \
+ econf "${myconf[@]}"
+ )
+}
+
+src_compile() {
+ local myemakeargs=(
+ JOBS=$(makeopts_jobs)
+ LOG=debug
+ CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror
+ $(usex doc docs '')
+ $(usex jbootstrap bootcycle-images product-images)
+ )
+ emake "${myemakeargs[@]}" -j1 #nowarn
+}
+
+src_install() {
+ local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
+ local ddest="${ED}${dest#/}"
+
+ cd "${S}"/build/*-release/jdk || die
+
+ # Create files used as storage for system preferences.
+ mkdir .systemPrefs || die
+ touch .systemPrefs/.system.lock || die
+ touch .systemPrefs/.systemRootModFile || die
+
+ # Oracle and IcedTea have libjsoundalsa.so depending on
+ # libasound.so.2 but OpenJDK only has libjsound.so. Weird.
+ if ! use alsa ; then
+ rm -v lib/libjsound.* || die
+ fi
+
+ rm -v lib/security/cacerts || die
+
+ dodir "${dest}"
+ cp -pPR * "${ddest}" || die
+
+ dosym ../../../../../etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
+
+ # must be done before running itself
+ java-vm_set-pax-markings "${ddest}"
+
+ einfo "Creating the Class Data Sharing archives and disabling usage tracking"
+ "${ddest}/bin/java" -server -Xshare:dump -Djdk.disableLastUsageTracking || die
+
+ use gentoo-vm && java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh
+ java-vm_revdep-mask
+ java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
+
+ if use doc ; then
+ docinto html
+ dodoc -r "${S}"/build/*-release/images/docs/*
+ dosym ../../../usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}"
+ fi
+}
+
+pkg_postinst() {
+ java-vm-2_pkg_postinst
+
+ if use gentoo-vm ; then
+ ewarn "WARNING! You have enabled the gentoo-vm USE flag, making this JDK"
+ ewarn "recognised by the system. This will almost certainly break"
+ ewarn "many java ebuilds as they are not ready for openjdk-11"
+ else
+ ewarn "The experimental gentoo-vm USE flag has not been enabled so this JDK"
+ ewarn "will not be recognised by the system. For example, simply calling"
+ ewarn "\"java\" will launch a different JVM. This is necessary until Gentoo"
+ ewarn "fully supports Java ${SLOT}. This JDK must therefore be invoked using its"
+ ewarn "absolute location under ${EPREFIX}/usr/$(get_libdir)/${PN}-${SLOT}."
+ fi
+}
diff --git a/dev-java/openj9-openjdk/openj9-openjdk-14.0.21.0.ebuild b/dev-java/openj9-openjdk/openj9-openjdk-14.0.21.0.ebuild
new file mode 100644
index 0000000..f3a49a3
--- /dev/null
+++ b/dev-java/openj9-openjdk/openj9-openjdk-14.0.21.0.ebuild
@@ -0,0 +1,318 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools check-reqs flag-o-matic java-pkg-2 java-vm-2 multiprocessing pax-utils toolchain-funcs
+
+# we need -ga tag to fetch tarball and unpack it, but exact number everywhere else to
+# set build version properly
+SLOT="$(get_major_version)"
+OPENJ9_PV="$(get_version_component_range 2-4)"
+OPENJ9_P=openj9-${OPENJ9_PV}
+FREEMARKER_PV=2.3.30
+
+DESCRIPTION="Open source implementation of the Java programming language"
+HOMEPAGE="https://openjdk.java.net"
+SRC_URI="
+ https://github.com/ibmruntimes/openj9-openjdk-jdk${SLOT}/archive/${OPENJ9_P}.tar.gz -> openj9-openjdk-jdk${SLOT}-${OPENJ9_P}.tar.gz
+ https://github.com/eclipse/openj9/archive/${OPENJ9_P}.tar.gz -> ${OPENJ9_P}.tar.gz
+ https://github.com/eclipse/openj9-omr/archive/${OPENJ9_P}.tar.gz -> openj9-omr-${OPENJ9_PV}.tar.gz
+ "
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64"
+
+IUSE="alsa custom-cflags custom-optimization cups ddr debug doc gentoo-vm headless-awt javafx +jbootstrap nsplugin +pch selinux systemtap webstart"
+
+COMMON_DEPEND="
+ media-libs/freetype:2=
+ media-libs/giflib:0/7
+ media-libs/libpng:0=
+ media-libs/lcms:2=
+ sys-libs/zlib
+ virtual/jpeg:0=
+ systemtap? ( dev-util/systemtap )
+
+ dev-libs/elfutils
+ dev-libs/libdwarf
+ sys-process/numactl
+"
+
+# Many libs are required to build, but not to run, make is possible to remove
+# by listing conditionally in RDEPEND unconditionally in DEPEND
+RDEPEND="
+ ${COMMON_DEPEND}
+ >=sys-apps/baselayout-java-0.1.0-r1
+ !headless-awt? (
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXt
+ x11-libs/libXtst
+ )
+ alsa? ( media-libs/alsa-lib )
+ cups? ( net-print/cups )
+ selinux? ( sec-policy/selinux-java )
+"
+
+DEPEND="
+ ${COMMON_DEPEND}
+ app-arch/zip
+ media-libs/alsa-lib
+ net-print/cups
+ x11-base/xorg-proto
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXt
+ x11-libs/libXtst
+ javafx? ( dev-java/openjfx:${SLOT}= )
+ || (
+ dev-java/openjdk-bin:${SLOT}
+ dev-java/openjdk:${SLOT}
+ )
+ || (
+ dev-java/freemarker-bin
+ dev-java/freemarker
+ )
+"
+
+PDEPEND="
+ webstart? ( >=dev-java/icedtea-web-1.6.1:0 )
+ nsplugin? ( >=dev-java/icedtea-web-1.6.1:0[nsplugin] )
+"
+
+REQUIRED_USE="javafx? ( alsa !headless-awt )"
+
+S=${WORKDIR}/openj9-openjdk-jdk${SLOT}-${OPENJ9_P}
+
+# The space required to build varies wildly depending on USE flags,
+# ranging from 2GB to 16GB. This function is certainly not exact but
+# should be close enough to be useful.
+openjdk_check_requirements() {
+ local M
+ M=2048
+ M=$(( $(usex jbootstrap 2 1) * $M ))
+ M=$(( $(usex debug 3 1) * $M ))
+ M=$(( $(usex doc 320 0) + + 192 + $M ))
+
+ CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
+}
+
+pkg_pretend() {
+ openjdk_check_requirements
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}"
+ fi
+}
+
+pkg_setup() {
+ openjdk_check_requirements
+ java-vm-2_pkg_setup
+
+ JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT}"
+ JAVA_PKG_WANT_SOURCE="${SLOT}"
+ JAVA_PKG_WANT_TARGET="${SLOT}"
+
+ # The nastiness below is necessary while the gentoo-vm USE flag is
+ # masked. First we call java-pkg-2_pkg_setup if it looks like the
+ # flag was unmasked against one of the possible build VMs. If not,
+ # we try finding one of them in their expected locations. This would
+ # have been slightly less messy if openjdk-bin had been installed to
+ # /opt/${PN}-${SLOT} or if there was a mechanism to install a VM env
+ # file but disable it so that it would not normally be selectable.
+
+ local vm
+ for vm in ${JAVA_PKG_WANT_BUILD_VM}; do
+ if [[ -d ${EPREFIX}/usr/lib/jvm/${vm} ]]; then
+ java-pkg-2_pkg_setup
+ return
+ fi
+ done
+
+ if has_version --host-root dev-java/openjdk:${SLOT}; then
+ export JDK_HOME=${EPREFIX}/usr/$(get_libdir)/openjdk-${SLOT}
+ else
+ if [[ ${MERGE_TYPE} != "binary" ]]; then
+ JDK_HOME=$(best_version --host-root dev-java/openjdk-bin:${SLOT})
+ [[ -n ${JDK_HOME} ]] || die "Build VM not found!"
+ JDK_HOME=${JDK_HOME#*/}
+ JDK_HOME=${EPREFIX}/opt/${JDK_HOME%-r*}
+ export JDK_HOME
+ fi
+ fi
+}
+
+src_prepare() {
+ ln -s ../openj9-${OPENJ9_P} openj9 || die
+ ln -s ../openj9-omr-${OPENJ9_P} omr || die
+ default
+ (
+ cd openj9 || die
+ #eapply "${FILESDIR}/openj9-j9utf8-fam.patch"
+ eapply "${FILESDIR}/openj9-make-jvmti-test-variables-static.patch"
+ )
+ (
+ cd omr || die
+ eapply "${FILESDIR}/omr-omrstr-iconv-failure-overflow.patch"
+ #eapply "${FILESDIR}/omr-fam.patch"
+ )
+ sed -i -e '/^OPENJ9_SHA :=/s/:=.*/:= '${OPENJ9_P}/ \
+ -e '/^OPENJ9_TAG :=/s/:=.*/:= '${OPENJ9_P}/ \
+ -e '/^OPENJ9OMR_SHA :=/s/:=.*/:= '${OPENJ9_P}/ \
+ closed/OpenJ9.gmk
+ chmod +x configure || die
+}
+
+src_configure() {
+ if ! use custom-cflags; then
+ strip-flags
+
+ # Work around stack alignment issue, bug #647954. in case we ever have x86
+ use x86 && append-flags -mincoming-stack-boundary=2
+
+ # Work around -fno-common ( GCC10 default ), bug #713180
+ append-flags -fcommon
+ fi
+
+ if ! use custom-optimization; then
+ filter-flags '-O*'
+ fi
+
+ local freemarker_jar
+ local diefunc=$(declare -f die)
+ die() { :; }
+ freemarker_jar=$(java-pkg_getjar --build-only freemarker freemarker.jar)
+ local r=$?
+ eval "$diefunc"
+ if [[ $r != 0 ]]; then
+ freemarker_jar=$(java-pkg_getjar --build-only freemarker-bin freemarker.jar)
+ fi
+
+ # Enabling full docs appears to break doc building. If not
+ # explicitly disabled, the flag will get auto-enabled if pandoc and
+ # graphviz are detected. pandoc has loads of dependencies anyway.
+
+ local myconf=(
+ --disable-ccache
+ --enable-full-docs=no
+ --with-boot-jdk="${JDK_HOME}"
+ --with-extra-cflags="${CFLAGS}"
+ --with-extra-cxxflags="${CXXFLAGS}"
+ --with-extra-ldflags="${LDFLAGS}"
+ --with-giflib=system
+ --with-lcms=system
+ --with-libjpeg=system
+ --with-libpng=system
+ --with-native-debug-symbols=$(usex debug internal none)
+ --with-vendor-name="Gentoo"
+ --with-vendor-url="https://gentoo.org"
+ --with-vendor-bug-url="https://bugs.gentoo.org"
+ --with-vendor-vm-bug-url="https://bugs.openjdk.java.net"
+ --with-zlib=system
+ --enable-dtrace=$(usex systemtap yes no)
+ --enable-headless-only=$(usex headless-awt yes no)
+ --with-vendor-version-string="${PVR}"
+ --with-version-pre=""
+
+ --with-freemarker-jar=${freemarker_jar}
+ --disable-warnings-as-errors{,-omr,-openj9}
+ $(use_enable ddr)
+ )
+
+ if use javafx; then
+ local zip="${EROOT%/}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip"
+ if [[ -r ${zip} ]]; then
+ myconf+=( --with-import-modules="${zip}" )
+ else
+ die "${zip} not found or not readable"
+ fi
+ fi
+
+ # PaX breaks pch, bug #601016
+ if use pch && ! host-is-pax; then
+ myconf+=( --enable-precompiled-headers )
+ else
+ myconf+=( --disable-precompiled-headers )
+ fi
+
+ (
+ unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC XARGS
+ CFLAGS= CXXFLAGS= LDFLAGS= \
+ CONFIG_SITE=/dev/null \
+ econf "${myconf[@]}"
+ )
+}
+
+src_compile() {
+ local myemakeargs=(
+ JOBS=$(makeopts_jobs)
+ LOG=debug
+ CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror
+ $(usex doc docs '')
+ $(usex jbootstrap bootcycle-images product-images)
+ )
+ emake "${myemakeargs[@]}" -j1 #nowarn
+}
+
+src_install() {
+ local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
+ local ddest="${ED}${dest#/}"
+
+ cd "${S}"/build/*-release/jdk || die
+
+ # Create files used as storage for system preferences.
+ mkdir .systemPrefs || die
+ touch .systemPrefs/.system.lock || die
+ touch .systemPrefs/.systemRootModFile || die
+
+ # Oracle and IcedTea have libjsoundalsa.so depending on
+ # libasound.so.2 but OpenJDK only has libjsound.so. Weird.
+ if ! use alsa ; then
+ rm -v lib/libjsound.* || die
+ fi
+
+ rm -v lib/security/cacerts || die
+
+ dodir "${dest}"
+ cp -pPR * "${ddest}" || die
+
+ dosym ../../../../../etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
+
+ # must be done before running itself
+ java-vm_set-pax-markings "${ddest}"
+
+ einfo "Creating the Class Data Sharing archives and disabling usage tracking"
+ "${ddest}/bin/java" -server -Xshare:dump -Djdk.disableLastUsageTracking || die
+
+ use gentoo-vm && java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh
+ java-vm_revdep-mask
+ java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
+
+ if use doc ; then
+ docinto html
+ dodoc -r "${S}"/build/*-release/images/docs/*
+ dosym ../../../usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}"
+ fi
+}
+
+pkg_postinst() {
+ java-vm-2_pkg_postinst
+
+ if use gentoo-vm ; then
+ ewarn "WARNING! You have enabled the gentoo-vm USE flag, making this JDK"
+ ewarn "recognised by the system. This will almost certainly break"
+ ewarn "many java ebuilds as they are not ready for openjdk-11"
+ else
+ ewarn "The experimental gentoo-vm USE flag has not been enabled so this JDK"
+ ewarn "will not be recognised by the system. For example, simply calling"
+ ewarn "\"java\" will launch a different JVM. This is necessary until Gentoo"
+ ewarn "fully supports Java ${SLOT}. This JDK must therefore be invoked using its"
+ ewarn "absolute location under ${EPREFIX}/usr/$(get_libdir)/${PN}-${SLOT}."
+ fi
+}
diff --git a/dev-java/openjdk-bin/Manifest b/dev-java/openjdk-bin/Manifest
new file mode 100644
index 0000000..35c8b2d
--- /dev/null
+++ b/dev-java/openjdk-bin/Manifest
@@ -0,0 +1,4 @@
+DIST OpenJDK14U-jdk_aarch64_linux_hotspot_14.0.2_12.tar.gz 208174601 BLAKE2B b721417687095109ff6eebdf366df5fb6f3f36393bd9681aa8246213363459c54ef2e7a2ff9b1555ce84572eb29c9c1bb671cd7705fe85f3b2822942138a7957 SHA512 dde5b262092abce8da1aff63cda75c9e47cd9d11597d3ccf8595f8c24a2299da9a161bf827e47480ce74daa60625a30502f894497b03217c7724f6ff19603b95
+DIST OpenJDK14U-jdk_arm_linux_hotspot_14.0.2_12.tar.gz 196776784 BLAKE2B 36d43f63ea0a1b30a62fffe72c542110cc9f3f0824a09c03a2c481b8d43d8459554e6585bf5a80f6e35f1d01e423038f40a0352812c167c9892242bd3cca7af1 SHA512 52a38a7a95e7ed7a385ecef33c6667ddec4e2b49652c1ca482c314fc528edb0c4322326f3839da22454058f950058433ad1465bc75da7e516d6b159ead45e55d
+DIST OpenJDK14U-jdk_ppc64le_linux_hotspot_14.0.2_12.tar.gz 192668722 BLAKE2B e883354d400169b2252c35f1af63ce90413b0bfff686ef5e0222a5f22cb7443627035ee52b93cb63cebc66f4f4d670eacfbee896ee2431c26cfd9822435f58a3 SHA512 4115be505b0a2ebde43385bea53b119edae2ece62db87ca0c256040e4c2051163f5c307867edd145d617fc4776988777322034830328c8977bffa281620bfa8e
+DIST OpenJDK14U-jdk_x64_linux_hotspot_14.0.2_12.tar.gz 210764986 BLAKE2B 6a9613aa109197dd0e9b23097238da49dbb649cb5c5eac032534be80b4bbcd972548a84b4fb31e8a0dd3011268733d23d5c6b6660da7282d94a6a19cc128f0e4 SHA512 2701f7e08bc1f03f13bbea2b3567c12d96b23a27e5a7420addd696397f1fbee7e84283df64976c647218f1b321cda8ae0ca3b2eda057f5ebe335a17aae71917a
diff --git a/dev-java/openjdk-bin/files/openjdk-bin-14.env.sh b/dev-java/openjdk-bin/files/openjdk-bin-14.env.sh
new file mode 100644
index 0000000..9e9c5ec
--- /dev/null
+++ b/dev-java/openjdk-bin/files/openjdk-bin-14.env.sh
@@ -0,0 +1,16 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+VERSION="AdoptOpenJDK ${PV}"
+JAVA_HOME="${EPREFIX}/opt/${P}"
+JDK_HOME="${EPREFIX}/opt/${P}"
+JAVAC="\${JAVA_HOME}/bin/javac"
+PATH="\${JAVA_HOME}/bin"
+ROOTPATH="\${JAVA_HOME}/bin"
+LDPATH="\${JAVA_HOME}/lib/:\${JAVA_HOME}/lib/server/"
+MANPATH=""
+PROVIDES_TYPE="JDK JRE"
+PROVIDES_VERSION="${SLOT}"
+BOOTCLASSPATH=""
+GENERATION="2"
+ENV_VARS="JAVA_HOME JDK_HOME JAVAC PATH ROOTPATH LDPATH MANPATH"
diff --git a/dev-java/openjdk-bin/metadata.xml b/dev-java/openjdk-bin/metadata.xml
new file mode 100644
index 0000000..439b4e1
--- /dev/null
+++ b/dev-java/openjdk-bin/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <longdescription>
+ Java™ is the world's leading programming language and platform.
+ The code for Java is open source and available at OpenJDK™.
+ AdoptOpenJDK provides prebuilt OpenJDK binaries from a fully open source set of build scripts and infrastructure.
+ </longdescription>
+ <use>
+ <flag name="headless-awt">Don't install the X backend for AWT, needed by some GUIs (used to be X flag)</flag>
+ <flag name="gentoo-vm">Allow this JDK to be recognised by Gentoo (package manager, eselect, java-config, EXPERIMENTAL!)</flag>
+ <flag name="source">Install JVM sources</flag>
+ <flag name="webstart">Provide javaws command through symlink to icedtea-web</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-java/openjdk-bin/openjdk-bin-14.0.2_p12.ebuild b/dev-java/openjdk-bin/openjdk-bin-14.0.2_p12.ebuild
new file mode 100644
index 0000000..4ccc008
--- /dev/null
+++ b/dev-java/openjdk-bin/openjdk-bin-14.0.2_p12.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit java-vm-2 toolchain-funcs
+
+abi_uri() {
+ echo "${2-$1}? (
+ https://github.com/AdoptOpenJDK/openjdk${SLOT}-binaries/releases/download/jdk-${MY_PV}/OpenJDK${SLOT}U-jdk_${1}_linux_hotspot_${MY_PV//+/_}.tar.gz
+ )"
+}
+
+MY_PV=${PV/_p/+}
+SLOT=${MY_PV%%[.+]*}
+
+SRC_URI="
+ $(abi_uri arm)
+ $(abi_uri aarch64 arm64)
+ $(abi_uri ppc64le ppc64)
+ $(abi_uri x64 amd64)
+"
+
+DESCRIPTION="Prebuilt Java JDK binaries provided by AdoptOpenJDK"
+HOMEPAGE="https://adoptopenjdk.net"
+LICENSE="GPL-2-with-classpath-exception"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64"
+IUSE="alsa cups doc +gentoo-vm headless-awt nsplugin selinux source webstart"
+
+RDEPEND="
+ media-libs/fontconfig:1.0
+ media-libs/freetype:2
+ >=sys-apps/baselayout-java-0.1.0-r1
+ >=sys-libs/glibc-2.2.5:*
+ sys-libs/zlib
+ alsa? ( media-libs/alsa-lib )
+ cups? ( net-print/cups )
+ doc? ( dev-java/java-sdk-docs:${SLOT} )
+ selinux? ( sec-policy/selinux-java )
+ !headless-awt? (
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrender
+ x11-libs/libXtst
+ )"
+
+PDEPEND="webstart? ( >=dev-java/icedtea-web-1.6.1:0 )
+ nsplugin? ( >=dev-java/icedtea-web-1.6.1:0[nsplugin] )"
+
+RESTRICT="preserve-libs splitdebug"
+QA_PREBUILT="*"
+
+S="${WORKDIR}/jdk-${MY_PV}"
+
+pkg_pretend() {
+ if [[ "$(tc-is-softfloat)" != "no" ]]; then
+ die "These binaries require a hardfloat system."
+ fi
+}
+
+src_install() {
+ local dest="/opt/${P}"
+ local ddest="${ED%/}/${dest#/}"
+
+ # Not sure why they bundle this as it's commonly available and they
+ # only do so on x86_64. It's needed by libfontmanager.so. IcedTea
+ # also has an explicit dependency while Oracle seemingly dlopens it.
+ rm -vf lib/libfreetype.so || die
+
+ # Oracle and IcedTea have libjsoundalsa.so depending on
+ # libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird.
+ if ! use alsa ; then
+ rm -v lib/libjsound.* || die
+ fi
+
+ if use headless-awt ; then
+ rm -v lib/lib*{[jx]awt,splashscreen}* || die
+ fi
+
+ if ! use source ; then
+ rm -v lib/src.zip || die
+ fi
+
+ rm -v lib/security/cacerts || die
+ dosym ../../../../etc/ssl/certs/java/cacerts \
+ "${dest}"/lib/security/cacerts
+
+ dodir "${dest}"
+ cp -pPR * "${ddest}" || die
+
+ # provide stable symlink
+ dosym "${P}" "/opt/${PN}-${SLOT}"
+
+ use gentoo-vm && java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh
+ java-vm_set-pax-markings "${ddest}"
+ java-vm_revdep-mask
+ java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
+}
+
+pkg_postinst() {
+ java-vm-2_pkg_postinst
+
+ if use gentoo-vm ; then
+ ewarn "WARNING! You have enabled the gentoo-vm USE flag, making this JDK"
+ ewarn "recognised by the system. This will almost certainly break"
+ ewarn "many java ebuilds as they are not ready for openjdk-11"
+ else
+ ewarn "The experimental gentoo-vm USE flag has not been enabled so this JDK"
+ ewarn "will not be recognised by the system. For example, simply calling"
+ ewarn "\"java\" will launch a different JVM. This is necessary until Gentoo"
+ ewarn "fully supports Java 11. This JDK must therefore be invoked using its"
+ ewarn "absolute location under ${EPREFIX}/opt/${P}."
+ fi
+}
diff --git a/dev-java/openjdk-jre-bin/Manifest b/dev-java/openjdk-jre-bin/Manifest
new file mode 100644
index 0000000..cfee5f6
--- /dev/null
+++ b/dev-java/openjdk-jre-bin/Manifest
@@ -0,0 +1 @@
+DIST OpenJDK14U-jre_x64_linux_hotspot_14.0.2_12.tar.gz 56839756 BLAKE2B 1e4c9b2f9a3daed50748cf53b74373ff9ef0c70b3a7d30c65efdcbc4e5c8b1cdfe55546d316aefe3019e66ef35d771d14bde39143ebb74bd4c7db467cdf90064 SHA512 283a79257728523b6e75e7632929c350ffd6c77bc9ff5c1a13a6c5d26ea941795ffce46bf3eec6fccd7320a6c36fef13348a5373973e13b613ded6b73219ee97
diff --git a/dev-java/openjdk-jre-bin/files/openjdk-jre-bin-14.env.sh b/dev-java/openjdk-jre-bin/files/openjdk-jre-bin-14.env.sh
new file mode 100644
index 0000000..ec0dca4
--- /dev/null
+++ b/dev-java/openjdk-jre-bin/files/openjdk-jre-bin-14.env.sh
@@ -0,0 +1,16 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+VERSION="AdoptOpenJDK JRE ${PV}"
+JAVA_HOME="${EPREFIX}/opt/${P}"
+JDK_HOME="${EPREFIX}/opt/${P}"
+JAVAC="\${JAVA_HOME}/bin/javac"
+PATH="\${JAVA_HOME}/bin"
+ROOTPATH="\${JAVA_HOME}/bin"
+LDPATH="\${JAVA_HOME}/lib/:\${JAVA_HOME}/lib/server/"
+MANPATH="\${JAVA_HOME}/man"
+PROVIDES_TYPE="JRE"
+PROVIDES_VERSION="${SLOT}"
+BOOTCLASSPATH=""
+GENERATION="2"
+ENV_VARS="JAVA_HOME JDK_HOME JAVAC PATH ROOTPATH LDPATH MANPATH"
diff --git a/dev-java/openjdk-jre-bin/metadata.xml b/dev-java/openjdk-jre-bin/metadata.xml
new file mode 100644
index 0000000..7a807f5
--- /dev/null
+++ b/dev-java/openjdk-jre-bin/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gyakovlev@gentoo.org</email>
+ <name>Georgy Yakovlev</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <longdescription>
+ Java™ is the world's leading programming language and platform.
+ The code for Java is open source and available at OpenJDK™.
+ AdoptOpenJDK provides prebuilt OpenJDK JRE binaries from a fully open source set of build scripts and infrastructure.
+ </longdescription>
+ <use>
+ <flag name="headless-awt">Don't install the X backend for AWT, needed by some GUIs (used to be X flag)</flag>
+ <flag name="gentoo-vm">Allow this JDK to be recognised by Gentoo (package manager, eselect, java-config, EXPERIMENTAL!)</flag>
+ <flag name="webstart">Provide javaws command through symlink to icedtea-web</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-java/openjdk-jre-bin/openjdk-jre-bin-14.0.2_p12.ebuild b/dev-java/openjdk-jre-bin/openjdk-jre-bin-14.0.2_p12.ebuild
new file mode 100644
index 0000000..23e7a0f
--- /dev/null
+++ b/dev-java/openjdk-jre-bin/openjdk-jre-bin-14.0.2_p12.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit java-vm-2
+
+abi_uri() {
+ echo "${2-$1}? (
+ https://github.com/AdoptOpenJDK/openjdk${SLOT}-binaries/releases/download/jdk-${MY_PV}/OpenJDK${SLOT}U-jre_${1}_linux_hotspot_${MY_PV//+/_}.tar.gz
+ )"
+}
+
+MY_PV=${PV/_p/+}
+SLOT=${MY_PV%%[.+]*}
+
+SRC_URI="
+ $(abi_uri x64 amd64)
+"
+
+DESCRIPTION="Prebuilt Java JRE binaries provided by AdoptOpenJDK"
+HOMEPAGE="https://adoptopenjdk.net"
+LICENSE="GPL-2-with-classpath-exception"
+KEYWORDS="~amd64"
+IUSE="alsa cups +gentoo-vm headless-awt nsplugin selinux webstart"
+
+RDEPEND="
+ media-libs/fontconfig:1.0
+ media-libs/freetype:2
+ >net-libs/libnet-1.1
+ >=sys-apps/baselayout-java-0.1.0-r1
+ >=sys-libs/glibc-2.2.5:*
+ sys-libs/zlib
+ alsa? ( media-libs/alsa-lib )
+ cups? ( net-print/cups )
+ selinux? ( sec-policy/selinux-java )
+ !headless-awt? (
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrender
+ x11-libs/libXtst
+ )"
+
+PDEPEND="webstart? ( >=dev-java/icedtea-web-1.6.1:0 )
+ nsplugin? ( >=dev-java/icedtea-web-1.6.1:0[nsplugin] )"
+
+RESTRICT="preserve-libs splitdebug"
+QA_PREBUILT="*"
+
+S="${WORKDIR}/jdk-${MY_PV}-jre"
+
+src_install() {
+ local dest="/opt/${P}"
+ local ddest="${ED%/}/${dest#/}"
+
+ # Not sure why they bundle this as it's commonly available and they
+ # only do so on x86_64. It's needed by libfontmanager.so. IcedTea
+ # also has an explicit dependency while Oracle seemingly dlopens it.
+ rm -vf lib/libfreetype.so || die
+
+ # Oracle and IcedTea have libjsoundalsa.so depending on
+ # libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird.
+ if ! use alsa ; then
+ rm -v lib/libjsound.* || die
+ fi
+
+ if use headless-awt ; then
+ rm -v lib/lib*{[jx]awt,splashscreen}* || die
+ fi
+
+ rm -v lib/security/cacerts || die
+ dosym ../../../../etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
+
+ dodir "${dest}"
+ cp -pPR * "${ddest}" || die
+
+ # provide stable symlink
+ dosym "${P}" "/opt/${PN}-${SLOT}"
+
+ use gentoo-vm && java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh
+ java-vm_set-pax-markings "${ddest}"
+ java-vm_revdep-mask
+ java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
+}
+
+pkg_postinst() {
+ java-vm-2_pkg_postinst
+
+ if use gentoo-vm ; then
+ ewarn "WARNING! You have enabled the gentoo-vm USE flag, making this JRE"
+ ewarn "recognised by the system. This will almost certainly break things."
+ else
+ ewarn "The experimental gentoo-vm USE flag has not been enabled so this JRE"
+ ewarn "will not be recognised by the system. For example, simply calling"
+ ewarn "\"java\" will launch a different JVM. This is necessary until Gentoo"
+ ewarn "fully supports Java 11. This JRE must therefore be invoked using its"
+ ewarn "absolute location under ${EPREFIX}/opt/${P}."
+ fi
+}
diff --git a/dev-java/openjdk/Manifest b/dev-java/openjdk/Manifest
new file mode 100644
index 0000000..6e45ba1
--- /dev/null
+++ b/dev-java/openjdk/Manifest
@@ -0,0 +1 @@
+DIST openjdk-14.0.2_p12.tar.bz2 83827689 BLAKE2B acd8a61156800941781a2f4c2d3acc61d7124254ec573b6e4eb45e0e031b4b4403475bec617c4130715b5764982a0d2bf990c07e8593817524093ed7fc86a2c8 SHA512 fb129d2e0f3b007d249073c6a0f20fe9c2917eafbae1c4a6c51126180a70e5debb348c3770a785b54576f2a338cb10fdfbd1fca5879e49f80a4fa5c190338fa9
diff --git a/dev-java/openjdk/files/openjdk-14.env.sh b/dev-java/openjdk/files/openjdk-14.env.sh
new file mode 100644
index 0000000..96c4be7
--- /dev/null
+++ b/dev-java/openjdk/files/openjdk-14.env.sh
@@ -0,0 +1,16 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+VERSION="OpenJDK ${PV}"
+JAVA_HOME="${EPREFIX}/usr/$(get_libdir)/${PN}-${SLOT}"
+JDK_HOME="${EPREFIX}/usr/$(get_libdir)/${PN}-${SLOT}"
+JAVAC="\${JAVA_HOME}/bin/javac"
+PATH="\${JAVA_HOME}/bin"
+ROOTPATH="\${JAVA_HOME}/bin"
+LDPATH="\${JAVA_HOME}/lib/:\${JAVA_HOME}/lib/server/"
+MANPATH=""
+PROVIDES_TYPE="JDK JRE"
+PROVIDES_VERSION="${SLOT}"
+BOOTCLASSPATH=""
+GENERATION="2"
+ENV_VARS="JAVA_HOME JDK_HOME JAVAC PATH ROOTPATH LDPATH MANPATH"
diff --git a/dev-java/openjdk/metadata.xml b/dev-java/openjdk/metadata.xml
new file mode 100644
index 0000000..d77f0ff
--- /dev/null
+++ b/dev-java/openjdk/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <slots>
+ <slot name="14">Java™ version 14</slot>
+ </slots>
+ <use>
+ <flag name="headless-awt">Don't install the X backend for AWT, needed by some GUIs</flag>
+ <flag name="gentoo-vm">Allow this JDK to be recognised by Gentoo (package manager, eselect, java-config, EXPERIMENTAL!)</flag>
+ <flag name="javafx">Import OpenJFX modules at build time, via <pkg>dev-java/openjfx</pkg></flag>
+ <flag name="jbootstrap">Build OpenJDK twice, the second time using the result of the first</flag>
+ <flag name="source">Install JVM sources</flag>
+ <flag name="systemtap">Enable SystemTAP/DTrace tracing</flag>
+ <flag name="webstart">Provide javaws command through symlink to icedtea-web</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-java/openjdk/openjdk-14.0.2_p12.ebuild b/dev-java/openjdk/openjdk-14.0.2_p12.ebuild
new file mode 100644
index 0000000..35a2c27
--- /dev/null
+++ b/dev-java/openjdk/openjdk-14.0.2_p12.ebuild
@@ -0,0 +1,276 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools check-reqs flag-o-matic java-pkg-2 java-vm-2 multiprocessing pax-utils toolchain-funcs
+
+# we need -ga tag to fetch tarball and unpack it, but exact number everywhere else to
+# set build version properly
+MY_PV="${PV%_p*}-ga"
+SLOT="${MY_PV%%[.+]*}"
+
+DESCRIPTION="Open source implementation of the Java programming language"
+HOMEPAGE="https://openjdk.java.net"
+SRC_URI="https://hg.${PN}.java.net/jdk-updates/jdk${SLOT}u/archive/jdk-${MY_PV}.tar.bz2 -> ${P}.tar.bz2"
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64"
+
+IUSE="alsa cups debug doc examples gentoo-vm headless-awt javafx +jbootstrap nsplugin +pch selinux source systemtap webstart"
+
+COMMON_DEPEND="
+ media-libs/freetype:2=
+ media-libs/giflib:0/7
+ media-libs/libpng:0=
+ media-libs/lcms:2=
+ sys-libs/zlib
+ virtual/jpeg:0=
+ systemtap? ( dev-util/systemtap )
+"
+
+# Many libs are required to build, but not to run, make is possible to remove
+# by listing conditionally in RDEPEND unconditionally in DEPEND
+RDEPEND="
+ ${COMMON_DEPEND}
+ >=sys-apps/baselayout-java-0.1.0-r1
+ !headless-awt? (
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXt
+ x11-libs/libXtst
+ )
+ alsa? ( media-libs/alsa-lib )
+ cups? ( net-print/cups )
+ selinux? ( sec-policy/selinux-java )
+"
+
+DEPEND="
+ ${COMMON_DEPEND}
+ app-arch/zip
+ media-libs/alsa-lib
+ net-print/cups
+ x11-base/xorg-proto
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXt
+ x11-libs/libXtst
+ javafx? ( dev-java/openjfx:${SLOT}= )
+ || (
+ dev-java/openjdk-bin:${SLOT}
+ dev-java/openjdk:${SLOT}
+ )
+"
+
+PDEPEND="
+ webstart? ( >=dev-java/icedtea-web-1.6.1:0 )
+ nsplugin? ( >=dev-java/icedtea-web-1.6.1:0[nsplugin] )
+"
+
+REQUIRED_USE="javafx? ( alsa !headless-awt )"
+
+S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV}"
+
+# The space required to build varies wildly depending on USE flags,
+# ranging from 2GB to 16GB. This function is certainly not exact but
+# should be close enough to be useful.
+openjdk_check_requirements() {
+ local M
+ M=2048
+ M=$(( $(usex jbootstrap 2 1) * $M ))
+ M=$(( $(usex debug 3 1) * $M ))
+ M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M ))
+
+ CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
+}
+
+pkg_pretend() {
+ openjdk_check_requirements
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}"
+ fi
+}
+
+pkg_setup() {
+ openjdk_check_requirements
+ java-vm-2_pkg_setup
+
+ JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT}"
+ JAVA_PKG_WANT_SOURCE="${SLOT}"
+ JAVA_PKG_WANT_TARGET="${SLOT}"
+
+ # The nastiness below is necessary while the gentoo-vm USE flag is
+ # masked. First we call java-pkg-2_pkg_setup if it looks like the
+ # flag was unmasked against one of the possible build VMs. If not,
+ # we try finding one of them in their expected locations. This would
+ # have been slightly less messy if openjdk-bin had been installed to
+ # /opt/${PN}-${SLOT} or if there was a mechanism to install a VM env
+ # file but disable it so that it would not normally be selectable.
+
+ local vm
+ for vm in ${JAVA_PKG_WANT_BUILD_VM}; do
+ if [[ -d ${EPREFIX}/usr/lib/jvm/${vm} ]]; then
+ java-pkg-2_pkg_setup
+ return
+ fi
+ done
+
+ if has_version --host-root dev-java/openjdk:${SLOT}; then
+ export JDK_HOME=${EPREFIX}/usr/$(get_libdir)/openjdk-${SLOT}
+ else
+ if [[ ${MERGE_TYPE} != "binary" ]]; then
+ JDK_HOME=$(best_version --host-root dev-java/openjdk-bin:${SLOT})
+ [[ -n ${JDK_HOME} ]] || die "Build VM not found!"
+ JDK_HOME=${JDK_HOME#*/}
+ JDK_HOME=${EPREFIX}/opt/${JDK_HOME%-r*}
+ export JDK_HOME
+ fi
+ fi
+}
+
+src_prepare() {
+ default
+ chmod +x configure || die
+}
+
+src_configure() {
+ # Work around stack alignment issue, bug #647954. in case we ever have x86
+ use x86 && append-flags -mincoming-stack-boundary=2
+
+ # Work around -fno-common ( GCC10 default ), bug #713180
+ append-flags -fcommon
+
+ # Enabling full docs appears to break doc building. If not
+ # explicitly disabled, the flag will get auto-enabled if pandoc and
+ # graphviz are detected. pandoc has loads of dependencies anyway.
+
+ local myconf=(
+ --disable-ccache
+ --enable-full-docs=no
+ --with-boot-jdk="${JDK_HOME}"
+ --with-extra-cflags="${CFLAGS}"
+ --with-extra-cxxflags="${CXXFLAGS}"
+ --with-extra-ldflags="${LDFLAGS}"
+ --with-giflib=system
+ --with-lcms=system
+ --with-libjpeg=system
+ --with-libpng=system
+ --with-native-debug-symbols=$(usex debug internal none)
+ --with-vendor-name="Gentoo"
+ --with-vendor-url="https://gentoo.org"
+ --with-vendor-bug-url="https://bugs.gentoo.org"
+ --with-vendor-vm-bug-url="https://bugs.openjdk.java.net"
+ --with-vendor-version-string="${PVR}"
+ --with-version-pre=""
+ --with-version-string="${PV%_p*}"
+ --with-version-build="${PV#*_p}"
+ --with-zlib=system
+ --enable-dtrace=$(usex systemtap yes no)
+ --enable-headless-only=$(usex headless-awt yes no)
+ )
+
+ if use javafx; then
+ local zip="${EROOT%/}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip"
+ if [[ -r ${zip} ]]; then
+ myconf+=( --with-import-modules="${zip}" )
+ else
+ die "${zip} not found or not readable"
+ fi
+ fi
+
+ # PaX breaks pch, bug #601016
+ if use pch && ! host-is-pax; then
+ myconf+=( --enable-precompiled-headers )
+ else
+ myconf+=( --disable-precompiled-headers )
+ fi
+
+ (
+ unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC XARGS
+ CFLAGS= CXXFLAGS= LDFLAGS= \
+ CONFIG_SITE=/dev/null \
+ econf "${myconf[@]}"
+ )
+}
+
+src_compile() {
+ local myemakeargs=(
+ JOBS=$(makeopts_jobs)
+ LOG=debug
+ CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror
+ $(usex doc docs '')
+ $(usex jbootstrap bootcycle-images product-images)
+ )
+ emake "${myemakeargs[@]}" -j1 #nowarn
+}
+
+src_install() {
+ local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
+ local ddest="${ED}${dest#/}"
+
+ cd "${S}"/build/*-release/images/jdk || die
+
+ # Create files used as storage for system preferences.
+ mkdir .systemPrefs || die
+ touch .systemPrefs/.system.lock || die
+ touch .systemPrefs/.systemRootModFile || die
+
+ # Oracle and IcedTea have libjsoundalsa.so depending on
+ # libasound.so.2 but OpenJDK only has libjsound.so. Weird.
+ if ! use alsa ; then
+ rm -v lib/libjsound.* || die
+ fi
+
+ if ! use examples ; then
+ rm -vr demo/ || die
+ fi
+
+ if ! use source ; then
+ rm -v lib/src.zip || die
+ fi
+
+ rm -v lib/security/cacerts || die
+
+ dodir "${dest}"
+ cp -pPR * "${ddest}" || die
+
+ dosym ../../../../../etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
+
+ # must be done before running itself
+ java-vm_set-pax-markings "${ddest}"
+
+ einfo "Creating the Class Data Sharing archives and disabling usage tracking"
+ "${ddest}/bin/java" -server -Xshare:dump -Djdk.disableLastUsageTracking || die
+
+ use gentoo-vm && java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh
+ java-vm_revdep-mask
+ java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
+
+ if use doc ; then
+ docinto html
+ dodoc -r "${S}"/build/*-release/images/docs/*
+ dosym ../../../usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}"
+ fi
+}
+
+pkg_postinst() {
+ java-vm-2_pkg_postinst
+
+ if use gentoo-vm ; then
+ ewarn "WARNING! You have enabled the gentoo-vm USE flag, making this JDK"
+ ewarn "recognised by the system. This will almost certainly break"
+ ewarn "many java ebuilds as they are not ready for openjdk-11"
+ else
+ ewarn "The experimental gentoo-vm USE flag has not been enabled so this JDK"
+ ewarn "will not be recognised by the system. For example, simply calling"
+ ewarn "\"java\" will launch a different JVM. This is necessary until Gentoo"
+ ewarn "fully supports Java ${SLOT}. This JDK must therefore be invoked using its"
+ ewarn "absolute location under ${EPREFIX}/usr/$(get_libdir)/${PN}-${SLOT}."
+ fi
+}
diff --git a/dev-libs/aml/aml-9999.ebuild b/dev-libs/aml/aml-9999.ebuild
new file mode 100644
index 0000000..48ae40e
--- /dev/null
+++ b/dev-libs/aml/aml-9999.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit meson
+
+DESCRIPTION="Another Main Loop"
+HOMEPAGE="https://github.com/any1/aml"
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/any1/aml.git"
+else
+ SRC_URI="https://github.com/any1/aml/archive/v${PV}.tar.gz"
+fi
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS=""
+IUSE="examples"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+BDEPEND=""
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use examples)
+ )
+
+ meson_src_configure
+}
diff --git a/dev-libs/aml/metadata.xml b/dev-libs/aml/metadata.xml
new file mode 100644
index 0000000..004555a
--- /dev/null
+++ b/dev-libs/aml/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>alex_y_xu@yahoo.ca</email>
+ <name>Alex Xu (Hello71)</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libdwarf/Manifest b/dev-libs/libdwarf/Manifest
new file mode 100644
index 0000000..d236dd1
--- /dev/null
+++ b/dev-libs/libdwarf/Manifest
@@ -0,0 +1 @@
+DIST libdwarf-20200719.tar.gz 2754563 BLAKE2B 6d6f48605eaa54a4aae99d9a1863b4eaf513d585720a699308edbab333b0ec1528b90f3cc945453c775a5dc4c19a9f62935ad5fb8a98a7d8f726bc3321fb9638 SHA512 d474482a7391ca660fa08c2f52ef1c2961b7c2e7e5b92bf733a9996b7f610ec227ff6ea00401f0b4fcd897552fc3b0b054e706a36aaffe10841a383391e013a0
diff --git a/dev-libs/libdwarf/libdwarf-20200719.ebuild b/dev-libs/libdwarf/libdwarf-20200719.ebuild
new file mode 100644
index 0000000..4b8675f
--- /dev/null
+++ b/dev-libs/libdwarf/libdwarf-20200719.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="The DWARF Debugging Information Format"
+HOMEPAGE="https://www.prevanders.net/dwarf.html"
+SRC_URI="https://www.prevanders.net/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE=""
+
+DEPEND="virtual/libelf"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ econf --includedir="${EPREFIX}/usr/include/${PN}" --enable-shared --disable-static
+}
diff --git a/dev-libs/libdwarf/metadata.xml b/dev-libs/libdwarf/metadata.xml
new file mode 100644
index 0000000..004555a
--- /dev/null
+++ b/dev-libs/libdwarf/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>alex_y_xu@yahoo.ca</email>
+ <name>Alex Xu (Hello71)</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-util/android-udev-rules/Manifest b/dev-util/android-udev-rules/Manifest
new file mode 100644
index 0000000..8f47658
--- /dev/null
+++ b/dev-util/android-udev-rules/Manifest
@@ -0,0 +1 @@
+DIST android-udev-rules-20200613.tar.bz2 20119 BLAKE2B 47499d6b315d7e16ac2fcfba29586b55b5125dfb307d5b835bf749382296dbcf8225644d366dcdc3b99f2b9db03e1b9ee9306ffe8ae940bb4e83534c8587d8e4 SHA512 75e4bfec4cb5edc488a698807cc7dec8aa3c0c22495d5e613636a16dc746a78d548ce164e7899f4228f1e515bc61efa61fb0b5c85e59da695c3976aa3781567c
diff --git a/dev-util/android-udev-rules/android-udev-rules-20200613.ebuild b/dev-util/android-udev-rules/android-udev-rules-20200613.ebuild
new file mode 100644
index 0000000..09153b6
--- /dev/null
+++ b/dev-util/android-udev-rules/android-udev-rules-20200613.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit vcs-snapshot udev user
+
+DESCRIPTION="Comprehensive list of udev rules to connect to android devices"
+HOMEPAGE="https://github.com/M0Rf30/android-udev-rules"
+SRC_URI="https://github.com/M0Rf30/android-udev-rules/archive/${PV}.tar.gz -> ${P}.tar.bz2"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="virtual/udev"
+DEPEND="${RDEPEND}"
+
+src_install() {
+ udev_dorules 51-android.rules
+}
+
+pkg_setup() {
+ enewgroup adbusers
+}
+
+pkg_postinst() {
+ einfo "To be able to use android devices,"
+ einfo "add yourself to the 'adbusers' group by calling"
+ einfo " usermod -a -G adbusers <user>"
+}
diff --git a/dev-util/android-udev-rules/metadata.xml b/dev-util/android-udev-rules/metadata.xml
new file mode 100644
index 0000000..ba2f69e
--- /dev/null
+++ b/dev-util/android-udev-rules/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>nyronium@genthree.io</email>
+ <name>nyronium</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-util/pmbootstrap/Manifest b/dev-util/pmbootstrap/Manifest
new file mode 100644
index 0000000..24534e2
--- /dev/null
+++ b/dev-util/pmbootstrap/Manifest
@@ -0,0 +1 @@
+DIST pmbootstrap-1.20.0.tar.gz 178348 BLAKE2B 9cbd2daad46a40959660ac78756111eae3340f308a8a111be43e284841a234dbd93aff1a73e3b766033cba0bec0d8378629d446f64e535c79c7424e68acbddf3 SHA512 c83f434ea53b9bbf84ad982ba25eba05da063519727cdc209d2b2ff32370f0aa28914615953b559a7a1c7b1b9099610ddeea2afbe1d7d4cf3ad5c70b9281d46c
diff --git a/dev-util/pmbootstrap/metadata.xml b/dev-util/pmbootstrap/metadata.xml
new file mode 100644
index 0000000..004555a
--- /dev/null
+++ b/dev-util/pmbootstrap/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>alex_y_xu@yahoo.ca</email>
+ <name>Alex Xu (Hello71)</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-util/pmbootstrap/pmbootstrap-1.20.0.ebuild b/dev-util/pmbootstrap/pmbootstrap-1.20.0.ebuild
new file mode 100644
index 0000000..f1808e0
--- /dev/null
+++ b/dev-util/pmbootstrap/pmbootstrap-1.20.0.ebuild
@@ -0,0 +1,19 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9} pypy3 )
+inherit distutils-r1
+
+DESCRIPTION="Sophisticated chroot/build/flash tool to develop and install postmarketOS"
+HOMEPAGE="https://gitlab.com/postmarketOS/pmbootstrap"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+BDEPEND=""
diff --git a/games-rpg/runescape-launcher/Manifest b/games-rpg/runescape-launcher/Manifest
new file mode 100644
index 0000000..bafb371
--- /dev/null
+++ b/games-rpg/runescape-launcher/Manifest
@@ -0,0 +1 @@
+DIST runescape-launcher_2.2.7_amd64.deb 3878764 BLAKE2B 70e1cfdc2f73a2e85da4b28282a83f16bd6bc62e98271090028b3ec1605503d3ea40841693a18bda699a17f63ca464ac432a076982d83484d4ab2ef086200feb SHA512 7f077e6669722e3d1582b362f11da4b6189a508fe285be1353c90615dbe996e16f02d3f3b76fc45afb49449cba80a5a8d1626d2bd368575db76400be050cdefc
diff --git a/games-rpg/runescape-launcher/metadata.xml b/games-rpg/runescape-launcher/metadata.xml
new file mode 100644
index 0000000..004555a
--- /dev/null
+++ b/games-rpg/runescape-launcher/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>alex_y_xu@yahoo.ca</email>
+ <name>Alex Xu (Hello71)</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/games-rpg/runescape-launcher/runescape-launcher-2.2.7.ebuild b/games-rpg/runescape-launcher/runescape-launcher-2.2.7.ebuild
new file mode 100644
index 0000000..a071d10
--- /dev/null
+++ b/games-rpg/runescape-launcher/runescape-launcher-2.2.7.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit unpacker
+
+DESCRIPTION="Official RuneScape NXT client launcher"
+HOMEPAGE="http://www.runescape.com"
+SRC_URI="http://content.runescape.com/downloads/ubuntu/pool/non-free/${PN:0:1}/${PN}/${PN}_${PV}_amd64.deb"
+
+LICENSE="RuneScape-EULA"
+SLOT="0"
+KEYWORDS="-* ~amd64"
+
+DEPEND=""
+RDEPEND="
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:2
+ sys-libs/libcap
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXxf86vm
+ dev-libs/openssl
+ x11-libs/pango
+ media-libs/libsdl2"
+BDEPEND=""
+
+RESTRICT="bindist mirror strip"
+QA_PREBUILT="/opt/runescape-launcher/runescape"
+
+S="${WORKDIR}"
+
+src_install() {
+ cp -r usr "${D}"
+}
diff --git a/gui-apps/waypipe/Manifest b/gui-apps/waypipe/Manifest
new file mode 100644
index 0000000..814badb
--- /dev/null
+++ b/gui-apps/waypipe/Manifest
@@ -0,0 +1 @@
+DIST waypipe-v0.6.1.tar.bz2 115292 BLAKE2B 09be6a5a36c5bcf3ceda9a27cdc682e0e3ed18e2c760deed3deb57156d0d1ce35699f098116a5ca31f2b7ea2e6efdc6cfef430b950a4e823a695d533259b9c56 SHA512 86d93c527d08b27d4a29c3e235a7c3399567d771ea462b6a052014a1ef57cae9cdf7a15bb1a4a631ebf664b1c6b36d3b2b50f7f1804302314beb3bb368a12aa4
diff --git a/gui-apps/waypipe/metadata.xml b/gui-apps/waypipe/metadata.xml
new file mode 100644
index 0000000..7395642
--- /dev/null
+++ b/gui-apps/waypipe/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="person">
+ <email>alex_y_xu@yahoo.ca</email>
+ <name>Alex Xu (Hello71)</name>
+ </maintainer>
+ <use>
+ <flag name="drm">Direct Rendering Manager support</flag>
+ <flag name="man">Install man pages</flag>
+ </use>
+</pkgmetadata>
diff --git a/gui-apps/waypipe/waypipe-0.6.1.ebuild b/gui-apps/waypipe/waypipe-0.6.1.ebuild
new file mode 100644
index 0000000..367f58f
--- /dev/null
+++ b/gui-apps/waypipe/waypipe-0.6.1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8} )
+
+inherit meson python-any-r1
+
+DESCRIPTION="proxy for Wayland clients"
+HOMEPAGE="https://gitlab.freedesktop.org/mstoeckl/waypipe"
+SRC_URI="https://gitlab.freedesktop.org/mstoeckl/waypipe/-/archive/v0.6.1/waypipe-v0.6.1.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+drm ffmpeg lz4 +man test vaapi zstd"
+
+REQUIRED_USE="vaapi? ( ffmpeg )"
+
+DEPEND="
+ dev-libs/wayland
+ drm? ( x11-libs/libdrm )
+ ffmpeg? ( virtual/ffmpeg )
+ lz4? ( app-arch/lz4:= )
+ vaapi? ( x11-libs/libva )
+ zstd? ( app-arch/zstd:= )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-libs/wayland-protocols
+ man? ( app-text/scdoc )
+ test? ( dev-libs/weston )
+"
+
+S="${WORKDIR}/${PN}-v${PV}"
+
+src_configure() {
+ local emesonargs=(
+ -Dwerror=false
+ $(meson_feature man man-pages)
+ $(meson_feature ffmpeg with_video)
+ $(meson_feature drm with_dmabuf)
+ $(meson_feature lz4 with_lz4)
+ $(meson_feature zstd with_zstd)
+ $(meson_feature vaapi with_vaapi)
+ )
+ meson_src_configure
+}
diff --git a/gui-apps/wshowkeys/metadata.xml b/gui-apps/wshowkeys/metadata.xml
new file mode 100644
index 0000000..004555a
--- /dev/null
+++ b/gui-apps/wshowkeys/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>alex_y_xu@yahoo.ca</email>
+ <name>Alex Xu (Hello71)</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/gui-apps/wshowkeys/wshowkeys-9999.ebuild b/gui-apps/wshowkeys/wshowkeys-9999.ebuild
new file mode 100644
index 0000000..2d5faf6
--- /dev/null
+++ b/gui-apps/wshowkeys/wshowkeys-9999.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit git-r3 meson
+
+DESCRIPTION="Displays keys being pressed on a Wayland session"
+HOMEPAGE="https://git.sr.ht/~sircmpwn/wshowkeys"
+EGIT_REPO_URI="https://git.sr.ht/~sircmpwn/wshowkeys"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS=""
+IUSE=""
+
+RDEPEND="
+ dev-libs/libinput
+ dev-libs/wayland
+ virtual/libudev
+ x11-libs/cairo
+ x11-libs/libxkbcommon
+ x11-libs/pango
+"
+DEPEND="${RDEPEND}
+ dev-libs/wayland-protocols
+"
+
+src_install() {
+ meson_src_install
+ fperms u+s /usr/bin/wshowkeys
+}
diff --git a/licenses/RuneScape-EULA b/licenses/RuneScape-EULA
new file mode 100644
index 0000000..ce74294
--- /dev/null
+++ b/licenses/RuneScape-EULA
@@ -0,0 +1,405 @@
+Version 2.0 (19 May 2020)
+END USER LICENCE AGREEMENT FOR RUNESCAPE AND OLD SCHOOL RUNESCAPE CLIENT
+
+PLEASE READ CAREFULLY BEFORE INSTALLING THE SOFTWARE
+
+This end user licence agreement ("Licence") is a legal agreement between you and Jagex Limited of 220 Cambridge Science Park, Cambridge, England, CB4 0WA relating to the software programs (known as "RuneScape Client" or "Old School RuneScape Client") and any updates, upgrades, patches or other modifications made to the software programs from time to time (collectively referred to as "Software").
+
+Any reference to “Game” shall include both RuneScape or Old School RuneScape including all updates, upgrades, additional content, variations and expansion packs for the purposes of this Licence.
+
+In this Licence you, the user of the Software, are referred to as "you" "your", "yours" and in this agreement we are referred to as "Jagex", "we", "us" or "our".
+
+We license use of the Software to you on the basis of this Licence. We do not sell the Software to you and we remain the owners of the Software at all times.
+
+IMPORTANT NOTICE TO ALL USERS:
+
+This Licence governs the terms on which the Software is made available to you and the permitted use by you. By downloading or accessing the Software in any way (whether as part of the creation of an Account (defined below) or not and whether on any Jagex or third-party platform), you confirm that you are aged 18 years old or over and have read and accept the terms of this Licence, or if you are aged between 13 and 18, your parent or legal guardian has read and accepted the terms of this Licence. We may immediately terminate this Licence and stop your access to the Software if we are not satisfied that such acceptance by the parent or legal guardian has been given. You and your parent(s) or legal guardian(s) must review the terms of this Licence together. Parents and legal guardians are responsible for the acts of children under 18 years of age when using the Software.
+
+* BY CLICKING ON THE “YES” OR “INSTALL” BUTTON, OR BY ACCESSING, DOWNLOADING OR INSTALLING THE SOFTWARE OR OTHERWISE USING THE SOFTWARE OR RELATED GAME IN ANY WAY, YOU AGREE TO THE TERMS OF THIS LICENCE (AND ALL TERMS INCORPORATED BY REFERENCE)AND ACKNOWLEDGE THAT SUCH LICENCE TERMS ARE LEGALLY BINDING ON YOU.
+
+* IF YOU DO NOT AGREE TO THE TERMS OF THIS LICENCE, PLEASE CLICK THE “NO” OR “EXIT” BUTTON AND/OR DO NOT USE THE SOFTWARE IN ANY WAY. IN SUCH CIRCUMSTANCES WE WILL NOT LICENCE THE SOFTWARE TO YOU AND YOU WILL NOT BE PERMITTED TO INSTALL, DOWNLOAD, ACCESS, COPY OR USE THE SOFTWARE IN ANY WAY WHATSOEVER. YOUR CONTINUED USE OF THE SOFTWARE IN ANY WAY (INCLUDING INSTALLATION OF THE SOFTWARE), WILL INDICATE YOUR ACCEPTANCE OF THE TERMS OF THIS LICENCE.
+
+In addition to the terms of this Licence, any and all uses of the Software are subject to our privacy policy located at https://www.jagex.com/en-GB/terms/privacy ("Privacy Policy") and the Game terms and conditions of use available at: https://www.jagex.com/en-GB/terms ("Terms and Conditions"), and the rules of the Game available at https://www.runescape.com/game-guide/rules ("Game Rules") all of which are incorporated into this Licence by reference. By agreeing to this Licence, you agree to be legally bound by the Privacy Policy, the Game Rules and the Terms and Conditions.
+
+You understand and agree that we may add to or change the terms of this Licence at any time. We may change the terms of this Licence to reflect: (a) changes in applicable laws; (b) regulatory or security requirements; (c) relevant guidance or codes of practice; (d) technical alterations; (e) to improve clarity and consistency; (f) to reflect changes to our users’ needs and our business priorities, or (g) for any other reason.
+
+Any change to the terms of this Licence shall be effective immediately and your continued use of the Software in any way (whether on any Jagex or third-party platform) shall constitute on-going acceptance of the updated terms of this Licence, as updated or varied from time to time. We therefore recommend that you check the terms and conditions of this Licence regularly. The current Licence is available at the link below. Link: https://www.jagex.com/legal/eula-runescape-oldschool
+
+1. GRANT AND SCOPE OF LICENCE
+
+1.1 Subject to you complying with this Licence, we grant you a limited, revocable, royalty-free, non-exclusive, non-transferable, non-sub-licensable licence to use the Software, solely for your personal and non-commercial use. To be clear, we consider the creation of an Account (defined below in Section 4) to access the Software in order to understand, analyse, decompile, reflect, alter, adapt, vary, reverse engineer, copy, reproduce, or transmit such authorised Software or do anything similar or equivalent, falls outside the scope of “personal and non-commercial use” and constitutes a material breach of the terms of this Licence.
+
+1.2 When downloading and accessing the Software, or uploading content from the Software, standard network and/or broadband charges may apply. You may incur additional data charges from your network operator according to your contract with your relevant internet provider which you are solely responsible for.
+
+2. RESTRICTIONS
+
+2.1 Except as expressly set out in this Licence you undertake that you will not (and will not permit or encourage or procure others directly or indirectly to):
+
+a. in whole or in part, copy, reproduce, disassemble, decompile, reverse-engineer or create derivative works of the Software (or any part of it), except where such copying is incidental to normal use of the Software;
+
+b. rent, sell, lease, sub-license, loan, publish, display, distribute or otherwise transfer to a third party the Software, any copy thereof, in whole or in part;
+
+c. reflect, translate, alter, modify, merge, adapt, vary or make alterations to, or modifications of, the whole or any part of the Software, nor permit the Software or any part of it to be combined with, or become incorporated in, any other programs;
+
+d. combine, associate, wrap-around, integrate, or align, any third-party software, components or add-on features with the Software or any part of it, in any manner whatsoever;
+
+e. exploit or otherwise make available the Software or any of its parts for any purpose including any commercial purpose;
+
+f. disassemble, decompile, reverse-engineer or create derivative works based on the whole or any part of the Software or attempt to do any such things, except to the extent that such actions cannot be prohibited by law; and
+
+g. bypass or seek to bypass any security or technical measures (including de-obfuscating any code) relating to the Software, including by the adoption of techniques and technologies now known or hereafter developed.
+
+2.2 You must not use in connection with the Game any third-party software (including any game client which has not been developed by Jagex or licensed under this Licence) which undertakes or enables any of the restricted activities specified at Section 2.1 above in relation to the Software.
+
+2.3 Any use of the Software not expressly authorised by the terms of this Licence is expressly prohibited. Any use of the Software in violation of the Licence and restrictions will be regarded both as a breach of the terms of this Licence and/or as an infringement of our intellectual property rights in and to the Software (as detailed below).
+
+3. INTELLECTUAL PROPERTY RIGHTS
+
+3.1 You acknowledge, accept and agree that all title, ownership rights and intellectual property rights in and to the Software and all copies thereof (including without limitation any titles, computer code, themes, objects, characters, storylines, catch phrases, locations, concepts, artwork, landscape designs, animations, sounds, musical compositions, recordings and audio-visual effects) anywhere in the world belong to us and/or our third-party licensors.
+
+3.2 You acknowledge that rights in the Software are licensed (not sold) to you, and that you have no rights in, or to, the Software other than the right to use them in accordance with the terms of this Licence.
+
+3.3 You acknowledge that you have no right in or have access to the Software in source code format unless otherwise as expressly provided within this Licence.
+
+3.4 In no event will the Software be deemed to be "open-source" or "publicly available" software.
+
+4. ACCOUNTS
+
+4.1 In order to access and use the Software and access the Game (and this could be via a Jagex platform or a third-party platform), you may be asked to register and open an account ("Account") and provide certain personal information such as, for example, your name and email address ("Registration"). Our Privacy Policy explains how such information may be collected and used. Where the Account is created on a Jagex platform then the Account is governed by the Terms and Conditions. The terms of this Licence are automatically incorporated as part of the Terms and Conditions.
+
+5. OTHER THIRD-PARTY SERVICES INTEGRATION AND THIRD-PARTY SOFTWARE ACKNOWLEDGMENTS
+
+5.1 From time to time the Software may integrate with other third-party services or platforms.
+
+5.2 These third-party services or platforms may generally require you to agree to the terms and conditions of such third-party supplier and set up a separate Account or register with the third-party supplier in order to receive the third-party services or platform(s). The terms on which those third-party services or platforms engage with you and share information or data with the Software or us, are specific to each third-party provider. You should make yourself aware of the terms and conditions of the third-party provider before agreeing to receive such third-party services or platforms.
+
+5.3 The Software may use or include third-party software ("Third-Party Software"). A list of the current Third-Party Software used within either the RuneScape Client and/or within the Old School RuneScape Client is included at the Annex to this Licence, along with any conditions or restrictions to use. We reserve the right to update, change and add to this list of Third-Party Software, as applicable, from time to time.
+
+6. SUBSCRIPTIONS AND CANCELLATIONS
+
+6.1 You may need a subscription and/or make payments to access and use certain features of the Software. Subscriptions and payments with any refund and cancellations are governed strictly in accordance with the terms of this Licence and the Terms and Conditions.
+
+7. DISCLAIMER OF WARRANTIES
+
+7.1 TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THE SOFTWARE IS PROVIDED "AS IS" WITH ALL FAULTS, WITHOUT WARRANTY, PERFORMANCE ASSURANCES OR GUARANTEES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OF CONDITION, QUALITY, SATISFACTION, UNINTERRUPTED USE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. YOUR USE IS AT YOUR SOLE RISK. JAGEX DOES NOT WARRANT THAT THE SOFTWARE WILL BE ERROR-FREE, OR THAT THE SOFTWARE WILL INTEROPERATE OR BE COMPATIBLE WITH ANY OTHER SOFTWARE OR THAT ANY ERRORS IN THE SOFTWARE WILL BE CORRECTED.
+
+7.2 TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, WE DO NOT REPRESENT OR WARRANT THAT ACCESS TO THE SOFTWARE WILL BE UNINTERRUPTED OR THAT THERE WILL BE NO FAILURES, ERRORS OR OMISSIONS OR LOSS OF TRANSMITTED INFORMATION, OR THAT NO VIRUSES WILL BE TRANSMITTED ON THE SOFTWARE. WE DO NOT GUARANTEE THAT YOU WILL BE ABLE TO ACCESS OR USE THE SOFTWARE AT TIMES OR LOCATIONS OF YOUR CHOOSING, OR THAT WE WILL HAVE ADEQUATE CAPACITY FOR THE SOFTWARE AS A WHOLE OR IN ANY SPECIFIC GEOGRAPHIC AREA.
+
+7.3 YOU ACKNOWLEDGE AND AGREE THAT THE SOFTWARE HAS NOT BEEN DEVELOPED TO MEET YOUR INDIVIDUAL REQUIREMENTS AND THAT IT IS YOUR RESPONSIBILITY TO ENSURE THAT THE SOFTWARE MEETS YOUR REQUIREMENTS.
+
+8. LIMITATION OF LIABILITY
+
+8.1 SUBJECT TO SECTION 8.3, JAGEX SHALL NOT BE LIABLE IN ANY WAY FOR ANY LOSS OR DAMAGE OF ANY KIND ARISING OUT OF THE SOFTWARE OR ANY USE OF THE SOFTWARE, INCLUDING WITHOUT LIMITATION LOSS OF DATA, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR LOSSES. FURTHER, JAGEX SHALL NOT BE LIABLE IN ANY WAY FOR ANY LOSS OR DAMAGE TO DIGITAL ASSETS SUCH AS CHARACTERS, VIRTUAL GOODS OR CURRENCY IN THE GAME, ACCOUNTS OR STATISTICS. JAGEX SHALL NOT BE RESPONSIBLE FOR ANY INTERRUPTIONS OF SERVICE, INCLUDING WITHOUT LIMITATION ISP DISRUPTIONS, SOFTWARE OR HARDWARE FAILURES, OR ANY OTHER EVENT WHICH MAY RESULT IN A LOSS OF DATA OR DISRUPTION OF SERVICE. IN NO EVENT WILL JAGEX BE LIABLE TO YOU FOR ANY INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES.
+
+8.2 The Software is provided to you free of charge under the terms of this Licence. To the maximum extent permissible by law our total liability, whether arising in contract, tort, strict liability or otherwise and including liability for losses, costs, expenses or damages shall not exceed (in the aggregate) an amount equivalent to the Subscription fees, relating to the Game, actually paid by you to Jagex during the twelve (12) months prior to the date of the cause of action first arising.
+
+8.3 Nothing in this Licence shall limit or exclude our liability for: (a) death or personal injury resulting from our negligence; (b) fraud or fraudulent misrepresentation; or (c) any other liability that cannot be excluded or limited by English law.
+
+9. TERMINATION
+
+9.1 We may terminate this Licence and any user Account in the Game immediately if you commit a breach of this Licence.
+
+9.2 Upon termination for any reason: (a) all rights granted to you under this Licence shall immediately cease; (b) you must immediately cease all activities authorised by this Licence; (c) you must immediately delete or remove the Software from all computer equipment in your possession, and (d) your access to and use of the Game under the Terms and Conditions will immediately cease and be terminated.
+10. GENERAL
+
+10.1 Each of the warranties and conditions (or rights and obligations) of this Licence operates separately.
+
+10.2 If any provision, or part provision, of this Licence, including each of the warranties and conditions (or rights and obligations) is found to be illegal, invalid or unenforceable by any court or competent authority, the legality, validity and enforceability of the remaining provisions, including the warranties and conditions of this Licence will not be affected.
+
+10.3 We may transfer our rights and obligations under this Licence to another organisation, but this will not affect your rights or our obligations under this Licence. You may not transfer or assign your rights and obligations under this Licence to a third party.
+
+10.4 If we fail to insist that you perform any of your obligations under this Licence, or if we do not enforce our rights against you, or if we delay in doing so, that will not mean that we have waived our rights against you and will not mean that you do not have to comply with those obligations.
+
+10.5 This Licence, its subject matter and its formation, are governed by the laws of England and Wales. You and we both agree that the courts of England will have exclusive jurisdiction in relation to any dispute connected with this License or the Game.
+
+10.6 This Licence constitutes and contains the entire agreement between the parties with respect to the subject matter hereof, provided, however, that this Licence shall co-exist with, and shall not supersede, the Terms and Conditions and the Privacy Policy.
+
+This Licence is drafted in the English language and may be translated into other languages. The English language version of this Licence shall prevail if there is a conflict or inconsistency or clarification required with other language versions. 
+
+------------------------------------------------------------
+
+ANNEX
+
+RuneScape Client and Old School RuneScape Client both use various Third-Party Software and libraries and we are grateful to their authors for their work.
+
+------------------------------------------------------------
+
+General thanks to:
+
+* LibTomMath author Tom St Denis
+* LZMA SDK author Igor Pavlov
+* ZLib General Purpose Compression Library authors Jean-loup Gailly and Mark Adler
+* LibBZip author Julian Seward
+* LibPNG Contributing Authors and Group 42, Inc.
+* Paul Bourke for his RGB colour space work http://paulbourke.net/miscellaneous/colourspace/
+
+(Used during development, but not part of this distribution):
+
+* CMake contributors
+* vera++ contributors
+
+------------------------------------------------------------
+
+Conditions or restrictions attaching to use of some of the Third-Party Software follows below:
+
+------------------------------------------------------------
+
+ANGLE:
+
+Copyright (C) 2002-2013 The ANGLE Project Authors. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. Ltd., nor the names of their contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+------------------------------------------------------------
+
+cURL:
+
+COPYRIGHT AND PERMISSION NOTICE
+
+Copyright (c) 1996 - 2015, Daniel Stenberg, daniel@haxx.se.
+
+All rights reserved.
+
+Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD-PARTY RIGHTS. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization of the copyright holder.
+
+------------------------------------------------------------
+
+EASTL:
+
+Copyright (C) 2009-2010 Electronic Arts, Inc. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+ Neither the name of Electronic Arts, Inc. ("EA") nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY ELECTRONIC ARTS AND ITS CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ELECTRONIC ARTS OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+------------------------------------------------------------
+
+GLEW:
+
+The OpenGL Extension Wrangler Library Copyright (C) 2002-2007, Milan Ikits <milan ikits[]ieee org> Copyright (C) 2002-2007, Marcelo E. Magallon <mmagallo[]debian org> Copyright (C) 2002, Lev Povalahev All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+ The name of the author may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+------------------------------------------------------------
+
+Mesa 3-D graphics library Version: 7.0
+
+Copyright (C) 1999-2007 Brian Paul All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Copyright (c) 2007 The Khronos Group Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and/or associated documentation files (the "Materials"), to deal in the Materials without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Materials, and to permit persons to whom the Materials are furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Materials.
+
+THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
+
+------------------------------------------------------------
+
+Paul Bourke's RGB colour space work http://paulbourke.net/texture_colour/colourspace/
+
+(C) Copyright Paul Bourke. All rights reserved
+
+------------------------------------------------------------
+
+JsonCpp Library https://github.com/open-source-parsers/jsoncpp
+
+MIT Licensed:
+
+Copyright (c) 2007-2010 Baptiste Lepilleur and The JsonCpp Authors
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+------------------------------------------------------------
+
+FXAA algorithm and shader code:
+
+Based on standard FXAA algorithm by Timothy Lottes at NVIDIA, WebGL GLSL port from Florian Boesch: https://github.com/pyalot/webgl-deferred-irradiance-volumes/blob/master/README.md
+
+MIT Licensed:
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+------------------------------------------------------------
+
+Single-file stb_image_write library for C++ from Sean T Barrett https://github.com/nothings/stb MIT Licensed:
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+------------------------------------------------------------
+
+The Software contains a modified subset of OpenJDK, which is covered by the GNU General Public License version 2 with the Classpath exception. OpenJDK is copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved. For more information, please see http://openjdk.java.net
+
+The GNU General Public License (GPL)
+
+Version 2, June 1991
+
+Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+
+Preamble
+
+The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too.
+
+When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
+
+To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
+
+For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
+
+We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
+
+Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
+
+Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
+
+The precise terms and conditions for copying, distribution and modification follow.
+
+TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
+
+ You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
+
+ You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
+
+a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
+
+b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
+
+c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License.(Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
+
+ You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
+
+a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
+
+b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
+
+c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for non-commercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on)of the operating system on which the executable runs, unless that component itself accompanies the executable.
+
+If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
+
+4.You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
+
+5.You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
+
+ Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
+
+ If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
+
+This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
+
+ If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
+
+ If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
+
+NO WARRANTY
+
+ BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+END OF TERMS AND CONDITIONS
+
+How to Apply These Terms to your New Programs
+
+If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
+
+To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
+
+One line to give the program's name and a brief idea of what it does.
+
+Copyright (C) <year> <author>
+
+This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this when it starts in an interactive mode:
+
+Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free software, and you are welcome to redistribute it under certain conditions; type 'show c' for details.
+
+The hypothetical commands 'show w' and 'show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than 'show w' and 'show c'; they could even be mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:
+
+Yoyodyne, Inc., hereby disclaims all copyright interest in the program 'Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+signature of Ty Coon, 1 April 1989
+
+Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License.
+
+"CLASSPATH" EXCEPTION TO THE GPL
+
+Certain source files distributed by Sun Microsystems, Inc. are subject to the following clarification and special exception to the GPL, but only where Sun has expressly included in the particular source file's header the words "Sun designates this particular file as subject to the "Classpath" exception as provided by Sun in the LICENSE file that accompanied this code."
+
+Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination.
+
+As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.
diff --git a/licenses/oracle-java-documentation-14 b/licenses/oracle-java-documentation-14
new file mode 100644
index 0000000..e9e5ba4
--- /dev/null
+++ b/licenses/oracle-java-documentation-14
@@ -0,0 +1,55 @@
+JSR-000389 JavaTM SE 14 Final Release
+
+ORACLE AMERICA, INC. IS WILLING TO LICENSE THIS SPECIFICATION TO YOU ONLY UPON THE CONDITION THAT YOU ACCEPT ALL OF THE TERMS CONTAINED IN THIS AGREEMENT ("AGREEMENT"). PLEASE READ THE TERMS AND CONDITIONS OF THIS AGREEMENT CAREFULLY. BY DOWNLOADING THIS SPECIFICATION, YOU ACCEPT THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU ARE NOT WILLING TO BE BOUND BY IT, SELECT THE "DECLINE" BUTTON AT THE BOTTOM OF THIS PAGE.
+
+Specification: JSR- 389 Java SE 14 ("Specification")
+Version: 14
+Status: Final Release
+Release: March 2020
+
+Copyright 2020 Oracle America, Inc.
+All rights reserved.
+
+LIMITED LICENSE GRANTS
+1. License for Evaluation Purposes. Specification Lead hereby grants you a fully-paid, non-exclusive, nontransferable, worldwide, limited license (without the right to sublicense), under Specification Lead's applicable intellectual property rights to view, download, use and reproduce the Specification only for the purpose of internal evaluation. This includes (i) developing applications intended to run on an implementation of the Specification, provided that such applications do not themselves implement any portion(s) of the Specification, and (ii) discussing the Specification with any third party; and (iii) excerpting brief portions of the Specification in oral or written communications which discuss the Specification provided that such excerpts do not in the aggregate constitute a significant portion of the Specification.
+
+2. License for the Distribution of Compliant Implementations. Specification Lead also grants you a perpetual, non-exclusive, non-transferable, worldwide, fully paid-up, royalty free, limited license (without the right to sublicense) under any applicable copyrights or, subject to the provisions of subsection 4 below, patent rights it may have covering the Specification to create and/or distribute an Independent Implementation of the Specification that: (a) fully implements the Specification including all its required interfaces and functionality; (b) does not modify, subset, superset or otherwise extend the Licensor Name Space, or include any public or protected packages, classes, Java interfaces, fields or methods within the Licensor Name Space other than those required/authorized by the Specification or Specifications being implemented; and (c) passes the Technology Compatibility Kit (including satisfying the requirements of the applicable TCK Users Guide) for such Specification ("Compliant Implementation"). In addition, the foregoing license is expressly conditioned on your not acting outside its scope. No license is granted hereunder for any other purpose (including, for example, modifying the Specification, other than to the extent of your fair use rights, or distributing the Specification to third parties). Also, no right, title, or interest in or to any trademarks, service marks, or trade names of Specification Lead or Specification Lead's licensors is granted hereunder. Java, and Java-related logos, marks and names are trademarks or registered trademarks of Oracle America, Inc. in the U.S. and other countries.
+
+3. Pass-through Conditions. You need not include limitations (a)-(c) from the previous paragraph or any other particular "pass through" requirements in any license You grant concerning the use of your Independent Implementation or products derived from it. However, except with respect to Independent Implementations (and products derived from them) that satisfy limitations (a)-(c) from the previous paragraph, You may neither: (a) grant or otherwise pass through to your licensees any licenses under Specification Lead's applicable intellectual property rights; nor (b) authorize your licensees to make any claims concerning their implementation's compliance with the Specification in question.
+
+4. Reciprocity Concerning Patent Licenses.
+
+a. With respect to any patent claims covered by the license granted under subparagraph 2 above that would be infringed by all technically feasible implementations of the Specification, such license is conditioned upon your offering on fair, reasonable and non-discriminatory terms, to any party seeking it from You, a perpetual, non-exclusive, non-transferable, worldwide license under Your patent rights which are or would be infringed by all technically feasible implementations of the Specification to develop, distribute and use a Compliant Implementation.
+
+b. With respect to any patent claims owned by Specification Lead and covered by the license granted under subparagraph 2, whether or not their infringement can be avoided in a technically feasible manner when implementing the Specification, such license shall terminate with respect to such claims if You initiate a claim against Specification Lead that it has, in the course of performing its responsibilities as the Specification Lead, induced any other entity to infringe Your patent rights.
+
+c. Also with respect to any patent claims owned by Specification Lead and covered by the license granted under subparagraph 2 above, where the infringement of such claims can be avoided in a technically feasible manner when implementing the Specification such license, with respect to such claims, shall terminate if You initiate a claim against Specification Lead that its making, having made, using, offering to sell, selling or importing a Compliant Implementation infringes Your patent rights.
+
+5. Definitions. For the purposes of this Agreement: "Independent Implementation" shall mean an implementation of the Specification that neither derives from any of Specification Lead's source code or binary code materials nor, except with an appropriate and separate license from Specification Lead, includes any of Specification Lead's source code or binary code materials; "Licensor Name Space" shall mean the public class or interface declarations whose names begin with "java", "javax", "com.oracle", "com.sun" or their equivalents in any subsequent naming convention adopted by Oracle America, Inc. through the Java Community Process, or any recognized successors or replacements thereof; and "Technology Compatibility Kit" or "TCK" shall mean the test suite and accompanying TCK User's Guide provided by Specification Lead which corresponds to the Specification and that was available either (i) from Specification Lead 120 days before the first release of Your Independent Implementation that allows its use for commercial purposes, or (ii) more recently than 120 days from such release but against which You elect to test Your implementation of the Specification.
+
+This Agreement will terminate immediately without notice from Specification Lead if you breach the Agreement or act outside the scope of the licenses granted above.
+
+DISCLAIMER OF WARRANTIES
+
+THE SPECIFICATION IS PROVIDED "AS IS". SPECIFICATION LEAD MAKES NO REPRESENTATIONS OR WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT (INCLUDING AS A CONSEQUENCE OF ANY PRACTICE OR IMPLEMENTATION OF THE SPECIFICATION), OR THAT THE CONTENTS OF THE SPECIFICATION ARE SUITABLE FOR ANY PURPOSE. This document does not represent any commitment to release or implement any portion of the Specification in any product. In addition, the Specification could include technical inaccuracies or typographical errors.
+
+LIMITATION OF LIABILITY
+
+TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL SPECIFICATION LEAD OR ITS LICENSORS BE LIABLE FOR ANY DAMAGES, INCLUDING WITHOUT LIMITATION, LOST REVENUE, PROFITS OR DATA, OR FOR SPECIAL, INDIRECT, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF OR RELATED IN ANY WAY TO YOUR HAVING, IMPLEMENTING OR OTHERWISE USING THE SPECIFICATION, EVEN IF SPECIFICATION LEAD AND/OR ITS LICENSORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+You will indemnify, hold harmless, and defend Specification Lead and its licensors from any claims arising or resulting from: (i) your use of the Specification; (ii) the use or distribution of your Java application, applet and/or implementation; and/or (iii) any claims that later versions or releases of any Specification furnished to you are incompatible with the Specification provided to you under this license.
+
+RESTRICTED RIGHTS LEGEND
+
+U.S. Government: If this Specification is being acquired by or on behalf of the U.S. Government or by a U.S. Government prime contractor or subcontractor (at any tier), then the Government's rights in the Software and accompanying documentation shall be only as set forth in this license; this is in accordance with 48 C.F.R. 227.7201 through 227.7202-4 (for Department of Defense (DoD) acquisitions) and with 48 C.F.R. 2.101 and 12.212 (for non-DoD acquisitions).
+
+REPORT
+
+If you provide Specification Lead with any comments or suggestions concerning the Specification ("Feedback"), you hereby: (i) agree that such Feedback is provided on a non-proprietary and nonconfidential basis, and (ii) grant Specification Lead a perpetual, non-exclusive, worldwide, fully paid-up, irrevocable license, with the right to sublicense through multiple levels of sublicensees, to incorporate, disclose, and use without limitation the Feedback for any purpose.
+
+GENERAL TERMS
+
+Any action related to this Agreement will be governed by California law and controlling U.S. federal law. The U.N. Convention for the International Sale of Goods and the choice of law rules of any jurisdiction will not apply.
+
+The Specification is subject to U.S. export control laws and may be subject to export or import regulations in other countries. Licensee agrees to comply strictly with all such laws and regulations and acknowledges that it has the responsibility to obtain such licenses to export, re-export or import as may be required after delivery to Licensee.
+
+This Agreement is the parties' entire agreement relating to its subject matter. It supersedes all prior or contemporaneous oral or written communications, proposals, conditions, representations and warranties and prevails over any conflicting or additional terms of any quote, order, acknowledgment, or other communication between the parties relating to its subject matter during the term of this Agreement. No modification to this Agreement will be binding, unless in writing and signed by an authorized representative of each party.
diff --git a/mail-client/astroid/astroid-9999.ebuild b/mail-client/astroid/astroid-9999.ebuild
new file mode 100644
index 0000000..f79f8e9
--- /dev/null
+++ b/mail-client/astroid/astroid-9999.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+: "${CMAKE_MAKEFILE_GENERATOR:=ninja}"
+
+inherit cmake git-r3 virtualx
+
+DESCRIPTION="lightweight graphical threads-with-tags style email client for notmuch"
+HOMEPAGE="https://github.com/astroidmail/astroid"
+EGIT_REPO_URI="https://github.com/astroidmail/astroid.git"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS=""
+IUSE="+doc embedded-editor plugins profile terminal test"
+
+RDEPEND="
+ plugins? (
+ dev-libs/gobject-introspection
+ >=dev-libs/libpeas-1.0.0
+ || (
+ dev-libs/gmime:3.0[vala]
+ dev-libs/gmime:2.6[vala]
+ )
+ )
+ terminal? (
+ x11-libs/vte:2.91
+ )
+ || (
+ >=dev-libs/gmime-3.0.3:3.0
+ >=dev-libs/gmime-2.6.21:2.6
+ )
+ dev-cpp/glibmm:2
+ >=dev-cpp/gtkmm-3.10:3.0[X]
+ dev-libs/boost[nls]
+ dev-libs/libsass
+ >=dev-libs/protobuf-3.6.0:=
+ net-libs/libsoup:2.4
+ >=net-libs/webkit-gtk-2.22.0:4
+ net-mail/notmuch
+"
+DEPEND="${RDEPEND}
+ doc? (
+ || (
+ app-text/scdoc
+ app-text/ronn
+ )
+ )
+ test? (
+ ${VIRTUALX_DEPEND}
+ app-crypt/gnupg
+ app-text/cmark
+ )
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ if ! use test; then
+ sed -i -e '/enable_testing/d;/add_subdirectory.*tests.*/d' CMakeLists.txt
+ rm -rf tests
+ fi
+
+ if use terminal; then
+ sed -i -e '/pkg_check_modules.*VTE2/s/VTE2/VTE2 REQUIRED/' CMakeLists.txt
+ fi
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DDISABLE_DOCS=$(usex doc OFF ON)
+ -DDISABLE_EMBEDDED_EDITOR=$(usex embedded-editor OFF ON)
+ -DDISABLE_TERMINAL=$(usex terminal OFF ON)
+ -DDISABLE_PLUGINS=$(usex plugins OFF ON)
+ -DENABLE_PROFILING=$(usex profile ON OFF)
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ virtx cmake_src_test
+}
+
+pkg_postinst() {
+ optfeature "GnuPG" app-crypt/gnupg
+ optfeature "Markdown" app-text/cmark
+}
diff --git a/mail-client/astroid/metadata.xml b/mail-client/astroid/metadata.xml
new file mode 100644
index 0000000..cb93a79
--- /dev/null
+++ b/mail-client/astroid/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<upstream>
+<remote-id type="github">astroidmail/astroid</remote-id>
+</upstream>
+<maintainer type="person">
+<email>alex_y_xu@yahoo.ca</email>
+<name>Alex Xu (Hello71)</name>
+</maintainer>
+<maintainer type="project">
+<email>proxy-maint@gentoo.org</email>
+<name>Proxy Maintainers</name>
+</maintainer>
+<longdescription lang="en">
+Astroid is a lightweight and fast Mail User Agent that provides a graphical interface to searching, displaying and composing email, organized in threads and tags. Astroid uses the notmuch backend for blazingly fast searches through tons of email. Astroid searches, displays and composes emails - and rely on other programs for fetching, syncing and sending email.
+</longdescription>
+<use>
+<flag name="embedded-editor">Embedded editor</flag>
+<flag name="plugins">Plugins</flag>
+<flag name="terminal">Embedded terminal</flag>
+</use>
+</pkgmetadata>
diff --git a/metadata/layout.conf b/metadata/layout.conf
new file mode 100644
index 0000000..4c30b19
--- /dev/null
+++ b/metadata/layout.conf
@@ -0,0 +1,3 @@
+masters = gentoo
+repo-name = alxu
+thin-manifests = true
diff --git a/net-dns/libidn-compat/Manifest b/net-dns/libidn-compat/Manifest
new file mode 100644
index 0000000..43e891c
--- /dev/null
+++ b/net-dns/libidn-compat/Manifest
@@ -0,0 +1,2 @@
+DIST libidn-1.33-security_backports-01.tar.xz 3420 BLAKE2B c0311d83dee53b83bceab7777e9508ffdc2737e31eec71dc7e67b29ee75cdcef8558db0e89d857ed8c402980fdd7c3419fbb123eba91dddc2358a06684114811 SHA512 e925d20c9258b47821d444c563c75f09f003d1c6b367c934a808242ce4c259ff83e9d67e886cb3e832117df1cd9cae4b18417c48fbf9c77266ab379d3afcd4f4
+DIST libidn-1.33.tar.gz 3501056 BLAKE2B ce6319dc61dd825cf7ddb33f4279c178709e16ce2815c3d1a464bba6b5c6cc493107a10a686f349247a0d6023b1b834a650046e68da9f2f559870dba13a59384 SHA512 38dd459eaeda0c9e3cc2d24d967113515a499747550a2a9157f32357def90d71a3a3b52398e96a44a28cd5948dc353b0473c4ff0453a69720191c4cb49cac2c6
diff --git a/net-dns/libidn-compat/files/libidn-1.33-parallel-make.patch b/net-dns/libidn-compat/files/libidn-1.33-parallel-make.patch
new file mode 100644
index 0000000..2d237f3
--- /dev/null
+++ b/net-dns/libidn-compat/files/libidn-1.33-parallel-make.patch
@@ -0,0 +1,115 @@
+From 4709e64fef29ca8ddd5b0878e3126640bd1480c2 Mon Sep 17 00:00:00 2001
+From: =?utf8?q?Tim=20R=C3=BChsen?= <tim.ruehsen@gmx.de>
+Date: Wed, 4 Oct 2017 15:02:49 +0200
+Subject: [PATCH] * src/Makefile.am: Fix rule for parallel builds
+
+---
+ src/Makefile.am | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 6832c20..218d52e 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -35,7 +35,8 @@ libidn_cmd_la_SOURCES = idn.ggo idn_cmd.c idn_cmd.h
+ libidn_cmd_la_LIBADD = ../gl/libgnu.la
+ libidn_cmd_la_CFLAGS =
+
+-idn_cmd.c idn_cmd.h: idn.ggo Makefile.am
++# pattern rule (%) needed for parallel make (-j)
++idn_cmd%c idn_cmd%h: idn.ggo
+ gengetopt --unamed-opts --no-handle-version --no-handle-help \
+ --set-package="idn" \
+ --input $^ --file-name idn_cmd
+--
+1.9.1
+
+--- a/src/Makefile.in
++++ b/src/Makefile.in
+@@ -1,7 +1,7 @@
+-# Makefile.in generated by automake 1.14.1 from Makefile.am.
++# Makefile.in generated by automake 1.15.1 from Makefile.am.
+ # @configure_input@
+
+-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
++# Copyright (C) 1994-2017 Free Software Foundation, Inc.
+
+ # This Makefile.in is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -34,7 +34,17 @@
+
+
+ VPATH = @srcdir@
+-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
++am__is_gnu_make = { \
++ if test -z '$(MAKELEVEL)'; then \
++ false; \
++ elif test -n '$(MAKE_HOST)'; then \
++ true; \
++ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
++ true; \
++ else \
++ false; \
++ fi; \
++}
+ am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+@@ -99,8 +109,6 @@
+ host_triplet = @host@
+ bin_PROGRAMS = idn$(EXEEXT)
+ subdir = src
+-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+- $(top_srcdir)/build-aux/depcomp $(dist_lisp_DATA)
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+ am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/ctype.m4 \
+ $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
+@@ -184,6 +192,8 @@
+ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
+ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
++DIST_COMMON = $(srcdir)/Makefile.am $(dist_lisp_DATA) \
++ $(am__DIST_COMMON)
+ mkinstalldirs = $(install_sh) -d
+ CONFIG_HEADER = $(top_builddir)/config.h
+ CONFIG_CLEAN_FILES =
+@@ -294,6 +304,8 @@
+ done | $(am__uniquify_input)`
+ ETAGS = etags
+ CTAGS = ctags
++am__DIST_COMMON = $(srcdir)/Makefile.in \
++ $(top_srcdir)/build-aux/depcomp
+ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ ACLOCAL = @ACLOCAL@
+ ALLOCA = @ALLOCA@
+@@ -863,6 +875,7 @@
+ LT_AGE = @LT_AGE@
+ LT_CURRENT = @LT_CURRENT@
+ LT_REVISION = @LT_REVISION@
++LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+ MAKEINFO = @MAKEINFO@
+ MANIFEST_TOOL = @MANIFEST_TOOL@
+ MKDIR_P = @MKDIR_P@
+@@ -1200,7 +1213,6 @@
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu src/Makefile
+-.PRECIOUS: Makefile
+ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+@@ -1562,10 +1574,13 @@
+ pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
+ uninstall-binPROGRAMS uninstall-dist_lispDATA
+
++.PRECIOUS: Makefile
++
+
+ idn.c: $(BUILT_SOURCES)
+
+-idn_cmd.c idn_cmd.h: idn.ggo Makefile.am
++# pattern rule (%) needed for parallel make (-j)
++idn_cmd%c idn_cmd%h: idn.ggo
+ gengetopt --unamed-opts --no-handle-version --no-handle-help \
+ --set-package="idn" \
+ --input $^ --file-name idn_cmd
diff --git a/net-dns/libidn-compat/libidn-compat-1.33.ebuild b/net-dns/libidn-compat/libidn-compat-1.33.ebuild
new file mode 100644
index 0000000..cda239e
--- /dev/null
+++ b/net-dns/libidn-compat/libidn-compat-1.33.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit autotools multilib-minimal libtool
+
+MY_PN=libidn
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Internationalized Domain Names (IDN) implementation"
+HOMEPAGE="https://www.gnu.org/software/libidn/"
+SRC_URI="
+ mirror://gnu/libidn/${MY_P}.tar.gz
+ https://dev.gentoo.org/~polynomial-c/${MY_P}-security_backports-01.tar.xz
+"
+
+LICENSE="GPL-2 GPL-3 LGPL-3"
+SLOT="1.33"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="!<${CATEGORY}/${MY_PN}-1.35:0"
+
+PATCHES=(
+ "${FILESDIR}"/${MY_PN}-1.33-parallel-make.patch
+)
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ default
+
+ eapply "${WORKDIR}"/patches
+
+ # breaks eautoreconf
+ sed '/AM_INIT_AUTOMAKE/s@ -Werror@@' -i configure.ac || die
+ # Breaks build because --disable-gtk-doc* gets ignored
+ sed '/^SUBDIRS/s@ doc@@' -i Makefile.am || die
+ eautoreconf
+ elibtoolize # for Solaris shared objects
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ --disable-java
+ --disable-csharp
+ --disable-nls
+ --disable-static
+ --disable-silent-rules
+ --disable-valgrind-tests
+ )
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_test() {
+ # only run libidn specific tests and not gnulib tests (bug #539356)
+ emake -C tests check
+}
+
+multilib_src_install() {
+ dolib.so lib/.libs/libidn.so.11*
+}
diff --git a/net-dns/libidn-compat/metadata.xml b/net-dns/libidn-compat/metadata.xml
new file mode 100644
index 0000000..004555a
--- /dev/null
+++ b/net-dns/libidn-compat/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>alex_y_xu@yahoo.ca</email>
+ <name>Alex Xu (Hello71)</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/net-libs/neatvnc/metadata.xml b/net-libs/neatvnc/metadata.xml
new file mode 100644
index 0000000..004555a
--- /dev/null
+++ b/net-libs/neatvnc/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>alex_y_xu@yahoo.ca</email>
+ <name>Alex Xu (Hello71)</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/net-libs/neatvnc/neatvnc-9999.ebuild b/net-libs/neatvnc/neatvnc-9999.ebuild
new file mode 100644
index 0000000..6aff3d8
--- /dev/null
+++ b/net-libs/neatvnc/neatvnc-9999.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit meson
+
+DESCRIPTION="A liberally licensed VNC server library with a clean interface"
+HOMEPAGE="https://github.com/any1/neatvnc"
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/any1/neatvnc.git"
+else
+ SRC_URI="https://github.com/any1/neatvnc/archive/v${PV}.tar.gz"
+fi
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS=""
+IUSE="examples +jpeg ssl"
+
+DEPEND="
+ jpeg? ( media-libs/libjpeg-turbo )
+ ssl? ( net-libs/gnutls:= )
+ dev-libs/aml
+ sys-libs/zlib
+ x11-libs/pixman
+"
+RDEPEND="${DEPEND}"
+BDEPEND=""
+
+src_prepare() {
+ default
+ sed -i -e '/x86_64-simd/s/^/#/' meson.build || die
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use examples)
+ $(meson_feature jpeg tight-encoding)
+ $(meson_feature ssl tls)
+ )
+
+ meson_src_configure
+}
diff --git a/net-misc/gallery-dl/Manifest b/net-misc/gallery-dl/Manifest
new file mode 100644
index 0000000..67afe91
--- /dev/null
+++ b/net-misc/gallery-dl/Manifest
@@ -0,0 +1 @@
+DIST gallery_dl-1.14.0.tar.gz 304514 BLAKE2B b3f8616d64f8e82704a733ac21529db29c453e21284d5dbda260cae8ec741e043a1b299de711c412a279897a02943297476f0461c1aaf621aa7b2781c8164122 SHA512 0c4aaf7406a32f7bf507f52037bf15f4477075c9a4089e5f111d11ceddddd724b6cf60a78ff591343ab1cffb7782dea18fb09d280f52412fa42ca231b250adf7
diff --git a/net-misc/gallery-dl/gallery-dl-1.14.0.ebuild b/net-misc/gallery-dl/gallery-dl-1.14.0.ebuild
new file mode 100644
index 0000000..c2eddf9
--- /dev/null
+++ b/net-misc/gallery-dl/gallery-dl-1.14.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+PYTHON_COMPAT=(python{3_6,3_7,3_8})
+PYTHON_REQ_USE=(sqlite)
+
+inherit bash-completion-r1 distutils-r1
+
+MY_PN="gallery_dl"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Command-line program to download image-galleries and collections"
+HOMEPAGE="https://github.com/mikf/gallery-dl"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
+IUSE=""
+
+RDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+python_install_all() {
+ dodoc README.rst
+
+ distutils-r1_python_install_all
+}
diff --git a/net-misc/gallery-dl/metadata.xml b/net-misc/gallery-dl/metadata.xml
new file mode 100644
index 0000000..004555a
--- /dev/null
+++ b/net-misc/gallery-dl/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>alex_y_xu@yahoo.ca</email>
+ <name>Alex Xu (Hello71)</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/net-misc/wayvnc/metadata.xml b/net-misc/wayvnc/metadata.xml
new file mode 100644
index 0000000..004555a
--- /dev/null
+++ b/net-misc/wayvnc/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>alex_y_xu@yahoo.ca</email>
+ <name>Alex Xu (Hello71)</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/net-misc/wayvnc/wayvnc-9999.ebuild b/net-misc/wayvnc/wayvnc-9999.ebuild
new file mode 100644
index 0000000..a09e5dc
--- /dev/null
+++ b/net-misc/wayvnc/wayvnc-9999.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit meson
+
+DESCRIPTION="A VNC server for wlroots based Wayland compositors"
+HOMEPAGE="https://github.com/any1/wayvnc"
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/any1/wayvnc.git"
+else
+ SRC_URI="https://github.com/any1/wayvnc/archive/v${PV}.tar.gz"
+fi
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS=""
+IUSE="examples"
+
+DEPEND="
+ dev-libs/aml
+ dev-libs/wayland
+ net-libs/neatvnc
+ virtual/opengl
+ x11-libs/libxkbcommon
+ x11-libs/pixman
+"
+RDEPEND="${DEPEND}"
+BDEPEND="dev-libs/wayland"
diff --git a/profiles/package.use.mask b/profiles/package.use.mask
new file mode 100644
index 0000000..4a6386c
--- /dev/null
+++ b/profiles/package.use.mask
@@ -0,0 +1,12 @@
+# Depends on vulnerable old version of icedtea-web #711392
+# new version is not packaged yet
+# package/useflag is not going away anytime soon,
+# just masked. unmask as needed.
+dev-java/openj9-openjdk nsplugin webstart
+dev-java/openj9-openjdk-bin nsplugin webstart
+dev-java/openj9-openjdk-jre-bin nsplugin webstart
+
+# openjfx 14 is not implemented yet
+dev-java/openj9-openjdk javafx
+dev-java/openjdk javafx
+dev-java/openjdk-bin javafx
diff --git a/profiles/repo_name b/profiles/repo_name
new file mode 100644
index 0000000..daaa5db
--- /dev/null
+++ b/profiles/repo_name
@@ -0,0 +1 @@
+alxu
diff --git a/sys-apps/xdg-desktop-portal-wlr/Manifest b/sys-apps/xdg-desktop-portal-wlr/Manifest
new file mode 100644
index 0000000..edf784a
--- /dev/null
+++ b/sys-apps/xdg-desktop-portal-wlr/Manifest
@@ -0,0 +1 @@
+DIST xdg-desktop-portal-wlr-0.1.0.tar.gz 20600 BLAKE2B e7930bb2092d10adc3e34ffb5f4de8cd0c02f96085d97a56a1822f9d3bf92dee7dc3aa4e9a59ee6f868cbdc8fe3dd44511903aa4ac3b2724cc9eaf609ea3457f SHA512 07ae2ba3583e53f3b0e5b97cb60cb85ae835c403906f3b214f6feedc615e3266f5a0f9dc12997802834fdeb2958f6b22c195eebe420a93b3a697460a2a4e3367
diff --git a/sys-apps/xdg-desktop-portal-wlr/metadata.xml b/sys-apps/xdg-desktop-portal-wlr/metadata.xml
new file mode 100644
index 0000000..004555a
--- /dev/null
+++ b/sys-apps/xdg-desktop-portal-wlr/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>alex_y_xu@yahoo.ca</email>
+ <name>Alex Xu (Hello71)</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/sys-apps/xdg-desktop-portal-wlr/xdg-desktop-portal-wlr-0.1.0.ebuild b/sys-apps/xdg-desktop-portal-wlr/xdg-desktop-portal-wlr-0.1.0.ebuild
new file mode 100644
index 0000000..cbce952
--- /dev/null
+++ b/sys-apps/xdg-desktop-portal-wlr/xdg-desktop-portal-wlr-0.1.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit meson
+
+SRC_URI="https://github.com/emersion/${PN}/releases/download/v${PV}/${P}.tar.gz"
+DESCRIPTION="xdg-desktop-portal backend for wlroots"
+HOMEPAGE="https://github.com/emersion/xdg-desktop-portal-wlr"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="systemd elogind"
+
+# FIXME: The X and wayland options are autodetected.
+BDEPEND="
+ virtual/pkgconfig
+ >=sys-devel/gettext-0.18.3
+"
+DEPEND="
+ >=media-video/pipewire-0.3
+ dev-libs/wayland
+ >=dev-libs/wayland-protocols-1.14
+ >=sys-apps/xdg-desktop-portal-1.7.0
+ systemd? ( sys-apps/systemd )
+ elogind? ( sys-auth/elogind )
+"
+RDEPEND="${DEPEND}"
+REQUIRED_USE="
+ ?? ( systemd elogind )
+"
+
+src_configure() {
+ local emesonargs=(
+ $(meson_feature systemd)
+ )
+ meson_src_configure
+}
diff --git a/virtual/jdk/jdk-11-r1.ebuild b/virtual/jdk/jdk-11-r1.ebuild
new file mode 100644
index 0000000..bbf1a0d
--- /dev/null
+++ b/virtual/jdk/jdk-11-r1.ebuild
@@ -0,0 +1,14 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Virtual for Java Development Kit (JDK)"
+SLOT="${PV}"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+
+RDEPEND="|| (
+ dev-java/openjdk-bin:${SLOT}[gentoo-vm(+)]
+ dev-java/openjdk:${SLOT}[gentoo-vm(+)]
+ dev-java/openj9-openjdk:${SLOT}[gentoo-vm(+)]
+ )"
diff --git a/virtual/jdk/jdk-14.ebuild b/virtual/jdk/jdk-14.ebuild
new file mode 100644
index 0000000..bbf1a0d
--- /dev/null
+++ b/virtual/jdk/jdk-14.ebuild
@@ -0,0 +1,14 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Virtual for Java Development Kit (JDK)"
+SLOT="${PV}"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+
+RDEPEND="|| (
+ dev-java/openjdk-bin:${SLOT}[gentoo-vm(+)]
+ dev-java/openjdk:${SLOT}[gentoo-vm(+)]
+ dev-java/openj9-openjdk:${SLOT}[gentoo-vm(+)]
+ )"
diff --git a/virtual/jdk/metadata.xml b/virtual/jdk/metadata.xml
new file mode 100644
index 0000000..097975e
--- /dev/null
+++ b/virtual/jdk/metadata.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+</pkgmetadata>
diff --git a/virtual/jre/jre-11-r2.ebuild b/virtual/jre/jre-11-r2.ebuild
new file mode 100644
index 0000000..ba24043
--- /dev/null
+++ b/virtual/jre/jre-11-r2.ebuild
@@ -0,0 +1,14 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Virtual for Java Runtime Environment (JRE)"
+SLOT="${PV}"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+
+RDEPEND="|| (
+ dev-java/openjdk-jre-bin:${SLOT}[gentoo-vm(+)]
+ dev-java/openj9-openjdk-jre-bin:${SLOT}[gentoo-vm(+)]
+ virtual/jdk:${SLOT}
+ )"
diff --git a/virtual/jre/jre-14.ebuild b/virtual/jre/jre-14.ebuild
new file mode 100644
index 0000000..ba24043
--- /dev/null
+++ b/virtual/jre/jre-14.ebuild
@@ -0,0 +1,14 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Virtual for Java Runtime Environment (JRE)"
+SLOT="${PV}"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+
+RDEPEND="|| (
+ dev-java/openjdk-jre-bin:${SLOT}[gentoo-vm(+)]
+ dev-java/openj9-openjdk-jre-bin:${SLOT}[gentoo-vm(+)]
+ virtual/jdk:${SLOT}
+ )"
diff --git a/virtual/jre/metadata.xml b/virtual/jre/metadata.xml
new file mode 100644
index 0000000..097975e
--- /dev/null
+++ b/virtual/jre/metadata.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+</pkgmetadata>
diff --git a/x11-apps/sx/metadata.xml b/x11-apps/sx/metadata.xml
new file mode 100644
index 0000000..004555a
--- /dev/null
+++ b/x11-apps/sx/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>alex_y_xu@yahoo.ca</email>
+ <name>Alex Xu (Hello71)</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/x11-apps/sx/sx-9999.ebuild b/x11-apps/sx/sx-9999.ebuild
new file mode 100644
index 0000000..a5ba000
--- /dev/null
+++ b/x11-apps/sx/sx-9999.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit git-r3
+
+DESCRIPTION="Start an xorg server"
+HOMEPAGE="https://github.com/Earnestly/sx"
+EGIT_REPO_URI="https://github.com/Earnestly/sx.git"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS=""
+
+src_compile() {
+ :
+}
+
+src_install() {
+ emake PREFIX=/usr DESTDIR="${D}" install
+}