Subject: Re: [bug#38141] [PATCH] gnu: Add carla.

From: Alexandros Theodotou <[email-masked]>
Date: Mon, 11 Nov 2019 05:05:59 +0000

Updated patch. Note that I can't get it to build the same derivation
twice:
```
output ‘/gnu/store/k22jfy6asbwsxbmmajgghcnnrz6dgaqi-carla-2.0.0’ of
‘/gnu/store/nlyk7zhcnq0fl57z95qyf78gf4qsbl2r-carla-2.0.0.drv’ differs
from ‘/gnu/store/k22jfy6asbwsxbmmajgghcnnrz6dgaqi-carla-2.0.0-check’
from previous round
```
From 5dcd5d3f035e6865c68295dcbcdb4d03c5e6c049 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 bc79225115..3ce3929165 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.
 ;;;
@@ -3766,3 +3767,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 git-fetch)
+        (uri
+          (git-reference
+            (url "https://github.com/falkTX/Carla.git")
+            (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "0fqgncqlr86n38yy7pa118mswfacmfczj7w9xx6c6k0jav3wk29k"))))
+    (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://kx.studio/Applications:Carla")
+    (synopsis "Audio plugin host")
+    (description "Carla is a modular audio plugin host, with 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