diff mbox series

[bug#69041] gnu: Add m8c.

Message ID 13eb74857c4ae1b1b610836972e7709e7fa4752d.1707629082.git.juli@incana.org
State New
Headers show
Series [bug#69041] gnu: Add m8c. | expand

Commit Message

Juliana Sims Feb. 11, 2024, 5:24 a.m. UTC
* 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(+)


base-commit: 9edbb2d7a40c9da7583a1046e39b87633459f656

Comments

Nicolas Graves May 10, 2024, 10:46 a.m. UTC | #1
user guix
usertag 69041 + reviewed-looks-good
thanks

Guix QA review form submission:
lint complains about possible update to 1.7.1, but that shouldn't hinder this patch from being merged.

Items marked as checked: Lint warnings, Package builds, Commit messages, New package licenses, New package tests, New package synopsis and descriptions
diff mbox series

Patch

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")