+(define-public libplist
+ (package
+ (name "libplist")
+ (version "2.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://www.libimobiledevice.org/downloads/"
+ "libplist-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "00pnh9zf3iwdji2faccns7vagbmbrwbj9a8zp9s53a6rqaa9czis"))))
+ (build-system gnu-build-system)
+ (arguments
+ ;; Tests fail randomly when run in parallel because several of them write
+ ;; and read to/from the same file--e.g., "4.plist" is accessed by
+ ;; 'large.test' and 'largecmp.test'.
+ '(#:parallel-tests? #f))
+ (inputs
+ `(("python" ,python)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("python-cython" ,python-cython)))
+ (home-page "https://www.libimobiledevice.org/")
+ (synopsis "C library to handle Apple Property List files")
+ (description "This package provides a small portable C library to handle
+Apple Property List files in binary or XML.")
+ (license license:lgpl2.1+)))
+
+(define-public libusbmuxd
+ (package
+ (name "libusbmuxd")
+ (version "1.0.10")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://www.libimobiledevice.org/downloads/"
+ "libusbmuxd-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "1wn9zq2224786mdr12c5hxad643d29wg4z6b7jn888jx4s8i78hs"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("libplist" ,libplist)))
+ (home-page "https://www.libimobiledevice.org/")
+ (synopsis "Library to multiplex connections from and to iOS devices")
+ (description "This package provides a client library to multiplex
+connections from and to iOS devices by connecting to a socket provided by a
+@code{usbmuxd} daemon.")
+ (license license:lgpl2.1+)))
+
+(define-public libimobiledevice
+ (package
+ (name "libimobiledevice")
+ (version "1.2.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://www.libimobiledevice.org/downloads/"
+ "libimobiledevice-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "0dqhy4qwj30mw8pwckvjmgnj1qqrh6p8c6jknmhvylshhzh0ssvq"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags
+ (list (string-append "PYTHON_LDFLAGS=-L"
+ (assoc-ref %build-inputs "python")
+ "/lib -lpython"
+ ,(version-major+minor (package-version python))
+ "m"))))
+ (propagated-inputs
+ `(("openssl" ,openssl)
+ ("libplist" ,libplist)
+ ("libusbmuxd" ,libusbmuxd)))
+ (inputs
+ `(("python" ,python)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("python-cython" ,python-cython)
+ ("libtool" ,libtool)))
+ (home-page "https://www.libimobiledevice.org/")
+ (synopsis "Protocol library and tools to communicate with Apple devices")
+ (description "libimobiledevice is a software library that talks the
+protocols to support Apple devices. It allows other software to easily access
+the device's file system, retrieve information about the device and its
+internals, backup/restore the device, manage installed applications, retrieve
+address books, calendars, notes, and bookmarks, and (using libgpod) synchronize
+music and video to the device.")
+ (license license:lgpl2.1+)))
+
+(define-public ifuse
+ (package
+ (name "ifuse")
+ (version "1.1.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://www.libimobiledevice.org/downloads/"
+ "ifuse-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "1p9a4n36jb194cnp6v57cz2bggwbywaz8pbpb95ch83pzdkdx257"))))
+ (inputs
+ `(("fuse" ,fuse)
+ ("libimobiledevice" ,libimobiledevice)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (build-system gnu-build-system)
+ (home-page "https://www.libimobiledevice.org/")
+ (synopsis "Mount iOS devices")
+ (description "This package provides @command{ifuse}, a command to mount
+iOS devices and access their contents.")
+ (license license:lgpl2.1+)))
+
+(define-public usbmuxd
+ (package
+ (name "usbmuxd")
+ (version "1.1.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://www.libimobiledevice.org/downloads/"
+ "usbmuxd-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "0bdlc7a8plvglqqx39qqampqm6y0hcdws76l9dffwl22zss4i29y"))))
+ (inputs
+ `(("libplist" ,libplist)
+ ("libusb" ,libusb)
+ ("libimobiledevice" ,libimobiledevice)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (build-system gnu-build-system)
+ (home-page "https://www.libimobiledevice.org/")
+ (synopsis "Multiplex connections over USB to an iOS device")
+ (description "This package provides the @code{usbmuxd} daemon
+which multiplexes connections over USB to an iOS device. To
+users, it means you can sync your music, contacts, photos, etc.
+over USB.")
+ (license license:gpl2+)))
+