Hi Jacob,

Jacob Hrbek <[email protected]> writes:

> The issue is that i can't get libusbmuxd (the daemon used to
> communicate with iDevices from Linux) to work on GNU Guix likely due
> to a configuration error in guix to perform the exploit and install
> guix, can someone help?
> https://github.com/libimobiledevice/ideviceinstaller/issues/147
>
> [...]
>
> It seems to be guix specific as the usbmuxd seems to work fine on
> other distros, but has issues on NixOS and Guix thus why asking here

I’ve run into this before.  Guix is currently on libusb 1.0.24, which
has a bug: <https://github.com/libusb/libusb/issues/825>.

Here’s the workaround I use:

;; Use this version of usbmuxd to access an iPhone.
;; Cf. <https://github.com/libusb/libusb/issues/825>.

(use-modules ((gnu packages libusb) #:select (libusb usbmuxd))
             (guix download)
             (guix packages)
             (ice-9 match))

(define libusb-1.0.25
  (package
    (inherit libusb)
    (version "1.0.25")
    (source
     (origin
       (method url-fetch)
       (uri (string-append "https://github.com/libusb/libusb/releases";
                           "/download/v1.0.25/libusb-1.0.25.tar.bz2"))
       (sha256
        (base32 "0j88ym7afy4wj3x789zzxsr04asyjy0mw29gf31blzkrg8cyya4a"))))))

(package
  (inherit usbmuxd)
  (inputs (modify-inputs (package-inputs usbmuxd)
            (replace "libusb" libusb-1.0.25))))
With this, I just use “guix shell -f” to launch a shell with access to
the fixed usbmuxd.

There are 1.5K packages that depend on libusb, so an update will have to
wait for the next core-updates cycle.

HTH!


-- Tim

Reply via email to