gnu: libimobiledevice: Fix build with Python 3.8.

* gnu/packages/libusb.scm (%libimobiledevice-patches): New variable.
(libimobiledevice)[source](patches): New field.
[arguments]: Remove #:configure-flags.  Add #:phases.
[native-inputs]: Add AUTOCONF and AUTOMAKE.
This commit is contained in:
Marius Bakke 2020-01-16 18:00:25 +01:00
parent 4255efda3d
commit 403b533fde
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA

View file

@ -8,6 +8,7 @@
;;; Copyright © 2017 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Vagrant Cascadian <vagrant@debian.org>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -364,6 +365,25 @@ (define-public libusbmuxd
@code{usbmuxd} daemon.")
(license license:lgpl2.1+)))
;; These patches are needed to build with Python 3.8.
(define %libimobiledevice-patches
(list (origin
(method url-fetch)
(uri (string-append "https://github.com/libimobiledevice/libimobiledevice"
"/commit/1ff3448d2e27f1bac8d2f0af8b8e952854860278.patch"))
(file-name "libimobiledevice-python-config.patch")
(sha256
(base32
"1mkwhp8vvhajij29jk3w4rkgcfh8d8waf908drh3076k70hb6i8y")))
(origin
(method url-fetch)
(uri (string-append "https://github.com/libimobiledevice/libimobiledevice"
"/commit/eea4f1be9107c8ab621fd71460e47d0d38e55d71.patch"))
(file-name "libimobiledevice-python-3.8-compat.patch")
(sha256
(base32
"1zz8v7kgwyq5ck1qp03l29pcmljygnjwls9d6q28nv5pkwa6848w")))))
(define-public libimobiledevice
(package
(name "libimobiledevice")
@ -372,17 +392,19 @@ (define-public libimobiledevice
(method url-fetch)
(uri (string-append "https://www.libimobiledevice.org/downloads/"
"libimobiledevice-" version ".tar.bz2"))
;; Note: Remove the 'force-bootstrap' phase and the autoconf
;; inputs below when removing these patches.
(patches %libimobiledevice-patches)
(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"))))
`(#:phases (modify-phases %standard-phases
(add-before 'bootstrap 'force-bootstrap
(lambda _
(delete-file "configure")
#t)))))
(propagated-inputs
`(("openssl" ,openssl-1.0)
("libplist" ,libplist)
@ -392,6 +414,10 @@ (define-public libimobiledevice
(native-inputs
`(("pkg-config" ,pkg-config)
("python-cython" ,python-cython)
;; These are required because we patch and bootstrap the build system.
("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)))
(home-page "https://www.libimobiledevice.org/")
(synopsis "Protocol library and tools to communicate with Apple devices")