* [bug#35678] [PATCH 2/3] gnu: Add acpi-call-linux-module.
2019-05-10 21:28 ` [bug#35677] [PATCH 1/3] gnu: Move Linux-Libre modules to their own section Tobias Geerinckx-Rice
@ 2019-05-10 21:28 ` Tobias Geerinckx-Rice
2019-05-10 21:28 ` [bug#35679] [PATCH 3/3] gnu: Add tpacpi-bat Tobias Geerinckx-Rice
2019-05-20 2:23 ` bug#35677: " Tobias Geerinckx-Rice
2 siblings, 0 replies; 4+ messages in thread
From: Tobias Geerinckx-Rice @ 2019-05-10 21:28 UTC (permalink / raw)
To: 35678
* gnu/packages/linux.scm (acpi-call-linux-module): New public variable.
---
Prolly contains typos; I'm sleepy.
gnu/packages/linux.scm | 47 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index a3a2615834..9689a89cc9 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -540,6 +540,53 @@ It has been modified to remove all non-free binary blobs.")
;;; Linux kernel modules.
;;;
+(define-public acpi-call-linux-module
+ (package
+ (name "acpi-call-linux-module")
+ (version "3.17")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/teleshoes/acpi_call.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "04mbv4lasm3vv1j4ndxhnz4hvp5wg8f5fc9q6qxv0nhvwjynmsl3"))))
+ (build-system linux-module-build-system)
+ (arguments
+ `(#:tests? #f ; no tests
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-for-linux-4.12
+ (lambda _
+ (substitute* "acpi_call.c"
+ (("asm/uaccess\\.h")
+ "linux/uaccess.h"))
+ #t))
+ (add-after 'install 'install-documentation
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (doc (string-append out "/share/doc/" ,name "-" ,version)))
+ (for-each (lambda (file)
+ (let ((target (string-append doc "/" file)))
+ (mkdir-p (dirname target))
+ (copy-recursively file target)))
+ (list "README.md" "examples"))
+ #t))))))
+ (home-page "https://github.com/teleshoes/acpi_call")
+ (synopsis "Linux kernel module to perform ACPI method calls")
+ (description
+ "This simple Linux kernel module allows calls from user space to any
+@acronym{ACPI, Advanced Configuration and Power Interface} method provided by
+your computer's firmware, by writing to @file{/proc/acpi/call}. You can pass
+any number of parameters of types @code{ACPI_INTEGER}, @code{ACPI_STRING},
+and @code{ACPI_BUFFER}.
+
+It grants direct and undocumented access to your hardware that may cause damage
+and should be used with caution, especially on untested models.")
+ (license license:gpl3+))) ; see README.md (no licence headers)
+
(define-public vhba-module
(package
(name "vhba-module")
--
2.21.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [bug#35679] [PATCH 3/3] gnu: Add tpacpi-bat.
2019-05-10 21:28 ` [bug#35677] [PATCH 1/3] gnu: Move Linux-Libre modules to their own section Tobias Geerinckx-Rice
2019-05-10 21:28 ` [bug#35678] [PATCH 2/3] gnu: Add acpi-call-linux-module Tobias Geerinckx-Rice
@ 2019-05-10 21:28 ` Tobias Geerinckx-Rice
2019-05-20 2:23 ` bug#35677: " Tobias Geerinckx-Rice
2 siblings, 0 replies; 4+ messages in thread
From: Tobias Geerinckx-Rice @ 2019-05-10 21:28 UTC (permalink / raw)
To: 35679
* gnu/packages/linux.scm (tpacpi-bat): New public variable.
---
Same.
gnu/packages/linux.scm | 62 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 62 insertions(+)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 9689a89cc9..080a8b228b 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -3748,6 +3748,68 @@ other @code{hwmon} driver that enables temperature reading and fan control
from userspace.")
(license license:gpl3+)))
+(define-public tpacpi-bat
+ (package
+ (name "tpacpi-bat")
+ (version "3.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/teleshoes/tpacpi-bat.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0wbaz34z99gqx721alh5vmpxpj2yxg3x9m8jqyivfi1wfpwc2nd5"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no test target
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'refer-to-inputs
+ (lambda _
+ (substitute* "tpacpi-bat"
+ (("cat ")
+ (format "~a " (which "cat")))
+ ;; tpacpi-bat modprobes the acpi_call kernel module if it's not
+ ;; loaded. That's the administrator's prerogative; disable it.
+ (("system \"(modprobe .*)\"" _ match)
+ (format "die \"Please run ‘~a’ first.\\n\"" match)))
+ #t))
+ (delete 'configure) ; nothing to configure
+ (delete 'build) ; nothing to build
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (doc (string-append out "/share/doc/" ,name "-" ,version)))
+ (install-file "tpacpi-bat" bin)
+
+ ;; There's no man page. Install other forms of documentation.
+ (for-each (lambda (file)
+ (let ((target (string-append doc "/" file)))
+ (mkdir-p (dirname target))
+ (copy-recursively file target)))
+ (list "battery_asl" "examples" "README.md"))
+ #t))))))
+ (inputs
+ `(("perl" ,perl)))
+ (home-page "https://github.com/teleshoes/tpacpi-bat")
+ (synopsis "ThinkPad battery charge controller")
+ (description
+ "Tpacpi-bat is a command-line interface to control battery charging on
+@uref{https://github.com/teleshoes/tpacpi-bat/wiki/Supported-Hardware, Lenovo
+ThinkPad models released after 2011}, starting with the xx20 series. It can
+query and set the thresholds at which one or both batteries will start and stop
+charging, inhibit charging batteries for a set period of time, or force them to
+discharge when they otherwise would not.
+
+This tool merely exposes ACPI calls provided by the @code{acpi_call} Linux
+kernel module provided by the @code{acpi-call-linux-module} package, which must
+be installed and loaded separately. Only the original vendor firmware is
+supported.")
+ (license license:gpl3+)))
+
(define-public ntfs-3g
(package
(name "ntfs-3g")
--
2.21.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* bug#35677: [PATCH 3/3] gnu: Add tpacpi-bat.
2019-05-10 21:28 ` [bug#35677] [PATCH 1/3] gnu: Move Linux-Libre modules to their own section Tobias Geerinckx-Rice
2019-05-10 21:28 ` [bug#35678] [PATCH 2/3] gnu: Add acpi-call-linux-module Tobias Geerinckx-Rice
2019-05-10 21:28 ` [bug#35679] [PATCH 3/3] gnu: Add tpacpi-bat Tobias Geerinckx-Rice
@ 2019-05-20 2:23 ` Tobias Geerinckx-Rice
2 siblings, 0 replies; 4+ messages in thread
From: Tobias Geerinckx-Rice @ 2019-05-20 2:23 UTC (permalink / raw)
To: 35677-done
[-- Attachment #1: Type: text/plain, Size: 77 bytes --]
Pushed as e1f640db8fa2a3aee018ce80df47b37e245c4b52 &c.
Kind regards,
T G-R
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread