1
Fork 0
mirror of https://https.git.savannah.gnu.org/git/guix.git/ synced 2025-07-13 02:20:53 +02:00

gnu: ksoloti-runtime: Update to 1.1.0-0.b7ae4753b.

* gnu/packages/axoloti.scm (ksoloti-runtime): Update to 1.1.0-0.b7ae4753b.
[arguments]: Adjust.
(ksoloti-patcher)[arguments]: Set axoloti_platform and axoloti_firmware in
launcher.

Change-Id: I214267ece9240e651118c90a36c5b0b01a252566
This commit is contained in:
Ricardo Wurmus 2025-04-27 18:53:49 +02:00
parent eb7f104338
commit 4e79ec48af
No known key found for this signature in database
GPG key ID: 197A5888235FACAC

View file

@ -350,18 +350,20 @@ powerful microcontroller board: Axoloti Core. This package provides the
patcher application."))) patcher application.")))
(define-public ksoloti-runtime (define-public ksoloti-runtime
(let ((revision "0")
(commit "b7ae4753b33532597db232285f4f3c1808f516b4"))
(package (package
(name "ksoloti-runtime") (name "ksoloti-runtime")
(version "1.1.0") (version (git-version "1.1.0" revision commit))
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/ksoloti/ksoloti") (url "https://github.com/ksoloti/ksoloti")
(commit version))) (commit commit)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0lf4jqd1jwqmapp597zj33zgq7576i1fkww8aqckrpbknnmydrw5")) (base32 "0pf8zpzfx6nibwqrxbagpp3qpypfabshs7mign84dwsl9qdal1cv"))
(modules '((guix build utils))) (modules '((guix build utils)))
;; Remove pre-built Java binaries. ;; Remove pre-built Java binaries.
(snippet (snippet
@ -384,9 +386,10 @@ patcher application.")))
(substitute* "chibios/os/various/shell.c" (substitute* "chibios/os/various/shell.c"
(("#ifdef __DATE__") "#if 0")) (("#ifdef __DATE__") "#if 0"))
(substitute* "firmware/compile_firmware_linux.sh" (substitute* "firmware/compile_firmware.sh"
(("make -j16") (("make -j8")
"make USE_VERBOSE_COMPILE=yes")) (string-append "make USE_VERBOSE_COMPILE=yes -j"
(number->string (parallel-job-count)))))
;; Patch shell paths ;; Patch shell paths
(substitute* '("src/main/java/qcmds/QCmdCompileFirmware.java" (substitute* '("src/main/java/qcmds/QCmdCompileFirmware.java"
@ -395,13 +398,14 @@ patcher application.")))
(("/bin/sh") (which "sh"))) (("/bin/sh") (which "sh")))
;; Override cross compiler base name ;; Override cross compiler base name
(substitute* '"firmware/Makefile.patch.mk" (substitute* "firmware/Makefile.patch.mk"
(("arm-none-eabi-(gcc|g\\+\\+|objcopy|objdump|size)" tool) (("arm-none-eabi-(gcc|g\\+\\+|objcopy|objdump|size)" tool)
(which tool))) (which tool)))
;; XXX: for some reason the whitespace substitution does not ;; XXX: for some reason the whitespace substitution does not
;; work, so we disable it. ;; work, so we disable it.
(substitute* "firmware/Makefile.patch.mk" (substitute* "firmware/Makefile.patch.mk"
(("^CHIBIOS +=.*") "CHIBIOS=${axoloti_firmware}/../chibios\n")
(("^BUILDDIR=.*") "BUILDDIR=${axoloti_libraries}/build\n")) (("^BUILDDIR=.*") "BUILDDIR=${axoloti_libraries}/build\n"))
;; Hardcode full path to compiler tools ;; Hardcode full path to compiler tools
@ -414,22 +418,21 @@ patcher application.")))
"/bin/arm-none-eabi-\n"))) "/bin/arm-none-eabi-\n")))
;; Hardcode path to "make" ;; Hardcode path to "make"
(substitute* '("firmware/compile_firmware_linux.sh" (substitute* '("firmware/compile_firmware.sh"
"firmware/compile_patch_linux.sh") "firmware/compile_patch.sh")
(("make") (which "make"))) (("make") (which "make")))
;; Hardcode path to "dfu-util" ;; Hardcode path to "dfu-util"
(substitute* "platform_linux/upload_fw_dfu.sh" (substitute* "firmware/upload_fw_dfu.sh"
(("-f \"\\$\\{platformdir\\}/bin/dfu-util\"") "-z \"\"") (("-f \"\\$\\{platformdir\\}/bin/dfu-util\"") "-z \"\"")
(("\\./dfu-util") (which "dfu-util"))))) (("\\./dfu-util") (which "dfu-util")))))
(delete 'configure) (delete 'configure)
(replace 'build (replace 'build
;; Build Axoloti firmware with cross-compiler ;; Build Axoloti firmware with cross-compiler
(lambda _ (lambda _
(with-directory-excursion "platform_linux" (with-directory-excursion "firmware"
(substitute* "compile_firmware.sh" (substitute* "compile_firmware.sh"
(("^\"\\$\\{axoloti.*_firmware\\}/compile_firmware_linux.sh" m) (("`uname`") (string-append "`" (which "uname") "`")))
(string-append (which "bash") " " m)))
(invoke "sh" "compile_firmware.sh" "BOARD_KSOLOTI_CORE") (invoke "sh" "compile_firmware.sh" "BOARD_KSOLOTI_CORE")
(invoke "sh" "compile_firmware.sh" "BOARD_AXOLOTI_CORE")))) (invoke "sh" "compile_firmware.sh" "BOARD_AXOLOTI_CORE"))))
(replace 'install (replace 'install
@ -441,6 +444,7 @@ patcher application.")))
"/patches/[^/]+/[^/]+$" "/patches/[^/]+/[^/]+$"
"/objects/[^/]+/[^/]+$" "/objects/[^/]+/[^/]+$"
"/firmware/.+" "/firmware/.+"
"/platform_linux/.+"
"/chibios/[^/]+$" "/chibios/[^/]+$"
"/chibios/boards/ST_STM32F4_DISCOVERY/[^/]+$" "/chibios/boards/ST_STM32F4_DISCOVERY/[^/]+$"
"/chibios/(ext|os|docs)/.+" "/chibios/(ext|os|docs)/.+"
@ -466,7 +470,7 @@ patcher application.")))
'pre 'post)))) 'pre 'post))))
files))))))) files)))))))
(inputs (inputs
`(;; for compiling patches `( ;; for compiling patches
("make" ,gnu-make) ("make" ,gnu-make)
;; for compiling firmware ;; for compiling firmware
("cross-toolchain" ,(make-arm-none-eabi-nano-toolchain-9-2020-q2-update)) ("cross-toolchain" ,(make-arm-none-eabi-nano-toolchain-9-2020-q2-update))
@ -486,7 +490,7 @@ short, Ksoloti aims for maximum compatibility with the original Axoloti, but
with some layout changes and added features. with some layout changes and added features.
This package provides the runtime.") This package provides the runtime.")
(license license:gpl3+))) (license license:gpl3+))))
(define-public ksoloti-patcher (define-public ksoloti-patcher
(package (package
@ -615,8 +619,8 @@ This package provides the runtime.")
" -Dsun.java2d.renderer=org.marlin.pisces.MarlinRenderingEngine" " -Dsun.java2d.renderer=org.marlin.pisces.MarlinRenderingEngine"
" -Dsun.java2d.d3d=false" " -Dsun.java2d.d3d=false"
" -Dsun.java2d.dpiaware=true" " -Dsun.java2d.dpiaware=true"
" -Daxoloti_release=" runtime " -Daxoloti_platform=" runtime "/platform_linux"
" -Daxoloti_runtime=" runtime " -Daxoloti_firmware=" runtime "/firmware"
" -jar " dir "/Ksoloti.jar"))))) " -jar " dir "/Ksoloti.jar")))))
(chmod target #o555))))) (chmod target #o555)))))
(add-after 'install 'strip-jar-timestamps (add-after 'install 'strip-jar-timestamps