[PATCH] gnu: Add m8c.

  • Open
  • quality assurance status badge
Details
One participant
  • Juliana Sims
Owner
unassigned
Submitted by
Juliana Sims
Severity
normal
J
J
Juliana Sims wrote on 11 Feb 06:24 +0100
(address . guix-patches@gnu.org)(name . Juliana Sims)(address . juli@incana.org)
13eb74857c4ae1b1b610836972e7709e7fa4752d.1707629082.git.juli@incana.org
* gnu/packages/electronics.scm (m8c): New symbol.

Change-Id: Ibfc2e9364211e24c59d4d9015ab144f0c4ee972c
---

Hello,

This patch adds m8c, a GUI client for the M8 Headless firmware installed on a
standalone Teensy microcontroller. I've done all the regular stuff of linting,
styling, testing building on multiple platforms, and testing running the actual
software. Everything works!

Thanks,
Juli
gnu/packages/electronics.scm | 42 ++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)

Toggle diff (64 lines)
diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm
index 83a92abc4e..ff21ffe732 100644
--- a/gnu/packages/electronics.scm
+++ b/gnu/packages/electronics.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 Leo Famulari <leo@famulari.name>
;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2024 Juliana Sims <juli@incana.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -424,6 +425,47 @@ (define-public xoscope
(home-page "https://xoscope.sourceforge.net/")
(license license:gpl2+)))
+(define-public m8c
+ (package
+ (name "m8c")
+ (version "1.5.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/laamaa/m8c")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "04rn7b18xy5z03mlsb55nm1kn1k0ynqycs0km9w1yzrlq6rwrcn5"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:make-flags
+ #~(list (string-append "PREFIX=" #$output))
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure))
+ #:tests? #f)) ;no tests
+ (native-inputs (list pkg-config))
+ (inputs (list libserialport
+ sdl2))
+ (home-page "https://github.com/laamaa/m8c")
+ (synopsis "Cross-platform M8 tracker headless client")
+ (description
+ "The @url{https://dirtywave.com/products/m8-tracker,Dirtywave M8 Tracker}
+is a portable sequencer and synthesizer, featuring 8 tracks of assignable
+instruments such as FM, waveform synthesis, virtual analog, sample playback, and
+MIDI output. It is powered by a @url{https://www.pjrc.com/teensy/,Teensy}
+micro-controller and inspired by the Gameboy tracker
+@url{https://www.littlesounddj.com/lsd/index.php,Little Sound DJ}. m8c is a
+client for @url{https://github.com/Dirtywave/M8HeadlessFirmware,M8 Headless}
+which allows one to install the M8 firmware on any Teensy.")
+ (license (list license:cc-by-sa3.0
+ license:expat
+ license:public-domain
+ license:zlib))))
+
(define-public minipro
;; Information needed to fix Makefile
(let* ((commit "c181c2cf1619d00a520627d475e3fadb1eea5dac")

base-commit: 9edbb2d7a40c9da7583a1046e39b87633459f656
--
2.41.0
?