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