[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Add Faust and Guitarix.
From: |
Ricardo Wurmus |
Subject: |
Re: [PATCH] Add Faust and Guitarix. |
Date: |
Thu, 18 Jun 2015 15:37:43 +0200 |
Ludovic Courtès <address@hidden> writes:
>> Subject: [PATCH 1/3] gnu: Add Faust.
>>
>> * gnu/packages/audio.scm (faust): New variable.
>
> [...]
>
>> + 'unpack 'remove-prebuilt-library
>> + (lambda _
>> + (delete-file
>> "architecture/android/libs/armeabi-v7a/libfaust_dsp.so")
>
> This should go in a snippet IMO.
Okay.
>> Subject: [PATCH 3/3] gnu: Add Guitarix.
>>
>> * gnu/packages/audio.scm (guitarix): New variable.
>
> [...]
>
>> + ;; dsp2cc fails for src/faust/tonestack_engl.dsp, so we use the
>> + ;; generated C++ files rather than compiling them from Faust
>> sources.
>> + "--no-faust"
>
> I think it deserves a FIXME. (It’s OK for now, but the eventual goal
> should be to build those from source as well.)
Guitarix sources mention two specific versions of Faust with which the
DSP sources should be buildable. I think the DSP sources should be
fixed in Guitarix rather than package the specific minor version of
Faust to generate the C++ code. I added a “FIXME” note.
>> + (native-search-paths
>> + (list (search-path-specification
>> + (variable "LV2_PATH")
>> + (files '("lib/lv2")))))
>
> Shouldn’t it be in LV2 itself instead?
I don’t know. LV2_PATH is used by LV2 hosts for the discovery of
plugins. The “lv2” package itself does not provide any plugins; a host
like Ardour has “lv2” as one of its inputs but does not provide any LV2
plugins. Currently, we only use (native-search-paths ...) suggesting
“LV2_PATH” to be set for LV2 plugin packages. I would not mind moving
this expression to the “lv2” package instead.
Should I prepare another patch where this is removed from all package
definitions and added to the “lv2” package instead?
>> + (home-page "http://guitarix.org/")
>> + (synopsis "Virtual guitar amplifier")
>> + (description "Guitarix is a virtual guitar amplifier running JACK.")
>
> Could you expound a bit, for instance using the second paragraph on the
> web page?
Done. Attached is a new patch.
Thanks!
~~ Ricardo
>From 444196dc501dad2ee793d5b1a20116fee799fb2f Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
Date: Sun, 14 Jun 2015 17:15:08 +0200
Subject: [PATCH] gnu: Add Guitarix.
* gnu/packages/audio.scm (guitarix): New variable.
---
gnu/packages/audio.scm | 72 +++++++++++++++++++++++++++++++++++++++++++++-----
1 file changed, 66 insertions(+), 6 deletions(-)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 50d96a2..25c0c4e 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -31,6 +31,7 @@
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
+ #:use-module (gnu packages avahi)
#:use-module (gnu packages boost)
#:use-module (gnu packages base)
#:use-module (gnu packages bison)
@@ -43,6 +44,7 @@
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
#:use-module (gnu packages gnome)
+ #:use-module (gnu packages gperf)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages qt)
#:use-module (gnu packages linux)
@@ -490,18 +492,17 @@ PS, and DAB+.")
"mirror://sourceforge/faudiostream/faust-" version ".zip"))
(sha256
(base32
- "068vl9536zn0j4pknwfcchzi90rx5pk64wbcbd67z32w0csx8xm1"))))
+ "068vl9536zn0j4pknwfcchzi90rx5pk64wbcbd67z32w0csx8xm1"))
+ (snippet
+ ;; Remove prebuilt library
+ '(delete-file
"architecture/android/libs/armeabi-v7a/libfaust_dsp.so"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out")))
#:tests? #f
#:phases
(modify-phases %standard-phases
- (add-after
- 'unpack 'remove-prebuilt-library
- (lambda _
- (delete-file
"architecture/android/libs/armeabi-v7a/libfaust_dsp.so")
- #t))
+ ;; no "configure" script
(delete 'configure))))
(native-inputs
`(("unzip" ,unzip)))
@@ -550,6 +551,65 @@ patches that can be used with softsynths such as Timidity
and WildMidi.")
;; GPLv2+ with exception for compositions using these patches.
(license license:gpl2+)))
+(define-public guitarix
+ (package
+ (name "guitarix")
+ (version "0.32.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://sourceforge/guitarix/guitarix2-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "1ybc5jk7fj6n8qh9ajzl1f6fzdmzab4nwjrh4fsylm94dn1jv0if"))))
+ (build-system waf-build-system)
+ (arguments
+ `(#:tests? #f ; no "check" target
+ #:python ,python-2
+ #:configure-flags
+ (list
+ ;; FIXME: dsp2cc fails for src/faust/tonestack_engl.dsp, so we use the
+ ;; generated C++ files rather than compiling them from Faust sources.
+ "--no-faust"
+ ;; Add the output lib directory to the RUNPATH.
+ (string-append "--ldflags=-Wl,-rpath=" %output "/lib"))))
+ (inputs
+ `(("libsndfile" ,libsndfile)
+ ("boost" ,boost)
+ ("avahi" ,avahi)
+ ("eigen" ,eigen)
+ ("lv2" ,lv2)
+ ("lilv" ,lilv)
+ ("ladspa" ,ladspa)
+ ("jack" ,jack-1)
+ ("gtkmm" ,gtkmm-2)
+ ("gtk+" ,gtk+-2)
+ ("fftwf" ,fftwf)
+ ("lrdf" ,lrdf)
+ ("zita-resampler" ,zita-resampler)
+ ("zita-convolver" ,zita-convolver)))
+ (native-inputs
+ `(("gperf" ,gperf)
+ ;;("faust" ,faust) ; dsp2cc fails for src/faust/tonestack_engl.dsp
+ ("intltool" ,intltool)
+ ("gettext" ,gnu-gettext)
+ ("pkg-config" ,pkg-config)))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "LV2_PATH")
+ (files '("lib/lv2")))))
+ (home-page "http://guitarix.org/")
+ (synopsis "Virtual guitar amplifier")
+ (description "Guitarix is a virtual guitar amplifier running JACK.
+Guitarix takes the signal from your guitar as a mono-signal from your sound
+card. The input is processed by a main amp and a rack-section. Both can be
+routed separately and deliver a processed stereo-signal via JACK. You may
+fill the rack with effects from more than 25 built-in modules including stuff
+from a simple noise gate to modulation effects like flanger, phaser or
+auto-wah.")
+ (license license:gpl2+)))
+
(define-public ir
(package
(name "ir")
--
2.2.1