I couldn't get this patch to build as is. I think there are some parentheses problems, specifically here: > + (home-page "http://puredata.info";)
> * gnu/packages/music.scm (pd): New variable. Also, I'm not sure if Pure Data belongs under music. The description talks about music, visual arts, and other areas. I think it's really more of a programming tool that happens to specialize in the arts. What follows is a WIP patch that puts Pure Data in its own package. I was able to get a 440hz tone out of my laptop speakers :) One problem is that the software cannot find the Deja Vu Sans Mono font it is looking for... and the fallback font rendering is basically unreadable. Any advice? >From 6498d9397a40682375fdf23fb8c2f4e7ffb69179 Mon Sep 17 00:00:00 2001 From: Leo Famulari <l...@famulari.name> Date: Tue, 18 Aug 2015 12:57:08 -0400 Subject: [PATCH] gnu: Add Pure Data. * gnu/packages/pd.scm: New file. * gnu-system.am: Add it. --- gnu-system.am | 1 + gnu/packages/pd.scm | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 gnu/packages/pd.scm diff --git a/gnu-system.am b/gnu-system.am index 9f46f7b..c39ee49 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -242,6 +242,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/patchutils.scm \ gnu/packages/pciutils.scm \ gnu/packages/pcre.scm \ + gnu/packages/pd.scm \ gnu/packages/pdf.scm \ gnu/packages/pem.scm \ gnu/packages/perl.scm \ diff --git a/gnu/packages/pd.scm b/gnu/packages/pd.scm new file mode 100644 index 0000000..0b4275e --- /dev/null +++ b/gnu/packages/pd.scm @@ -0,0 +1,70 @@ +(define-module (gnu packages pd) + #:use-module (guix build-system gnu) + #:use-module (guix download) + #:use-module (guix licenses) + #:use-module (guix packages) + #:use-module (guix utils) + #:use-module (gnu packages audio) + #:use-module (gnu packages autotools) + #:use-module (gnu packages fonts) + #:use-module (gnu packages gettext) + #:use-module (gnu packages linux) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages tcl) + #:use-module (gnu packages zip) + #:use-module ((srfi srfi-1) #:select (last))) + +(define-public pd + (package + (name "pd") + (version "0.45.4") + (source (origin + (method url-fetch) + (uri + (string-append "mirror://sourceforge/pure-data/pure-data/" + version "/pd-" (version-major+minor version) + "-" (last (string-split version #\.)) + ".src.tar.gz")) + (sha256 + (base32 + "1ls2ap5yi2zxvmr247621g4jx0hhfds4j5704a050bn2n3l0va2p")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no "check" target + #:phases + (modify-phases %standard-phases + (add-before + 'configure 'fix-wish-path + (lambda _ + (substitute* "src/s_inter.c" + ((" wish ") (string-append " " (which "wish8.6") " "))) + (substitute* "tcl/pd-gui.tcl" + (("exec wish ") (string-append "exec " (which "wish8.6") " "))) + #t)) + (add-after + 'unpack 'autoconf + (lambda _ (zero? (system* "autoreconf" "-vfi"))))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("gettext" ,gnu-gettext) + ("pkg-config" ,pkg-config))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("font-dejavu" ,font-dejavu) + ("jack" ,jack-1) + ("tk" ,tk))) + (home-page "http://puredata.info") + (synopsis "Visual programming language") + (description + "Pure Data (aka Pd) is a visual programming language. Pd enables +musicians, visual artists, performers, researchers, and developers to create +software graphically, without writing lines of code. Pd is used to process +and generate sound, video, 2D/3D graphics, and interface sensors, input +devices, and MIDI. Pd can easily work over local and remote networks to +integrate wearable technology, motor systems, lighting rigs, and other +equipment. Pd is suitable for learning basic multimedia processing and visual +programming methods as well as for realizing complex systems for large-scale +projects.") + (license bsd-3))) -- 2.4.3