aboutsummaryrefslogtreecommitdiffstats
path: root/audio/pd
diff options
context:
space:
mode:
authorkris <kris@FreeBSD.org>2002-05-25 19:48:29 +0800
committerkris <kris@FreeBSD.org>2002-05-25 19:48:29 +0800
commita3a924c467df80023191b625e4a1a94df9961f27 (patch)
tree231f60d81249192a34e736578cf82260a1937825 /audio/pd
parent0df058a020026dd5c732804764f72e2313694efd (diff)
downloadfreebsd-ports-gnome-a3a924c467df80023191b625e4a1a94df9961f27.tar.gz
freebsd-ports-gnome-a3a924c467df80023191b625e4a1a94df9961f27.tar.zst
freebsd-ports-gnome-a3a924c467df80023191b625e4a1a94df9961f27.zip
Add pd-0.35.23
Pd is a real-time graphical programming environment for audio and graphical processing. It resembles the Max/MSP system but is much simpler and more portable; also Pd has two features not (yet) showing up in Max/MSP: first, via Mark Dank's GEM package, Pd can be used for simultaneous computer animation and computer audio. Second, an experimental facility is provided for defining and accessing data structures. Submitted by: trevor
Diffstat (limited to 'audio/pd')
-rw-r--r--audio/pd/Makefile88
-rw-r--r--audio/pd/distinfo1
-rw-r--r--audio/pd/files/patch-extra_fiddle~_fiddle~.c13
-rw-r--r--audio/pd/files/patch-extra_paf~_paf~.c23
-rw-r--r--audio/pd/files/patch-src_configure19
-rw-r--r--audio/pd/files/patch-src_d_array.c22
-rw-r--r--audio/pd/files/patch-src_d_osc.c21
-rw-r--r--audio/pd/files/patch-src_s_freebsd.c30
-rw-r--r--audio/pd/files/patch-src_s_loader.c12
-rw-r--r--audio/pd/files/patch-src_x_misc.c19
-rw-r--r--audio/pd/pkg-comment1
-rw-r--r--audio/pd/pkg-descr13
12 files changed, 262 insertions, 0 deletions
diff --git a/audio/pd/Makefile b/audio/pd/Makefile
new file mode 100644
index 000000000000..572aa5eb87dc
--- /dev/null
+++ b/audio/pd/Makefile
@@ -0,0 +1,88 @@
+# New ports collection makefile for: pd
+# Date created: 2002-05-24
+# Whom: trevor
+#
+# $FreeBSD$
+#
+
+PORTNAME= pd
+PORTVERSION= 0.35.23
+CATEGORIES= audio
+MASTER_SITES= http://www-crca.ucsd.edu/~msp/Software/
+DISTNAME= pd-0.35-test23.linux
+
+MAINTAINER= trevor@FreeBSD.org
+
+LIB_DEPENDS= tcl83:${PORTSDIR}/lang/tcl83 \
+ tk83:${PORTSDIR}/x11-toolkits/tk83
+
+GNU_CONFIGURE= yes
+CONFIGURE_ENV= CFLAGS="${CFLAGS} ${PTHREAD_CFLAGS}" \
+ LIBS="${PTHREAD_LIBS} -L${LOCALBASE}/lib -ltk83 -ltcl83"
+MAKEFILE= makefile
+MAN1= pd.1 pdreceive.1 pdsend.1
+PATCH_WRKSRC= ${WRKSRC}/..
+PLIST= ${WRKDIR}/pkg-plist
+USE_GMAKE= yes
+USE_X_PREFIX= yes
+WRKSRC= ${WRKDIR}/pd-0.35-test23/src
+
+pre-patch:
+ ${CP} ${WRKSRC}/s_linux.c ${WRKSRC}/s_freebsd.c
+
+post-patch:
+ ${FIND} ${WRKDIR} -type f -name '*.c' -exec ${PERL} -pi -e \
+ "s:malloc.h:stdlib.h:g" {} \;
+
+pre-configure:
+ ${CHMOD} +x ${WRKSRC}/${CONFIGURE_SCRIPT}
+
+post-configure:
+ ${PERL} -pi -e \
+"s:^INCLUDE = :INCLUDE = -I${LOCALBASE}/include/tk8.3 -I${LOCALBASE}/include/tcl8.3 -I${X11BASE}/include :g; s:^LIB =:LIB =${PTHREAD_LIBS}:g; s:^CFLAGS =:CFLAGS+=${PTHREAD_CFLAGS}:g" \
+ ${WRKSRC}/makefile
+
+pre-install:
+ ${RM} -f ${PLIST}
+.for ii in pd pd-gui pd-watchdog pd.tk pdreceive pdsend
+ ${ECHO_CMD} bin/${ii} >> ${PLIST}
+.endfor
+ ${ECHO_CMD} include/m_pd.h >> ${PLIST}
+.if !defined(NOPORTDOCS)
+.for ii in LICENSE README
+ ${ECHO_CMD} share/doc/pd/${ii}.txt >> ${PLIST}
+.endfor
+ cd ${WRKSRC}/../doc && ${FIND} -s . -type f | \
+ ${CUT} -c3-999 | \
+ ${SED} -e 's:^:share/doc/pd/:' >> ${PLIST} \
+ && ${FIND} -d . -type d | \
+ ${CUT} -c3-999 | \
+ ${SED} -e 's:^:@dirrm share/doc/pd/:' >> ${PLIST}
+ cd ${WRKSRC}/../extra && ${FIND} -s . -type f -or -type l | \
+ ${CUT} -c3-999 | \
+ ${SED} -e 's:^:share/pd/:' >> ${PLIST} \
+ && ${FIND} -d . -type d | \
+ ${CUT} -c3-999 | \
+ ${SED} -e 's:^:@dirrm share/pd/:' >> ${PLIST}
+.endif
+
+do-install:
+.for ii in pd pd-gui pd-watchdog pdreceive pdsend
+ ${INSTALL_PROGRAM} ${WRKSRC}/../bin/${ii} ${PREFIX}/bin
+.endfor
+ ${INSTALL_DATA} ${WRKSRC}/../bin/pd.tk ${PREFIX}/bin
+ ${INSTALL_DATA} ${WRKSRC}/m_pd.h ${PREFIX}/include
+.if !defined(NOPORTDOCS)
+ ${MKDIR} ${DOCSDIR}
+.for ii in LICENSE README
+ ${INSTALL_DATA} ${WRKSRC}/../${ii}.txt ${DOCSDIR}
+.endfor
+ cd ${WRKSRC}/../doc && pax -r -w * ${DOCSDIR}
+.endif
+.for ii in pd pdreceive pdsend
+ ${INSTALL_MAN} ${WRKSRC}/../man/${ii}.1 ${PREFIX}/man/man1/
+.endfor
+ ${MKDIR} ${DATADIR}
+ cd ${WRKSRC}/../extra && pax -r -w * ${DATADIR}
+
+.include <bsd.port.mk>
diff --git a/audio/pd/distinfo b/audio/pd/distinfo
new file mode 100644
index 000000000000..fc506caeb54b
--- /dev/null
+++ b/audio/pd/distinfo
@@ -0,0 +1 @@
+MD5 (pd-0.35-test23.linux.tar.gz) = 99c240b5dd0680f92f873fb7785b3965
diff --git a/audio/pd/files/patch-extra_fiddle~_fiddle~.c b/audio/pd/files/patch-extra_fiddle~_fiddle~.c
new file mode 100644
index 000000000000..6158d457d4eb
--- /dev/null
+++ b/audio/pd/files/patch-extra_fiddle~_fiddle~.c
@@ -0,0 +1,13 @@
+--- extra/fiddle~/fiddle~.c.orig Mon Apr 15 15:52:45 2002
++++ extra/fiddle~/fiddle~.c Fri May 24 23:12:27 2002
+@@ -40,9 +40,7 @@ This file is downloadable from http://ww
+ #define fexp exp
+ #define fsqrt sqrt
+ #pragma warning (disable: 4305 4244)
+-#endif
+-
+-#if (defined(__linux__) || defined(MACOSX))
++#else
+ #define flog log
+ #define fexp exp
+ #define fsqrt sqrt
diff --git a/audio/pd/files/patch-extra_paf~_paf~.c b/audio/pd/files/patch-extra_paf~_paf~.c
new file mode 100644
index 000000000000..901afc5f68aa
--- /dev/null
+++ b/audio/pd/files/patch-extra_paf~_paf~.c
@@ -0,0 +1,23 @@
+--- extra/paf~/paf~.c.orig Wed Mar 6 18:58:30 2002
++++ extra/paf~/paf~.c Fri May 24 23:15:15 2002
+@@ -161,6 +161,20 @@ static void linenv_set(t_linenv *l, floa
+ #define DONE_MACHINE_TYPE
+ #endif /* MACOSX */
+
++#ifdef __FreeBSD__
++#include <machine/endian.h>
++#if BYTE_ORDER == LITTLE_ENDIAN
++#define HIOFFSET 1
++#define LOWOFFSET 0
++#else
++#define HIOFFSET 0 /* word offset to find MSB */
++#define LOWOFFSET 1 /* word offset to find LSB */
++#endif /* BYTE_ORDER */
++#include <sys/types.h>
++#define int32 int32_t
++#define DONE_MACHINE_TYPE
++#endif /* __FreeBSD__ */
++
+ #ifdef __linux__
+
+ #include <endian.h>
diff --git a/audio/pd/files/patch-src_configure b/audio/pd/files/patch-src_configure
new file mode 100644
index 000000000000..90a50b9feb35
--- /dev/null
+++ b/audio/pd/files/patch-src_configure
@@ -0,0 +1,19 @@
+--- src/configure.orig Thu Apr 25 19:16:29 2002
++++ src/configure Fri May 24 23:12:20 2002
+@@ -2655,6 +2655,16 @@ fi
+
+
+
++if test `uname -s` = FreeBSD;
++then
++ LDFLAGS="-Wl,-export-dynamic"
++ EXT=pd_freebsd
++ MORECFLAGS=-DDL_OPEN
++ SYSSRC=s_freebsd.c
++ STRIPFLAG=-s
++ GUINAME="pd-gui"
++ OSNUMBER=0
++fi
+
+ if test `uname -s` = Linux;
+ then
diff --git a/audio/pd/files/patch-src_d_array.c b/audio/pd/files/patch-src_d_array.c
new file mode 100644
index 000000000000..2428de3d7a50
--- /dev/null
+++ b/audio/pd/files/patch-src_d_array.c
@@ -0,0 +1,22 @@
+--- src/d_array.c.orig Fri Nov 16 23:57:20 2001
++++ src/d_array.c Fri May 24 23:12:22 2002
+@@ -508,6 +508,19 @@ static void tabread4_tilde_setup(void)
+ #define LOWOFFSET 0
+ #define int32 long
+ #else
++#ifdef __FreeBSD__
++#include <machine/endian.h>
++#if BYTE_ORDER == LITTLE_ENDIAN
++#define HIOFFSET 1
++#define LOWOFFSET 0
++#else
++#define HIOFFSET 0 /* word offset to find MSB */
++#define LOWOFFSET 1 /* word offset to find LSB */
++#endif /* BYTE_ORDER */
++#include <sys/types.h>
++#define int32 int32_t
++#endif
++
+ #ifdef __linux__
+ #include <endian.h>
+ #if !defined(__BYTE_ORDER) || !defined(__LITTLE_ENDIAN)
diff --git a/audio/pd/files/patch-src_d_osc.c b/audio/pd/files/patch-src_d_osc.c
new file mode 100644
index 000000000000..1ff58bb0ffca
--- /dev/null
+++ b/audio/pd/files/patch-src_d_osc.c
@@ -0,0 +1,21 @@
+--- src/d_osc.c.orig Fri Nov 16 23:57:14 2001
++++ src/d_osc.c Fri May 24 23:12:26 2002
+@@ -24,6 +24,18 @@
+ #define LOWOFFSET 0
+ #define int32 long
+ #else
++#ifdef __FreeBSD__
++#include <machine/endian.h>
++#if BYTE_ORDER == LITTLE_ENDIAN
++#define HIOFFSET 1
++#define LOWOFFSET 0
++#else
++#define HIOFFSET 0 /* word offset to find MSB */
++#define LOWOFFSET 1 /* word offset to find LSB */
++#endif /* BYTE_ORDER */
++#include <sys/types.h>
++#define int32 int32_t
++#endif
+ #ifdef __linux__
+
+ #include <endian.h>
diff --git a/audio/pd/files/patch-src_s_freebsd.c b/audio/pd/files/patch-src_s_freebsd.c
new file mode 100644
index 000000000000..468fbb2d6903
--- /dev/null
+++ b/audio/pd/files/patch-src_s_freebsd.c
@@ -0,0 +1,30 @@
+--- src/s_freebsd.c.orig Fri May 24 23:12:24 2002
++++ src/s_freebsd.c Fri May 24 23:12:23 2002
+@@ -32,7 +32,7 @@
+ * 1311:forum::für::umläute:2001
+ */
+
+-#include <linux/soundcard.h>
++#include <sys/soundcard.h>
+
+ #if (defined(ALSA01) || defined(ALSA99))
+ #define ALSA
+@@ -865,7 +865,8 @@
+ }
+ else
+ {
+- wantformat = AFMT_S16_NE;
++/* FreeBSD's soundcard.h does not define AFMT_S16_NE */
++ wantformat = AFMT_S16_BE;
+ dev->d_bytespersamp = 2;
+ }
+ param = wantformat;
+@@ -2747,7 +2748,7 @@
+
+ /* use ctrlpanel to change, experiment, channels 1 */
+
+- orig = param = AFMT_S16_NE;
++ orig = param = AFMT_S16_BE;
+ if (ioctl(fd,SNDCTL_DSP_SETFMT,&param) == -1)
+ fprintf(stderr,"RME9652: Could not set DSP format\n");
+ else if( orig != param )
diff --git a/audio/pd/files/patch-src_s_loader.c b/audio/pd/files/patch-src_s_loader.c
new file mode 100644
index 000000000000..e41f26a7db2e
--- /dev/null
+++ b/audio/pd/files/patch-src_s_loader.c
@@ -0,0 +1,12 @@
+--- src/s_loader.c.orig Wed Mar 6 18:58:30 2002
++++ src/s_loader.c Fri May 24 23:12:25 2002
+@@ -23,6 +23,9 @@
+ typedef void (*t_xxx)(void);
+
+ static char sys_dllextent[] =
++#ifdef __FreeBSD__
++ ".pd_freebsd";
++#endif
+ #ifdef IRIX
+ #ifdef N32
+ ".pd_irix6";
diff --git a/audio/pd/files/patch-src_x_misc.c b/audio/pd/files/patch-src_x_misc.c
new file mode 100644
index 000000000000..49075dd72d5f
--- /dev/null
+++ b/audio/pd/files/patch-src_x_misc.c
@@ -0,0 +1,19 @@
+--- src/x_misc.c.orig Fri Nov 16 23:56:31 2001
++++ src/x_misc.c Fri May 24 23:12:26 2002
+@@ -10,6 +10,7 @@
+ #include <string.h>
+ #ifdef UNIX
+ #include <sys/types.h>
++#include <sys/time.h>
+ #include <sys/times.h>
+ #include <sys/param.h>
+ #endif
+@@ -18,7 +19,7 @@
+ #include <time.h>
+ #endif
+
+-#ifdef MACOSX
++#if defined (MACOSX) || defined (__FreeBSD__)
+ #define HZ CLK_TCK
+ #endif
+
diff --git a/audio/pd/pkg-comment b/audio/pd/pkg-comment
new file mode 100644
index 000000000000..3e008c05bcaa
--- /dev/null
+++ b/audio/pd/pkg-comment
@@ -0,0 +1 @@
+Pure Data, a MIDI-capable real-time audio processor/synthesizer
diff --git a/audio/pd/pkg-descr b/audio/pd/pkg-descr
new file mode 100644
index 000000000000..15ea5c428b9c
--- /dev/null
+++ b/audio/pd/pkg-descr
@@ -0,0 +1,13 @@
+from the documentation:
+
+ Pd is a real-time graphical programming environment for audio and
+ graphical processing. It resembles the Max/MSP system but is much
+ simpler and more portable; also Pd has two features not (yet) showing
+ up in Max/MSP: first, via Mark Dank's GEM package, Pd can be used
+ for simultaneous computer animation and computer audio. Second, an
+ experimental facility is provided for defining and accessing data
+ structures.
+
+WWW: http://www-crca.ucsd.edu/~msp/software.html
+
+Also see the unofficial Web site at http://pure-data.org/.