unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [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

* 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

* Re: [PATCH] Add Pure Data.
  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 ` 宋文武
  2 siblings, 1 reply; 9+ messages in thread
From: Ricardo Wurmus @ 2015-08-18 19:13 UTC (permalink / raw)
  To: Leo Famulari; +Cc: 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";)

There are no parentheses problems in my patch.  I build it just fine on
my machine and have been using it since.  Maybe your email client added
some noise?  There’s an added semicolon on the mailing list archives
after URLs, but that’s not in my outgoing email.

> 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.

I don’t mind much where it’s put.  I only have encountered Pd in
audio/music setups, although it is a visual data flow language, so I put
it in music.scm.

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

* Re: [PATCH] Add Pure Data.
  2015-08-18 17:24 [PATCH] Add Pure Data Leo Famulari
  2015-08-18 19:13 ` Ricardo Wurmus
@ 2015-08-18 19:15 ` Ricardo Wurmus
  2015-08-19  1:31 ` 宋文武
  2 siblings, 0 replies; 9+ messages in thread
From: Ricardo Wurmus @ 2015-08-18 19:15 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel

> software cannot find the Deja Vu Sans Mono font it is looking for... and the
> fallback font rendering is basically unreadable. Any advice?

With my patch it’s the same, but it didn’t bother me much.  Pd isn’t
very pretty anyway.

You could search the sources for the position where the font is accessed
and patch it with ‘(substitute* ...)’.

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

* Re: [PATCH] Add Pure Data.
  2015-08-18 17:24 [PATCH] Add Pure Data Leo Famulari
  2015-08-18 19:13 ` Ricardo Wurmus
  2015-08-18 19:15 ` Ricardo Wurmus
@ 2015-08-19  1:31 ` 宋文武
  2015-08-19  2:23   ` Leo Famulari
  2 siblings, 1 reply; 9+ messages in thread
From: 宋文武 @ 2015-08-19  1:31 UTC (permalink / raw)
  To: Leo Famulari, guix-devel

Leo Famulari <leo@famulari.name> writes:

> [...]
> 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?
I just push a commit to build tk with xft support, which should give Pd
better fonts.  Please check :-)

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

* Re: [PATCH] Add Pure Data.
  2015-08-18 19:13 ` Ricardo Wurmus
@ 2015-08-19  1:40   ` Leo Famulari
  0 siblings, 0 replies; 9+ messages in thread
From: Leo Famulari @ 2015-08-19  1:40 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel

On Tue, Aug 18, 2015 at 09:13:38PM +0200, Ricardo Wurmus wrote:
> > I couldn't get this patch to build as is. I think there are some parentheses
> > problems, specifically here:
> >> +    (home-page "http://puredata.info";)
> 
> There are no parentheses problems in my patch.  I build it just fine on
> my machine and have been using it since.  Maybe your email client added
> some noise?  There’s an added semicolon on the mailing list archives
> after URLs, but that’s not in my outgoing email.

You're right. I had copied your patch from the archives because I was
not subscribed when you sent it originally.

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

* Re: [PATCH] Add Pure Data.
  2015-08-19  1:31 ` 宋文武
@ 2015-08-19  2:23   ` Leo Famulari
  0 siblings, 0 replies; 9+ messages in thread
From: Leo Famulari @ 2015-08-19  2:23 UTC (permalink / raw)
  To: 宋文武; +Cc: guix-devel

On Wed, Aug 19, 2015 at 09:31:05AM +0800, 宋文武 wrote:
> I just push a commit to build tk with xft support, which should give Pd
> better fonts.  Please check :-)
 This does it! It still can't find Deja Vu Sans Mono but the fonts are
 readable now. Thanks!

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

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

Ricardo Wurmus <rekado@elephly.net> skribis:

> 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.

[...]

> +    (synopsis "Visual programming language")

Maybe add “for artistic performances”?

Otherwise LGTM, thanks!

Ludo’.

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

* Re: [PATCH] Add Pure Data.
  2015-08-25 13:35 ` Ludovic Courtès
@ 2015-08-25 17:09   ` Ricardo Wurmus
  0 siblings, 0 replies; 9+ messages in thread
From: Ricardo Wurmus @ 2015-08-25 17:09 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

>> 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.
>
> [...]
>
>> +    (synopsis "Visual programming language")
>
> Maybe add “for artistic performances”?

Pushed with this change.  Thanks for the review!

~~ Ricardo

^ permalink raw reply	[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).