mactop: 0.1.9 -> 0.2.3 (#370511)
[NixPkgs.git] / pkgs / by-name / rp / rpm-ostree / package.nix
blob63b14942e5de837081dd10f2704e0078700e97cd
2   lib,
3   stdenv,
4   fetchurl,
5   ostree,
6   rpm,
7   which,
8   autoconf,
9   automake,
10   libtool,
11   pkg-config,
12   cargo,
13   rustc,
14   gobject-introspection,
15   gtk-doc,
16   libxml2,
17   libxslt,
18   docbook_xsl,
19   docbook_xml_dtd_42,
20   docbook_xml_dtd_43,
21   gperf,
22   cmake,
23   libcap,
24   glib,
25   systemd,
26   json-glib,
27   libarchive,
28   libsolv,
29   librepo,
30   polkit,
31   bubblewrap,
32   pcre,
33   check,
34   python3,
35   json_c,
36   zchunk,
37   libmodulemd,
38   util-linux,
39   sqlite,
40   cppunit,
43 stdenv.mkDerivation rec {
44   pname = "rpm-ostree";
45   version = "2024.8";
47   outputs = [
48     "out"
49     "dev"
50     "man"
51     "devdoc"
52   ];
54   src = fetchurl {
55     url = "https://github.com/coreos/rpm-ostree/releases/download/v${version}/rpm-ostree-${version}.tar.xz";
56     hash = "sha256-6aCGP3SJ0DegmhiQkiqBr733C5vuDGTjLMaxNtai3G0=";
57   };
59   nativeBuildInputs = [
60     python3
61     pkg-config
62     which
63     autoconf
64     automake
65     libtool
66     cmake
67     gperf
68     cargo
69     rustc
70     gobject-introspection
71     gtk-doc
72     libxml2
73     libxslt
74     docbook_xsl
75     docbook_xml_dtd_42
76     docbook_xml_dtd_43
77   ];
79   buildInputs = [
80     libcap
81     ostree
82     rpm
83     glib
84     systemd
85     polkit
86     bubblewrap
87     json-glib
88     libarchive
89     libsolv
90     librepo
91     pcre
92     check
94     # libdnf # vendored unstable branch
95     # required by vendored libdnf
96     json_c
97     zchunk
98     libmodulemd
99     util-linux # for smartcols.pc
100     sqlite
101     cppunit
102   ];
104   configureFlags = [
105     "--enable-gtk-doc"
106     "--with-bubblewrap=${bubblewrap}/bin/bwrap"
107   ];
109   dontUseCmakeConfigure = true;
111   prePatch = ''
112     # According to #cmake on freenode, libdnf should bundle the FindLibSolv.cmake module
113     cp ${libsolv}/share/cmake/Modules/FindLibSolv.cmake libdnf/cmake/modules/
115     # Let's not hardcode the rpm-gpg path...
116     substituteInPlace libdnf/libdnf/dnf-keyring.cpp \
117       --replace '"/etc/pki/rpm-gpg"' 'getenv("LIBDNF_RPM_GPG_PATH_OVERRIDE") ? getenv("LIBDNF_RPM_GPG_PATH_OVERRIDE") : "/etc/pki/rpm-gpg"'
118   '';
120   preConfigure = ''
121     env NOCONFIGURE=1 ./autogen.sh
122   '';
124   meta = with lib; {
125     description = "Hybrid image/package system. It uses OSTree as an image format, and uses RPM as a component model";
126     homepage = "https://coreos.github.io/rpm-ostree/";
127     license = licenses.lgpl2Plus;
128     maintainers = with maintainers; [ copumpkin ];
129     platforms = platforms.linux;
130     mainProgram = "rpm-ostree";
131   };