diff --git a/pkgs/tools/package-management/dnf5/default.nix b/pkgs/tools/package-management/dnf5/default.nix index 97c9ba29b6a7..0476da3d5fbd 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.8"; + + outputs = [ "out" "man" ]; 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 ]; + 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";