nixpkgs-suyu/pkgs/tools/package-management/libdnf/default.nix
2021-02-11 18:19:02 -08:00

66 lines
1.5 KiB
Nix

{ gcc9Stdenv, lib, stdenv, fetchFromGitHub, cmake, gettext, pkg-config, gpgme, libsolv, openssl, check
, json_c, libmodulemd, libsmartcols, sqlite, librepo, libyaml, rpm }:
gcc9Stdenv.mkDerivation rec {
pname = "libdnf";
version = "0.58.0";
src = fetchFromGitHub {
owner = "rpm-software-management";
repo = pname;
rev = version;
sha256 = "0an8giv0lm0qqc76fpmqg42ra081mlj62b9r0s1p0sgb3270l76l";
};
patches = lib.optionals stdenv.isDarwin [ ./darwin.patch ];
nativeBuildInputs = [
cmake
gettext
pkg-config
];
buildInputs = [
check
gpgme
openssl
json_c
libsmartcols
libyaml
libmodulemd
];
propagatedBuildInputs = [
sqlite
libsolv
librepo
rpm
];
# See https://github.com/NixOS/nixpkgs/issues/107430
prePatch = ''
cp ${libsolv}/share/cmake/Modules/FindLibSolv.cmake cmake/modules/
'';
# See https://github.com/NixOS/nixpkgs/issues/107428
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace "enable_testing()" "" \
--replace "add_subdirectory(tests)" ""
'';
cmakeFlags = [
"-DWITH_GTKDOC=OFF"
"-DWITH_HTML=OFF"
"-DWITH_BINDINGS=OFF"
"-DWITH_ZCHUNK=OFF"
];
meta = with lib; {
description = "Package management library.";
homepage = "https://github.com/rpm-software-management/libdnf";
license = licenses.gpl2Plus;
platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ rb2k ];
};
}