diff --git a/dev-libs/libsolv/Manifest b/dev-libs/libsolv/Manifest
new file mode 100644
index 0000000000..f17add83c3
--- /dev/null
+++ b/dev-libs/libsolv/Manifest
@@ -0,0 +1 @@
+DIST libsolv-0.7.30.tar.gz 762322 BLAKE2B 2d731d87fa71693d1af98f6290536d73bc398a319c63fd5444e5861a5eede58a5b966faa73af99f09d2c623314bd9fbca74700ba4827bb6f749ff0a450d133bc SHA512 65b385b6a303f40aeb49a67185469c9d554669a08e3c9529e5487fd31c7f4b25565899b2c20bbab69a44cfd7cc746b88d2b05c49d02c94a3cfa81f9142274f4e
diff --git a/dev-libs/libsolv/libsolv-0.7.30.ebuild b/dev-libs/libsolv/libsolv-0.7.30.ebuild
new file mode 100644
index 0000000000..7011d39648
--- /dev/null
+++ b/dev-libs/libsolv/libsolv-0.7.30.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Library for solving packages and reading repositories"
+HOMEPAGE="https://github.com/openSUSE/libsolv"
+SRC_URI="https://github.com/openSUSE/libsolv/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="expat test zchunk"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ app-arch/bzip2
+ app-arch/rpm
+ app-arch/xz-utils
+ app-arch/zstd:=
+ sys-libs/zlib
+ expat? ( dev-libs/expat )
+ !expat? ( dev-libs/libxml2 )
+ zchunk? ( app-arch/zchunk )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_COMPLEX_DEPS=ON
+ -DENABLE_COMPS=ON
+ -DENABLE_RPMDB=ON
+ -DENABLE_RPMMD=ON
+ -DENABLE_RPMPKG_LIBRPM=ON
+ -DENABLE_BZIP2_COMPRESSION=ON
+ -DENABLE_LZMA_COMPRESSION=ON
+ -DENABLE_ZSTD_COMPRESSION=ON
+ -DWITH_LIBXML2=$(usex !expat)
+ -DWITH_SYSTEM_ZCHUNK=$(usex zchunk)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/libsolv/metadata.xml b/dev-libs/libsolv/metadata.xml
new file mode 100644
index 0000000000..185024fdce
--- /dev/null
+++ b/dev-libs/libsolv/metadata.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ pastalian46@gmail.com
+ Takuya Wakazono
+
+
+ openSUSE/libsolv
+
+
+
diff --git a/dev-python/hijridate/Manifest b/dev-python/hijridate/Manifest
index 454c2f9058..fa433411b2 100644
--- a/dev-python/hijridate/Manifest
+++ b/dev-python/hijridate/Manifest
@@ -1 +1 @@
-DIST hijridate-2.4.1.gh.tar.gz 42771 BLAKE2B 7640d2eb6760f1e496468f0cb11d25c3bb4bf8fc4274b1d802d25b8392a44a83c46564d3f2372f53a37ec10fd914c1fbf096dab359018350662b747f8c1c65a6 SHA512 64fc38afbb59ce5de3611602ed8b0262cf410b66236f57e30aeb3d39db904afbfb17b300dba0ac7ab2163b7c4c000b2d444fa3769f00c7a7e80b8fe4bbc7216c
+DIST hijridate-2.5.0.gh.tar.gz 46488 BLAKE2B f9a20c8cddf2e994e952d24dd16f9113c52564961f6a13d4d40b4cf5933ecacf763ebd735a88fc41fcdcdd4cf4620810ae3504ced71e1284fbcb39b6d6aed321 SHA512 ff096902f30a5664892bdfc6a167ac838e83640a7430db726bc02417e4b34d5790624c260f906ee8143a05efefdee55e37b9dbf390fde514cf2f462743995611
diff --git a/dev-python/hijridate/hijridate-2.4.1.ebuild b/dev-python/hijridate/hijridate-2.5.0.ebuild
similarity index 81%
rename from dev-python/hijridate/hijridate-2.4.1.ebuild
rename to dev-python/hijridate/hijridate-2.5.0.ebuild
index 6cb25f351e..c2cc22f9b7 100644
--- a/dev-python/hijridate/hijridate-2.4.1.ebuild
+++ b/dev-python/hijridate/hijridate-2.5.0.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-DISTUTILS_USE_PEP517=setuptools
+DISTUTILS_USE_PEP517=hatchling
PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
@@ -16,10 +16,11 @@ LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
+BDEPEND="dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]"
+
distutils_enable_tests pytest
distutils_enable_sphinx docs \
dev-python/furo \
dev-python/myst-parser \
- dev-python/sphinx-notfound-page \
- dev-python/sphinx-rtd-theme
+ dev-python/sphinx-notfound-page
diff --git a/dev-util/ocamlformat/ocamlformat-0.26.2.ebuild b/dev-util/ocamlformat/ocamlformat-0.26.2.ebuild
index 1ade5d9a29..6ab97c5a6d 100644
--- a/dev-util/ocamlformat/ocamlformat-0.26.2.ebuild
+++ b/dev-util/ocamlformat/ocamlformat-0.26.2.ebuild
@@ -42,7 +42,7 @@ DEPEND="
${RDEPEND}
"
-BEPEND="
+BDEPEND="
test? (
dev-ml/alcotest:=
)
diff --git a/sys-apps/dnf5/Manifest b/sys-apps/dnf5/Manifest
new file mode 100644
index 0000000000..626508bd35
--- /dev/null
+++ b/sys-apps/dnf5/Manifest
@@ -0,0 +1 @@
+DIST dnf5-5.2.5.0.tar.gz 1303914 BLAKE2B c9fd30aaa74e7e063b1ffbce645a839ba1b82aad92bae70299254a6a62e087246d006af58205f46720f57c1f1eb193eaabe323b6b8d67b31b4ce763b98e573f5 SHA512 9339bdb39a2b55006941909bd9c5e2ebba01258a15952952c346d88bb270cf51b2db91d1938b2bb8ace3c20c58dab3ec11b25454394d270de76580ea6ee49980
diff --git a/sys-apps/dnf5/dnf5-5.2.5.0.ebuild b/sys-apps/dnf5/dnf5-5.2.5.0.ebuild
new file mode 100644
index 0000000000..c7dcd6d945
--- /dev/null
+++ b/sys-apps/dnf5/dnf5-5.2.5.0.ebuild
@@ -0,0 +1,75 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Command-line package manager"
+HOMEPAGE="https://github.com/rpm-software-management/dnf5"
+SRC_URI="https://github.com/rpm-software-management/dnf5/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2+ LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="nls systemd test"
+PROPERTIES="test_network"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=app-arch/rpm-4.17.0
+ dev-cpp/sdbus-c++:=
+ dev-cpp/toml11
+ >=dev-db/sqlite-3.35.0:3
+ >=dev-libs/glib-2.46.0:2
+ dev-libs/json-c:=
+ dev-libs/libfmt:=
+ >=dev-libs/librepo-1.17.1
+ >=dev-libs/libsolv-0.7.25
+ dev-libs/libxml2
+ sys-apps/util-linux
+ >=sys-libs/libmodulemd-2.11.2
+ systemd? ( sys-apps/systemd:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-python/breathe
+ dev-python/sphinx
+ virtual/pkgconfig
+ test? (
+ app-arch/createrepo_c
+ dev-util/cppunit
+ )
+"
+
+PATCHES=(
+ # Prevent empty cache directory from being created.
+ "${FILESDIR}/${P}-remove-empty-dir.patch"
+ # Prevent test suite from writing to system files.
+ "${FILESDIR}/${P}-sandbox-test.patch"
+)
+
+src_prepare() {
+ cmake_src_prepare
+ # Replace hardcoded TMPDIR.
+ sed -i "s|/tmp/|${T}/|" test/libdnf5/utils/test_fs.cpp || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DWITH_HTML=OFF
+ -DWITH_PERL5=OFF
+ -DWITH_PYTHON3=OFF
+ -DWITH_RUBY=OFF
+ -DWITH_ZCHUNK=OFF
+ -DWITH_SYSTEMD=$(usex systemd)
+ -DWITH_TESTS=$(usex test)
+ -DWITH_TRANSLATIONS=$(usex nls)
+ )
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ cmake_src_compile doc-man
+}
diff --git a/sys-apps/dnf5/files/dnf5-5.2.5.0-remove-empty-dir.patch b/sys-apps/dnf5/files/dnf5-5.2.5.0-remove-empty-dir.patch
new file mode 100644
index 0000000000..e82fdb6fac
--- /dev/null
+++ b/sys-apps/dnf5/files/dnf5-5.2.5.0-remove-empty-dir.patch
@@ -0,0 +1,10 @@
+--- a/libdnf5/CMakeLists.txt
++++ b/libdnf5/CMakeLists.txt
+@@ -136,7 +136,6 @@ configure_file("libdnf5.pc.in" ${CMAKE_CURRENT_BINARY_DIR}/libdnf5.pc @ONLY)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libdnf5.pc DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig)
+
+ # Makes an empty directory for libdnf5 cache
+-install(DIRECTORY DESTINATION "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/cache/libdnf5")
+
+ # Makes an empty directory for libdnf5 distribution drop-in configuration files
+ install(DIRECTORY DESTINATION "${CMAKE_INSTALL_PREFIX}/share/dnf5/libdnf.conf.d")
diff --git a/sys-apps/dnf5/files/dnf5-5.2.5.0-sandbox-test.patch b/sys-apps/dnf5/files/dnf5-5.2.5.0-sandbox-test.patch
new file mode 100644
index 0000000000..2f5fe26dae
--- /dev/null
+++ b/sys-apps/dnf5/files/dnf5-5.2.5.0-sandbox-test.patch
@@ -0,0 +1,18 @@
+Prevent test suite from writing to system files.
+--- a/test/data/build-rpms-and-repos.sh
++++ b/test/data/build-rpms-and-repos.sh
+@@ -32,12 +32,14 @@ function build_rpms() {
+
+ # Note: _build_name_fmt requires escaped %% for use in headerSprintf()
+ rpmbuild -ba \
++ --dbpath "${RPMBUILD_TOPDIR}" \
+ --define="_topdir ${RPMBUILD_TOPDIR}" \
+ --define="_srcrpmdir ${TARGET_DIR}" \
+ --define="_rpmdir ${TARGET_DIR}" \
+ --define="_build_name_fmt %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm" \
+ --define="_source_payload w1.gzdio" \
+ --define="_binary_payload w1.gzdio" \
++ --nodeps \
+ "${SPEC}"
+
+ rm -rf "${RPMBUILD_TOPDIR}"
diff --git a/sys-apps/dnf5/metadata.xml b/sys-apps/dnf5/metadata.xml
new file mode 100644
index 0000000000..2db61dc2ce
--- /dev/null
+++ b/sys-apps/dnf5/metadata.xml
@@ -0,0 +1,11 @@
+
+
+
+
+ pastalian46@gmail.com
+ Takuya Wakazono
+
+
+ rpm-software-management/dnf5
+
+