summary refs log tree commit diff
path: root/pkgs/tools/networking/modem-manager
diff options
context:
space:
mode:
authorFlorian Klink <flokli@flokli.de>2017-10-15 23:08:03 +0200
committerJörg Thalheim <joerg@thalheim.io>2018-03-23 23:48:58 +0000
commitc6882b2cf9fa13579f64d5c33cbc071fa5d5e884 (patch)
treed7d3e132a4e0dd25a371b810b132c8e6e2ee8e0d /pkgs/tools/networking/modem-manager
parentda446cf2915923318f2c35cf5016788b8b491784 (diff)
downloadnixlib-c6882b2cf9fa13579f64d5c33cbc071fa5d5e884.tar
nixlib-c6882b2cf9fa13579f64d5c33cbc071fa5d5e884.tar.gz
nixlib-c6882b2cf9fa13579f64d5c33cbc071fa5d5e884.tar.bz2
nixlib-c6882b2cf9fa13579f64d5c33cbc071fa5d5e884.tar.lz
nixlib-c6882b2cf9fa13579f64d5c33cbc071fa5d5e884.tar.xz
nixlib-c6882b2cf9fa13579f64d5c33cbc071fa5d5e884.tar.zst
nixlib-c6882b2cf9fa13579f64d5c33cbc071fa5d5e884.zip
modemmanager: rename ModemManager.service to modem-manager.service
This is in line with NetworkManager.service being renamed to
network-manager.service

fixes #30452
Diffstat (limited to 'pkgs/tools/networking/modem-manager')
-rw-r--r--pkgs/tools/networking/modem-manager/default.nix64
1 files changed, 64 insertions, 0 deletions
diff --git a/pkgs/tools/networking/modem-manager/default.nix b/pkgs/tools/networking/modem-manager/default.nix
new file mode 100644
index 000000000000..e9af9dc980e7
--- /dev/null
+++ b/pkgs/tools/networking/modem-manager/default.nix
@@ -0,0 +1,64 @@
+{ stdenv, fetchurl, udev, libgudev, polkit, dbus-glib, ppp, gettext, pkgconfig
+, libmbim, libqmi, systemd, fetchpatch }:
+
+stdenv.mkDerivation rec {
+  name = "modem-manager-${version}";
+  pname = "ModemManager";
+  version = "1.7.990";
+
+  src = fetchurl {
+    url = "http://www.freedesktop.org/software/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "1v4hixmghlrw7w4ajq2x4k62js0594h223d0yma365zwqr7hjrfl";
+  };
+
+  nativeBuildInputs = [ gettext pkgconfig ];
+
+  buildInputs = [ udev libgudev polkit dbus-glib ppp libmbim libqmi systemd ];
+
+  patches = [
+    # Patch dependency on glib headers, this breaks packages using core headers (networkmanager-qt)
+    (fetchpatch {
+      url = "https://cgit.freedesktop.org/ModemManager/ModemManager/patch/?id=0f377f943eeb81472fd73189f2c3d8fc65b8c609";
+      sha256 = "0av0sqdvbhwjnhqqylkc7rmqcj6awqmz5693l9x93nlwp7zya95j";
+    })
+  ];
+
+  configureFlags = [
+    "--with-polkit"
+    "--with-udev-base-dir=$(out)/lib/udev"
+    "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
+    "--sysconfdir=/etc"
+    "--localstatedir=/var"
+    "--with-suspend-resume=systemd"
+  ];
+
+  installFlags = [ "DESTDIR=\${out}" ];
+
+  preInstall = ''
+    mkdir -p $out/etc/systemd/system
+  '';
+
+  postInstall = ''
+    # rename to modem-manager to be in style
+    mv $out/$out/etc/systemd/system/ModemManager.service $out/etc/systemd/system/modem-manager.service
+    rm -rf $out/$out/etc
+    mv $out/$out/* $out
+    DIR=$out/$out
+    while rmdir $DIR 2>/dev/null; do
+      DIR="$(dirname "$DIR")"
+    done
+
+    # systemd in NixOS doesn't use `systemctl enable`, so we need to establish
+    # aliases ourselves.
+    ln -s $out/etc/systemd/system/modem-manager.service \
+      $out/etc/systemd/system/dbus-org.freedesktop.ModemManager1.service
+  '';
+
+  meta = with stdenv.lib; {
+    description = "WWAN modem manager, part of NetworkManager";
+    homepage = https://www.freedesktop.org/wiki/Software/ModemManager/;
+    license = licenses.gpl2Plus;
+    maintainers = [ ];
+    platforms = platforms.linux;
+  };
+}