From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: Re: [PATCH] Add pyusb. Date: Wed, 30 Mar 2016 08:47:44 +0200 Message-ID: <87h9foo41b.fsf@elephly.net> References: <87r3etoj7j.fsf@elephly.net> <20160329212748.7741d2be@openmailbox.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:36962) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1al9uz-0000i8-Mu for guix-devel@gnu.org; Wed, 30 Mar 2016 02:47:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1al9uw-0005sQ-F1 for guix-devel@gnu.org; Wed, 30 Mar 2016 02:47:53 -0400 Received: from sender163-mail.zoho.com ([74.201.84.163]:24640) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1al9uw-0005sH-5Q for guix-devel@gnu.org; Wed, 30 Mar 2016 02:47:50 -0400 In-reply-to: <20160329212748.7741d2be@openmailbox.org> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Eric Bavier Cc: guix-devel --=-=-= Content-Type: text/plain Eric Bavier writes: > On Tue, 29 Mar 2016 09:07:44 +0200 > Ricardo Wurmus wrote: > >> From a5a632c0f11d650a8e3bcae64ea8680aa90d3cf6 Mon Sep 17 00:00:00 2001 >> From: Ricardo Wurmus >> 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 --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: inline; filename=0001-gnu-Add-python-pyusb.patch Content-Transfer-Encoding: 8bit >From 2f190da0d812501a4ab3db94a99ac8f7c6698cbc Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus 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 ;;; Copyright © 2015 Andreas Enge ;;; Copyright © 2015 Andy Wingo -;;; Copyright © 2015 Ricardo Wurmus +;;; Copyright © 2015, 2016 Ricardo Wurmus ;;; Copyright © 2016 Efraim Flashner ;;; ;;; 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 --=-=-=--