1{ stdenv
2, lib
3, fetchurl
4, pkg-config
5, meson
6, ninja
7, udev
8, glib
9, gnome
10, vala
11, gobject-introspection
12, fetchpatch
13, glibcLocales
14, umockdev
15}:
16
17stdenv.mkDerivation (finalAttrs: {
18 pname = "libgudev";
19 version = "238";
20
21 outputs = [ "out" "dev" ];
22
23 src = fetchurl {
24 url = "mirror://gnome/sources/libgudev/${lib.versions.majorMinor finalAttrs.version}/libgudev-${finalAttrs.version}.tar.xz";
25 hash = "sha256-YSZqsa/J1z28YKiyr3PpnS/f9H2ZVE0IV2Dk+mZ7XdE=";
26 };
27
28 strictDeps = true;
29
30 nativeBuildInputs = [
31 pkg-config
32 meson
33 ninja
34 vala
35 glib # for glib-mkenums needed during the build
36 gobject-introspection
37 ];
38
39 buildInputs = [
40 udev
41 glib
42 ];
43
44 checkInputs = [
45 glibcLocales
46 umockdev
47 ];
48
49 doCheck = true;
50 mesonFlags = lib.optional (!finalAttrs.finalPackage.doCheck) "-Dtests=disabled";
51
52 passthru = {
53 updateScript = gnome.updateScript {
54 packageName = "libgudev";
55 versionPolicy = "none";
56 };
57 };
58
59 meta = with lib; {
60 description = "A library that provides GObject bindings for libudev";
61 homepage = "https://wiki.gnome.org/Projects/libgudev";
62 maintainers = [ maintainers.eelco ] ++ teams.gnome.members;
63 platforms = platforms.linux;
64 license = licenses.lgpl2Plus;
65 };
66})