Subject: [PATCH]: gnu: Add libpd.
From: [email-masked] (宋文武)
To: [email-masked]
Date: Mon, 08 Oct 2018 21:51:37 +0800
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello, the follow patch add libpd, which strips audio driver parts from
pd (Pure Data) to make it as an embeddable C library:

From c699c159587934ca36507e5edabd284164a2e850 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <[email-masked]>
Date: Mon, 8 Oct 2018 21:42:28 +0800
Subject: [PATCH] gnu: Add libpd.

* gnu/packages/music.scm (libpd): New variable.
---
 gnu/packages/music.scm | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 3163e6a8f..69a2ae2fc 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -1777,6 +1777,42 @@ programming methods as well as for realizing complex systems for large-scale
 projects.")
     (license license:bsd-3)))
 
+(define-public libpd
+  (package
+    (name "libpd")
+    (version "0.11.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/libpd/libpd.git")
+                    (commit version)
+                    (recursive? #t)))   ; for the 'pure-data' submodule
+              (file-name (string-append name "-" version "-checkout"))
+              (sha256
+               (base32
+                "1bcg1d9iyf9n37hwwphmih0c8rd1xcqykil5z1cax6xfs76552nk"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:tests? #f                      ; no tests
+       #:make-flags '("CC=gcc")
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)            ; no configure script
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (invoke "make" "install"
+                       (string-append "prefix=" out)
+                       ;; XXX: Fix the last 2 lines of 'install' target.
+                       "LIBPD_IMPLIB=NO"
+                       "LIBPD_DEF=NO")))))))
+    (home-page "http://libpd.cc/")
+    (synopsis "Pure Data as an embeddable audio synthesis library")
+    (description
+     "Libpd embedding Pure Data as a DSP library, its main purpose
+is to liberate raw audio rendering from audio drivers and MIDI drivers.")
+    (license license:bsd-3)))
+
 (define-public portmidi
   (package
     (name "portmidi")
-- 
2.19.0