diff mbox series

[bug#54355] gnu: Add ckb-next.

Message ID wrFYXnB5UnQ8qUIuTb_c4U6JOgQkqNX_7g9TjNaxpiIuEIiOn4ADGq2WlfCGAWNhT3qFo7mrhUZaiKYlL2MAhII-yBMqve7F5t78We_5qGY=@protonmail.com
State Accepted
Headers show
Series [bug#54355] gnu: Add ckb-next. | expand

Checks

Context Check Description
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue

Commit Message

Formbi March 12, 2022, 8:14 p.m. UTC
=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(+)

--
2.35.1

Comments

Ludovic Courtès March 18, 2022, 2:38 p.m. UTC | #1
Hi,

Formbi <formbi@protonmail.com> skribis:

>>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


[...]

> +(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:

  https://guix.gnu.org/manual/devel/en/html_node/Submitting-Patches.html

[...]

> +      (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.")

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’.
diff mbox series

Patch

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")