at 23.11-beta 97 lines 2.2 kB view raw
1{ lib 2, stdenv 3, fetchFromGitLab 4, meson 5, ninja 6, pkg-config 7, gobject-introspection 8, gtk-doc 9, docbook-xsl-nons 10, docbook_xml_dtd_43 11, help2man 12, glib 13, python3 14, mesonEmulatorHook 15, libgudev 16, bash-completion 17, libmbim 18, libqrtr-glib 19, buildPackages 20, withIntrospection ? lib.meta.availableOn stdenv.hostPlatform gobject-introspection && stdenv.hostPlatform.emulatorAvailable buildPackages 21, withMan ? stdenv.buildPlatform.canExecute stdenv.hostPlatform 22}: 23 24stdenv.mkDerivation rec { 25 pname = "libqmi"; 26 version = "1.32.4"; 27 28 outputs = [ "out" "dev" ] 29 ++ lib.optional withIntrospection "devdoc"; 30 31 src = fetchFromGitLab { 32 domain = "gitlab.freedesktop.org"; 33 owner = "mobile-broadband"; 34 repo = "libqmi"; 35 rev = version; 36 hash = "sha256-cczGvoD+2+G6uiAt0Iv1BO4/FqzO9bkqhFsEwOfp7qw="; 37 }; 38 39 nativeBuildInputs = [ 40 meson 41 ninja 42 pkg-config 43 python3 44 ] ++ lib.optionals withMan [ 45 help2man 46 ] ++ lib.optionals withIntrospection [ 47 gobject-introspection 48 gtk-doc 49 docbook-xsl-nons 50 docbook_xml_dtd_43 51 ] ++ lib.optionals (withIntrospection && !stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ 52 mesonEmulatorHook 53 ]; 54 55 buildInputs = [ 56 bash-completion 57 libmbim 58 ] ++ lib.optionals withIntrospection [ 59 libgudev 60 ]; 61 62 propagatedBuildInputs = [ 63 glib 64 ] ++ lib.optionals withIntrospection [ 65 libqrtr-glib 66 ]; 67 68 mesonFlags = [ 69 "-Dudevdir=${placeholder "out"}/lib/udev" 70 (lib.mesonBool "gtk_doc" withIntrospection) 71 (lib.mesonBool "introspection" withIntrospection) 72 (lib.mesonBool "man" withMan) 73 (lib.mesonBool "qrtr" withIntrospection) 74 (lib.mesonBool "udev" withIntrospection) 75 ]; 76 77 doCheck = true; 78 79 postPatch = '' 80 patchShebangs \ 81 build-aux/qmi-codegen/qmi-codegen 82 ''; 83 84 meta = with lib; { 85 homepage = "https://www.freedesktop.org/wiki/Software/libqmi/"; 86 description = "Modem protocol helper library"; 87 maintainers = teams.freedesktop.members; 88 platforms = platforms.linux; 89 license = with licenses; [ 90 # Library 91 lgpl2Plus 92 # Tools 93 gpl2Plus 94 ]; 95 changelog = "https://gitlab.freedesktop.org/mobile-broadband/libqmi/-/blob/${version}/NEWS"; 96 }; 97}