summary refs log tree commit diff
path: root/pkgs/tools/networking/modemmanager
diff options
context:
space:
mode:
authorMaxine Aubrey <maxeaubrey@gmail.com>2021-08-10 12:06:57 +0200
committerMaxine Aubrey <maxeaubrey@gmail.com>2021-08-10 12:06:57 +0200
commit21321de496ec764a00bdd0540c5bc4ff89b3f648 (patch)
treee90462c5364d32f9e20ace255b262a3f33918c92 /pkgs/tools/networking/modemmanager
parentdfa906adbcc847f97bd7565f7bb51ec73b68960e (diff)
downloadnixpkgs-21321de496ec764a00bdd0540c5bc4ff89b3f648.tar
nixpkgs-21321de496ec764a00bdd0540c5bc4ff89b3f648.tar.gz
nixpkgs-21321de496ec764a00bdd0540c5bc4ff89b3f648.tar.bz2
nixpkgs-21321de496ec764a00bdd0540c5bc4ff89b3f648.tar.lz
nixpkgs-21321de496ec764a00bdd0540c5bc4ff89b3f648.tar.xz
nixpkgs-21321de496ec764a00bdd0540c5bc4ff89b3f648.tar.zst
nixpkgs-21321de496ec764a00bdd0540c5bc4ff89b3f648.zip
modemmanager: fix pname/directory
Diffstat (limited to 'pkgs/tools/networking/modemmanager')
-rw-r--r--pkgs/tools/networking/modemmanager/default.nix59
1 files changed, 59 insertions, 0 deletions
diff --git a/pkgs/tools/networking/modemmanager/default.nix b/pkgs/tools/networking/modemmanager/default.nix
new file mode 100644
index 00000000000..e352e67d3fe
--- /dev/null
+++ b/pkgs/tools/networking/modemmanager/default.nix
@@ -0,0 +1,59 @@
+{ lib, stdenv, fetchurl
+, glib, udev, libgudev, polkit, ppp, gettext, pkg-config, python3
+, libmbim, libqmi, systemd, vala, gobject-introspection, dbus
+}:
+
+stdenv.mkDerivation rec {
+  pname = "modemmanager";
+  version = "1.16.10";
+
+  src = fetchurl {
+    url = "https://www.freedesktop.org/software/ModemManager/ModemManager-${version}.tar.xz";
+    sha256 = "sha256-LM8fcWwtEh6OZwm8+K8p7oaXGpCtrMoujWKIswJ4hi4=";
+  };
+
+  nativeBuildInputs = [ vala gobject-introspection gettext pkg-config ];
+
+  buildInputs = [ glib udev libgudev polkit ppp libmbim libqmi systemd ];
+
+  installCheckInputs = [
+    python3 python3.pkgs.dbus-python python3.pkgs.pygobject3
+  ];
+
+  configureFlags = [
+    "--with-polkit"
+    "--with-udev-base-dir=${placeholder "out"}/lib/udev"
+    "--with-dbus-sys-dir=${placeholder "out"}/share/dbus-1/system.d"
+    "--with-systemdsystemunitdir=${placeholder "out"}/etc/systemd/system"
+    "--sysconfdir=/etc"
+    "--localstatedir=/var"
+    "--with-systemd-suspend-resume"
+    "--with-systemd-journal"
+  ];
+
+  postPatch = ''
+    patchShebangs tools/test-modemmanager-service.py
+  '';
+
+  # In Nixpkgs g-ir-scanner is patched to produce absolute paths, and
+  # that interferes with ModemManager's tests, causing them to try to
+  # load libraries from the install path, which doesn't usually exist
+  # when `make check' is run.  So to work around that, we run it as an
+  # install check instead, when those paths will have been created.
+  doInstallCheck = true;
+  preInstallCheck = ''
+    export G_TEST_DBUS_DAEMON="${dbus.daemon}/bin/dbus-daemon"
+    patchShebangs tools/tests/test-wrapper.sh
+  '';
+  installCheckTarget = "check";
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    description = "WWAN modem manager, part of NetworkManager";
+    homepage = "https://www.freedesktop.org/wiki/Software/ModemManager/";
+    license = licenses.gpl2Plus;
+    maintainers = teams.freedesktop.members;
+    platforms = platforms.linux;
+  };
+}