Subject: [PATCH] gnu: Add carla.
From: Alexandros Theodotou <[email-masked]>
To: Guix patches <[email-masked]>
Date: Sat, 09 Nov 2019 00:59:46 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

From 77de9785c18683c68dc22f640afb614ef4e88a6c Mon Sep 17 00:00:00 2001
 From: Alexandros Theodotou <[email-masked]>
Date: Fri, 8 Nov 2019 23:56:58 +0000
Subject: [PATCH] gnu: Add carla.

* gnu/packages/audio.scm (carla): New variable.
---
  gnu/packages/audio.scm | 57 ++++++++++++++++++++++++++++++++++++++++++
  1 file changed, 57 insertions(+)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 28dbf06f3b..20c093e610 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -23,6 +23,7 @@
  ;;; Copyright © 2019 Rutger Helling <[email-masked]>
  ;;; Copyright © 2019 Arun Isaac <[email-masked]>
  ;;; Copyright © 2019 Mathieu Othacehe <[email-masked]>
+;;; Copyright © 2019 Alexandros Theodotou <[email-masked]>
  ;;;
  ;;; This file is part of GNU Guix.
  ;;;
@@ -3773,3 +3774,59 @@ other Gnaural instances, allowing synchronous 
sessions between many users.")
  a sound card, encodes it into Ogg Vorbis and/or mp3, and sends the 
audio
  stream to one or more IceCast and/or ShoutCast servers.")
      (license license:gpl3+)))
+
+(define-public carla
+  (package
+    (name "carla")
+    (version "2.0.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append
+               "https://github.com/falkTX/Carla/archive/v"
+               version ".tar.gz"))
+        (file-name (string-append name "-v" version ".tar.gz"))
+        (sha256
+          (base32
+            "0hbcxwi6ln9vrv61vv11f7dn0z8q3wimjqvzh2z9mklcgx0xij6h"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f  ; no "check" target
+       #:make-flags
+       (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'set-CC-variable-and-show-features
+           (lambda _
+             (setenv "CC" "gcc")
+             (invoke "make" "features")))
+         (delete 'configure))))
+    (inputs
+     `(("alsa-lib" ,alsa-lib)
+       ("ffmpeg" ,ffmpeg)
+       ("fluidsynth" ,fluidsynth)
+       ("file" ,file)
+       ("liblo" ,liblo)
+       ("libsndfile" ,libsndfile)
+       ("gtk+" ,gtk+)
+       ("python-pyliblo" ,python-pyliblo)
+       ("python-pyqt" ,python-pyqt)
+       ("python-rdflib" ,python-rdflib)
+       ;; python-pyqt shows the following error without python-wrapper:
+       ;; Error while finding module specification for 
'PyQt5.uic.pyuic'
+       ;; (ModuleNotFoundError: No module named 'PyQt5')
+       ("python-wrapper" ,python-wrapper)
+       ("libx11" ,libx11)
+       ("qtbase" ,qtbase)
+       ("zlib" ,zlib)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (home-page "https://kxstudio.linuxaudio.org/Applications:Carla")
+    (synopsis "Audio plugin host")
+    (description " Carla is a fully-featured modular audio plugin host, 
with
+support for many audio drivers and plugin formats. It has features like
+transport control, automation of parameters via MIDI CC and remote 
control
+over OSC. Carla currently supports LADSPA (including LRDF), DSSI, LV2, 
VST2,
+and VST3 plugin formats, plus SF2 and SFZ file support. It uses JACK as 
the
+default and preferred audio driver but also supports native drivers 
like ALSA.")
+    (license license:gpl2+)))
-- 
2.24.0