lol
1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 cmake,
6 ninja,
7 pkg-config,
8 zlib,
9 xz,
10 bzip2,
11 zchunk,
12 zstd,
13 expat,
14 withRpm ? !stdenv.hostPlatform.isDarwin,
15 rpm,
16 db,
17 withConda ? true,
18}:
19
20stdenv.mkDerivation rec {
21 version = "0.7.35";
22 pname = "libsolv";
23
24 src = fetchFromGitHub {
25 owner = "openSUSE";
26 repo = "libsolv";
27 rev = version;
28 hash = "sha256-DHECjda7s12hSysbaXK2+wM/nXpAOpTn+eSf9XGC3z0=";
29 };
30
31 cmakeFlags = [
32 "-DENABLE_COMPLEX_DEPS=true"
33 (lib.cmakeBool "ENABLE_CONDA" withConda)
34 "-DENABLE_LZMA_COMPRESSION=true"
35 "-DENABLE_BZIP2_COMPRESSION=true"
36 "-DENABLE_ZSTD_COMPRESSION=true"
37 "-DENABLE_ZCHUNK_COMPRESSION=true"
38 "-DWITH_SYSTEM_ZCHUNK=true"
39 ]
40 ++ lib.optionals withRpm [
41 "-DENABLE_COMPS=true"
42 "-DENABLE_PUBKEY=true"
43 "-DENABLE_RPMDB=true"
44 "-DENABLE_RPMDB_BYRPMHEADER=true"
45 "-DENABLE_RPMMD=true"
46 ];
47
48 nativeBuildInputs = [
49 cmake
50 ninja
51 pkg-config
52 ];
53 buildInputs = [
54 zlib
55 xz
56 bzip2
57 zchunk
58 zstd
59 expat
60 db
61 ]
62 ++ lib.optional withRpm rpm;
63
64 meta = with lib; {
65 description = "Free package dependency solver";
66 homepage = "https://github.com/openSUSE/libsolv";
67 license = licenses.bsd3;
68 platforms = platforms.linux ++ platforms.darwin;
69 maintainers = [ ];
70 };
71}