about summary refs log tree commit diff
path: root/pkgs/tools/misc/usbmuxd/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/misc/usbmuxd/default.nix')
-rw-r--r--pkgs/tools/misc/usbmuxd/default.nix42
1 files changed, 26 insertions, 16 deletions
diff --git a/pkgs/tools/misc/usbmuxd/default.nix b/pkgs/tools/misc/usbmuxd/default.nix
index 2a792669ba8b..6c26564c9dbb 100644
--- a/pkgs/tools/misc/usbmuxd/default.nix
+++ b/pkgs/tools/misc/usbmuxd/default.nix
@@ -1,30 +1,40 @@
-{ stdenv, fetchurl, libplist, libusb1, pkgconfig, libimobiledevice }:
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, libusb1, libimobiledevice }:
 
 stdenv.mkDerivation rec {
-  name = "usbmuxd-${version}";
-  version = "1.1.0";
+  pname = "usbmuxd";
+  version = "2018-07-22";
 
-  src = fetchurl {
-    url = "https://www.libimobiledevice.org/downloads/${name}.tar.bz2";
-    sha256 = "0bdlc7a8plvglqqx39qqampqm6y0hcdws76l9dffwl22zss4i29y";
+  name = "${pname}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "libimobiledevice";
+    repo = pname;
+    rev = "ee85938c21043ef5f7cd4dfbc7677f385814d4d8";
+    sha256 = "1qsnxvcagxa92rz0w78m0n2drgaghi0pqpbjdk2080sczzi1g76y";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  propagatedBuildInputs = [ libusb1 libplist libimobiledevice ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+  propagatedBuildInputs = [ libimobiledevice libusb1 ];
 
   preConfigure = ''
     configureFlags="$configureFlags --with-udevrulesdir=$out/lib/udev/rules.d"
     configureFlags="$configureFlags --with-systemdsystemunitdir=$out/lib/systemd/system"
   '';
 
-  meta = {
-    homepage = http://marcansoft.com/blog/iphonelinux/usbmuxd/;
-    description = "USB Multiplex Daemon (for talking to iPhone or iPod)";
+  meta = with stdenv.lib; {
+    homepage = https://github.com/libimobiledevice/usbmuxd;
+    description = "A socket daemon to multiplex connections from and to iOS devices";
     longDescription = ''
-      usbmuxd: USB Multiplex Daemon. This bit of software is in charge of
-      talking to your iPhone or iPod Touch over USB and coordinating access to
-      its services by other applications.'';
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ ];
+      usbmuxd stands for "USB multiplexing daemon". This daemon is in charge of
+      multiplexing connections over USB to an iOS device. To users, it means
+      you can sync your music, contacts, photos, etc. over USB. To developers, it
+      means you can connect to any listening localhost socket on the device. usbmuxd
+      is not used for tethering data transfer which uses a dedicated USB interface as
+      a virtual network device. Multiple connections to different TCP ports can happen
+      in parallel. The higher-level layers are handled by libimobiledevice.
+    '';
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ ];
   };
 }