diff --git a/app-crypt/certbot-dns-rfc2136/Manifest b/app-crypt/certbot-dns-rfc2136/Manifest
index 8bbdc6f80c..8ae96f64bf 100644
--- a/app-crypt/certbot-dns-rfc2136/Manifest
+++ b/app-crypt/certbot-dns-rfc2136/Manifest
@@ -1,3 +1,2 @@
-DIST certbot-1.27.0.tar.gz 1366469 BLAKE2B e9ec47520e027a9d348e861ea7d070eff4857301be0d42be6965e4159d85ef60866aa70de76edd5e68b0d40d9544075aa28e9aa07a8e04dfbf3e1a7dd77fd1de SHA512 5db7836ae2eda27c088476c149e736ce7f41b85d871cf563c69e021dd8af2d64ed85c1482049edf0dffe6fd0c9591d66be3e22fbf617068600e12691c4802e5e
-DIST certbot-1.28.0.tar.gz 1367671 BLAKE2B 01fda6c068217e32273b2c1ac97faa099f98da687d41796e1c98971ed6779ab4ff78e3309b7a6f82b9b0a891c5f00b5201bb3ce1bc879e5acbab3ccc4988ec31 SHA512 888f51dfcf4712b70ce7c99abfc52106384dcba2eef486db8b033bfcca3043bd0beaadce1c1e59f19c3a58b7fe454b2b64774de2e23f5d93579b3e1be1a7c08b
DIST certbot-1.29.0.tar.gz 1367853 BLAKE2B c0d8d2c05a061b2d50564a97bf17ae883bd443321bf99cea13fbae196c7ec876231d803d5389e524997dd8632035d5ad60b1a99b025a22a65d0865d564cfafc5 SHA512 755781e12e0e4cdb41aa16d90ab6a334ef41a98630e08127a867c8e8813ee45ebd3f6f54168fe747900f6ab59539e414ffed7891c05746b3a7af2e2a96a8d522
+DIST certbot-1.30.0.tar.gz 1370072 BLAKE2B c9286bc6dfee59c5a7b458430b08ee273615b42e40d2355b41c5d58a0b8757d83551e947058660e4abda88d7f11c16184a248c313b4d01e145df0e39b717bf86 SHA512 15727a7a38a9cbe4890a347c0cc2a795be19502ece28034400d41cf96a6d4bef197890bd85cd02ecc6a792e3502ae8aa663aad45e980047567f0d3b161cbe3df
diff --git a/app-crypt/certbot-dns-rfc2136/certbot-dns-rfc2136-1.27.0.ebuild b/app-crypt/certbot-dns-rfc2136/certbot-dns-rfc2136-1.27.0.ebuild
deleted file mode 100644
index 21a4190ce3..0000000000
--- a/app-crypt/certbot-dns-rfc2136/certbot-dns-rfc2136-1.27.0.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-
-if [[ ${PV} == 9999* ]]; then
- EGIT_REPO_URI="https://github.com/certbot/certbot.git"
- inherit git-r3
- S=${WORKDIR}/${P}/${PN}
-else
- SRC_URI="https://github.com/${PN%-dns-rfc2136}/${PN%-dns-rfc2136}/archive/v${PV}.tar.gz -> ${PN%-dns-rfc2136}-${PV}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~x86"
- S=${WORKDIR}/${PN%-dns-rfc2136}-${PV}/${PN}
-fi
-
-inherit distutils-r1
-
-DESCRIPTION="RFC 2136 DNS Authenticator plugin for Certbot (Let’s Encrypt Client)"
-HOMEPAGE="https://github.com/certbot/certbot https://letsencrypt.org/"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE=""
-
-RDEPEND="
- >=app-crypt/acme-${PV}[${PYTHON_USEDEP}]
- >=app-crypt/certbot-${PV}[${PYTHON_USEDEP}]
- >=dev-python/pyopenssl-17.5.0[${PYTHON_USEDEP}]
- >=dev-python/pyparsing-2.2.1[${PYTHON_USEDEP}]
- dev-python/zope-interface[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
diff --git a/app-crypt/certbot-dns-rfc2136/certbot-dns-rfc2136-1.28.0.ebuild b/app-crypt/certbot-dns-rfc2136/certbot-dns-rfc2136-1.28.0.ebuild
deleted file mode 100644
index 21a4190ce3..0000000000
--- a/app-crypt/certbot-dns-rfc2136/certbot-dns-rfc2136-1.28.0.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-
-if [[ ${PV} == 9999* ]]; then
- EGIT_REPO_URI="https://github.com/certbot/certbot.git"
- inherit git-r3
- S=${WORKDIR}/${P}/${PN}
-else
- SRC_URI="https://github.com/${PN%-dns-rfc2136}/${PN%-dns-rfc2136}/archive/v${PV}.tar.gz -> ${PN%-dns-rfc2136}-${PV}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~x86"
- S=${WORKDIR}/${PN%-dns-rfc2136}-${PV}/${PN}
-fi
-
-inherit distutils-r1
-
-DESCRIPTION="RFC 2136 DNS Authenticator plugin for Certbot (Let’s Encrypt Client)"
-HOMEPAGE="https://github.com/certbot/certbot https://letsencrypt.org/"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE=""
-
-RDEPEND="
- >=app-crypt/acme-${PV}[${PYTHON_USEDEP}]
- >=app-crypt/certbot-${PV}[${PYTHON_USEDEP}]
- >=dev-python/pyopenssl-17.5.0[${PYTHON_USEDEP}]
- >=dev-python/pyparsing-2.2.1[${PYTHON_USEDEP}]
- dev-python/zope-interface[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
diff --git a/app-crypt/certbot-dns-rfc2136/certbot-dns-rfc2136-1.29.0-r1.ebuild b/app-crypt/certbot-dns-rfc2136/certbot-dns-rfc2136-1.29.0-r1.ebuild
new file mode 100644
index 0000000000..fb1a22fb0c
--- /dev/null
+++ b/app-crypt/certbot-dns-rfc2136/certbot-dns-rfc2136-1.29.0-r1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+
+inherit distutils-r1
+
+PARENT_PN="${PN%-dns-rfc2136}"
+PARENT_P="${PARENT_PN}-${PV}"
+
+if [[ "${PV}" == *9999 ]]; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/certbot/certbot.git"
+ EGIT_SUBMODULES=()
+ EGIT_CHECKOUT_DIR="${WORKDIR}/${PARENT_PN}"
+else
+ SRC_URI="
+ https://github.com/certbot/certbot/archive/v${PV}.tar.gz
+ -> ${PARENT_P}.tar.gz
+ "
+ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+fi
+
+DESCRIPTION="RFC 2136 DNS Authenticator plugin for Certbot (Let’s Encrypt client)"
+HOMEPAGE="
+ https://letsencrypt.org/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+S="${WORKDIR}/${PARENT_P}/${PN}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ >=app-crypt/acme-${PV}[${PYTHON_USEDEP}]
+ >=app-crypt/certbot-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-22.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-3.0.7[${PYTHON_USEDEP}]
+ >=dev-python/zope-interface-5.4.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+)
+
+python_prepare_all() {
+ pushd "${WORKDIR}/${PARENT_P}" > /dev/null || die
+ default
+ popd > /dev/null || die
+
+ distutils-r1_python_prepare_all
+}
diff --git a/app-crypt/certbot-dns-rfc2136/certbot-dns-rfc2136-1.29.0.ebuild b/app-crypt/certbot-dns-rfc2136/certbot-dns-rfc2136-1.29.0.ebuild
deleted file mode 100644
index 21a4190ce3..0000000000
--- a/app-crypt/certbot-dns-rfc2136/certbot-dns-rfc2136-1.29.0.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-
-if [[ ${PV} == 9999* ]]; then
- EGIT_REPO_URI="https://github.com/certbot/certbot.git"
- inherit git-r3
- S=${WORKDIR}/${P}/${PN}
-else
- SRC_URI="https://github.com/${PN%-dns-rfc2136}/${PN%-dns-rfc2136}/archive/v${PV}.tar.gz -> ${PN%-dns-rfc2136}-${PV}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~x86"
- S=${WORKDIR}/${PN%-dns-rfc2136}-${PV}/${PN}
-fi
-
-inherit distutils-r1
-
-DESCRIPTION="RFC 2136 DNS Authenticator plugin for Certbot (Let’s Encrypt Client)"
-HOMEPAGE="https://github.com/certbot/certbot https://letsencrypt.org/"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE=""
-
-RDEPEND="
- >=app-crypt/acme-${PV}[${PYTHON_USEDEP}]
- >=app-crypt/certbot-${PV}[${PYTHON_USEDEP}]
- >=dev-python/pyopenssl-17.5.0[${PYTHON_USEDEP}]
- >=dev-python/pyparsing-2.2.1[${PYTHON_USEDEP}]
- dev-python/zope-interface[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
diff --git a/app-crypt/certbot-dns-rfc2136/certbot-dns-rfc2136-1.30.0.ebuild b/app-crypt/certbot-dns-rfc2136/certbot-dns-rfc2136-1.30.0.ebuild
new file mode 100644
index 0000000000..425291d67b
--- /dev/null
+++ b/app-crypt/certbot-dns-rfc2136/certbot-dns-rfc2136-1.30.0.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+
+inherit distutils-r1
+
+PARENT_PN="${PN%-dns-rfc2136}"
+PARENT_P="${PARENT_PN}-${PV}"
+
+if [[ "${PV}" == *9999 ]]; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/certbot/certbot.git"
+ EGIT_SUBMODULES=()
+ EGIT_CHECKOUT_DIR="${WORKDIR}/${PARENT_PN}"
+else
+ SRC_URI="
+ https://github.com/certbot/certbot/archive/v${PV}.tar.gz
+ -> ${PARENT_P}.tar.gz
+ "
+ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+fi
+
+DESCRIPTION="RFC 2136 DNS Authenticator plugin for Certbot (Let’s Encrypt client)"
+HOMEPAGE="
+ https://letsencrypt.org/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+S="${WORKDIR}/${PARENT_P}/${PN}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ >=app-crypt/acme-${PV}[${PYTHON_USEDEP}]
+ >=app-crypt/certbot-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-22.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-3.0.9[${PYTHON_USEDEP}]
+ >=dev-python/zope-interface-5.4.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+)
+
+python_prepare_all() {
+ pushd "${WORKDIR}/${PARENT_P}" > /dev/null || die
+ default
+ popd > /dev/null || die
+
+ distutils-r1_python_prepare_all
+}
diff --git a/app-crypt/certbot-dns-rfc2136/certbot-dns-rfc2136-9999.ebuild b/app-crypt/certbot-dns-rfc2136/certbot-dns-rfc2136-9999.ebuild
new file mode 100644
index 0000000000..425291d67b
--- /dev/null
+++ b/app-crypt/certbot-dns-rfc2136/certbot-dns-rfc2136-9999.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+
+inherit distutils-r1
+
+PARENT_PN="${PN%-dns-rfc2136}"
+PARENT_P="${PARENT_PN}-${PV}"
+
+if [[ "${PV}" == *9999 ]]; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/certbot/certbot.git"
+ EGIT_SUBMODULES=()
+ EGIT_CHECKOUT_DIR="${WORKDIR}/${PARENT_PN}"
+else
+ SRC_URI="
+ https://github.com/certbot/certbot/archive/v${PV}.tar.gz
+ -> ${PARENT_P}.tar.gz
+ "
+ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+fi
+
+DESCRIPTION="RFC 2136 DNS Authenticator plugin for Certbot (Let’s Encrypt client)"
+HOMEPAGE="
+ https://letsencrypt.org/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+S="${WORKDIR}/${PARENT_P}/${PN}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ >=app-crypt/acme-${PV}[${PYTHON_USEDEP}]
+ >=app-crypt/certbot-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-22.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-3.0.9[${PYTHON_USEDEP}]
+ >=dev-python/zope-interface-5.4.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+)
+
+python_prepare_all() {
+ pushd "${WORKDIR}/${PARENT_P}" > /dev/null || die
+ default
+ popd > /dev/null || die
+
+ distutils-r1_python_prepare_all
+}
diff --git a/app-crypt/certbot-dns-rfc2136/metadata.xml b/app-crypt/certbot-dns-rfc2136/metadata.xml
new file mode 100644
index 0000000000..636099d635
--- /dev/null
+++ b/app-crypt/certbot-dns-rfc2136/metadata.xml
@@ -0,0 +1,12 @@
+
+
+
+
+ thican@thican.net
+ Thibaud CANALE
+
+
+ certbot/certbot
+ certbot-dns-rfc2136
+
+
diff --git a/app-misc/ledger-live/Manifest b/app-misc/ledger-live/Manifest
index 09bf690d1e..4c5a1982b3 100644
--- a/app-misc/ledger-live/Manifest
+++ b/app-misc/ledger-live/Manifest
@@ -1 +1,2 @@
DIST ledger-live-desktop-2.43.1-linux-x86_64.AppImage 108981264 BLAKE2B aa14b1087ffffbf623b9e78a41e005ef93d0a62dd29d9112becbd380809d00ec3978bba4b4364eccd9e2775da1f6b979035685885a9c35845b224b10a7525699 SHA512 738254ea939772bcbe0bd9dcaf2e7698477a88e830cba6e362a937038510263b221b06f7fd1211bdbe186e855e355bc2dd8b60ed404a10d89ee6258733a64726
+DIST ledger-live-desktop-2.46.2-linux-x86_64.AppImage 108909081 BLAKE2B ec1c4031dff8209a3d4885fd972781248ce8f20a3925a26168018eac5546e69bc53f20d2eaac97c5dcf7894aadec92ee3c6f150748bf979dfbb98094f82aca45 SHA512 7ddf8b56502f98250e6a2b0cb4024250b7c1aef1ea4d73534a0f96e966311b4b8f7a51c8023613af492b625c52f47b474fc2b132e2d4aafbf92b8d9f75651586
diff --git a/app-misc/ledger-live/ledger-live-2.46.2.ebuild b/app-misc/ledger-live/ledger-live-2.46.2.ebuild
new file mode 100644
index 0000000000..839209abb1
--- /dev/null
+++ b/app-misc/ledger-live/ledger-live-2.46.2.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Manager for the Ledger hardware wallet"
+HOMEPAGE="https://www.ledger.com/"
+SRC_URI="https://download.live.ledger.com/ledger-live-desktop-${PV}-linux-x86_64.AppImage"
+
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+RESTRICT="binchecks strip"
+
+S="${WORKDIR}"
+
+src_install() {
+ cp "${DISTDIR}/ledger-live-desktop-${PV}-linux-x86_64.AppImage" ledger-live || die
+ dobin ledger-live
+}
diff --git a/dev-util/typescript-language-server/Manifest b/dev-util/typescript-language-server/Manifest
index 713137fcee..a065aba241 100644
--- a/dev-util/typescript-language-server/Manifest
+++ b/dev-util/typescript-language-server/Manifest
@@ -1,2 +1,4 @@
DIST typescript-language-server-1.1.2-deps.tar.xz 1496552 BLAKE2B 0edf2dd42d218c82ccb32eeb32a716f63dd5badd7b2235d44dd828e9ba49dc4704ea7d539f800efa70ebef7b89b9f5a02743824c7898f47169f99842b1046d59 SHA512 8b60500027ae7ca056c7bb8012ec5d5adf2c210e446eda3ccedacc7a88471417e7b837e6ca15480e9ae54a1fd3b52b83d22c5f868b8c53deabcd52fe523e581d
DIST typescript-language-server-1.1.2.tgz 122199 BLAKE2B bc7e22de39627df7d7b88113c7639170e809b875b7105e1e8b3ff17f7c871d78b4ab0bc344187c991e193700dd81583d895e4c8a9a378a465f4c139b8841e87b SHA512 8107f8a7716f28aa52842c19725221edbdd5b669ae304b6eaf5c4fcfaa531fe8a56b0de35029ab72f2d4e73cf9f7ff511c11e474fe97ad1ea9f51750f0afbc29
+DIST typescript-language-server-1.2.0-deps.tar.xz 1517048 BLAKE2B c50f025be2fa5ec5c3b792e05da21f6c785e6e25b6f6aac72c6d3da511f176f6aed780da1d457cfbc0570f7f68ca90ea515ec2df155cfee4c953f5257daa67bd SHA512 4ff12fa5f6f0cb4bf15b9e51218579660997b122c38cfa80a895d44cd7c16aa12e9cb7ec2562d8285e941150886b6396934f562ea9e6e2e9f11bb2c8a35839c5
+DIST typescript-language-server-1.2.0.tgz 141254 BLAKE2B bed5d6f8098daee226ac92f10c334a8ddacaaff20cee43c3ca922b3df29b99795c46fb767ba018d1495c0c1ed26ccc711bce40efdda8a43e6d9df136a15183ce SHA512 021c64a3874a80e63fa464cc773795c3f3532190b8cf7dcea84b3bc65477544577e88657d7639f27cbb05d26e64c9942875410d76769420c14b8dbd27db581e3
diff --git a/dev-util/typescript-language-server/typescript-language-server-1.2.0.ebuild b/dev-util/typescript-language-server/typescript-language-server-1.2.0.ebuild
new file mode 100644
index 0000000000..ee1519addc
--- /dev/null
+++ b/dev-util/typescript-language-server/typescript-language-server-1.2.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="TypeScript & JavaScript Language Server"
+HOMEPAGE="https://www.npmjs.com/package/typescript-language-server"
+SRC_URI="
+ mirror://npm/${PN}/-/${P}.tgz
+ https://tastytea.de/files/gentoo/${P}-deps.tar.xz
+"
+S="${WORKDIR}"
+
+# NOTE: to generate the dependency tarball:
+# npm --cache "$(realpath ./npm-cache)" install $(portageq envvar DISTDIR)/${P}.tgz
+# tar -caf ${P}-deps.tar.xz npm-cache
+
+LICENSE="Apache-2.0 ISC MIT-with-advertising"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ net-libs/nodejs
+ dev-lang/typescript
+"
+BDEPEND="net-libs/nodejs[npm]"
+
+src_unpack() {
+ cd "${T}" || die "Could not cd to temporary directory"
+ unpack ${P}-deps.tar.xz
+}
+
+src_install() {
+ npm \
+ --offline \
+ --verbose \
+ --progress false \
+ --foreground-scripts \
+ --global \
+ --prefix "${ED}"/usr \
+ --cache "${T}"/npm-cache \
+ install "${DISTDIR}"/${P}.tgz || die "npm install failed"
+
+ einstalldocs
+}
diff --git a/games-action/ddnet/Manifest b/games-action/ddnet/Manifest
new file mode 100644
index 0000000000..310cba6174
--- /dev/null
+++ b/games-action/ddnet/Manifest
@@ -0,0 +1 @@
+DIST ddnet-16.3.2.tar.gz 35885532 BLAKE2B 9ba13ef9bf6f31cd1084a88a4156db5abb5163e3566201f94872b9a32ed94750d356f5209e62fb4d98272164816b66d48d34415f978188212db044fcc157375b SHA512 6ddfb80f742d674a87d4953aab708e05d4efce2758dd91a1366454a799d10b607a2b3beba75d1104b49870cc4ebdbb3631478c11403a14cf7f9507666741169b
diff --git a/games-action/ddnet/ddnet-16.3.2.ebuild b/games-action/ddnet/ddnet-16.3.2.ebuild
new file mode 100644
index 0000000000..8f3b5f9c0f
--- /dev/null
+++ b/games-action/ddnet/ddnet-16.3.2.ebuild
@@ -0,0 +1,75 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit cmake python-any-r1 xdg
+
+DESCRIPTION="DDraceNetwork, a cooperative racing mod of Teeworlds "
+HOMEPAGE="https://ddnet.tw/
+ https://github.com/ddnet/ddnet"
+SRC_URI="https://github.com/ddnet/ddnet/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="CC-BY-SA-3.0 OFL-1.1 BSD"
+SLOT="0"
+IUSE="antibot autoupdate +client download-gtest headless-client +inform-update +server +tools upnp +videorecorder vulkan websockets"
+KEYWORDS="~amd64"
+
+DEPEND="
+ client? (
+ media-libs/freetype
+ media-libs/glew
+ media-libs/libogg
+ media-libs/libsdl2
+ media-libs/opus
+ media-libs/opusfile
+ media-libs/pnglite
+ videorecorder? ( media-video/ffmpeg )
+ )
+ dev-libs/glib
+ dev-libs/openssl
+ dev-db/sqlite
+ download-gtest? (
+ dev-cpp/gtest
+ dev-vcs/git
+ )
+ media-libs/libglvnd
+ media-libs/libpng
+ media-sound/wavpack
+ net-misc/curl
+ upnp? ( net-libs/miniupnpc )
+ vulkan? (
+ media-libs/vulkan-loader
+ media-libs/libsdl2[vulkan]
+ )
+ websockets? ( net-libs/libwebsockets[client] )
+ x11-libs/gdk-pixbuf
+ x11-libs/libnotify
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ >=dev-lang/python-3.8:3.8
+ dev-util/cmake
+ dev-util/glslang
+ dev-util/spirv-tools
+ media-libs/x264
+"
+src_configure(){
+ local mycmakeargs=(
+ -DANTIBOT=$(usex antibot ON OFF)
+ -DAUTOUPDATE=$(usex autoupdate ON OFF)
+ -DCLIENT=$(usex client ON OFF)
+ -DDOWNLOAD_GTEST=$(usex download-gtest ON OFF)
+ -DHEADLESS_CLIENT=$(usex headless-client ON OFF)
+ -DINFORM_UPDATE=$(usex inform-update ON OFF)
+ -DSERVER=$(usex server ON OFF)
+ -DTOOLS=$(usex tools ON OFF)
+ -DUPNP=$(usex upnp ON OFF)
+ -DVIDEORECORDER=$(usex videorecorder ON OFF)
+ -DVULKAN=$(usex vulkan ON OFF)
+ -DWEBSOCKETS=$(usex websockets ON OFF)
+ )
+ cmake_src_configure
+}
diff --git a/games-action/ddnet/metadata.xml b/games-action/ddnet/metadata.xml
new file mode 100644
index 0000000000..66ebe3a985
--- /dev/null
+++ b/games-action/ddnet/metadata.xml
@@ -0,0 +1,22 @@
+
+
+
+
+ Zhang Zheng
+ zhangzheng.dylan@foxmail.com
+
+
+