[PATCH] gnu: Add ckb-next.

DoneSubmitted by Formbi.
Details
2 participants
  • Formbi
  • Ludovic Courtès
Owner
unassigned
Severity
normal
F
F
Formbi wrote on 12 Mar 21:14 +0100
(name . Formbi via Guix-patches)(address . guix-patches@gnu.org)
wrFYXnB5UnQ8qUIuTb_c4U6JOgQkqNX_7g9TjNaxpiIuEIiOn4ADGq2WlfCGAWNhT3qFo7mrhUZaiKYlL2MAhII-yBMqve7F5t78We_5qGY=@protonmail.com
=This patch adds ckb-next, a free app for controlling some Corsair devices.

From 1e9e6403f28ebaccac9bd6f0f7d3bd744516aed1 Mon Sep 17 00:00:00 2001
From: Formbi <formbi@protonmail.com>
Date: Sat, 12 Mar 2022 20:09:26 +0100
Subject: [PATCH] gnu: add ckb-next

* gnu/packages/hardware.scm (ckb-next): add ckb-next
---
gnu/packages/hardware.scm | 64 +++++++++++++++++++++++++++++++++++++++
1 file changed, 64 insertions(+)

Toggle diff (97 lines)
diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm
index 0a2a7dbb7..e43c18c1a 100644
--- a/gnu/packages/hardware.scm
+++ b/gnu/packages/hardware.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2022 Marcel Kupiec <formbi@protonmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -17,15 +18,20 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

 (define-module (gnu packages hardware)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages lxqt)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages pulseaudio)
+  #:use-module (gnu packages qt)
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xorg)
+  #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (guix download)
   #:use-module (guix git-download)
@@ -35,6 +41,64 @@
 ;; This is a module for packages related to physical hardware that don't (yet)
 ;; have a more specific home like gps.scm, security-token.scm, &c.

+(define-public ckb-next
+  (let ((commit "967f44018a9d46efa7203fad38518e9381eba0f3")
+    (revision "0"))
+    (package
+      (name "ckb-next")
+      (version (git-version "0.4.4" revision commit))
+      (source
+       (origin
+     (method git-fetch)
+     (uri (git-reference
+               (url "https://github.com/ckb-next/ckb-next")
+               (commit commit)))
+     (sha256
+          (base32 "0bfpah0zgmyhbi6payymr3p98nfnwqr2xqxgkyzvccz72z246316"))
+     (file-name (git-file-name name version))))
+      (build-system cmake-build-system)
+      (arguments
+       `(#:modules ((guix build cmake-build-system)
+                    (guix build qt-utils)
+                    (guix build utils))
+           #:imported-modules (,@%cmake-build-system-modules
+                       (guix build qt-utils))
+           #:tests? #f
+           #:phases
+           (modify-phases %standard-phases
+             (add-before 'build 'patch-lib-udev
+               (lambda* (#:key inputs outputs #:allow-other-keys)
+             (substitute*
+                 "src/daemon/cmake_install.cmake"
+               (("/lib/udev")
+                (string-append (assoc-ref outputs "out")
+                       "/lib/udev")))))
+             (add-after 'install 'wrap-qt
+               (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (wrap-qt-program "ckb-next" #:output out #:inputs inputs)))))))
+      (native-inputs
+       (list qttools pkg-config))
+      (inputs
+       (list qtbase-5
+         zlib
+         libdbusmenu-qt
+         quazip
+         pulseaudio
+         libxcb
+         xcb-util-wm
+         qtx11extras
+         eudev
+         bash-minimal))
+      (home-page "https://github.com/ckb-next/ckb-next")
+      (synopsis "Open-source driver for Corsair keyboards and mice")
+      (description "ckb-next is an open-source driver for Corsair keyboards and
+mice.  It aims to bring the features of Corsair's proprietary CUE software to
+Linux operating systems.  This project is currently a work in progress, but it
+already supports much of the same functionality, including full RGB animations.
+More features are coming soon.")
+      (license license:gpl2))))
+
 (define-public ddcutil
   (package
     (name "ddcutil")
--
2.35.1
L
L
Ludovic Courtès wrote on 18 Mar 15:38 +0100
(name . Formbi)(address . formbi@protonmail.com)(address . 54355-done@debbugs.gnu.org)
87wngrpbpd.fsf@gnu.org
Hi,

Formbi <formbi@protonmail.com> skribis:

Toggle quote (8 lines)
>>From 1e9e6403f28ebaccac9bd6f0f7d3bd744516aed1 Mon Sep 17 00:00:00 2001
> From: Formbi <formbi@protonmail.com>
> Date: Sat, 12 Mar 2022 20:09:26 +0100
> Subject: [PATCH] gnu: add ckb-next
>
> * gnu/packages/hardware.scm (ckb-next): add ckb-next


[...]

Toggle quote (10 lines)
> +(define-public ckb-next
> + (let ((commit "967f44018a9d46efa7203fad38518e9381eba0f3")
> + (revision "0"))
> + (package
> + (name "ckb-next")
> + (version (git-version "0.4.4" revision commit))
> + (source
> + (origin
> + (method git-fetch)

I passed it through ‘guix style’ to get conventional formatting:


[...]

Toggle quote (8 lines)
> + (synopsis "Open-source driver for Corsair keyboards and mice")
> + (description "ckb-next is an open-source driver for Corsair keyboards and
> +mice. It aims to bring the features of Corsair's proprietary CUE software to
> +Linux operating systems. This project is currently a work in progress, but it
> +already supports much of the same functionality, including full RGB animations.
> +More features are coming soon.")

I tweaked that a bit, removing “open source” (everything is free
software in Guix, no need to mention it) and the reference to “CUE”, as
per the Free System Distribution Guideline (FSDG).

Thanks!

Ludo’.
Closed
?
Your comment

This issue is archived.

To comment on this conversation send email to 54355@debbugs.gnu.org