Subject: [bug#37284] [PATCH] added gnu/packages/fmit.scm (Free Musical Instrument Tuner)

From: raingloom <[email-masked]>
Date: Tue, 03 Sep 2019 01:13:57 +0000

Thanks for the suggestions!
How about this attempt?

Also, is this how i reply to an issue? I didn't see your email in my inbox (yet?), only on the web interface. Do I also have to subscribe to the guix-patches mailing list?

---
 gnu/packages/music.scm | 59 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index d4aaecc1e2..a9770f4f16 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -4483,3 +4483,62 @@ discard bad quality ones.
 controller.")
     (home-page "https://github.com/charlesfleche/lpd8editor")
     (license license:expat)))
+
+(define-public fmit
+  (package
+    (name "fmit")
+    (version "1.2.6")
+    (source (origin
+	      (method git-fetch)
+	      (uri (git-reference
+		    (url "https://github.com/gillesdegottex/fmit/")
+		    (commit (string-append "v" version))))
+	      (sha256 (base32 "03nzkig5mw2rqwhwmg0qvc5cnk9bwh2wp13jh0mdrr935w0587mz"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+	 (delete 'configure)
+	 (add-before 'build 'qmake
+	   (lambda _
+	     (let ((out (assoc-ref %outputs "out")))
+               (invoke "qmake"
+                       "fmit.pro"
+                       (string-append "PREFIX=" out)
+                       (string-append "PREFIXSHORTCUT=" out)
+                       "CONFIG+=acs_qt acs_alsa acs_jack acs_portaudio"))))
+         (add-after 'install 'wrap-executable
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (wrap-program (string-append out "/bin/fmit")
+                 `("QT_PLUGIN_PATH" ":" prefix
+                   ,(map (lambda (label)
+                           (string-append (assoc-ref inputs label)
+                                          "/lib/qt5/plugins"))
+                         '("qtbase" "qtmultimedia" "qtsvg")))
+                 `("QML2_IMPORT_PATH" ":" prefix
+                   ,(map (lambda (label)
+                           (string-append (assoc-ref inputs label)
+                                          "/lib/qt5/qml"))
+                         '("qtmultimedia"))))
+               #t))))))
+    (inputs
+     `(("fftw" ,fftw)
+       ("portaudio" ,portaudio)
+       ("qtmultimedia" ,qtmultimedia)
+       ("qtsvg" ,qtsvg)
+       ("alsa-lib" ,alsa-lib)
+       ("jack" ,jack-1)
+       ("qtbase" ,qtbase)))
+    (native-inputs
+     `(("gettext" ,gnu-gettext)
+       ("hicolor-icon-theme" ,hicolor-icon-theme)
+       ("itstool" ,itstool)
+       ("qttools" ,qttools)))
+    (synopsis "Musical Instrument Tuner")
+    (description
+     "FMIT is a graphical utility for tuning musical instruments,
+with error and volume history, and advanced features")
+    (home-page "https://gillesdegottex.github.io/fmit/")
+    ;; most of the code is under GPL2+, but some abstract or helper classes are under LGPL2.1
+    (license (list license:gpl2+ license:lgpl2.1))))
--
2.23.0