diff --git a/app-misc/badvideo/Manifest b/app-misc/badvideo/Manifest
new file mode 100644
index 0000000000..71904b0908
--- /dev/null
+++ b/app-misc/badvideo/Manifest
@@ -0,0 +1 @@
+DIST v5.2.tar.gz 20090147 BLAKE2B 192fbbe885d576075dc4b258cc2e81c3dc6feeeb49620c3f6dddc80d6edf4e3c4ee9e60c253c1ce563c86cb73aeb9aca4cd8fbef557c730360717648b07550e0 SHA512 59e53c61251c1e60e0e694ce0916caca2a933d9c4e27d2bf6d401b859602148353a035309209c27c5a74cd801ad8b4c91455eed8a3635cd97938dc6718dc5012
diff --git a/app-misc/badvideo/badvideo-5.2.ebuild b/app-misc/badvideo/badvideo-5.2.ebuild
new file mode 100644
index 0000000000..defbd4da13
--- /dev/null
+++ b/app-misc/badvideo/badvideo-5.2.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+SRC_URI="https://github.com/kernaltrap8/${PN}/archive/refs/tags/v${PV}.tar.gz"
+
+DESCRIPTION="Ruin your videos in SECONDS!"
+HOMEPAGE="https://github.com/kernaltrap8/badvideo"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ media-video/ffmpeg[opus,x264]
+"
+DEPEND="${RDEPEND}"
+
+src_install() {
+ newbin "${S}"/src/badvideo.sh badvideo
+}
diff --git a/app-misc/badvideo/badvideo-9999.ebuild b/app-misc/badvideo/badvideo-9999.ebuild
index e899423f1c..bf17bce424 100644
--- a/app-misc/badvideo/badvideo-9999.ebuild
+++ b/app-misc/badvideo/badvideo-9999.ebuild
@@ -21,5 +21,5 @@ RDEPEND="
DEPEND="${RDEPEND}"
src_install() {
- newbin ${S}/src/badvideo.sh badvideo
+ newbin "${S}"/src/badvideo.sh badvideo
}
diff --git a/app-misc/proctl/Manifest b/app-misc/proctl/Manifest
new file mode 100644
index 0000000000..2a76563b63
--- /dev/null
+++ b/app-misc/proctl/Manifest
@@ -0,0 +1 @@
+DIST v1.5.tar.gz 14285 BLAKE2B 10202f412f930f005ddf68c500079fa8b36f6903b93c3ae87c97a298524d1b8fe0e0f6817bc5c66e1b413ea742544f60bb91e184b55d5f70ef1409be913e0da5 SHA512 578ce2baa379a4379e9c2ebca58001992f716f7660cdb6710e97f7a4d6be06598a176887aec864bf4b15bd88f7d6eaa829ce3f0ca6daf7d9c964419068460aa1
diff --git a/app-misc/proctl/proctl-1.5.ebuild b/app-misc/proctl/proctl-1.5.ebuild
new file mode 100644
index 0000000000..52833a11cd
--- /dev/null
+++ b/app-misc/proctl/proctl-1.5.ebuild
@@ -0,0 +1,15 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+SRC_URI="https://github.com/kernaltrap8/${PN}/archive/refs/tags/v${PV}.tar.gz"
+
+DESCRIPTION="small C program that can control processes"
+HOMEPAGE="https://github.com/kernaltrap8/proctl"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
diff --git a/app-misc/tinyfetch/Manifest b/app-misc/tinyfetch/Manifest
new file mode 100644
index 0000000000..981ef11608
--- /dev/null
+++ b/app-misc/tinyfetch/Manifest
@@ -0,0 +1 @@
+DIST tinyfetch.tar.gz 21077 BLAKE2B 73a9107721edd5c559af229af3e9ff1a2c373efe3195e662f1a482631f6f5250eeaf20fba7143ce423244bc135d7699f7cdc77a2d557e11aaf84183fcaa04664 SHA512 5add99be93ad43319022e85cb1a294ea80d36ac4f075f317c1e030209e5759bb6916a11cd343fb7abb570006f32adc520e6ee43eea41ba43e285418b01a311a1
diff --git a/app-misc/tinyfetch/tinyfetch-5.2.ebuild b/app-misc/tinyfetch/tinyfetch-5.2.ebuild
new file mode 100644
index 0000000000..ee30c39ba7
--- /dev/null
+++ b/app-misc/tinyfetch/tinyfetch-5.2.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+SRC_URI="https://github.com/kernaltrap8/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${PN}.tar.gz"
+
+DESCRIPTION="fetch program written in pure C"
+HOMEPAGE="https://github.com/kernaltrap8/tinyfetch"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64"
+
+IUSE="+pci"
+
+RDEPEND="
+ pci? (
+ sys-apps/pciutils
+ )
+"
+DEPEND="${RDEPEND}"
diff --git a/dev-python/jplephem/Manifest b/dev-python/jplephem/Manifest
index 8bf4c89d2a..9eed65a15c 100644
--- a/dev-python/jplephem/Manifest
+++ b/dev-python/jplephem/Manifest
@@ -1 +1,2 @@
DIST jplephem-2.21.tar.gz 44359 BLAKE2B 53e816f9eb6ffed8635cd93b4ca68d904c130af2e2dcfcae58c0575ad11c0269487cef1eb73934184c84773387f18ba2eec7c850a383757cf7be649fd5a2e8f6 SHA512 1cd8df8c96dd6bdd73b2615cc78fcf845d2d6d44daa99754662e2449e2c185052983056a9f0de11bfce390cc6c09a798b2ad1908b3eb0bca113e8c0ba16445e2
+DIST jplephem-2.22.gh.tar.gz 59000132 BLAKE2B 1ddd9a911698530e134383491a30df12491dea61d7a3f1d1d41eee3c2cb239bd2da261c543c62c766675d1be94d7c10bc7fbbcc4dbfb7c6cb710b77bdaffadbf SHA512 5ed8f6e071d1cd1d3ee394d3c7aa000ac3163abce0b324072f795cd9ff5e6e55aaa23bdeacbca78ec8e6dd9acc378e5daa923953e0a4387867772a1abae77952
diff --git a/dev-python/jplephem/files/jplephem-fix-numpy-compat.patch b/dev-python/jplephem/files/jplephem-fix-numpy-compat.patch
new file mode 100644
index 0000000000..f781933abf
--- /dev/null
+++ b/dev-python/jplephem/files/jplephem-fix-numpy-compat.patch
@@ -0,0 +1,13 @@
+If numpy version has a suffix it will break
+diff --git a/jplephem/test.py b/jplephem/test.py
+index 660d5b5..b50cef2 100644
+--- a/jplephem/test.py
++++ b/jplephem/test.py
+@@ -515,6 +515,7 @@ File type DAF/SPK and format LTL-IEEE with 15 segments:
+
+ def load_tests(loader, tests, ignore):
+ """Run our main documentation as a test."""
++ return tests
+
+ # If we are running in CI, where we test against an old version of
+ # NumPy, skip the doctests since NumPy will print whitespace
diff --git a/dev-python/jplephem/jplephem-2.22.ebuild b/dev-python/jplephem/jplephem-2.22.ebuild
new file mode 100644
index 0000000000..153b479370
--- /dev/null
+++ b/dev-python/jplephem/jplephem-2.22.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11,12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python version of NASA DE4xx ephemerides for Astronomical Alamanac"
+HOMEPAGE="https://pypi.org/project/jplephem/"
+SRC_URI="https://github.com/brandon-rhodes/python-jplephem/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+S="${WORKDIR}/python-${P}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="dev-python/numpy[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}/${PN}-fix-numpy-compat.patch" )
+
+distutils_enable_tests unittest
+
+python_test() {
+ cd ci || die
+ eunittest .
+}
diff --git a/dev-python/plexapi/Manifest b/dev-python/plexapi/Manifest
index f66b9c343a..e7c77f4bc2 100644
--- a/dev-python/plexapi/Manifest
+++ b/dev-python/plexapi/Manifest
@@ -1 +1,2 @@
DIST plexapi-4.15.11.gh.tar.gz 22519567 BLAKE2B 20f5e3d426475c63aa39f960838a0501abbf6af6f2c214163825e53d052076cd8a8ba982eafe0faa9971d0b6f857a266f092a3d4fb3b6cb7fff8c7f9380f4e03 SHA512 c68b414aa9262c3505dc2490c38e8d5dd896970f4df7fe8d382a0c5f2276ecc9833767e243b596c4f0f625e6d8984f5f89790fe7a71e9b6cab1c439f26b9cde1
+DIST plexapi-4.15.14.gh.tar.gz 22523062 BLAKE2B ced898e7e4fdfbf605882e683afea9e12161dc8ff633bc8c03a788f0684252ae4bd2a33d24d921ed6924e6831b976f564213ad8a5d2bf9b5fd9d38874163a3a2 SHA512 1bacbb0fe37d6d9c9807f25d794305e3da0b532e1108299335fbc8b4a9398d4c5c57fdb7aadc61f8edd0b14b58df78adaea655b5193439069bfa22cc5b553089
diff --git a/dev-python/plexapi/plexapi-4.15.14.ebuild b/dev-python/plexapi/plexapi-4.15.14.ebuild
new file mode 100644
index 0000000000..a97cbd886b
--- /dev/null
+++ b/dev-python/plexapi/plexapi-4.15.14.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# left here in case we switch to pypi
+PYPI_PN="PlexAPI"
+PYPI_NO_NORMALIZE=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10,11,12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for the Plex API."
+HOMEPAGE="
+ https://pypi.org/project/plexapi/
+ https://github.com/pkkid/python-plexapi
+"
+
+# pypi release don't have docs
+SRC_URI="https://github.com/pkkid/python-plexapi/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+S="${WORKDIR}/python-${P}"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+# almost all tests requires a running server
+RESTRICT="test"
+
+RDEPEND="
+ dev-python/requests[${PYTHON_USEDEP}]
+"
+
+BDEPEND="doc? ( dev-python/sphinx-rtd-theme )"
+
+distutils_enable_sphinx docs
diff --git a/net-p2p/ipfs-cluster/Manifest b/net-p2p/ipfs-cluster/Manifest
deleted file mode 100644
index a469f88370..0000000000
--- a/net-p2p/ipfs-cluster/Manifest
+++ /dev/null
@@ -1,4 +0,0 @@
-DIST ipfs-cluster-1.0.1-vendor.tar.xz 5799076 BLAKE2B 27b31d562d20b3693b959dba0e675c76dcd2643fd7d9321cb6284ce565e530dcf097fa0e6e45e9724cd583e1ca9e44573abae73ab68a6c83a66617c17636e159 SHA512 a1b70f5a8b5adfc34ba9cc04f38aae6083458170c15d34d2b677b0a83294f37968d568263db5c9bc73bcebc837da64a1ad46aace09799334182a1f6f51898b43
-DIST ipfs-cluster-1.0.1.tar.gz 463547 BLAKE2B 34d38dbff73626151c2da668e6f4fea983c98742b992132e19c3acd5281d218e3bd70f52d72489d8c89b0554dbf1e807c261b5259ce1f05b7825791701bf87fe SHA512 40a55f8c6f84a6f6c2772eb590dc993c4f18b5d2a001e55abb50b961f376182b3f9e4fa4a48a426b9fc87e9183ae5d6b244e47e5435fadc29a5cbbb8d237ad88
-DIST ipfs-cluster-1.0.2-vendor.tar.xz 5599580 BLAKE2B f2b8503b8f550dfd8f0ee2c0ca0b9384e68f86fbd2b4a75934a404623e224d66217a922424142e6c040e20f701fb55aec994441ddafdaed5bb7d267f9aff52d4 SHA512 488dc8479069f0f525ab88ac8f34aa300ced9ee26d2fff728e8b73aeb37261f899b2cfd2185265142be3b0cc7ecaaf7374c9f93fc4832bd931aead1924a506b5
-DIST ipfs-cluster-1.0.2.tar.gz 471909 BLAKE2B cc44ae20df697704d1e0daf7a912773f1be4275f0ab48cfa6760e1d8ea153fbe1c859b56d4fd81fc1dae182424ec0b33511de06556efc7edf05d9adbbc78df4b SHA512 7cc6f9547f8953719d0576db20a1a1d0157b78462e9a999d9dd62accfac1886625800313ce31b6dd7e63c32b1b5324d87ac29fb02177ce25b51d818afb77b3a3
diff --git a/net-p2p/ipfs-cluster/files/ipfs-cluster.init b/net-p2p/ipfs-cluster/files/ipfs-cluster.init
deleted file mode 100644
index 11a5bc62e2..0000000000
--- a/net-p2p/ipfs-cluster/files/ipfs-cluster.init
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-source /etc/conf.d/ipfs
-
-export IPFS_PATH=${IPFS_PATH:-/var/lib/ipfs/.ipfs}
-
-pidfile="/run/ipfs-cluster.pid"
-command="/usr/bin/ipfs-cluster-service"
-command_args="daemon"
-command_user="ipfs:ipfs"
-command_background=true
-start_stop_daemon_args="--wait 1000 -b -m \
- -1 /var/log/ipfs/ipfs-cluster.log \
- -2 /var/log/ipfs/ipfs-cluster.log"
-
-depend() {
- need net
- want ipfs
-}
diff --git a/net-p2p/ipfs-cluster/files/ipfs-cluster.service b/net-p2p/ipfs-cluster/files/ipfs-cluster.service
deleted file mode 100644
index 31576a3f90..0000000000
--- a/net-p2p/ipfs-cluster/files/ipfs-cluster.service
+++ /dev/null
@@ -1,18 +0,0 @@
-[Unit]
-Description=IPFS Cluster
-After=ipfs.service
-
-[Service]
-CPUSchedulingPolicy=batch
-Environment=IPFS_PATH=/var/lib/ipfs/.ipfs
-ExecStart=/usr/bin/ipfs-cluster-service daemon
-Group=ipfs
-LimitNOFILE=8192
-PrivateTmp=yes
-ProtectSystem=full
-Restart=on-failure
-Type=simple
-User=ipfs
-
-[Install]
-WantedBy=multi-user.target
diff --git a/net-p2p/ipfs-cluster/ipfs-cluster-1.0.1.ebuild b/net-p2p/ipfs-cluster/ipfs-cluster-1.0.1.ebuild
deleted file mode 100644
index e47bc80287..0000000000
--- a/net-p2p/ipfs-cluster/ipfs-cluster-1.0.1.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit go-module systemd
-
-DESCRIPTION="Pinset orchestration for IPFS"
-HOMEPAGE="https://ipfscluster.io/"
-SRC_URI="https://github.com/ipfs/ipfs-cluster/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-SRC_URI+=" https://ipfs.infura.io/ipfs/QmUGftdXbN815P1GvurGRBa5fYFiGfTDAdBXToadzYAqw3/${P}-vendor.tar.xz"
-
-LICENSE="Apache-2.0 MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- net-p2p/kubo
-"
-
-DOCS=( CHANGELOG.md CONTRIBUTING.md README.md )
-
-src_compile() {
- pushd cmd/ipfs-cluster-ctl
- ego build
- mv ipfs-cluster-ctl $OLDPWD
- popd
-
- pushd cmd/ipfs-cluster-follow
- ego build
- mv ipfs-cluster-follow $OLDPWD
- popd
-
- pushd cmd/ipfs-cluster-service
- ego build
- mv ipfs-cluster-service $OLDPWD
- popd
-}
-
-src_test() {
- go test ./cmd/ipfs-cluster-ctl/... ./cmd/ipfs-cluster-follow/... ./cmd/ipfs-cluster-service/... || die
-}
-
-src_install() {
- dobin ipfs-cluster-ctl
- dobin ipfs-cluster-follow
- dobin ipfs-cluster-service
- einstalldocs
-
- systemd_dounit "${FILESDIR}/ipfs-cluster.service"
- systemd_newunit "${FILESDIR}/ipfs-cluster.service" "ipfs-cluster@.service"
-
- newinitd "${FILESDIR}/ipfs-cluster.init" ipfs-cluster
- newconfd /dev/null ipfs-cluster
-
- keepdir /var/log/ipfs-cluster
- fowners -R ipfs:ipfs /var/log/ipfs-cluster
-}
-
-pkg_postinst() {
- elog 'To be able to use the ipfs-cluster service you will need to setup the configuration'
- elog '(eg: su -s /bin/sh -c "ipfs-cluster init" ipfs)'
-}
diff --git a/net-p2p/ipfs-cluster/ipfs-cluster-1.0.2.ebuild b/net-p2p/ipfs-cluster/ipfs-cluster-1.0.2.ebuild
deleted file mode 100644
index 7e6cf2bc09..0000000000
--- a/net-p2p/ipfs-cluster/ipfs-cluster-1.0.2.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit go-module systemd
-
-DESCRIPTION="Pinset orchestration for IPFS"
-HOMEPAGE="https://ipfscluster.io/"
-SRC_URI="https://github.com/ipfs/ipfs-cluster/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-SRC_URI+=" https://ipfs.infura.io/ipfs/QmSTbDLMCFKKKXmEBFgGMZDYV9EfngKsFnws8PZoKhAk38/${P}-vendor.tar.xz"
-
-LICENSE="Apache-2.0 MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- net-p2p/kubo
-"
-
-DOCS=( CHANGELOG.md CONTRIBUTING.md README.md )
-
-src_compile() {
- pushd cmd/ipfs-cluster-ctl
- ego build
- mv ipfs-cluster-ctl $OLDPWD
- popd
-
- pushd cmd/ipfs-cluster-follow
- ego build
- mv ipfs-cluster-follow $OLDPWD
- popd
-
- pushd cmd/ipfs-cluster-service
- ego build
- mv ipfs-cluster-service $OLDPWD
- popd
-}
-
-src_test() {
- go test ./cmd/ipfs-cluster-ctl/... ./cmd/ipfs-cluster-follow/... ./cmd/ipfs-cluster-service/... || die
-}
-
-src_install() {
- dobin ipfs-cluster-ctl
- dobin ipfs-cluster-follow
- dobin ipfs-cluster-service
- einstalldocs
-
- systemd_dounit "${FILESDIR}/ipfs-cluster.service"
- systemd_newunit "${FILESDIR}/ipfs-cluster.service" "ipfs-cluster@.service"
-
- newinitd "${FILESDIR}/ipfs-cluster.init" ipfs-cluster
- newconfd /dev/null ipfs-cluster
-
- keepdir /var/log/ipfs-cluster
- fowners -R ipfs:ipfs /var/log/ipfs-cluster
-}
-
-pkg_postinst() {
- elog 'To be able to use the ipfs-cluster service you will need to setup the configuration'
- elog '(eg: su -s /bin/sh -c "ipfs-cluster init" ipfs)'
-}
diff --git a/net-p2p/ipfs-cluster/metadata.xml b/net-p2p/ipfs-cluster/metadata.xml
deleted file mode 100644
index 46b27c60a5..0000000000
--- a/net-p2p/ipfs-cluster/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
- ipfs/ipfs-cluster
-
-
diff --git a/profiles/package.mask b/profiles/package.mask
index 06aaa0f355..f397ac0f9a 100644
--- a/profiles/package.mask
+++ b/profiles/package.mask
@@ -70,11 +70,6 @@ dev-python/pure-protobuf
# https://bugs.gentoo.org/931490
www-client/woob
-# Joe Kappus (2024-05-24)
-# Golang crap hosted on dead ipfs node without maintainer
-# Bug #884915, Removal on 2024/06/23
-net-p2p/ipfs-cluster
-
# Julien Roy (2024-03-21)
# sys-libs/libucontext is masked in ::gentoo
sys-libs/gcompat