summary refs log tree commit diff
path: root/pkgs/tools/networking/modemmanager/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/networking/modemmanager/default.nix')
-rw-r--r--pkgs/tools/networking/modemmanager/default.nix20
1 files changed, 18 insertions, 2 deletions
diff --git a/pkgs/tools/networking/modemmanager/default.nix b/pkgs/tools/networking/modemmanager/default.nix
index 0640f55bc9e..b044b526873 100644
--- a/pkgs/tools/networking/modemmanager/default.nix
+++ b/pkgs/tools/networking/modemmanager/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "ModemManager-${version}";
-  version = "1.2.0";
+  version = "1.4.6";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/ModemManager/${name}.tar.xz";
-    sha256 = "1g08ciyhys9bi5m45z30kln17zni4r07i5byjaglmwq6np1xincb";
+    sha256 = "1kd5nn5rm88c8rgmzwy2fsf3cr7fai7r85mi61kcby0hcgsapv8c";
   };
 
   nativeBuildInputs = [ intltool pkgconfig ];
@@ -17,9 +17,25 @@ stdenv.mkDerivation rec {
     "--with-polkit"
     "--with-udev-base-dir=$(out)/lib/udev"
     "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
+    "--sysconfdir=/etc"
+    "--localstatedir=/var"
   ];
 
+  installFlags = [ "DESTDIR=\${out}" ];
+
+  preInstall = ''
+    mkdir -p $out/etc/systemd/system
+  '';
+
   postInstall = ''
+    mv $out/$out/etc/systemd/system/ModemManager.service $out/etc/systemd/system
+    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/ModemManager.service \