Merge pull request #44966 from worldofpeace/imobile-updates

libimobiledevice updates
This commit is contained in:
Silvan Mosberger 2018-08-15 17:05:10 +02:00 committed by GitHub
commit b1cf86b8bb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 135 additions and 91 deletions

View File

@ -25,8 +25,8 @@ in stdenv.mkDerivation rec {
propagatedBuildInputs = [ glib libxml2 sqlite zlib sg3_utils propagatedBuildInputs = [ glib libxml2 sqlite zlib sg3_utils
gdk_pixbuf taglib libimobiledevice python pygobject2 mutagen ]; gdk_pixbuf taglib libimobiledevice python pygobject2 mutagen ];
nativeBuildInputs = [ gettext perlXMLParser intltool pkgconfig perl nativeBuildInputs = [ gettext perlXMLParser intltool pkgconfig perl] ++
libimobiledevice.swig ] ++ lib.optionals monoSupport [ mono gtk-sharp-2_0 ]; lib.optionals monoSupport [ mono gtk-sharp-2_0 ];
meta = { meta = {
homepage = http://gtkpod.sourceforge.net/; homepage = http://gtkpod.sourceforge.net/;

View File

@ -1,32 +1,46 @@
{ stdenv, fetchurl, fetchpatch, python2, pkgconfig, usbmuxd, glib, libgcrypt, { stdenv, fetchFromGitHub, automake, autoconf, libtool, pkgconfig, gnutls
libtasn1, libplist, readline, libusbmuxd, openssl }: , libgcrypt, libtasn1, glib, libplist, libusbmuxd }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libimobiledevice-1.2.0"; pname = "libimobiledevice";
version = "2018-07-24";
nativeBuildInputs = [ python2 libplist.swig pkgconfig ]; name = "${pname}-${version}";
buildInputs = [ readline ];
propagatedBuildInputs = [ libusbmuxd glib libgcrypt libtasn1 libplist openssl ];
patches = [ src = fetchFromGitHub {
./disable_sslv3.patch owner = pname;
(fetchpatch { repo = pname;
name = "CVE-2016-5104.patch"; rev = "d7a2e04d2e7880c56116fd35489a7f98755501b7";
url = "https://github.com/libimobiledevice/libimobiledevice/commit/df1f5c4d70d0c19ad40072f5246ca457e7f9849e.patch"; sha256 = "0cj0j10lmfr28c7nh79n2mcmy31xx50g93h0bqs0l7y76ph4dqkc";
sha256 = "06ygb9aqcvm4v08wrldsddjgyqv5bkpq6lxzq2a1nwqp9mq4a4k1";
})
];
postPatch = ''sed -e 's@1\.3\.21@@' -i configure'';
passthru.swig = libplist.swig;
src = fetchurl {
url = "${meta.homepage}/downloads/${name}.tar.bz2";
sha256 = "0dqhy4qwj30mw8pwckvjmgnj1qqrh6p8c6jknmhvylshhzh0ssvq";
}; };
meta = { outputs = [ "out" "dev" ];
homepage = http://www.libimobiledevice.org;
nativeBuildInputs = [
autoconf
automake
libtool
pkgconfig
];
propagatedBuildInputs = [
glib
gnutls
libgcrypt
libplist
libtasn1
libusbmuxd
];
preConfigure = "NOCONFIGURE=1 ./autogen.sh";
configureFlags = [
"--disable-static"
"--disable-openssl"
"--without-cython"
];
meta = with stdenv.lib; {
homepage = https://github.com/libimobiledevice/libimobiledevice;
description = "A software library that talks the protocols to support iPhone®, iPod Touch® and iPad® devices on Linux"; description = "A software library that talks the protocols to support iPhone®, iPod Touch® and iPad® devices on Linux";
longDescription = '' longDescription = ''
libimobiledevice is a software library that talks the protocols to support libimobiledevice is a software library that talks the protocols to support
@ -38,7 +52,10 @@ stdenv.mkDerivation rec {
installed applications, retrieve addressbook/calendars/notes and bookmarks installed applications, retrieve addressbook/calendars/notes and bookmarks
and synchronize music and video to the device. The library is in and synchronize music and video to the device. The library is in
development since August 2007 with the goal to bring support for these development since August 2007 with the goal to bring support for these
devices to the Linux Desktop.''; devices to the Linux Desktop.
inherit (usbmuxd.meta) platforms maintainers; '';
license = licenses.lgpl21Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ ];
}; };
} }

View File

@ -1,31 +1,41 @@
{ stdenv, fetchurl, pkgconfig, swig2, python2Packages, glib }: { stdenv, autoreconfHook, fetchFromGitHub, pkgconfig, python2Packages, glib }:
let let
inherit (python2Packages) python cython; inherit (python2Packages) python cython;
in stdenv.mkDerivation rec { in
name = "libplist-${version}"; stdenv.mkDerivation rec {
version = "2.0.0"; pname = "libplist";
version = "2018-07-25";
nativeBuildInputs = [ pkgconfig swig2 python cython ]; name = "${pname}-${version}";
propagatedBuildInputs = [ glib ]; src = fetchFromGitHub {
owner = "libimobiledevice";
passthru.swig = swig2; repo = pname;
rev = "db68a9d1070b363eee93147f072f46526064acbc";
sha256 = "0lxyb35jjg31m8dxhsv1jr2ccy5s19fsqzisy7lfjk46w7brs4h5";
};
outputs = ["bin" "dev" "out" "py"]; outputs = ["bin" "dev" "out" "py"];
nativeBuildInputs = [
pkgconfig
python
cython
autoreconfHook
];
propagatedBuildInputs = [ glib ];
postFixup = '' postFixup = ''
moveToOutput "lib/${python.libPrefix}" "$py" moveToOutput "lib/${python.libPrefix}" "$py"
''; '';
src = fetchurl { meta = with stdenv.lib; {
url = "https://www.libimobiledevice.org/downloads/${name}.tar.bz2"; description = "A library to handle Apple Property List format in binary or XML";
sha256 = "00pnh9zf3iwdji2faccns7vagbmbrwbj9a8zp9s53a6rqaa9czis"; homepage = https://github.com/libimobiledevice/libplist;
}; license = licenses.lgpl21Plus;
meta = {
homepage = https://github.com/JonathanBeck/libplist;
platforms = stdenv.lib.platforms.all;
maintainers = [ ]; maintainers = [ ];
platforms = platforms.linux;
}; };
} }

View File

@ -1,25 +1,26 @@
{ stdenv, fetchurl, fetchpatch, pkgconfig, libplist }: { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, libplist }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libusbmuxd-1.0.10"; pname = "libusbmuxd";
src = fetchurl { version = "2018-07-23";
url = "https://www.libimobiledevice.org/downloads/${name}.tar.bz2";
sha256 = "1wn9zq2224786mdr12c5hxad643d29wg4z6b7jn888jx4s8i78hs"; name = "${pname}-${version}";
src = fetchFromGitHub {
owner = "libimobiledevice";
repo = pname;
rev = "78df9be5fc8222ed53846cb553de9b5d24c85c6c";
sha256 = "05hbn0mbmv5ln9hfsvnf7i1mnp6ncbyfnl5w331kg4fi12wjshc5";
}; };
patches = [ nativeBuildInputs = [ autoreconfHook pkgconfig ];
(fetchpatch {
name = "CVE-2016-5104.patch";
url = "https://github.com/libimobiledevice/libusbmuxd/commit/4397b3376dc4e4cb1c991d0aed61ce6482614196.patch";
sha256 = "0cl3vys7bkwbdzf64d0rz3zlqpfc30w4l7j49ljv01agh42ywhgk";
})
];
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ libplist ]; buildInputs = [ libplist ];
meta = { meta = with stdenv.lib; {
homepage = http://www.libimobiledevice.org; description = "A client library to multiplex connections from and to iOS devices";
platforms = stdenv.lib.platforms.unix; homepage = https://github.com/libimobiledevice/libusbmuxd;
license = licenses.lgpl21Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ ];
}; };
} }

View File

@ -1,25 +1,31 @@
{ stdenv, fetchurl, pkgconfig, usbmuxd, fuse, gnutls, libgcrypt, { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, usbmuxd, fuse, libimobiledevice }:
libplist, libimobiledevice }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "ifuse-1.1.3"; pname = "ifuse";
version = "1.1.3";
nativeBuildInputs = [ pkgconfig fuse libplist usbmuxd gnutls libgcrypt libimobiledevice ]; name = "${pname}-${version}";
src = fetchurl { src = fetchFromGitHub {
url = "${meta.homepage}/downloads/${name}.tar.bz2"; owner = "libimobiledevice";
sha256 = "1p9a4n36jb194cnp6v57cz2bggwbywaz8pbpb95ch83pzdkdx257"; repo = pname;
rev = version;
sha256 = "0p01rds3vc5864v48swgqw5dv0h937nqnxggryixg9pkvzhc6cx5";
}; };
meta = { nativeBuildInputs = [ autoreconfHook pkgconfig fuse usbmuxd libimobiledevice ];
homepage = http://www.libimobiledevice.org;
license = stdenv.lib.licenses.lgpl21Plus; meta = with stdenv.lib; {
homepage = https://github.com/libimobiledevice/ifuse;
description = "A fuse filesystem implementation to access the contents of iOS devices"; description = "A fuse filesystem implementation to access the contents of iOS devices";
longDescription = '' longDescription = ''
Mount directories of an iOS device locally using fuse. By default the media Mount directories of an iOS device locally using fuse. By default the media
directory is mounted, options allow to also mount the sandbox container of an directory is mounted, options allow to also mount the sandbox container of an
app, an app's documents folder or even the root filesystem on jailbroken app, an app's documents folder or even the root filesystem on jailbroken
devices.''; devices.
inherit (usbmuxd.meta) platforms maintainers; '';
license = licenses.lgpl21Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ ];
}; };
} }

View File

@ -1,30 +1,40 @@
{ stdenv, fetchurl, libplist, libusb1, pkgconfig, libimobiledevice }: { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, libusb1, libimobiledevice }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "usbmuxd-${version}"; pname = "usbmuxd";
version = "1.1.0"; version = "2018-07-22";
src = fetchurl { name = "${pname}-${version}";
url = "https://www.libimobiledevice.org/downloads/${name}.tar.bz2";
sha256 = "0bdlc7a8plvglqqx39qqampqm6y0hcdws76l9dffwl22zss4i29y"; src = fetchFromGitHub {
owner = "libimobiledevice";
repo = pname;
rev = "ee85938c21043ef5f7cd4dfbc7677f385814d4d8";
sha256 = "1qsnxvcagxa92rz0w78m0n2drgaghi0pqpbjdk2080sczzi1g76y";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ autoreconfHook pkgconfig ];
propagatedBuildInputs = [ libusb1 libplist libimobiledevice ]; propagatedBuildInputs = [ libimobiledevice libusb1 ];
preConfigure = '' preConfigure = ''
configureFlags="$configureFlags --with-udevrulesdir=$out/lib/udev/rules.d" configureFlags="$configureFlags --with-udevrulesdir=$out/lib/udev/rules.d"
configureFlags="$configureFlags --with-systemdsystemunitdir=$out/lib/systemd/system" configureFlags="$configureFlags --with-systemdsystemunitdir=$out/lib/systemd/system"
''; '';
meta = { meta = with stdenv.lib; {
homepage = http://marcansoft.com/blog/iphonelinux/usbmuxd/; homepage = https://github.com/libimobiledevice/usbmuxd;
description = "USB Multiplex Daemon (for talking to iPhone or iPod)"; description = "A socket daemon to multiplex connections from and to iOS devices";
longDescription = '' longDescription = ''
usbmuxd: USB Multiplex Daemon. This bit of software is in charge of usbmuxd stands for "USB multiplexing daemon". This daemon is in charge of
talking to your iPhone or iPod Touch over USB and coordinating access to multiplexing connections over USB to an iOS device. To users, it means
its services by other applications.''; you can sync your music, contacts, photos, etc. over USB. To developers, it
platforms = stdenv.lib.platforms.linux; means you can connect to any listening localhost socket on the device. usbmuxd
maintainers = [ ]; 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; [ ];
}; };
} }