From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: [PATCH]: add freepats and timidity Date: Thu, 19 Feb 2015 19:33:59 +0100 Message-ID: <87h9uhlpig.fsf@mango.localdomain> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:53162) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YOVvQ-000175-5Y for guix-devel@gnu.org; Thu, 19 Feb 2015 13:34:13 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YOVvM-0001fg-VX for guix-devel@gnu.org; Thu, 19 Feb 2015 13:34:12 -0500 Received: from sender1.zohomail.com ([74.201.84.155]:29350) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YOVvM-0001f9-Lm for guix-devel@gnu.org; Thu, 19 Feb 2015 13:34:08 -0500 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: Guix-devel --=-=-= Content-Type: text/plain Hi Guix, attached are two patches: one for freepats and another for the MIDI player TiMidity++. TiMidity++ comes with a simple configuration file referencing the freepats configuration, so it's usable out of the box. ~~ Ricardo --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0001-gnu-Add-Freepats.patch >From b9e2401e7447f5c777e50cf00a360e2f7795df92 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 19 Feb 2015 16:56:39 +0100 Subject: [PATCH 1/2] gnu: Add Freepats. * gnu/packages/audio.scm (freepats): New variable. --- gnu/packages/audio.scm | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 7d77a37..4bfc92e 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -23,9 +23,12 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system gnu) #:use-module (guix build-system waf) + #:use-module (guix build-system trivial) #:use-module (gnu packages) #:use-module (gnu packages algebra) #:use-module (gnu packages boost) + #:use-module (gnu packages base) + #:use-module (gnu packages compression) #:use-module (gnu packages curl) #:use-module (gnu packages databases) #:use-module (gnu packages glib) @@ -190,6 +193,45 @@ bass section with five drawbars. A standalone JACK application and LV2 plugins are provided.") (license license:gpl2))) +(define-public freepats + (package + (name "freepats") + (version "20060219") + (source (origin + (method url-fetch) + (uri (string-append "http://freepats.zenvoid.org/freepats-" + version ".tar.bz2")) + (sha256 + (base32 + "12iw36rd94zirll96cd5k0va7p5hxmf2shvjlhzihcmjaw8flq82")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder (begin + (use-modules (guix build utils)) + (let ((out (string-append %output "/share"))) + (setenv "PATH" (string-append + (assoc-ref %build-inputs "bzip2") "/bin:" + (assoc-ref %build-inputs "tar") "/bin")) + (system* "tar" "xvf" (assoc-ref %build-inputs "source")) + (chdir "freepats") + ;; Use absolute pattern references + (substitute* "freepats.cfg" + (("Tone_000") (string-append out "/Tone_000")) + (("Drum_000") (string-append out "/Drum_000"))) + (mkdir-p out) + (copy-recursively "." out))))) + (native-inputs + `(("tar" ,tar) + ("bzip2" ,bzip2))) + (home-page "http://freepats.zenvoid.org") + (synopsis "GUS compatible patches for MIDI players") + (description + "FreePats is a project to create a free and open set of GUS compatible +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 jack-1 (package (name "jack") -- 2.1.0 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0002-gnu-Add-TiMidity.patch >From 0aaf1401098e78d656fd8836246ce894acdf4784 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 19 Feb 2015 16:57:33 +0100 Subject: [PATCH 2/2] gnu: Add TiMidity++. * gnu/packages/audio.scm (timidity++): New variable. --- gnu/packages/audio.scm | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 4bfc92e..40969ce 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -35,6 +35,7 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages gnome) #:use-module (gnu packages qt) + #:use-module (gnu packages tcl) #:use-module (gnu packages linux) #:use-module (gnu packages mp3) ;taglib #:use-module (gnu packages perl) @@ -654,6 +655,56 @@ that toolkit will work in all hosts that use Suil automatically. Suil currently supports every combination of Gtk 2, Qt 4, and X11.") (license license:isc))) +(define-public timidity++ + (package + (name "timidity++") + (version "2.14.0") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/timidity/TiMidity++-" + version ".tar.bz2")) + (sha256 + (base32 + "0xk41w4qbk23z1fvqdyfblbz10mmxsllw0svxzjw5sa9y11vczzr")))) + (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--enable-audio=alsa,flac,jack,ao,vorbis,speex") + #:phases + (alist-cons-after + 'install 'install-config + (lambda _ + (let ((out (string-append (assoc-ref %outputs "out") + "/share/timidity"))) + (mkdir-p out) + (call-with-output-file + (string-append out "/timidity.cfg") + (lambda (port) + (format port (string-append "source " + (assoc-ref %build-inputs "freepats") + "/share/freepats.cfg")))))) + %standard-phases))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("ao" ,ao) + ("flac" ,flac) + ("jack" ,jack-1) + ("libogg" ,libogg) + ("speex" ,speex) + ("tk" ,tk) + ("freepats" ,freepats))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://timidity.sourceforge.net/") + (synopsis "Software synthesizer for playing MIDI files") + (description + "TiMidity++ is a software synthesizer. It can play MIDI files by +converting them into PCM waveform data; give it a MIDI data along with digital +instrument data files, then it synthesizes them in real-time, and plays. It +can not only play sounds, but also can save the generated waveforms into hard +disks as various audio file formats.") + (license license:gpl2+))) + (define-public vamp (package (name "vamp") -- 2.1.0 --=-=-=--