* [bug#65911] [PATCH 0/4] gnu: Add liquidctl. @ 2023-09-13 9:53 Jean-Pierre De Jesus DIAZ via Guix-patches via 2023-09-13 9:55 ` [bug#65911] [PATCH 1/4] gnu: Add python-smbus Jean-Pierre De Jesus DIAZ via Guix-patches via 2023-09-20 10:05 ` [bug#65911] [PATCH v1 " Jean-Pierre De Jesus DIAZ via Guix-patches via 0 siblings, 2 replies; 12+ messages in thread From: Jean-Pierre De Jesus DIAZ via Guix-patches via @ 2023-09-13 9:53 UTC (permalink / raw) To: 65911; +Cc: Jean-Pierre De Jesus DIAZ This patch series adds the liquidctl package, a tool to manage liquid cooling hardware. Adds the python-smbus dependency and also adds libusb-compat as a back-end for python-pyusb while enabling tests and fixing a bug when libusb initialization results in an error as it would try to use the libusb library for the openusb back-end which would result in symbol errors. Jean-Pierre De Jesus DIAZ (4): gnu: Add python-smbus. gnu: python-pyusb: Use G-Expressions. gnu: python-pyusb: Add libusb-compat backend. gnu: Add liquidctl. gnu/packages/hardware.scm | 39 +++++++++++++++++++++++ gnu/packages/libusb.scm | 67 +++++++++++++++++++++++++++------------ gnu/packages/linux.scm | 24 ++++++++++++++ 3 files changed, 110 insertions(+), 20 deletions(-) base-commit: d4645d5d25c9de0def9745c48a96504e500ec850 -- 2.34.1 ^ permalink raw reply [flat|nested] 12+ messages in thread
* [bug#65911] [PATCH 1/4] gnu: Add python-smbus. 2023-09-13 9:53 [bug#65911] [PATCH 0/4] gnu: Add liquidctl Jean-Pierre De Jesus DIAZ via Guix-patches via @ 2023-09-13 9:55 ` Jean-Pierre De Jesus DIAZ via Guix-patches via 2023-09-13 9:55 ` [bug#65911] [PATCH 2/4] gnu: python-pyusb: Use G-Expressions Jean-Pierre De Jesus DIAZ via Guix-patches via ` (3 more replies) 2023-09-20 10:05 ` [bug#65911] [PATCH v1 " Jean-Pierre De Jesus DIAZ via Guix-patches via 1 sibling, 4 replies; 12+ messages in thread From: Jean-Pierre De Jesus DIAZ via Guix-patches via @ 2023-09-13 9:55 UTC (permalink / raw) To: 65911; +Cc: Jean-Pierre De Jesus DIAZ * gnu/packages/linux.scm (python-smbus): New variable. Signed-off-by: Jean-Pierre De Jesus DIAZ <jean@foundationdevices.com> --- gnu/packages/linux.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 36354b4d82..e57ab866c6 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -75,6 +75,7 @@ ;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream> ;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2023 dan <i@dan.games> +;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -188,6 +189,7 @@ (define-module (gnu packages linux) #:use-module (guix build-system gnu) #:use-module (guix build-system go) #:use-module (guix build-system meson) + #:use-module (guix build-system pyproject) #:use-module (guix build-system python) #:use-module (guix build-system trivial) #:use-module (guix build-system linux-module) @@ -4921,6 +4923,28 @@ (define-public i2c-tools-3 #~(list (string-append "prefix=" #$output) (string-append "CC=" #$(cc-for-target)))))))) +(define-public python-smbus + (package + (inherit i2c-tools) + (name "python-smbus") + (build-system pyproject-build-system) + (arguments + (list #:tests? #f ;; No test suite. + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'change-directory + (lambda _ (chdir "py-smbus"))) + (add-after 'change-directory 'set-library-path + (lambda _ + (substitute* "setup.py" + (("-L\\.\\./lib") + (string-append "-L" #$i2c-tools "/lib")))))))) + (inputs (list i2c-tools)) + (synopsis "I2C/SMBus access for Python") + (description "This package provides a Python library to access +@acronym{I2C, Inter-Integrated Circuit} and @acronym{SMBus, System +Management Bus} devices on Linux."))) + (define-public xsensors (package (name "xsensors") -- 2.34.1 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [bug#65911] [PATCH 2/4] gnu: python-pyusb: Use G-Expressions. 2023-09-13 9:55 ` [bug#65911] [PATCH 1/4] gnu: Add python-smbus Jean-Pierre De Jesus DIAZ via Guix-patches via @ 2023-09-13 9:55 ` Jean-Pierre De Jesus DIAZ via Guix-patches via 2023-09-13 9:55 ` [bug#65911] [PATCH 3/4] gnu: python-pyusb: Add libusb-compat backend Jean-Pierre De Jesus DIAZ via Guix-patches via ` (2 subsequent siblings) 3 siblings, 0 replies; 12+ messages in thread From: Jean-Pierre De Jesus DIAZ via Guix-patches via @ 2023-09-13 9:55 UTC (permalink / raw) To: 65911; +Cc: Jean-Pierre De Jesus DIAZ * gnu/packages/usb.scm (python-pyusb) <arguments>: Use G-Expressions style instead of quoting. Signed-off-by: Jean-Pierre De Jesus DIAZ <jean@foundationdevices.com> --- gnu/packages/libusb.scm | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm index e615b81ea3..469882e871 100644 --- a/gnu/packages/libusb.scm +++ b/gnu/packages/libusb.scm @@ -288,24 +288,23 @@ (define-public python-pyusb "1fg7knfzybzija2b01pzrzhzsj989scl12sb2ra4f503l8279k54")))) (build-system python-build-system) (arguments - `(#:tests? #f ; no tests - #:modules ((srfi srfi-1) - (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 = \"" - (find (negate symbolic-link?) - (find-files (assoc-ref inputs "libusb") - "^libusb-.*\\.so\\..*")) - "\""))) - #t))))) + (list #:tests? #f ; no tests + #:modules '((srfi srfi-1) + (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 = \"" + (find (negate symbolic-link?) + (find-files (assoc-ref inputs "libusb") + "^libusb-.*\\.so\\..*")) + "\"")))))))) (native-inputs (list python-setuptools-scm)) -- 2.34.1 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [bug#65911] [PATCH 3/4] gnu: python-pyusb: Add libusb-compat backend. 2023-09-13 9:55 ` [bug#65911] [PATCH 1/4] gnu: Add python-smbus Jean-Pierre De Jesus DIAZ via Guix-patches via 2023-09-13 9:55 ` [bug#65911] [PATCH 2/4] gnu: python-pyusb: Use G-Expressions Jean-Pierre De Jesus DIAZ via Guix-patches via @ 2023-09-13 9:55 ` Jean-Pierre De Jesus DIAZ via Guix-patches via 2023-09-13 9:55 ` [bug#65911] [PATCH 4/4] gnu: Add liquidctl Jean-Pierre De Jesus DIAZ via Guix-patches via 2023-09-13 11:01 ` [bug#65911] [PATCH 1/4] gnu: Add python-smbus Bruno Victal 3 siblings, 0 replies; 12+ messages in thread From: Jean-Pierre De Jesus DIAZ via Guix-patches via @ 2023-09-13 9:55 UTC (permalink / raw) To: 65911; +Cc: Jean-Pierre De Jesus DIAZ * gnu/packages/libusb.scm (python-pyusb) <arguments>: Do not hard-code libusb1 library for all back-ends, and allow to use libusb0 as a back-end. Also enabled tests as the package does have a test suite. * gnu/packages/libusb.scm (python-pyusb) <inputs>: Add libusb-compat. Signed-off-by: Jean-Pierre De Jesus DIAZ <jean@foundationdevices.com> --- gnu/packages/libusb.scm | 52 +++++++++++++++++++++++++++++++---------- 1 file changed, 40 insertions(+), 12 deletions(-) diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm index 469882e871..d15e561668 100644 --- a/gnu/packages/libusb.scm +++ b/gnu/packages/libusb.scm @@ -288,28 +288,56 @@ (define-public python-pyusb "1fg7knfzybzija2b01pzrzhzsj989scl12sb2ra4f503l8279k54")))) (build-system python-build-system) (arguments - (list #:tests? #f ; no tests - #:modules '((srfi srfi-1) + (list #:modules '((srfi srfi-1) (srfi srfi-26) (guix build utils) (guix build python-build-system)) #:phases #~(modify-phases %standard-phases + ;; Repurpose the candidates parameter to be the path to the + ;; library, then on each backend we substitute the candidates + ;; with the full path to the .so library or with None if not + ;; supported. + ;; + ;; While most applications could use a single back-end this + ;; library allows to manually select the back-end so it is + ;; appropriate to provide as much back-ends as possible. (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 = \"" - (find (negate symbolic-link?) - (find-files (assoc-ref inputs "libusb") - "^libusb-.*\\.so\\..*")) - "\"")))))))) - + (let ((libusb0 (find + (negate symbolic-link?) + (find-files (assoc-ref inputs "libusb-compat") + "^libusb-.*\\.so\\..*"))) + (libusb1 (find + (negate symbolic-link?) + (find-files (assoc-ref inputs "libusb") + "^libusb-.*\\.so\\..*")))) + (substitute* "usb/libloader.py" + (("lib = locate_library\\(candidates, find_library\\)") + "lib = candidates")) + (substitute* "usb/backend/libusb0.py" + (("\\('usb-0\\.1', 'usb', 'libusb0'\\)") + (format #f "~s" libusb0))) + (substitute* "usb/backend/libusb1.py" + (("\\('usb-1\\.0', 'libusb-1\\.0', 'usb'\\)") + (format #f "~s" libusb1))) + ;; FIXME: OpenUSB is not packaged for GNU Guix. + (substitute* "usb/backend/openusb.py" + (("\\('openusb',\\)") "None"))))) + ;; Note: tests seems to succeed with libusb-compat as libusb + ;; fails because it doesn't have a usbfs present in the build + ;; environment. + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (with-directory-excursion "tests" + (setenv "PYUSB_DEBUG" "debug") + (setenv "LIBUSB_DEBUG" "4") + (invoke "python" "testall.py")))))))) (native-inputs (list python-setuptools-scm)) (inputs - (list libusb)) + (list libusb libusb-compat)) (home-page "https://pyusb.github.io/pyusb/") (synopsis "Python bindings to the libusb library") (description -- 2.34.1 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [bug#65911] [PATCH 4/4] gnu: Add liquidctl. 2023-09-13 9:55 ` [bug#65911] [PATCH 1/4] gnu: Add python-smbus Jean-Pierre De Jesus DIAZ via Guix-patches via 2023-09-13 9:55 ` [bug#65911] [PATCH 2/4] gnu: python-pyusb: Use G-Expressions Jean-Pierre De Jesus DIAZ via Guix-patches via 2023-09-13 9:55 ` [bug#65911] [PATCH 3/4] gnu: python-pyusb: Add libusb-compat backend Jean-Pierre De Jesus DIAZ via Guix-patches via @ 2023-09-13 9:55 ` Jean-Pierre De Jesus DIAZ via Guix-patches via 2023-09-13 11:01 ` [bug#65911] [PATCH 1/4] gnu: Add python-smbus Bruno Victal 3 siblings, 0 replies; 12+ messages in thread From: Jean-Pierre De Jesus DIAZ via Guix-patches via @ 2023-09-13 9:55 UTC (permalink / raw) To: 65911; +Cc: Jean-Pierre De Jesus DIAZ * gnu/packages/hardware.scm (liquidctl): New variable. Signed-off-by: Jean-Pierre De Jesus DIAZ <jean@foundationdevices.com> --- gnu/packages/hardware.scm | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm index 5188bb2910..3d8fa833a2 100644 --- a/gnu/packages/hardware.scm +++ b/gnu/packages/hardware.scm @@ -16,6 +16,7 @@ ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2022 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2023 Spencer Skylar Chan <schan12@umd.edu> +;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -80,6 +81,7 @@ (define-module (gnu packages hardware) #:use-module (gnu packages protobuf) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) + #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) @@ -99,6 +101,7 @@ (define-module (gnu packages hardware) #:use-module (guix build-system gnu) #:use-module (guix build-system meson) #:use-module (guix build-system perl) + #:use-module (guix build-system pyproject) #:use-module (guix build-system python) #:use-module (guix download) #:use-module (guix gexp) @@ -798,6 +801,42 @@ (define-public libsmbios (license (list license:osl2.1 license:gpl2+ license:bsd-3 license:boost1.0)))) +(define-public liquidctl + (package + (name "liquidctl") + (version "1.13.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/liquidctl/liquidctl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0hpxkrfxm9c4v5ld7bh6qs9fmq9imz8s5i9l0l78l47bcm12nkrd")))) + (build-system pyproject-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-before 'check 'set-runtime-dir + (lambda _ + (setenv "XDG_RUNTIME_DIR" "/tmp")))))) + (native-inputs (list python-pytest)) + (propagated-inputs + (list python-colorlog + python-crcmod + python-docopt + python-hidapi + python-pillow + python-pyusb + python-smbus)) + (home-page "https://github.com/liquidctl/liquidctl") + (synopsis "Drivers and tools for liquid cooling equipment") + (description "Liquidctl is a package with tools, drivers and a Python +library to work with liquid cooling equipment such as @acronym{AIO, All-In-One} +coolers, fan controllers and other devices.") + (license license:gpl3+))) + ;; Distinct from memtest86, which is obsolete. (define-public memtest86+ (package -- 2.34.1 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [bug#65911] [PATCH 1/4] gnu: Add python-smbus. 2023-09-13 9:55 ` [bug#65911] [PATCH 1/4] gnu: Add python-smbus Jean-Pierre De Jesus DIAZ via Guix-patches via ` (2 preceding siblings ...) 2023-09-13 9:55 ` [bug#65911] [PATCH 4/4] gnu: Add liquidctl Jean-Pierre De Jesus DIAZ via Guix-patches via @ 2023-09-13 11:01 ` Bruno Victal 2023-09-20 10:07 ` Jean-Pierre De Jesus Diaz via Guix-patches via 3 siblings, 1 reply; 12+ messages in thread From: Bruno Victal @ 2023-09-13 11:01 UTC (permalink / raw) To: Jean-Pierre De Jesus DIAZ; +Cc: 65911 Hi Jean-Pierre, On 2023-09-13 10:55, Jean-Pierre De Jesus DIAZ via Guix-patches via wrote: > + (add-after 'change-directory 'set-library-path > + (lambda _ > + (substitute* "setup.py" > + (("-L\\.\\./lib") > + (string-append "-L" #$i2c-tools "/lib")))))))) Rather than #$i2c-tools do #$(this-package-input "i2c-tools" -- Furthermore, I consider that nonfree software must be eradicated. Cheers, Bruno. ^ permalink raw reply [flat|nested] 12+ messages in thread
* [bug#65911] [PATCH 1/4] gnu: Add python-smbus. 2023-09-13 11:01 ` [bug#65911] [PATCH 1/4] gnu: Add python-smbus Bruno Victal @ 2023-09-20 10:07 ` Jean-Pierre De Jesus Diaz via Guix-patches via 0 siblings, 0 replies; 12+ messages in thread From: Jean-Pierre De Jesus Diaz via Guix-patches via @ 2023-09-20 10:07 UTC (permalink / raw) To: Bruno Victal; +Cc: 65911 Hi Bruno, >Rather than > #$i2c-tools >do > #$(this-package-input "i2c-tools" Sent updated patches fixing this issue. Thanks for pointing it out. Cheers, On Wed, Sep 13, 2023 at 1:01 PM Bruno Victal <mirai@makinata.eu> wrote: > > Hi Jean-Pierre, > > On 2023-09-13 10:55, Jean-Pierre De Jesus DIAZ via Guix-patches via wrote: > > + (add-after 'change-directory 'set-library-path > > + (lambda _ > > + (substitute* "setup.py" > > + (("-L\\.\\./lib") > > + (string-append "-L" #$i2c-tools "/lib")))))))) > > Rather than > #$i2c-tools > do > #$(this-package-input "i2c-tools" > > -- > Furthermore, I consider that nonfree software must be eradicated. > > Cheers, > Bruno. > -- — Jean-Pierre De Jesus DIAZ Software Engineer Foundation Devices ^ permalink raw reply [flat|nested] 12+ messages in thread
* [bug#65911] [PATCH v1 1/4] gnu: Add python-smbus. 2023-09-13 9:53 [bug#65911] [PATCH 0/4] gnu: Add liquidctl Jean-Pierre De Jesus DIAZ via Guix-patches via 2023-09-13 9:55 ` [bug#65911] [PATCH 1/4] gnu: Add python-smbus Jean-Pierre De Jesus DIAZ via Guix-patches via @ 2023-09-20 10:05 ` Jean-Pierre De Jesus DIAZ via Guix-patches via 2023-09-20 10:05 ` [bug#65911] [PATCH v1 2/4] gnu: python-pyusb: Use G-Expressions Jean-Pierre De Jesus DIAZ via Guix-patches via ` (2 more replies) 1 sibling, 3 replies; 12+ messages in thread From: Jean-Pierre De Jesus DIAZ via Guix-patches via @ 2023-09-20 10:05 UTC (permalink / raw) To: 65911; +Cc: Jean-Pierre De Jesus DIAZ * gnu/packages/linux.scm (python-smbus): New variable. Signed-off-by: Jean-Pierre De Jesus DIAZ <jean@foundationdevices.com> --- gnu/packages/linux.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 85e3d9845d..6eb7fb43b8 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -75,6 +75,7 @@ ;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream> ;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2023 dan <i@dan.games> +;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -188,6 +189,7 @@ (define-module (gnu packages linux) #:use-module (guix build-system gnu) #:use-module (guix build-system go) #:use-module (guix build-system meson) + #:use-module (guix build-system pyproject) #:use-module (guix build-system python) #:use-module (guix build-system trivial) #:use-module (guix build-system linux-module) @@ -4963,6 +4965,29 @@ (define-public i2c-tools-3 #~(list (string-append "prefix=" #$output) (string-append "CC=" #$(cc-for-target)))))))) +(define-public python-smbus + (package + (inherit i2c-tools) + (name "python-smbus") + (build-system pyproject-build-system) + (arguments + (list #:tests? #f ;; No test suite. + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'change-directory + (lambda _ (chdir "py-smbus"))) + (add-after 'change-directory 'set-library-path + (lambda _ + (substitute* "setup.py" + (("-L\\.\\./lib") + (string-append "-L" #$(this-package-input "i2c-tools") + "/lib")))))))) + (inputs (list i2c-tools)) + (synopsis "I2C/SMBus access for Python") + (description "This package provides a Python library to access +@acronym{I2C, Inter-Integrated Circuit} and @acronym{SMBus, System +Management Bus} devices on Linux."))) + (define-public xsensors (package (name "xsensors") base-commit: 6bd17a0806ad32d1493ac51a7443276f719c4224 -- 2.34.1 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [bug#65911] [PATCH v1 2/4] gnu: python-pyusb: Use G-Expressions. 2023-09-20 10:05 ` [bug#65911] [PATCH v1 " Jean-Pierre De Jesus DIAZ via Guix-patches via @ 2023-09-20 10:05 ` Jean-Pierre De Jesus DIAZ via Guix-patches via 2023-09-20 10:05 ` [bug#65911] [PATCH v1 3/4] gnu: python-pyusb: Add libusb-compat backend Jean-Pierre De Jesus DIAZ via Guix-patches via 2023-09-20 10:05 ` [bug#65911] [PATCH v1 4/4] gnu: Add liquidctl Jean-Pierre De Jesus DIAZ via Guix-patches via 2 siblings, 0 replies; 12+ messages in thread From: Jean-Pierre De Jesus DIAZ via Guix-patches via @ 2023-09-20 10:05 UTC (permalink / raw) To: 65911; +Cc: Jean-Pierre De Jesus DIAZ * gnu/packages/usb.scm (python-pyusb) <arguments>: Use G-Expressions style instead of quoting. Signed-off-by: Jean-Pierre De Jesus DIAZ <jean@foundationdevices.com> --- gnu/packages/libusb.scm | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm index e615b81ea3..469882e871 100644 --- a/gnu/packages/libusb.scm +++ b/gnu/packages/libusb.scm @@ -288,24 +288,23 @@ (define-public python-pyusb "1fg7knfzybzija2b01pzrzhzsj989scl12sb2ra4f503l8279k54")))) (build-system python-build-system) (arguments - `(#:tests? #f ; no tests - #:modules ((srfi srfi-1) - (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 = \"" - (find (negate symbolic-link?) - (find-files (assoc-ref inputs "libusb") - "^libusb-.*\\.so\\..*")) - "\""))) - #t))))) + (list #:tests? #f ; no tests + #:modules '((srfi srfi-1) + (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 = \"" + (find (negate symbolic-link?) + (find-files (assoc-ref inputs "libusb") + "^libusb-.*\\.so\\..*")) + "\"")))))))) (native-inputs (list python-setuptools-scm)) -- 2.34.1 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [bug#65911] [PATCH v1 3/4] gnu: python-pyusb: Add libusb-compat backend. 2023-09-20 10:05 ` [bug#65911] [PATCH v1 " Jean-Pierre De Jesus DIAZ via Guix-patches via 2023-09-20 10:05 ` [bug#65911] [PATCH v1 2/4] gnu: python-pyusb: Use G-Expressions Jean-Pierre De Jesus DIAZ via Guix-patches via @ 2023-09-20 10:05 ` Jean-Pierre De Jesus DIAZ via Guix-patches via 2023-09-20 10:05 ` [bug#65911] [PATCH v1 4/4] gnu: Add liquidctl Jean-Pierre De Jesus DIAZ via Guix-patches via 2 siblings, 0 replies; 12+ messages in thread From: Jean-Pierre De Jesus DIAZ via Guix-patches via @ 2023-09-20 10:05 UTC (permalink / raw) To: 65911; +Cc: Jean-Pierre De Jesus DIAZ * gnu/packages/libusb.scm (python-pyusb) <arguments>: Do not hard-code libusb1 library for all back-ends, and allow to use libusb0 as a back-end. Also enabled tests as the package does have a test suite. * gnu/packages/libusb.scm (python-pyusb) <inputs>: Add libusb-compat. Signed-off-by: Jean-Pierre De Jesus DIAZ <jean@foundationdevices.com> --- gnu/packages/libusb.scm | 52 +++++++++++++++++++++++++++++++---------- 1 file changed, 40 insertions(+), 12 deletions(-) diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm index 469882e871..d15e561668 100644 --- a/gnu/packages/libusb.scm +++ b/gnu/packages/libusb.scm @@ -288,28 +288,56 @@ (define-public python-pyusb "1fg7knfzybzija2b01pzrzhzsj989scl12sb2ra4f503l8279k54")))) (build-system python-build-system) (arguments - (list #:tests? #f ; no tests - #:modules '((srfi srfi-1) + (list #:modules '((srfi srfi-1) (srfi srfi-26) (guix build utils) (guix build python-build-system)) #:phases #~(modify-phases %standard-phases + ;; Repurpose the candidates parameter to be the path to the + ;; library, then on each backend we substitute the candidates + ;; with the full path to the .so library or with None if not + ;; supported. + ;; + ;; While most applications could use a single back-end this + ;; library allows to manually select the back-end so it is + ;; appropriate to provide as much back-ends as possible. (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 = \"" - (find (negate symbolic-link?) - (find-files (assoc-ref inputs "libusb") - "^libusb-.*\\.so\\..*")) - "\"")))))))) - + (let ((libusb0 (find + (negate symbolic-link?) + (find-files (assoc-ref inputs "libusb-compat") + "^libusb-.*\\.so\\..*"))) + (libusb1 (find + (negate symbolic-link?) + (find-files (assoc-ref inputs "libusb") + "^libusb-.*\\.so\\..*")))) + (substitute* "usb/libloader.py" + (("lib = locate_library\\(candidates, find_library\\)") + "lib = candidates")) + (substitute* "usb/backend/libusb0.py" + (("\\('usb-0\\.1', 'usb', 'libusb0'\\)") + (format #f "~s" libusb0))) + (substitute* "usb/backend/libusb1.py" + (("\\('usb-1\\.0', 'libusb-1\\.0', 'usb'\\)") + (format #f "~s" libusb1))) + ;; FIXME: OpenUSB is not packaged for GNU Guix. + (substitute* "usb/backend/openusb.py" + (("\\('openusb',\\)") "None"))))) + ;; Note: tests seems to succeed with libusb-compat as libusb + ;; fails because it doesn't have a usbfs present in the build + ;; environment. + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (with-directory-excursion "tests" + (setenv "PYUSB_DEBUG" "debug") + (setenv "LIBUSB_DEBUG" "4") + (invoke "python" "testall.py")))))))) (native-inputs (list python-setuptools-scm)) (inputs - (list libusb)) + (list libusb libusb-compat)) (home-page "https://pyusb.github.io/pyusb/") (synopsis "Python bindings to the libusb library") (description -- 2.34.1 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [bug#65911] [PATCH v1 4/4] gnu: Add liquidctl. 2023-09-20 10:05 ` [bug#65911] [PATCH v1 " Jean-Pierre De Jesus DIAZ via Guix-patches via 2023-09-20 10:05 ` [bug#65911] [PATCH v1 2/4] gnu: python-pyusb: Use G-Expressions Jean-Pierre De Jesus DIAZ via Guix-patches via 2023-09-20 10:05 ` [bug#65911] [PATCH v1 3/4] gnu: python-pyusb: Add libusb-compat backend Jean-Pierre De Jesus DIAZ via Guix-patches via @ 2023-09-20 10:05 ` Jean-Pierre De Jesus DIAZ via Guix-patches via 2023-09-27 22:08 ` bug#65911: [PATCH 0/4] " Ludovic Courtès 2 siblings, 1 reply; 12+ messages in thread From: Jean-Pierre De Jesus DIAZ via Guix-patches via @ 2023-09-20 10:05 UTC (permalink / raw) To: 65911; +Cc: Jean-Pierre De Jesus DIAZ * gnu/packages/hardware.scm (liquidctl): New variable. Signed-off-by: Jean-Pierre De Jesus DIAZ <jean@foundationdevices.com> --- gnu/packages/hardware.scm | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm index 5188bb2910..3d8fa833a2 100644 --- a/gnu/packages/hardware.scm +++ b/gnu/packages/hardware.scm @@ -16,6 +16,7 @@ ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2022 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2023 Spencer Skylar Chan <schan12@umd.edu> +;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -80,6 +81,7 @@ (define-module (gnu packages hardware) #:use-module (gnu packages protobuf) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) + #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) @@ -99,6 +101,7 @@ (define-module (gnu packages hardware) #:use-module (guix build-system gnu) #:use-module (guix build-system meson) #:use-module (guix build-system perl) + #:use-module (guix build-system pyproject) #:use-module (guix build-system python) #:use-module (guix download) #:use-module (guix gexp) @@ -798,6 +801,42 @@ (define-public libsmbios (license (list license:osl2.1 license:gpl2+ license:bsd-3 license:boost1.0)))) +(define-public liquidctl + (package + (name "liquidctl") + (version "1.13.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/liquidctl/liquidctl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0hpxkrfxm9c4v5ld7bh6qs9fmq9imz8s5i9l0l78l47bcm12nkrd")))) + (build-system pyproject-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-before 'check 'set-runtime-dir + (lambda _ + (setenv "XDG_RUNTIME_DIR" "/tmp")))))) + (native-inputs (list python-pytest)) + (propagated-inputs + (list python-colorlog + python-crcmod + python-docopt + python-hidapi + python-pillow + python-pyusb + python-smbus)) + (home-page "https://github.com/liquidctl/liquidctl") + (synopsis "Drivers and tools for liquid cooling equipment") + (description "Liquidctl is a package with tools, drivers and a Python +library to work with liquid cooling equipment such as @acronym{AIO, All-In-One} +coolers, fan controllers and other devices.") + (license license:gpl3+))) + ;; Distinct from memtest86, which is obsolete. (define-public memtest86+ (package -- 2.34.1 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* bug#65911: [PATCH 0/4] gnu: Add liquidctl. 2023-09-20 10:05 ` [bug#65911] [PATCH v1 4/4] gnu: Add liquidctl Jean-Pierre De Jesus DIAZ via Guix-patches via @ 2023-09-27 22:08 ` Ludovic Courtès 0 siblings, 0 replies; 12+ messages in thread From: Ludovic Courtès @ 2023-09-27 22:08 UTC (permalink / raw) To: Jean-Pierre De Jesus DIAZ; +Cc: 65911-done Hi, Jean-Pierre De Jesus DIAZ <jean@foundationdevices.com> skribis: > * gnu/packages/hardware.scm (liquidctl): New variable. > > Signed-off-by: Jean-Pierre De Jesus DIAZ <jean@foundationdevices.com> Applied the whole series, thank you! Ludo’. PS: Please avoid ‘Signed-off-by’ in commit messages: we keep this tag for the person who commits on your behalf. ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2023-09-27 22:09 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-09-13 9:53 [bug#65911] [PATCH 0/4] gnu: Add liquidctl Jean-Pierre De Jesus DIAZ via Guix-patches via 2023-09-13 9:55 ` [bug#65911] [PATCH 1/4] gnu: Add python-smbus Jean-Pierre De Jesus DIAZ via Guix-patches via 2023-09-13 9:55 ` [bug#65911] [PATCH 2/4] gnu: python-pyusb: Use G-Expressions Jean-Pierre De Jesus DIAZ via Guix-patches via 2023-09-13 9:55 ` [bug#65911] [PATCH 3/4] gnu: python-pyusb: Add libusb-compat backend Jean-Pierre De Jesus DIAZ via Guix-patches via 2023-09-13 9:55 ` [bug#65911] [PATCH 4/4] gnu: Add liquidctl Jean-Pierre De Jesus DIAZ via Guix-patches via 2023-09-13 11:01 ` [bug#65911] [PATCH 1/4] gnu: Add python-smbus Bruno Victal 2023-09-20 10:07 ` Jean-Pierre De Jesus Diaz via Guix-patches via 2023-09-20 10:05 ` [bug#65911] [PATCH v1 " Jean-Pierre De Jesus DIAZ via Guix-patches via 2023-09-20 10:05 ` [bug#65911] [PATCH v1 2/4] gnu: python-pyusb: Use G-Expressions Jean-Pierre De Jesus DIAZ via Guix-patches via 2023-09-20 10:05 ` [bug#65911] [PATCH v1 3/4] gnu: python-pyusb: Add libusb-compat backend Jean-Pierre De Jesus DIAZ via Guix-patches via 2023-09-20 10:05 ` [bug#65911] [PATCH v1 4/4] gnu: Add liquidctl Jean-Pierre De Jesus DIAZ via Guix-patches via 2023-09-27 22:08 ` bug#65911: [PATCH 0/4] " Ludovic Courtès
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/guix.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.