diff options
author | Malte Poll <mp@edgeless.systems> | 2023-07-14 11:33:56 +0200 |
---|---|---|
committer | Malte Poll <mp@edgeless.systems> | 2023-07-14 19:25:29 +0200 |
commit | eb5117f4083a2ff5f196074f3822babfa394f6ed (patch) | |
tree | 8d9e96d0d47620bc356f944c4d527684cd9ee946 | |
parent | 406aee2b17480e46641ae822b2409aa50b4daf86 (diff) |
dnf5: init at 5.0.15
-rw-r--r-- | pkgs/development/libraries/libsolv/default.nix | 2 | ||||
-rw-r--r-- | pkgs/tools/package-management/dnf5/default.nix | 94 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 |
3 files changed, 97 insertions, 1 deletions
diff --git a/pkgs/development/libraries/libsolv/default.nix b/pkgs/development/libraries/libsolv/default.nix index 2e5eccf5263b1..f2c22d81cf38d 100644 --- a/pkgs/development/libraries/libsolv/default.nix +++ b/pkgs/development/libraries/libsolv/default.nix @@ -24,6 +24,7 @@ stdenv.mkDerivation rec { "-DENABLE_ZCHUNK_COMPRESSION=true" "-DWITH_SYSTEM_ZCHUNK=true" ] ++ lib.optionals withRpm [ + "-DENABLE_COMPS=true" "-DENABLE_PUBKEY=true" "-DENABLE_RPMDB=true" "-DENABLE_RPMDB_BYRPMHEADER=true" @@ -42,4 +43,3 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ copumpkin ]; }; } - diff --git a/pkgs/tools/package-management/dnf5/default.nix b/pkgs/tools/package-management/dnf5/default.nix new file mode 100644 index 0000000000000..087bde2cbb7a3 --- /dev/null +++ b/pkgs/tools/package-management/dnf5/default.nix @@ -0,0 +1,94 @@ +{ lib +, stdenv +, fetchFromGitHub +, cmake +, createrepo_c +, gettext +, help2man +, pkg-config +, cppunit +, fmt +, glib +, json_c +, libmodulemd +, libpeas +, librepo +, libsmartcols +, libsolv +, libxml2 +, rpm +, sdbus-cpp +, sqlite +, systemd +, toml11 +, zchunk +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "dnf5"; + version = "5.0.15"; + + src = fetchFromGitHub { + owner = "rpm-software-management"; + repo = "dnf5"; + rev = finalAttrs.version; + hash = "sha256-0MR9CJDFL1vbuO7FZyyn3PNb0p27oaho6I2eminTyYU="; + }; + + nativeBuildInputs = [ cmake createrepo_c gettext help2man pkg-config ]; + buildInputs = [ + cppunit + fmt + glib + json_c + libmodulemd + libpeas + librepo + libsmartcols + libsolv + libxml2 + rpm + sdbus-cpp + sqlite + systemd + toml11 + zchunk + ]; + + # workaround for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105329 + NIX_CFLAGS_COMPILE = "-Wno-restrict -Wno-maybe-uninitialized"; + + cmakeFlags = [ + "-DWITH_PERL5=OFF" + "-DWITH_PYTHON3=OFF" + "-DWITH_RUBY=OFF" + "-DWITH_TESTS=OFF" + # TODO: fix man installation paths + "-DWITH_MAN=OFF" + # 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, + # because the absolute path is interpreted with root at $out). + "-DCMAKE_INSTALL_INCLUDEDIR=include" + "-DCMAKE_INSTALL_LIBDIR=lib" + ]; + + prePatch = '' + substituteInPlace dnf5daemon-server/dbus/CMakeLists.txt \ + --replace '/etc' "$out/etc" \ + --replace '/usr' "$out" + substituteInPlace dnf5daemon-server/polkit/CMakeLists.txt \ + --replace '/usr' "$out" + substituteInPlace dnf5/CMakeLists.txt \ + --replace '/etc/bash_completion.d' "$out/etc/bash_completion.d" + ''; + + dontFixCmake = true; + + meta = with lib; { + description = "Next-generation RPM package management system"; + homepage = "https://github.com/rpm-software-management/dnf5"; + license = licenses.gpl2Plus; + maintainers = with lib.maintainers; [ malt3 ]; + platforms = platforms.linux ++ platforms.darwin; + }; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b38eed7e6f2ae..87e101f2a4777 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -553,6 +553,8 @@ with pkgs; dec-decode = callPackage ../development/tools/dec-decode { }; + dnf5 = callPackage ../tools/package-management/dnf5 { }; + dsq = callPackage ../tools/misc/dsq { }; dtv-scan-tables = callPackage ../data/misc/dtv-scan-tables { }; |