vuls: init at 0.27.0 (#348530)
[NixPkgs.git] / pkgs / os-specific / linux / bolt / default.nix
blob11973ba5a5708440828cf54c4a58e2b0da7d57fa
1 { stdenv
2 , lib
3 , meson
4 , ninja
5 , pkg-config
6 , fetchFromGitLab
7 , fetchpatch
8 , python3
9 , umockdev
10 , gobject-introspection
11 , dbus
12 , asciidoc
13 , libxml2
14 , libxslt
15 , docbook_xml_dtd_45
16 , docbook-xsl-nons
17 , glib
18 , systemd
19 , polkit
22 stdenv.mkDerivation rec {
23   pname = "bolt";
24   version = "0.9.7";
26   src = fetchFromGitLab {
27     domain = "gitlab.freedesktop.org";
28     owner = "bolt";
29     repo = "bolt";
30     rev = version;
31     sha256 = "sha256-6m4Yrev9W5WV4/pptc8tJ4hc6QSC+eJ7BSt2mx33s9U=";
32   };
34   patches = [
35     # meson install tries to create /var/lib/boltd
36     ./0001-skip-mkdir.patch
38     # Test does not work on ZFS with atime disabled.
39     # Upstream issue: https://gitlab.freedesktop.org/bolt/bolt/-/issues/167
40     (fetchpatch {
41       url = "https://gitlab.freedesktop.org/bolt/bolt/-/commit/c2f1d5c40ad71b20507e02faa11037b395fac2f8.diff";
42       revert = true;
43       sha256 = "6w7ll65W/CydrWAVi/qgzhrQeDv1PWWShulLxoglF+I=";
44     })
45   ];
47   depsBuildBuild = [
48     pkg-config
49   ];
51   nativeBuildInputs = [
52     asciidoc
53     docbook_xml_dtd_45
54     docbook-xsl-nons
55     libxml2
56     libxslt
57     meson
58     ninja
59     pkg-config
60     glib
61   ] ++ lib.optional (!doCheck) python3;
63   buildInputs = [
64     polkit
65     systemd
66   ];
68   # https://gitlab.freedesktop.org/bolt/bolt/-/issues/181
69   doCheck = false;
71   preCheck = ''
72     export LD_LIBRARY_PATH=${umockdev.out}/lib/
73   '';
75   nativeCheckInputs = [
76     dbus
77     gobject-introspection
78     umockdev
79     (python3.pythonOnBuildForHost.withPackages
80       (p: [ p.pygobject3 p.dbus-python p.python-dbusmock ]))
81   ];
83   postPatch = ''
84     patchShebangs scripts tests
85   '';
87   mesonFlags = [
88     "-Dlocalstatedir=/var"
89   ];
91   PKG_CONFIG_SYSTEMD_SYSTEMDSYSTEMUNITDIR = "${placeholder "out"}/lib/systemd/system";
92   PKG_CONFIG_UDEV_UDEVDIR = "${placeholder "out"}/lib/udev";
94   meta = with lib; {
95     description = "Thunderbolt 3 device management daemon";
96     mainProgram = "boltctl";
97     homepage = "https://gitlab.freedesktop.org/bolt/bolt";
98     license = licenses.lgpl21Plus;
99     maintainers = with maintainers; [ callahad ];
100     platforms = platforms.linux;
101   };