summaryrefslogtreecommitdiff
path: root/gnu/packages/firmware.scm
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-09-13 16:44:14 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-10-10 00:06:13 -0400
commit45be44bf3deafe0d1c8b0f2b9658925ea1e3265f (patch)
tree7161e2ee5940968a05809db610676de5cbc5297c /gnu/packages/firmware.scm
parent261a1f902a63c8d9a0599affbdcf4715330bb9a9 (diff)
gnu: qmk: Add many missing inputs and add more commands to PATH.
* gnu/packages/firmware.scm (qmk) [inputs]: Add bash-minimal, dfu-util, diffutils, gawk, gnu-make, grep and python. [arguments]: Add them to PATH in the wrapper in the wrap-path phase. Also capture avr-ar in the PATH. Add CROSS_C_INCLUDE_PATH and CROSS_LIBRARY_PATH to the wrapper.
Diffstat (limited to 'gnu/packages/firmware.scm')
-rw-r--r--gnu/packages/firmware.scm24
1 files changed, 22 insertions, 2 deletions
diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index c1f6c8ea5e..1957fb8aac 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -57,6 +57,7 @@
#:use-module (gnu packages elf)
#:use-module (gnu packages flashing-tools)
#:use-module (gnu packages flex)
+ #:use-module (gnu packages gawk)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
@@ -1241,19 +1242,31 @@ AR100.")
#:phases
#~(modify-phases %standard-phases
(add-after 'wrap 'wrap-path
+ ;; Wrap all the tools needed for the 'setup' and 'compile' actions
+ ;; (tested with the 'ergodox_ez' keyboard).
(lambda* (#:key inputs outputs #:allow-other-keys)
(wrap-program (search-input-file outputs "bin/qmk")
`("PATH" prefix
,(map (compose dirname
(cut search-input-file inputs <>))
- '("bin/avr-gcc"
+ '("bin/avr-ar"
+ "bin/avr-gcc"
"bin/avrdude"
+ "bin/awk"
+ "bin/cmp"
"bin/dfu-programmer"
+ "bin/dfu-util"
"bin/git"
+ "bin/grep"
+ "bin/make"
+ "bin/python3"
+ "bin/sh"
;; TODO: Remove after git is wrapped with these.
"bin/basename"
"bin/sed"
- "bin/uname")))))))))
+ "bin/uname")))
+ `("CROSS_C_INCLUDE_PATH" = (,(getenv "CROSS_C_INCLUDE_PATH")))
+ `("CROSS_LIBRARY_PATH" = (,(getenv "CROSS_LIBRARY_PATH")))))))))
;; The inputs are not propagated since qmk is to be used strictly as a
;; command.
(inputs
@@ -1261,8 +1274,15 @@ AR100.")
;; compilation errors in some firmware otherwise.
(list (make-avr-toolchain #:xgcc gcc-8)
avrdude
+ bash-minimal
dfu-programmer
+ dfu-util
+ diffutils
git-minimal ;for the clone action
+ gawk
+ gnu-make
+ grep
+ python
python-dotty-dict
python-hid
python-hjson