diff mbox series

[bug#70267] gnu: Add brillo.

Message ID bc1fb43e3334228b88d234ccede507ce70a6887a.1712525619.git.goodoldpaul@autistici.org
State New
Headers show
Series [bug#70267] gnu: Add brillo. | expand

Commit Message

Giacomo Leidi April 7, 2024, 9:33 p.m. UTC
* gnu/packages/hardware.scm (brillo): New variable.

Change-Id: Ic66118b9b792b0bc81bbeffb72236953da0f0772
---
 gnu/packages/hardware.scm | 61 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)


base-commit: 69951a61a1d8f1f2135ea2dc836738be282b97bc

Comments

Daniel Ziltener April 15, 2024, 10:15 p.m. UTC | #1
user guix
usertag 70267 + reviewed-looks-good
thanks

Guix QA review form submission:


Items marked as checked: Lint warnings, Package builds, Commit messages, 
New package licenses, New package tests, New package synopsis and 
descriptions
Christopher Baines April 16, 2024, 10:14 p.m. UTC | #2
Giacomo Leidi via Guix-patches via <guix-patches@gnu.org> writes:

> * gnu/packages/hardware.scm (brillo): New variable.
>
> Change-Id: Ic66118b9b792b0bc81bbeffb72236953da0f0772
> ---
>  gnu/packages/hardware.scm | 61 +++++++++++++++++++++++++++++++++++++++
>  1 file changed, 61 insertions(+)

Thanks both, I tweaked the description to add more details and make it
not just a direct copy of the upstream README. I also specified the
supported systems since I guess there's no point building this for the
hurd.

I've pushed it to master as e5e8b4e52d2402225c89421d12bbaf96e3c5c8fd.

Chris
diff mbox series

Patch

diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm
index 72b6decd81..0d559ca714 100644
--- a/gnu/packages/hardware.scm
+++ b/gnu/packages/hardware.scm
@@ -17,6 +17,7 @@ 
 ;;; Copyright © 2022 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2023 Spencer Skylar Chan <schan12@umd.edu>
 ;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
+;;; Copyright © 2024 Giacomo Leidi <goodoldpaul@autistici.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -60,6 +61,7 @@  (define-module (gnu packages hardware)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages golang)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages guile)
   #:use-module (gnu packages haskell-xyz)
@@ -141,6 +143,65 @@  (define-public envytools
 sets, and tools to deal with register databases.")
       (license license:expat))))
 
+(define-public brillo
+  (package
+    (name "brillo")
+    (version "1.4.12")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://gitlab.com/cameronnemo/brillo")
+                    (commit (string-append "v" version))))
+              (sha256
+               (base32
+                "16n4j45mfhd1zxwbpl8342vyqf8rj3plhcl90xp02m46hn58v8bl"))
+              (file-name (git-file-name name version))))
+    (build-system gnu-build-system)
+    (arguments
+     (list
+      #:make-flags #~(list (string-append "CC="
+                                          #$(cc-for-target))
+                           (string-append "AADIR=" #$output "/etc/apparmor.d")
+                           (string-append "PREFIX=" #$output))
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'patch-udev-rules
+            (lambda _
+              (substitute* "contrib/udev.in"
+                (("/bin/chgrp")
+                 (string-append #$coreutils
+                                "/bin/chgrp"))
+                (("/bin/chmod")
+                 (string-append #$coreutils
+                                "/bin/chmod")))))
+          (delete 'configure)
+          ;; Tests must be run on real hardware.
+          (delete 'check)
+          (add-after 'install 'install-udev-polkit
+            (lambda* (#:key make-flags #:allow-other-keys)
+              (map (lambda (target)
+                     (apply invoke "make" target make-flags))
+                   '("install.udev" "install.polkit")))))))
+    (native-inputs (list go-github-com-go-md2man))
+    (home-page "https://gitlab.com/cameronnemo/brillo")
+    (synopsis "Controls the brightness of backlight and LED devices on Linux")
+    (description
+     "Brillo can control the brightness of backlight and LED devices on Linux.
+
+Notable features include:
+
+@itemize
+
+@item Automatic best controller detection
+@item Smooth transitions and natural brightness adjustments
+@item Ability to save and restore brightness across boots
+@item Directly using sysfs to set brightness without relying on X
+@item Unprivileged access with no new setuid binaries
+@item Containment with AppArmor
+
+@end itemize")
+    (license (list license:bsd-0 license:gpl3+))))
+
 (define-public hw-probe
   (package
     (name "hw-probe")