Eric Bavier <[email protected]> writes: > On Tue, 29 Mar 2016 09:07:44 +0200 > Ricardo Wurmus <[email protected]> wrote: > >> From a5a632c0f11d650a8e3bcae64ea8680aa90d3cf6 Mon Sep 17 00:00:00 2001 >> From: Ricardo Wurmus <[email protected]> >> Date: Tue, 29 Mar 2016 09:06:09 +0200 >> Subject: [PATCH] gnu: Add python-pyusb. >> >> * gnu/packages/libusb.scm (python-pyusb, python2-pyusb): New variables. >> --- >> gnu/packages/libusb.scm | 40 +++++++++++++++++++++++++++++++++++++++- >> 1 file changed, 39 insertions(+), 1 deletion(-) >> > [...] >> @@ -87,6 +89,42 @@ devices on various operating systems.") >> version of libusb to run with newer libusb.") >> (license lgpl2.1+))) >> >> +(define-public python-pyusb >> + (package >> + (name "python-pyusb") >> + (version "1.0.0rc1") >> + (source >> + (origin >> + (method url-fetch) >> + (uri (pypi-uri "pyusb" version)) >> + (sha256 >> + (base32 >> + "07cjq11qhngzjd746k7688s6y2x7lpj669fxqfsiy985rg0jsn7j")))) >> + (build-system python-build-system) >> + (arguments >> + `(#:tests? #f ;no tests >> + #:phases >> + (modify-phases %standard-phases >> + (add-after 'unpack 'fix-libusb-reference >> + (lambda* (#:key inputs #:allow-other-keys) >> + (substitute* "usb/libloader.py" >> + (("lib = locate_library\\(candidates, find_library\\)") >> + (string-append "lib = \"" >> + (assoc-ref inputs "libusb") >> + "/lib/libusb-1.0.so.0.1.0" > > Is there any way to derive the soversion to help avoid breakage from > future libusb updates?
How about the attached patch? ~~ Ricardo
>From 2f190da0d812501a4ab3db94a99ac8f7c6698cbc Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus <[email protected]> Date: Tue, 29 Mar 2016 09:06:09 +0200 Subject: [PATCH] gnu: Add python-pyusb. * gnu/packages/libusb.scm (python-pyusb, python2-pyusb): New variables. --- gnu/packages/libusb.scm | 47 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm index c3427e7..ffd1273 100644 --- a/gnu/packages/libusb.scm +++ b/gnu/packages/libusb.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2012 Nikita Karetnikov <[email protected]> ;;; Copyright © 2015 Andreas Enge <[email protected]> ;;; Copyright © 2015 Andy Wingo <[email protected]> -;;; Copyright © 2015 Ricardo Wurmus <[email protected]> +;;; Copyright © 2015, 2016 Ricardo Wurmus <[email protected]> ;;; Copyright © 2016 Efraim Flashner <[email protected]> ;;; ;;; This file is part of GNU Guix. @@ -28,11 +28,13 @@ #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (guix build-system glib-or-gtk) + #:use-module (guix build-system python) #:use-module (gnu packages gnupg) #:use-module (gnu packages gtk) #:use-module (gnu packages linux) #:use-module (gnu packages mp3) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) #:use-module (gnu packages xiph)) (define-public libusb @@ -87,6 +89,49 @@ devices on various operating systems.") version of libusb to run with newer libusb.") (license lgpl2.1+))) +(define-public python-pyusb + (package + (name "python-pyusb") + (version "1.0.0rc1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pyusb" version)) + (sha256 + (base32 + "07cjq11qhngzjd746k7688s6y2x7lpj669fxqfsiy985rg0jsn7j")))) + (build-system python-build-system) + (arguments + `(#:tests? #f ;no tests + #:modules ((srfi srfi-26) + (guix build utils) + (guix build python-build-system)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-libusb-reference + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "usb/libloader.py" + (("lib = locate_library\\(candidates, find_library\\)") + (string-append + "lib = \"" + (car (find-files (assoc-ref inputs "libusb") + (lambda (file stat) + (and ((file-name-predicate + "^libusb-.*\\.so\\..*") file stat) + (not (symbolic-link? file)))))) + "\""))) + #t))))) + (inputs + `(("libusb" ,libusb))) + (home-page "http://walac.github.io/pyusb/") + (synopsis "Python bindings to the libusb library") + (description + "PyUSB aims to be an easy to use Python module to access USB devices.") + (license bsd-3))) + +(define-public python2-pyusb + (package-with-python2 python-pyusb)) + (define-public libmtp (package (name "libmtp") -- 2.7.3
