unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Re: [PATCH] Add Pure Data.
@ 2015-08-18 17:24 Leo Famulari
  2015-08-18 19:13 ` Ricardo Wurmus
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Leo Famulari @ 2015-08-18 17:24 UTC (permalink / raw)
  To: guix-devel

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 <leo@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

^ permalink raw reply related	[flat|nested] 9+ messages in thread
* [PATCH] Add Pure Data.
@ 2015-08-06 17:19 Ricardo Wurmus
  2015-08-25 13:35 ` Ludovic Courtès
  0 siblings, 1 reply; 9+ messages in thread
From: Ricardo Wurmus @ 2015-08-06 17:19 UTC (permalink / raw)
  To: guix-devel

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: 0001-gnu-Add-Pure-Data.patch --]
[-- Type: text/x-patch, Size: 3692 bytes --]

From b93b9a3e4a87a0095398ac9256ea35de5407a3b6 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rekado@elephly.net>
Date: Thu, 6 Aug 2015 19:18:54 +0200
Subject: [PATCH] gnu: Add Pure Data.

* gnu/packages/music.scm (pd): New variable.
---
 gnu/packages/music.scm | 59 +++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 58 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 9fa9ece..7ce7461 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -27,6 +27,7 @@
   #:use-module (guix build-system waf)
   #:use-module (gnu packages)
   #:use-module (gnu packages audio)
+  #:use-module (gnu packages autotools)
   #:use-module (gnu packages base) ;libbdf
   #:use-module (gnu packages boost)
   #:use-module (gnu packages bison)
@@ -63,12 +64,14 @@
   #:use-module (gnu packages qt)
   #:use-module (gnu packages rdf)
   #:use-module (gnu packages rsync)
+  #:use-module (gnu packages tcl)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages texlive)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xiph)
-  #:use-module (gnu packages zip))
+  #:use-module (gnu packages zip)
+  #:use-module ((srfi srfi-1) #:select (last)))
 
 (define-public extempore
   (package
@@ -694,3 +697,57 @@ management, bend/slide/vibrato/hammer-on/pull-off effects, support for
 tuplets, time signature management, tempo management, gp3/gp4/gp5 import and
 export.")
     (license license:lgpl2.1+)))
+
+(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
+     `(("tk" ,tk)
+       ("alsa-lib" ,alsa-lib)
+       ("jack" ,jack-1)))
+    (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 license:bsd-3)))
-- 
2.4.3

^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2015-08-25 17:09 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-18 17:24 [PATCH] Add Pure Data Leo Famulari
2015-08-18 19:13 ` Ricardo Wurmus
2015-08-19  1:40   ` Leo Famulari
2015-08-18 19:15 ` Ricardo Wurmus
2015-08-19  1:31 ` 宋文武
2015-08-19  2:23   ` Leo Famulari
  -- strict thread matches above, loose matches on Subject: below --
2015-08-06 17:19 Ricardo Wurmus
2015-08-25 13:35 ` Ludovic Courtès
2015-08-25 17:09   ` Ricardo Wurmus

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).