about summary refs log tree commit diff
path: root/pkgs/tools/package-management/dnf5/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/package-management/dnf5/default.nix')
-rw-r--r--pkgs/tools/package-management/dnf5/default.nix38
1 files changed, 32 insertions, 6 deletions
diff --git a/pkgs/tools/package-management/dnf5/default.nix b/pkgs/tools/package-management/dnf5/default.nix
index 97c9ba29b6a7..31a19b542e70 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
@@ -14,27 +16,45 @@
 , libsmartcols
 , libsolv
 , libxml2
+, libyaml
 , pcre2
 , rpm
 , sdbus-cpp
+, sphinx
 , sqlite
 , systemd
+, testers
 , toml11
 , zchunk
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "dnf5";
-  version = "5.1.7";
+  version = "5.1.10";
+
+  outputs = [ "out" "man" ];
 
   src = fetchFromGitHub {
     owner = "rpm-software-management";
     repo = "dnf5";
     rev = finalAttrs.version;
-    hash = "sha256-SXgl4YFWl1A3N2/IkDftvBl6Rwhnymxe8AqqaekGHTc=";
+    hash = "sha256-u+UiiCl67VtIedW4kn3fycafkgBVsFFkWQcN3NXQKl4=";
   };
 
-  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
@@ -44,6 +64,7 @@ stdenv.mkDerivation (finalAttrs: {
     libsmartcols
     libsolv
     libxml2
+    libyaml
     pcre2.dev
     rpm
     sdbus-cpp
@@ -60,9 +81,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
     # 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,
@@ -71,6 +89,10 @@ stdenv.mkDerivation (finalAttrs: {
     "-DCMAKE_INSTALL_LIBDIR=lib"
   ];
 
+  postBuild = ''
+    make doc
+  '';
+
   prePatch = ''
     substituteInPlace dnf5daemon-server/dbus/CMakeLists.txt \
       --replace '/etc' "$out/etc" \
@@ -83,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";