1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-20 20:09:11 +00:00

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
This commit is contained in:
Kris Kennaway 2002-05-25 11:48:29 +00:00
parent 8bab117baa
commit 280725774f
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=59977
13 changed files with 263 additions and 0 deletions

View File

@ -169,6 +169,7 @@
SUBDIR += p5-Shout
SUBDIR += p5-Xmms
SUBDIR += p5-tagged
SUBDIR += pd
SUBDIR += pimp3
SUBDIR += play
SUBDIR += playmidi

88
audio/pd/Makefile Normal file
View File

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

1
audio/pd/distinfo Normal file
View File

@ -0,0 +1 @@
MD5 (pd-0.35-test23.linux.tar.gz) = 99c240b5dd0680f92f873fb7785b3965

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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";

View File

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

1
audio/pd/pkg-comment Normal file
View File

@ -0,0 +1 @@
Pure Data, a MIDI-capable real-time audio processor/synthesizer

13
audio/pd/pkg-descr Normal file
View File

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