Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib, stdenv 2, fetchurl 3, pkg-config 4, meson 5, ninja 6, udev 7, glib 8, gnome 9, vala 10, gobject-introspection 11, fetchpatch 12}: 13 14stdenv.mkDerivation rec { 15 pname = "libgudev"; 16 version = "237"; 17 18 outputs = [ "out" "dev" ]; 19 20 src = fetchurl { 21 url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; 22 sha256 = "1al6nr492nzbm8ql02xhzwci2kwb1advnkaky3j9636jf08v41hd"; 23 }; 24 25 patches = [ 26 # https://gitlab.gnome.org/GNOME/libgudev/-/merge_requests/27 27 (fetchpatch { 28 name = "gir-dep"; 29 url = "https://gitlab.gnome.org/GNOME/libgudev/-/commit/6bdde16a0cfde462502fce1d9a7eb6ec33f388bb.diff"; 30 sha256 = "sha256-bDtLUxOLEgyJURshqEQC4YCBTUVzQQP4qoWL786b3Z8="; 31 }) 32 (fetchpatch { 33 name = "vapi-dep"; 34 url = "https://gitlab.gnome.org/GNOME/libgudev/-/commit/d1f6457910842ba869c9871e7a2131fbe0d6b6be.diff"; 35 sha256 = "sha256-/PY8ziZST/vQvksJm69a3O6/YesknIxCDvj0z40piik="; 36 }) 37 (fetchpatch { 38 name = "gtk-doc-dep"; 39 url = "https://gitlab.gnome.org/GNOME/libgudev/-/commit/34336cbadbcaac8b9b029f730eed0bdf4c633617.diff"; 40 sha256 = "sha256-Bk05xe69LGqWH1uhLMZhwbVMSsCTyBrrOvqWic2TTd4="; 41 }) 42 ]; 43 44 strictDeps = true; 45 46 depsBuildBuild = [ pkg-config ]; 47 48 nativeBuildInputs = [ 49 pkg-config 50 meson 51 ninja 52 vala 53 glib # for glib-mkenums needed during the build 54 gobject-introspection 55 ]; 56 57 buildInputs = [ 58 udev 59 glib 60 ]; 61 62 mesonFlags = [ 63 # There's a dependency cycle with umockdev and the tests fail to LD_PRELOAD anyway 64 "-Dtests=disabled" 65 ]; 66 67 passthru = { 68 updateScript = gnome.updateScript { 69 packageName = pname; 70 versionPolicy = "none"; 71 }; 72 }; 73 74 meta = with lib; { 75 description = "A library that provides GObject bindings for libudev"; 76 homepage = "https://wiki.gnome.org/Projects/libgudev"; 77 maintainers = [ maintainers.eelco ] ++ teams.gnome.members; 78 platforms = platforms.linux; 79 license = licenses.lgpl2Plus; 80 }; 81}