summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMorgan Smith <Morgan.J.Smith@outlook.com>2025-06-05 11:42:14 -0400
committerLudovic Courtès <ludo@gnu.org>2025-06-09 22:05:14 +0200
commit5fd4df347e04b6cd3ce3fc91900f773a2e4824e3 (patch)
tree9f8a949f9a1bb07d12f4af9ea05248f2646a27c7
parent2a8c5f834eb2f0797c7a338ab4c4cc01b0296eaa (diff)
gnu: tlp: Fix scripts.
tlp provides a number of executables. Before this change the "tlp" and "tlp-stat" executables worked fine but the "bluetooth", "nfc", "run-on-ac", "run-on-bat", "wifi", and "wwan" executables would give strange warnings. * gnu/packages/linux.scm (tlp): Fix scripts. <phases> [wrap]: Use wrap-script instead of wrap-program to preserve shell argument "$0". Don't wrap symlinks. <inputs>: Add guile-3.0 for wrap-script. Remove bash used for now removed wrap-program. Change-Id: I916a4385cb69db142f834839aa9aaf0d81085714 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--gnu/packages/linux.scm16
1 files changed, 11 insertions, 5 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index baf3b17b1c..7d991af25e 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -145,6 +145,7 @@
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
+ #:use-module (gnu packages guile)
#:use-module (gnu packages haskell-apps)
#:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages image)
@@ -8538,11 +8539,11 @@ interface in sysfs, which can be accomplished with the included udev rules.")
(native-inputs
(list shellcheck))
(inputs
- `(("bash" ,bash)
- ("dbus" ,dbus)
+ `(("dbus" ,dbus)
("ethtool" ,ethtool)
("eudev" ,eudev)
("grep" ,grep)
+ ("guile" ,guile-3.0) ;for wrap-script
("hdparm" ,hdparm)
("inetutils" ,inetutils)
("iw" ,iw)
@@ -8600,15 +8601,20 @@ interface in sysfs, which can be accomplished with the included udev rules.")
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((bin (string-append (assoc-ref outputs "out") "/bin"))
(sbin (string-append (assoc-ref outputs "out") "/sbin"))
- (bin-files (find-files bin ".*"))
- (sbin-files (find-files sbin ".*")))
+ ;; Used to ignore symlinks which don't need wrapping
+ (regular-file-predicate
+ (lambda (file stat) (eq? 'regular (stat:type stat))))
+ (bin-files (find-files bin regular-file-predicate))
+ (sbin-files (find-files sbin regular-file-predicate)))
(define (bin-directory input-name)
(let ((p (assoc-ref inputs input-name)))
(and p (string-append p "/bin"))))
(define (sbin-directory input-name)
(string-append (assoc-ref inputs input-name) "/sbin"))
(for-each (lambda (program)
- (wrap-program program
+ ;; Programs rely on $0 so we use wrap-script
+ ;; instead of wrap-program
+ (wrap-script program
`("PATH" ":" prefix
,(append
(filter-map bin-directory