unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Leo Famulari <leo@famulari.name>
To: guix-devel@gnu.org
Subject: Re: [PATCH] Add Pure Data.
Date: Tue, 18 Aug 2015 13:24:52 -0400	[thread overview]
Message-ID: <1439918692.621363.359467313.49C96E5C@webmail.messagingengine.com> (raw)

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

             reply	other threads:[~2015-08-18 17:25 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-18 17:24 Leo Famulari [this message]
2015-08-18 19:13 ` [PATCH] Add Pure Data 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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1439918692.621363.359467313.49C96E5C@webmail.messagingengine.com \
    --to=leo@famulari.name \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).