From 0890159e5c99068cc54c235a169f7a85ea8bf2d5 Mon Sep 17 00:00:00 2001 From: Paul Meyer <49727155+katexochen@users.noreply.github.com> Date: Thu, 23 Nov 2023 20:12:05 +0100 Subject: [PATCH 1/4] dnf5: 5.1.7 -> 5.1.8 Adding `libyaml`, as the following output was observed: dnf5> -- Checking for module 'modulemd-2.0>=2.11.2' dnf5> -- Found modulemd-2.0, version 2.15.0 dnf5> Package yaml-0.1 was not found in the pkg-config search path. dnf5> Perhaps you should add the directory containing `yaml-0.1.pc' dnf5> to the PKG_CONFIG_PATH environment variable dnf5> Package 'yaml-0.1', required by 'modulemd-2.0', not found --- pkgs/tools/package-management/dnf5/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/package-management/dnf5/default.nix b/pkgs/tools/package-management/dnf5/default.nix index 97c9ba29b6a7..d33bc6b5100c 100644 --- a/pkgs/tools/package-management/dnf5/default.nix +++ b/pkgs/tools/package-management/dnf5/default.nix @@ -14,6 +14,7 @@ , libsmartcols , libsolv , libxml2 +, libyaml , pcre2 , rpm , sdbus-cpp @@ -25,13 +26,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "dnf5"; - version = "5.1.7"; + version = "5.1.8"; src = fetchFromGitHub { owner = "rpm-software-management"; repo = "dnf5"; rev = finalAttrs.version; - hash = "sha256-SXgl4YFWl1A3N2/IkDftvBl6Rwhnymxe8AqqaekGHTc="; + hash = "sha256-4ht2KraWKL774QPfZz1OgAuFtPVsMis9WiDS+QFP8JY="; }; nativeBuildInputs = [ cmake createrepo_c gettext help2man pkg-config ]; @@ -44,6 +45,7 @@ stdenv.mkDerivation (finalAttrs: { libsmartcols libsolv libxml2 + libyaml pcre2.dev rpm sdbus-cpp From 990e21fdafd59bc6d73b7eed21e0ffcf2a58a261 Mon Sep 17 00:00:00 2001 From: Paul Meyer <49727155+katexochen@users.noreply.github.com> Date: Thu, 23 Nov 2023 20:23:56 +0100 Subject: [PATCH 2/4] dnf5: re-enable tests --- pkgs/tools/package-management/dnf5/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/tools/package-management/dnf5/default.nix b/pkgs/tools/package-management/dnf5/default.nix index d33bc6b5100c..67ef59cdcb0d 100644 --- a/pkgs/tools/package-management/dnf5/default.nix +++ b/pkgs/tools/package-management/dnf5/default.nix @@ -62,7 +62,6 @@ stdenv.mkDerivation (finalAttrs: { "-DWITH_PERL5=OFF" "-DWITH_PYTHON3=OFF" "-DWITH_RUBY=OFF" - "-DWITH_TESTS=OFF" # TODO: fix man installation paths "-DWITH_MAN=OFF" "-DWITH_PLUGIN_RHSM=OFF" # Red Hat Subscription Manager plugin From 8c803cf49693378a739da002914e129ae1b74568 Mon Sep 17 00:00:00 2001 From: Paul Meyer <49727155+katexochen@users.noreply.github.com> Date: Thu, 23 Nov 2023 23:10:48 +0100 Subject: [PATCH 3/4] dnf5: add man pages --- .../tools/package-management/dnf5/default.nix | 26 ++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/package-management/dnf5/default.nix b/pkgs/tools/package-management/dnf5/default.nix index 67ef59cdcb0d..6b4e9bd2b8ca 100644 --- a/pkgs/tools/package-management/dnf5/default.nix +++ b/pkgs/tools/package-management/dnf5/default.nix @@ -3,9 +3,11 @@ , fetchFromGitHub , cmake , createrepo_c +, doxygen , gettext , help2man , pkg-config +, python3Packages , cppunit , fmt , json_c @@ -18,6 +20,7 @@ , pcre2 , rpm , sdbus-cpp +, sphinx , sqlite , systemd , toml11 @@ -28,6 +31,8 @@ stdenv.mkDerivation (finalAttrs: { pname = "dnf5"; version = "5.1.8"; + outputs = [ "out" "man" ]; + src = fetchFromGitHub { owner = "rpm-software-management"; repo = "dnf5"; @@ -35,7 +40,20 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-4ht2KraWKL774QPfZz1OgAuFtPVsMis9WiDS+QFP8JY="; }; - nativeBuildInputs = [ cmake createrepo_c gettext help2man pkg-config ]; + nativeBuildInputs = [ + cmake + createrepo_c + doxygen + gettext + help2man + pkg-config + sphinx + ] ++ (with python3Packages; [ + breathe + sphinx-autoapi + sphinx-rtd-theme + ]); + buildInputs = [ cppunit fmt @@ -62,8 +80,6 @@ stdenv.mkDerivation (finalAttrs: { "-DWITH_PERL5=OFF" "-DWITH_PYTHON3=OFF" "-DWITH_RUBY=OFF" - # TODO: fix man installation paths - "-DWITH_MAN=OFF" "-DWITH_PLUGIN_RHSM=OFF" # Red Hat Subscription Manager plugin # the cmake package does not handle absolute CMAKE_INSTALL_INCLUDEDIR correctly # (setting it to an absolute path causes include files to go to $out/$out/include, @@ -72,6 +88,10 @@ stdenv.mkDerivation (finalAttrs: { "-DCMAKE_INSTALL_LIBDIR=lib" ]; + postBuild = '' + make doc + ''; + prePatch = '' substituteInPlace dnf5daemon-server/dbus/CMakeLists.txt \ --replace '/etc' "$out/etc" \ From 6dc8cbd7a3533d6346424a8c445ee8a5e987bf7f Mon Sep 17 00:00:00 2001 From: Paul Meyer <49727155+katexochen@users.noreply.github.com> Date: Fri, 24 Nov 2023 08:00:39 +0100 Subject: [PATCH 4/4] dnf5: add version test --- pkgs/tools/package-management/dnf5/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/tools/package-management/dnf5/default.nix b/pkgs/tools/package-management/dnf5/default.nix index 6b4e9bd2b8ca..0476da3d5fbd 100644 --- a/pkgs/tools/package-management/dnf5/default.nix +++ b/pkgs/tools/package-management/dnf5/default.nix @@ -23,6 +23,7 @@ , sphinx , sqlite , systemd +, testers , toml11 , zchunk }: @@ -104,6 +105,10 @@ stdenv.mkDerivation (finalAttrs: { dontFixCmake = true; + passthru.tests = { + version = testers.testVersion { package = finalAttrs.finalPackage; }; + }; + meta = with lib; { description = "Next-generation RPM package management system"; homepage = "https://github.com/rpm-software-management/dnf5";