at 22.05-pre 102 lines 2.2 kB view raw
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 17, glib 18, systemd 19, polkit 20}: 21 22stdenv.mkDerivation rec { 23 pname = "bolt"; 24 version = "0.9.1"; 25 26 src = fetchFromGitLab { 27 domain = "gitlab.freedesktop.org"; 28 owner = "bolt"; 29 repo = "bolt"; 30 rev = version; 31 sha256 = "1phgp8fs0dlj74kbkqlvfniwc32daz47b3pvsxlfxqzyrp77xrfm"; 32 }; 33 34 patches = [ 35 # meson install tries to create /var/lib/boltd 36 ./0001-skip-mkdir.patch 37 38 # https://github.com/NixOS/nixpkgs/issues/104429 39 # Upstream issue: https://gitlab.freedesktop.org/bolt/bolt/-/issues/167 40 (fetchpatch { 41 name = "disable-atime-tests.diff"; 42 url = "https://gitlab.freedesktop.org/roberth/bolt/-/commit/1f672a7de2ebc4dd51590bb90f3b873a8ac0f4e6.diff"; 43 sha256 = "134f5s6kjqs6612pwq5pm1miy58crn1kxbyyqhzjnzmf9m57fnc8"; 44 }) 45 46 # Fix tests with newer umockdev 47 (fetchpatch { 48 url = "https://gitlab.freedesktop.org/bolt/bolt/-/commit/130e09d1c7ff02c09e4ad1c9c36e9940b68e58d8.patch"; 49 sha256 = "HycuM7z4VvtBuZZLU68tBxGT1YjaqJRS4sKyoTGHZEk="; 50 }) 51 ]; 52 53 nativeBuildInputs = [ 54 asciidoc 55 docbook_xml_dtd_45 56 docbook_xsl 57 libxml2 58 libxslt 59 meson 60 ninja 61 pkg-config 62 ] ++ lib.optional (!doCheck) python3; 63 64 buildInputs = [ 65 glib 66 polkit 67 systemd 68 ]; 69 70 doCheck = true; 71 72 preCheck = '' 73 export LD_LIBRARY_PATH=${umockdev.out}/lib/ 74 ''; 75 76 checkInputs = [ 77 dbus 78 gobject-introspection 79 umockdev 80 (python3.withPackages 81 (p: [ p.pygobject3 p.dbus-python p.python-dbusmock ])) 82 ]; 83 84 postPatch = '' 85 patchShebangs scripts tests 86 ''; 87 88 mesonFlags = [ 89 "-Dlocalstatedir=/var" 90 ]; 91 92 PKG_CONFIG_SYSTEMD_SYSTEMDSYSTEMUNITDIR = "${placeholder "out"}/lib/systemd/system"; 93 PKG_CONFIG_UDEV_UDEVDIR = "${placeholder "out"}/lib/udev"; 94 95 meta = with lib; { 96 description = "Thunderbolt 3 device management daemon"; 97 homepage = "https://gitlab.freedesktop.org/bolt/bolt"; 98 license = licenses.lgpl21Plus; 99 maintainers = with maintainers; [ callahad ]; 100 platforms = platforms.linux; 101 }; 102}