at 23.11-beta 94 lines 2.5 kB view raw
1{ lib 2, stdenv 3, fetchFromGitLab 4, fetchpatch 5, meson 6, ninja 7, pkg-config 8, glib 9, python3 10, help2man 11, systemd 12, bash-completion 13, bash 14, buildPackages 15, withIntrospection ? lib.meta.availableOn stdenv.hostPlatform gobject-introspection && stdenv.hostPlatform.emulatorAvailable buildPackages 16, withDocs ? stdenv.hostPlatform == stdenv.buildPlatform 17, gobject-introspection 18}: 19 20stdenv.mkDerivation rec { 21 pname = "libmbim"; 22 version = "1.28.4"; 23 24 outputs = [ "out" "dev" ] 25 ++ lib.optionals withDocs [ "man" ]; 26 27 src = fetchFromGitLab { 28 domain = "gitlab.freedesktop.org"; 29 owner = "mobile-broadband"; 30 repo = "libmbim"; 31 rev = version; 32 hash = "sha256-aaYjvJ2OMTzkUyqWCyHdmsKJ3VGqBmKQzb1DWK/1cPU="; 33 }; 34 35 patches = [ 36 # Intel Mutual Authentication - FCC lock. Part of 1.30, backported to 37 # openSUSE and Fedora and ChromeOS. 38 # https://src.fedoraproject.org/rpms/libmbim/blob/rawhide/f/libmbim.spec 39 (fetchpatch { 40 url = "https://cgit.freedesktop.org/libmbim/libmbim/patch/?id=910db9cb2b6fde303d3b4720890cf6dc6fc00880"; 41 hash = "sha256-412sXdWb8WsSexe1scI/C57dwENgNWoREGO1GxSF4hs="; 42 }) 43 44 # Intel Tools. Allows tracing various commands. Part of 1.30, backported to 45 # openSUSE, Fedora and ChromeOS. 46 # https://src.fedoraproject.org/rpms/libmbim/blob/rawhide/f/libmbim.spec 47 (fetchpatch { 48 url = "https://cgit.freedesktop.org/libmbim/libmbim/patch/?id=8a6dec6ed11931601e605c9537da9904b3be5bc0"; 49 hash = "sha256-tU4zkUl5aZJE+g/qbnWprUHe/PmZvqVKB9qecSaUBhk="; 50 }) 51 ]; 52 53 mesonFlags = [ 54 "-Dudevdir=${placeholder "out"}/lib/udev" 55 (lib.mesonBool "introspection" withIntrospection) 56 (lib.mesonBool "man" withDocs) 57 ]; 58 59 strictDeps = true; 60 61 nativeBuildInputs = [ 62 meson 63 ninja 64 pkg-config 65 python3 66 ] ++ lib.optionals withDocs [ 67 help2man 68 ] ++ lib.optionals withIntrospection [ 69 gobject-introspection 70 ]; 71 72 buildInputs = [ 73 glib 74 systemd 75 bash-completion 76 bash 77 ]; 78 79 doCheck = true; 80 81 postPatch = '' 82 patchShebangs \ 83 build-aux/mbim-codegen/mbim-codegen 84 ''; 85 86 meta = with lib; { 87 homepage = "https://www.freedesktop.org/wiki/Software/libmbim/"; 88 description = "Library for talking to WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol"; 89 changelog = "https://gitlab.freedesktop.org/mobile-broadband/libmbim/-/raw/${version}/NEWS"; 90 maintainers = teams.freedesktop.members; 91 platforms = platforms.linux; 92 license = licenses.gpl2Plus; 93 }; 94}