From 406aee2b17480e46641ae822b2409aa50b4daf86 Mon Sep 17 00:00:00 2001 From: Malte Poll Date: Fri, 14 Jul 2023 11:33:47 +0200 Subject: [PATCH 1/3] maintainers: add malt3 --- maintainers/maintainer-list.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 1d23d6006169e03..3301ec40446f422 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -10041,6 +10041,11 @@ githubId = 2914269; name = "Malo Bourgon"; }; + malt3 = { + github = "malt3"; + githubId = 1780588; + name = "Malte Poll"; + }; malte-v = { email = "nixpkgs@mal.tc"; github = "malte-v"; From eb5117f4083a2ff5f196074f3822babfa394f6ed Mon Sep 17 00:00:00 2001 From: Malte Poll Date: Fri, 14 Jul 2023 11:33:56 +0200 Subject: [PATCH 2/3] dnf5: init at 5.0.15 --- .../development/libraries/libsolv/default.nix | 2 +- .../tools/package-management/dnf5/default.nix | 94 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 3 files changed, 97 insertions(+), 1 deletion(-) create mode 100644 pkgs/tools/package-management/dnf5/default.nix diff --git a/pkgs/development/libraries/libsolv/default.nix b/pkgs/development/libraries/libsolv/default.nix index 2e5eccf5263b17b..f2c22d81cf38dd8 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 000000000000000..087bde2cbb7a35d --- /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 b38eed7e6f2ae2d..87e101f2a477754 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 { }; From ea14b7d487b4b569bc3341717c34eb16a2891d86 Mon Sep 17 00:00:00 2001 From: Malte Poll Date: Fri, 14 Jul 2023 11:44:54 +0200 Subject: [PATCH 3/3] libsolv: minor cleanup and reformat --- .../development/libraries/libsolv/default.nix | 30 ++++++++++++------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/pkgs/development/libraries/libsolv/default.nix b/pkgs/development/libraries/libsolv/default.nix index f2c22d81cf38dd8..7e912a6bcad9703 100644 --- a/pkgs/development/libraries/libsolv/default.nix +++ b/pkgs/development/libraries/libsolv/default.nix @@ -1,18 +1,28 @@ -{ lib, stdenv, fetchFromGitHub, cmake, ninja, pkg-config -, zlib, xz, bzip2, zchunk, zstd +{ lib +, stdenv +, fetchFromGitHub +, cmake +, ninja +, pkg-config +, zlib +, xz +, bzip2 +, zchunk +, zstd , expat -, withRpm ? !stdenv.isDarwin, rpm +, withRpm ? !stdenv.isDarwin +, rpm , db }: stdenv.mkDerivation rec { - version = "0.7.24"; + version = "0.7.24"; pname = "libsolv"; src = fetchFromGitHub { - owner = "openSUSE"; - repo = "libsolv"; - rev = version; + owner = "openSUSE"; + repo = "libsolv"; + rev = version; sha256 = "sha256-UTVnGJO/9mQF9RwK75hh6IkoP1MwAlFaLCtdYU8uS34="; }; @@ -37,9 +47,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "A free package dependency solver"; - homepage = "https://github.com/openSUSE/libsolv"; - license = licenses.bsd3; - platforms = platforms.linux ++ platforms.darwin; + homepage = "https://github.com/openSUSE/libsolv"; + license = licenses.bsd3; + platforms = platforms.linux ++ platforms.darwin; maintainers = with maintainers; [ copumpkin ]; }; }