Merge pull request #44966 from worldofpeace/imobile-updates

libimobiledevice updates

authored by Silvan Mosberger and committed by GitHub b1cf86b8 fe6ebf85

+133 -89
+2 -2
pkgs/development/libraries/libgpod/default.nix
··· 25 25 propagatedBuildInputs = [ glib libxml2 sqlite zlib sg3_utils 26 26 gdk_pixbuf taglib libimobiledevice python pygobject2 mutagen ]; 27 27 28 - nativeBuildInputs = [ gettext perlXMLParser intltool pkgconfig perl 29 - libimobiledevice.swig ] ++ lib.optionals monoSupport [ mono gtk-sharp-2_0 ]; 28 + nativeBuildInputs = [ gettext perlXMLParser intltool pkgconfig perl] ++ 29 + lib.optionals monoSupport [ mono gtk-sharp-2_0 ]; 30 30 31 31 meta = { 32 32 homepage = http://gtkpod.sourceforge.net/;
+40 -23
pkgs/development/libraries/libimobiledevice/default.nix
··· 1 - { stdenv, fetchurl, fetchpatch, python2, pkgconfig, usbmuxd, glib, libgcrypt, 2 - libtasn1, libplist, readline, libusbmuxd, openssl }: 1 + { stdenv, fetchFromGitHub, automake, autoconf, libtool, pkgconfig, gnutls 2 + , libgcrypt, libtasn1, glib, libplist, libusbmuxd }: 3 3 4 4 stdenv.mkDerivation rec { 5 - name = "libimobiledevice-1.2.0"; 5 + pname = "libimobiledevice"; 6 + version = "2018-07-24"; 6 7 7 - nativeBuildInputs = [ python2 libplist.swig pkgconfig ]; 8 - buildInputs = [ readline ]; 9 - propagatedBuildInputs = [ libusbmuxd glib libgcrypt libtasn1 libplist openssl ]; 8 + name = "${pname}-${version}"; 10 9 11 - patches = [ 12 - ./disable_sslv3.patch 13 - (fetchpatch { 14 - name = "CVE-2016-5104.patch"; 15 - url = "https://github.com/libimobiledevice/libimobiledevice/commit/df1f5c4d70d0c19ad40072f5246ca457e7f9849e.patch"; 16 - sha256 = "06ygb9aqcvm4v08wrldsddjgyqv5bkpq6lxzq2a1nwqp9mq4a4k1"; 17 - }) 10 + src = fetchFromGitHub { 11 + owner = pname; 12 + repo = pname; 13 + rev = "d7a2e04d2e7880c56116fd35489a7f98755501b7"; 14 + sha256 = "0cj0j10lmfr28c7nh79n2mcmy31xx50g93h0bqs0l7y76ph4dqkc"; 15 + }; 16 + 17 + outputs = [ "out" "dev" ]; 18 + 19 + nativeBuildInputs = [ 20 + autoconf 21 + automake 22 + libtool 23 + pkgconfig 24 + ]; 25 + propagatedBuildInputs = [ 26 + glib 27 + gnutls 28 + libgcrypt 29 + libplist 30 + libtasn1 31 + libusbmuxd 18 32 ]; 19 33 20 - postPatch = ''sed -e 's@1\.3\.21@@' -i configure''; 21 - passthru.swig = libplist.swig; 34 + preConfigure = "NOCONFIGURE=1 ./autogen.sh"; 22 35 23 - src = fetchurl { 24 - url = "${meta.homepage}/downloads/${name}.tar.bz2"; 25 - sha256 = "0dqhy4qwj30mw8pwckvjmgnj1qqrh6p8c6jknmhvylshhzh0ssvq"; 26 - }; 36 + configureFlags = [ 37 + "--disable-static" 38 + "--disable-openssl" 39 + "--without-cython" 40 + ]; 27 41 28 - meta = { 29 - homepage = http://www.libimobiledevice.org; 42 + meta = with stdenv.lib; { 43 + homepage = https://github.com/libimobiledevice/libimobiledevice; 30 44 description = "A software library that talks the protocols to support iPhone®, iPod Touch® and iPad® devices on Linux"; 31 45 longDescription = '' 32 46 libimobiledevice is a software library that talks the protocols to support ··· 38 52 installed applications, retrieve addressbook/calendars/notes and bookmarks 39 53 and synchronize music and video to the device. The library is in 40 54 development since August 2007 with the goal to bring support for these 41 - devices to the Linux Desktop.''; 42 - inherit (usbmuxd.meta) platforms maintainers; 55 + devices to the Linux Desktop. 56 + ''; 57 + license = licenses.lgpl21Plus; 58 + platforms = platforms.linux; 59 + maintainers = with maintainers; [ ]; 43 60 }; 44 61 }
+26 -16
pkgs/development/libraries/libplist/default.nix
··· 1 - { stdenv, fetchurl, pkgconfig, swig2, python2Packages, glib }: 1 + { stdenv, autoreconfHook, fetchFromGitHub, pkgconfig, python2Packages, glib }: 2 2 3 3 let 4 4 inherit (python2Packages) python cython; 5 - in stdenv.mkDerivation rec { 6 - name = "libplist-${version}"; 7 - version = "2.0.0"; 5 + in 6 + stdenv.mkDerivation rec { 7 + pname = "libplist"; 8 + version = "2018-07-25"; 8 9 9 - nativeBuildInputs = [ pkgconfig swig2 python cython ]; 10 + name = "${pname}-${version}"; 10 11 11 - propagatedBuildInputs = [ glib ]; 12 - 13 - passthru.swig = swig2; 12 + src = fetchFromGitHub { 13 + owner = "libimobiledevice"; 14 + repo = pname; 15 + rev = "db68a9d1070b363eee93147f072f46526064acbc"; 16 + sha256 = "0lxyb35jjg31m8dxhsv1jr2ccy5s19fsqzisy7lfjk46w7brs4h5"; 17 + }; 14 18 15 19 outputs = ["bin" "dev" "out" "py"]; 16 20 21 + nativeBuildInputs = [ 22 + pkgconfig 23 + python 24 + cython 25 + autoreconfHook 26 + ]; 27 + 28 + propagatedBuildInputs = [ glib ]; 29 + 17 30 postFixup = '' 18 31 moveToOutput "lib/${python.libPrefix}" "$py" 19 32 ''; 20 33 21 - src = fetchurl { 22 - url = "https://www.libimobiledevice.org/downloads/${name}.tar.bz2"; 23 - sha256 = "00pnh9zf3iwdji2faccns7vagbmbrwbj9a8zp9s53a6rqaa9czis"; 24 - }; 25 - 26 - meta = { 27 - homepage = https://github.com/JonathanBeck/libplist; 28 - platforms = stdenv.lib.platforms.all; 34 + meta = with stdenv.lib; { 35 + description = "A library to handle Apple Property List format in binary or XML"; 36 + homepage = https://github.com/libimobiledevice/libplist; 37 + license = licenses.lgpl21Plus; 29 38 maintainers = [ ]; 39 + platforms = platforms.linux; 30 40 }; 31 41 }
+18 -17
pkgs/development/libraries/libusbmuxd/default.nix
··· 1 - { stdenv, fetchurl, fetchpatch, pkgconfig, libplist }: 1 + { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, libplist }: 2 2 3 3 stdenv.mkDerivation rec { 4 - name = "libusbmuxd-1.0.10"; 5 - src = fetchurl { 6 - url = "https://www.libimobiledevice.org/downloads/${name}.tar.bz2"; 7 - sha256 = "1wn9zq2224786mdr12c5hxad643d29wg4z6b7jn888jx4s8i78hs"; 4 + pname = "libusbmuxd"; 5 + version = "2018-07-23"; 6 + 7 + name = "${pname}-${version}"; 8 + 9 + src = fetchFromGitHub { 10 + owner = "libimobiledevice"; 11 + repo = pname; 12 + rev = "78df9be5fc8222ed53846cb553de9b5d24c85c6c"; 13 + sha256 = "05hbn0mbmv5ln9hfsvnf7i1mnp6ncbyfnl5w331kg4fi12wjshc5"; 8 14 }; 9 15 10 - patches = [ 11 - (fetchpatch { 12 - name = "CVE-2016-5104.patch"; 13 - url = "https://github.com/libimobiledevice/libusbmuxd/commit/4397b3376dc4e4cb1c991d0aed61ce6482614196.patch"; 14 - sha256 = "0cl3vys7bkwbdzf64d0rz3zlqpfc30w4l7j49ljv01agh42ywhgk"; 15 - }) 16 - ]; 17 - 18 - nativeBuildInputs = [ pkgconfig ]; 16 + nativeBuildInputs = [ autoreconfHook pkgconfig ]; 19 17 buildInputs = [ libplist ]; 20 18 21 - meta = { 22 - homepage = http://www.libimobiledevice.org; 23 - platforms = stdenv.lib.platforms.unix; 19 + meta = with stdenv.lib; { 20 + description = "A client library to multiplex connections from and to iOS devices"; 21 + homepage = https://github.com/libimobiledevice/libusbmuxd; 22 + license = licenses.lgpl21Plus; 23 + platforms = platforms.linux; 24 + maintainers = with maintainers; [ ]; 24 25 }; 25 26 }
+21 -15
pkgs/tools/filesystems/ifuse/default.nix
··· 1 - { stdenv, fetchurl, pkgconfig, usbmuxd, fuse, gnutls, libgcrypt, 2 - libplist, libimobiledevice }: 1 + { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, usbmuxd, fuse, libimobiledevice }: 3 2 4 3 stdenv.mkDerivation rec { 5 - name = "ifuse-1.1.3"; 4 + pname = "ifuse"; 5 + version = "1.1.3"; 6 6 7 - nativeBuildInputs = [ pkgconfig fuse libplist usbmuxd gnutls libgcrypt libimobiledevice ]; 7 + name = "${pname}-${version}"; 8 8 9 - src = fetchurl { 10 - url = "${meta.homepage}/downloads/${name}.tar.bz2"; 11 - sha256 = "1p9a4n36jb194cnp6v57cz2bggwbywaz8pbpb95ch83pzdkdx257"; 9 + src = fetchFromGitHub { 10 + owner = "libimobiledevice"; 11 + repo = pname; 12 + rev = version; 13 + sha256 = "0p01rds3vc5864v48swgqw5dv0h937nqnxggryixg9pkvzhc6cx5"; 12 14 }; 13 15 14 - meta = { 15 - homepage = http://www.libimobiledevice.org; 16 - license = stdenv.lib.licenses.lgpl21Plus; 16 + nativeBuildInputs = [ autoreconfHook pkgconfig fuse usbmuxd libimobiledevice ]; 17 + 18 + meta = with stdenv.lib; { 19 + homepage = https://github.com/libimobiledevice/ifuse; 17 20 description = "A fuse filesystem implementation to access the contents of iOS devices"; 18 21 longDescription = '' 19 - Mount directories of an iOS device locally using fuse. By default the media 20 - directory is mounted, options allow to also mount the sandbox container of an 21 - app, an app's documents folder or even the root filesystem on jailbroken 22 - devices.''; 23 - inherit (usbmuxd.meta) platforms maintainers; 22 + Mount directories of an iOS device locally using fuse. By default the media 23 + directory is mounted, options allow to also mount the sandbox container of an 24 + app, an app's documents folder or even the root filesystem on jailbroken 25 + devices. 26 + ''; 27 + license = licenses.lgpl21Plus; 28 + platforms = platforms.linux; 29 + maintainers = with maintainers; [ ]; 24 30 }; 25 31 }
+26 -16
pkgs/tools/misc/usbmuxd/default.nix
··· 1 - { stdenv, fetchurl, libplist, libusb1, pkgconfig, libimobiledevice }: 1 + { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, libusb1, libimobiledevice }: 2 2 3 3 stdenv.mkDerivation rec { 4 - name = "usbmuxd-${version}"; 5 - version = "1.1.0"; 4 + pname = "usbmuxd"; 5 + version = "2018-07-22"; 6 + 7 + name = "${pname}-${version}"; 6 8 7 - src = fetchurl { 8 - url = "https://www.libimobiledevice.org/downloads/${name}.tar.bz2"; 9 - sha256 = "0bdlc7a8plvglqqx39qqampqm6y0hcdws76l9dffwl22zss4i29y"; 9 + src = fetchFromGitHub { 10 + owner = "libimobiledevice"; 11 + repo = pname; 12 + rev = "ee85938c21043ef5f7cd4dfbc7677f385814d4d8"; 13 + sha256 = "1qsnxvcagxa92rz0w78m0n2drgaghi0pqpbjdk2080sczzi1g76y"; 10 14 }; 11 15 12 - nativeBuildInputs = [ pkgconfig ]; 13 - propagatedBuildInputs = [ libusb1 libplist libimobiledevice ]; 16 + nativeBuildInputs = [ autoreconfHook pkgconfig ]; 17 + propagatedBuildInputs = [ libimobiledevice libusb1 ]; 14 18 15 19 preConfigure = '' 16 20 configureFlags="$configureFlags --with-udevrulesdir=$out/lib/udev/rules.d" 17 21 configureFlags="$configureFlags --with-systemdsystemunitdir=$out/lib/systemd/system" 18 22 ''; 19 23 20 - meta = { 21 - homepage = http://marcansoft.com/blog/iphonelinux/usbmuxd/; 22 - description = "USB Multiplex Daemon (for talking to iPhone or iPod)"; 24 + meta = with stdenv.lib; { 25 + homepage = https://github.com/libimobiledevice/usbmuxd; 26 + description = "A socket daemon to multiplex connections from and to iOS devices"; 23 27 longDescription = '' 24 - usbmuxd: USB Multiplex Daemon. This bit of software is in charge of 25 - talking to your iPhone or iPod Touch over USB and coordinating access to 26 - its services by other applications.''; 27 - platforms = stdenv.lib.platforms.linux; 28 - maintainers = [ ]; 28 + usbmuxd stands for "USB multiplexing daemon". This daemon is in charge of 29 + multiplexing connections over USB to an iOS device. To users, it means 30 + you can sync your music, contacts, photos, etc. over USB. To developers, it 31 + means you can connect to any listening localhost socket on the device. usbmuxd 32 + is not used for tethering data transfer which uses a dedicated USB interface as 33 + a virtual network device. Multiple connections to different TCP ports can happen 34 + in parallel. The higher-level layers are handled by libimobiledevice. 35 + ''; 36 + license = licenses.gpl2Plus; 37 + platforms = platforms.linux; 38 + maintainers = with maintainers; [ ]; 29 39 }; 30 40 }