aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakuya Wakazono <pastalian46@gmail.com>2024-07-28 21:19:42 +0900
committerTakuya Wakazono <pastalian46@gmail.com>2024-07-28 21:21:42 +0900
commit1e2360d46cbb8839d8382753f9d665f3aa6dbf36 (patch)
tree15fa614e32572740b715638b7305a8aae738928a /sys-apps
parentdev-libs/libsolv: new package, add 0.7.30 (diff)
downloadguru-1e2360d46cbb8839d8382753f9d665f3aa6dbf36.tar.gz
guru-1e2360d46cbb8839d8382753f9d665f3aa6dbf36.tar.bz2
guru-1e2360d46cbb8839d8382753f9d665f3aa6dbf36.zip
sys-apps/dnf5: new package, add 5.2.5.0
Signed-off-by: Takuya Wakazono <pastalian46@gmail.com>
Diffstat (limited to 'sys-apps')
-rw-r--r--sys-apps/dnf5/Manifest1
-rw-r--r--sys-apps/dnf5/dnf5-5.2.5.0.ebuild75
-rw-r--r--sys-apps/dnf5/files/dnf5-5.2.5.0-remove-empty-dir.patch10
-rw-r--r--sys-apps/dnf5/files/dnf5-5.2.5.0-sandbox-test.patch18
-rw-r--r--sys-apps/dnf5/metadata.xml11
5 files changed, 115 insertions, 0 deletions
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..3274237e96
--- /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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>pastalian46@gmail.com</email>
+ <name>Takuya Wakazono</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">rpm-software-management/dnf5</remote-id>
+ </upstream>
+</pkgmetadata>