diff mbox series

[bug#57902] New package idevicerestore + libirecovery

Message ID 20220918063804.13779-1-kreyren@rixotstudio.cz
State Accepted
Headers show
Series [bug#57902] New package idevicerestore + libirecovery | expand

Checks

Context Check Description
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue

Commit Message

Jacob Hrbek Sept. 18, 2022, 6:38 a.m. UTC
---
 gnu/packages/libusb.scm | 49 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

 (define-public libimobiledevice
   (package
     (name "libimobiledevice")
--
2.37.1

Comments

Julien Lepiller Sept. 22, 2022, 7:45 p.m. UTC | #1
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
https://guix.gnu.org/manual/devel/en/html_node/Submitting-Patches.html#Submitting-Patches

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.
diff mbox series

Patch

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)))
+