[PATCH] New package idevicerestore + libirecovery

  • Done
  • quality assurance status badge
Details
2 participants
  • Julien Lepiller
  • Jacob Hrbek
Owner
unassigned
Submitted by
Jacob Hrbek
Severity
normal
J
J
Jacob Hrbek wrote on 18 Sep 2022 08:38
(address . guix-patches@gnu.org)(name . Jacob Hrbek)(address . kreyren@rixotstudio.cz)
20220918063804.13779-1-kreyren@rixotstudio.cz
---
gnu/packages/libusb.scm | 49 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 49 insertions(+)

Toggle diff (77 lines)
diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm
index 8a5967f7b4..c718146745 100644
--- a/gnu/packages/libusb.scm
+++ b/gnu/packages/libusb.scm
@@ -41,6 +41,8 @@ (define-module (gnu packages libusb)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system python)
#:use-module (gnu packages autotools)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages curl)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages gtk)
#:use-module (gnu packages java)
@@ -49,6 +51,7 @@ (define-module (gnu packages libusb)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages readline)
#:use-module (gnu packages tls)
#:use-module (gnu packages xiph))

@@ -389,6 +392,52 @@ (define-public libu
sbmuxd
@code{usbmuxd} daemon.")
(license license:lgpl2.1+)))

+(define-public libirecovery
+ (package
+ (name "libirecovery")
+ (version "1.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/libimobiledevice"
+ "/libirecovery/releases/download/" version
+ "/libirecovery-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "1d6r9984plynbbiqda8jd7ihnkg6wc4v0iirv3hw4vsv1ahsp86d"))))
+ (build-system gnu-build-system)
+ (native-inputs (list readline
+ pkg-config
+ libusb))
+ (home-page "https://libimobiledevice.org/")
+ (synopsis "The libirecovery library allows communication with iBoot/iBSS of iOS devices via USB")
+ (description "libirecovery is a cross-platform library which implements communication to iBoot/iBSS found on Apple'
s iOS devices via USB.")
+ (license license:lgpl2.1)))
+
+(define-public idevicerestore
+ (package
+ (name "idevicerestore")
+ (version "1.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/libimobiledevice"
+ "/idevicerestore/releases/download/" version
+ "/idevicerestore-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "1xrnk1hc9cjcqv8x8l5ankv6f33r5wnpmrwri4pgv5sk6632ww9j"))))
+ (build-system gnu-build-system)
+ (native-inputs (list pkg-config
+ libusb
+ libirecovery
+ libimobiledevice
+ libzip
+ curl
+ zlib))
+ (home-page "https://libimobiledevice.org/")
+ (synopsis "CLI tool to restore firmware files to iOS devices")
+ (descr
iption "Utility used to restore bricked or otherwise broken iOS devices")
+ (license license:lgpl3)))
+
(define-public libimobiledevice
(package
(name "libimobiledevice")
--
2.37.1
Attachment: signature.asc
J
J
Julien Lepiller wrote on 22 Sep 2022 21:45
(name . Jacob Hrbek)(address . kreyren@rixotstudio.cz)(address . 57902-done@debbugs.gnu.org)
20220922214510.4350faba@sybil.lepiller.eu
Hi Jacob,

pushed to master as 5f9d9471c7ef522a04d9f197346c32d810afae81 and
f7a68436edb0bb1dd8a5dd0d65c38cb2fee16773.

Note that when adding packages to Guix, you have to submit a separate
patch for each package. I took the time to split this patch, but in the
future, please make sure to follow the guidelines at

As with your other patch I pushed today, this patch had a few issues
that "guix lint" would have easily caught.

I fixed line length (which caused wrapping issues), native-inputs vs
inputs, synopsis and description, source from git instead of url.

Also fixed the license of the second package, the source explicitely
says "or later", so it's lgpl3+. (weirdly though, the source says 2.1
or later, but COPYING is lgpl 3). lgpl2.1 is correct for the library,
since the source does not say "or later".

I think you have other patches waiting on the mailing list. It would
help reviewers if you could run "guix lint", fix warnings (except
for the archival one if you get it) and send a v2 on their respective
bug number.
Closed
?