1{ lib, stdenv, fetchurl, substituteAll, meson, ninja, pkg-config, gettext, gobject-introspection
2, gtk-doc, docbook_xsl, docbook_xml_dtd_412, docbook_xml_dtd_44, python3
3, glib, systemd, libusb1, vala, hwdata
4}:
5
6let
7 pythonEnv = python3.pythonForBuild.withPackages(ps: with ps; [
8 setuptools
9 ]);
10in
11stdenv.mkDerivation rec {
12 pname = "gusb";
13 version = "0.3.10";
14
15 outputs = [ "bin" "out" "dev" "devdoc" ];
16
17 src = fetchurl {
18 url = "https://people.freedesktop.org/~hughsient/releases/libgusb-${version}.tar.xz";
19 sha256 = "sha256-DrC5qw+LugxZYxyAnDe2Fu806zyOAAsLm3HPEeSTG9w=";
20 };
21
22 patches = [
23 (substituteAll {
24 src = ./fix-python-path.patch;
25 python = "${pythonEnv}/bin/python3";
26 })
27 ];
28
29 nativeBuildInputs = [
30 meson ninja pkg-config gettext pythonEnv
31 gtk-doc docbook_xsl docbook_xml_dtd_412 docbook_xml_dtd_44
32 gobject-introspection vala
33 ];
34 buildInputs = [ systemd glib ];
35
36 propagatedBuildInputs = [ libusb1 ];
37
38 mesonFlags = [
39 "-Dusb_ids=${hwdata}/share/hwdata/usb.ids"
40 ];
41
42 doCheck = false; # tests try to access USB
43
44 meta = with lib; {
45 description = "GLib libusb wrapper";
46 homepage = "https://github.com/hughsie/libgusb";
47 license = licenses.lgpl21;
48 maintainers = [ maintainers.marcweber ];
49 platforms = platforms.unix;
50 };
51}