From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: Re: [PATCH] Add Faust and Guitarix. Date: Thu, 18 Jun 2015 15:37:43 +0200 Message-ID: <87egl9i1co.fsf@elephly.net> References: <87wpz6i72q.fsf@elephly.net> <871thbu092.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:51845) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z5a15-0005ik-OL for guix-devel@gnu.org; Thu, 18 Jun 2015 09:38:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z5a0z-00072W-Jo for guix-devel@gnu.org; Thu, 18 Jun 2015 09:38:03 -0400 In-reply-to: <871thbu092.fsf@gnu.org> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: "guix-devel@gnu.org" --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Ludovic Court=C3=A8s 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/libfaus= t_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 so= urces. >> + "--no-faust" > > I think it deserves a FIXME. (It=E2=80=99s 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 =E2=80=9CFIXME=E2=80=9D note. >> + (native-search-paths >> + (list (search-path-specification >> + (variable "LV2_PATH") >> + (files '("lib/lv2"))))) > > Shouldn=E2=80=99t it be in LV2 itself instead? I don=E2=80=99t know. LV2_PATH is used by LV2 hosts for the discovery of plugins. The =E2=80=9Clv2=E2=80=9D package itself does not provide any plu= gins; a host like Ardour has =E2=80=9Clv2=E2=80=9D as one of its inputs but does not pro= vide any LV2 plugins. Currently, we only use (native-search-paths ...) suggesting =E2=80=9CLV2_PATH=E2=80=9D to be set for LV2 plugin packages. I would not = mind moving this expression to the =E2=80=9Clv2=E2=80=9D package instead. Should I prepare another patch where this is removed from all package definitions and added to the =E2=80=9Clv2=E2=80=9D 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 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0001-gnu-Add-Guitarix.patch >From 444196dc501dad2ee793d5b1a20116fee799fb2f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus 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 --=-=-=--