summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--audio/Makefile1
-rw-r--r--audio/libjackasyn/Makefile52
-rw-r--r--audio/libjackasyn/distinfo3
-rw-r--r--audio/libjackasyn/files/patch-Makefile.in38
-rw-r--r--audio/libjackasyn/files/patch-configure20
-rw-r--r--audio/libjackasyn/files/patch-libjackasyn.c22
-rw-r--r--audio/libjackasyn/files/patch-libjackoss.c26
-rw-r--r--audio/libjackasyn/files/patch-libjackoss.h23
-rw-r--r--audio/libjackasyn/files/pkg-message.in35
-rw-r--r--audio/libjackasyn/pkg-descr19
-rw-r--r--audio/libjackasyn/pkg-plist5
11 files changed, 244 insertions, 0 deletions
diff --git a/audio/Makefile b/audio/Makefile
index 892925e..9d9837a 100644
--- a/audio/Makefile
+++ b/audio/Makefile
@@ -285,6 +285,7 @@
SUBDIR += libcddb-doc
SUBDIR += libgpod
SUBDIR += libid3tag
+ SUBDIR += libjackasyn
SUBDIR += libmad
SUBDIR += libmikmod
SUBDIR += libmodplug
diff --git a/audio/libjackasyn/Makefile b/audio/libjackasyn/Makefile
new file mode 100644
index 0000000..68f56cb
--- /dev/null
+++ b/audio/libjackasyn/Makefile
@@ -0,0 +1,52 @@
+# New ports collection makefile for: libjackasyn
+# Date created: 2006-03-06
+# Whom: Jose Alonso Cardenas Marquez <acardenas@bsd.org.pe>
+#
+# $FreeBSD$
+#
+
+PORTNAME= libjackasyn
+PORTVERSION= 0.12
+CATEGORIES= audio devel
+MASTER_SITES= http://gige.xdv.org/soft/libjackasyn/download/
+
+MAINTAINER= acardenas@bsd.org.pe
+COMMENT= Allow use any sound program for the OSS system as a JACK client
+
+LIB_DEPENDS= jack.0:${PORTSDIR}/audio/jack \
+ samplerate.1:${PORTSDIR}/audio/libsamplerate
+
+USE_GMAKE= yes
+GNU_CONFIGURE= yes
+INSTALLS_SHLIB= yes
+
+LDFLAGS+= -L${LOCALBASE}/lib ${PTHREAD_LIBS}
+CXXFLAGS+= -I${LOCALBASE}/include
+
+CONFIGURE_ENV+= CC="${CC}" LDFLAGS="${LDFLAGS}"
+MAKE_ENV= LDFLAGS="${LDFLAGS}" CPPFLAGS="${CFLAGS}"
+
+CONFIGURE_ARGS= --prefix=${PREFIX}
+CONFIGURE_TARGET= --build=${MACHINE_ARCH}-portbld-freebsd${OSREL}
+CONFIGURE_ENV+= CC="${CC}" CXX="${CXX}" LDFLAGS="${LDFLAGS}"
+MAKE_ENV= LDFLAGS="${LDFLAGS}" CPPFLAGS="${CXXFLAGS}"
+
+SUB_FILES= pkg-message
+MAN1= jacklaunch.1
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|%%PTHREAD%%|${PTHREAD_LIBS}|g' ${WRKSRC}/${CONFIGURE_SCRIPT}
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/libjackasyn.so.${PORTVERSION} ${PREFIX}/lib/libjackasyn.so.0
+ ${INSTALL_PROGRAM} ${WRKSRC}/libjackasyn.a ${PREFIX}/lib
+ ${INSTALL_SCRIPT} ${WRKSRC}/jacklaunch ${PREFIX}/bin
+ ${INSTALL_DATA} ${WRKSRC}/libjackoss.h ${PREFIX}/include
+
+post-install:
+ @cd ${PREFIX}/lib && \
+ ${LN} -s libjackasyn.so.0 libjackasyn.so
+ ${INSTALL_MAN} ${WRKSRC}/${MAN1} ${PREFIX}/man/man1/
+ @${CAT} ${PKGMESSAGE}
+
+.include <bsd.port.mk>
diff --git a/audio/libjackasyn/distinfo b/audio/libjackasyn/distinfo
new file mode 100644
index 0000000..18d00b4
--- /dev/null
+++ b/audio/libjackasyn/distinfo
@@ -0,0 +1,3 @@
+MD5 (libjackasyn-0.12.tar.gz) = fae5e0315668798f009b91ca6d34d29e
+SHA256 (libjackasyn-0.12.tar.gz) = 39f64bf5297549a816692e26342003ee0cd4e54fe5bfe1056d92b8dcc79d46f1
+MD5 (libjackasyn-0.12.tar.gz) = 73802
diff --git a/audio/libjackasyn/files/patch-Makefile.in b/audio/libjackasyn/files/patch-Makefile.in
new file mode 100644
index 0000000..19dfe61
--- /dev/null
+++ b/audio/libjackasyn/files/patch-Makefile.in
@@ -0,0 +1,38 @@
+--- Makefile.in Mon Mar 6 07:40:18 2006
++++ Makefile.in Tue Mar 28 08:19:51 2006
+@@ -8,8 +8,9 @@
+ SRC_FILES = libjackasyn.c libjackoss.c clientfuncs.c
+ OBJ_FILES = $(SRC_FILES:.c=.o) libjackoss_pl.o
+ HEADERS = libjackasyn.h libjackoss.h
+-CFLAGS = -O2 -Wall -I. -fPIC -rdynamic -DMAJOR=$(MAJOR) -DMINOR=$(MINOR) @DEBUG@
+-LIBS = -lc @LIBS@
++CFLAGS = -Wall ${CPPFLAGS} -I. -fPIC -rdynamic -DMAJOR=$(MAJOR) -DMINOR=$(MINOR) @DEBUG@
++LIBS = -lc @LIBS@ ${LDFLAGS}
++CC? = ${CC}
+
+
+ prefix = @prefix@
+@@ -22,7 +23,7 @@
+ ar cr libjackasyn.a *.o
+
+ shared:
+- gcc -shared -Wl,-soname=libjackasyn.so.0 -o libjackasyn.so.$(VERSION) *.o $(LIBS)
++ ${CC} -shared -Wl,-soname=libjackasyn.so.0 -o libjackasyn.so.$(VERSION) *.o $(LIBS)
+
+ install:
+ -rm $(prefix)/lib/libjackasyn.so*
+@@ -34,7 +35,7 @@
+ install -m 755 jacklaunch $(prefix)/bin
+
+ test:
+- gcc -o test test.c libjackasyn.a -ljack -ldl -lm
++ ${CC} -o test test.c libjackasyn.a -ljack -ldl -lm
+
+ clean:
+ -rm *~ $(OBJ_FILES)
+@@ -55,4 +56,4 @@
+ $(OBJ_FILES) : $(HEADERS)
+
+ libjackoss_pl.o: libjackoss.c
+- gcc -c $(CFLAGS) -DLD_PRELOAD -o $@ $<
++ ${CC} -c $(CFLAGS) -DLD_PRELOAD -o $@ $<
diff --git a/audio/libjackasyn/files/patch-configure b/audio/libjackasyn/files/patch-configure
new file mode 100644
index 0000000..807f1cc
--- /dev/null
+++ b/audio/libjackasyn/files/patch-configure
@@ -0,0 +1,20 @@
+--- configure Tue Aug 24 08:42:36 2004
++++ configure Mon Mar 6 11:08:00 2006
+@@ -2506,7 +2506,7 @@
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-ljack $LIBS"
++LIBS="-ljack %%PTHREAD%% $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+@@ -2562,7 +2562,7 @@
+ #define HAVE_LIBJACK 1
+ _ACEOF
+
+- LIBS="-ljack $LIBS"
++ LIBS="-ljack %%PTHREAD%% $LIBS"
+
+ else
+ echo please install jack jackit.sf.net;exit
diff --git a/audio/libjackasyn/files/patch-libjackasyn.c b/audio/libjackasyn/files/patch-libjackasyn.c
new file mode 100644
index 0000000..98bf976
--- /dev/null
+++ b/audio/libjackasyn/files/patch-libjackasyn.c
@@ -0,0 +1,22 @@
+--- libjackasyn.c Tue Aug 24 08:29:32 2004
++++ libjackasyn.c Thu Apr 6 12:09:57 2006
+@@ -47,9 +47,9 @@
+ fprintf(stderr,"libjackasyn: cannot get application name\n");
+ return NULL;
+ }
+- n = namefield + strlen("Name: ");
++ n = namefield;
+ len=0;
+- while (*(n+len) != '\n' && len < 255) len++;
++ while (*(n+len) != ' ' && len < 255) len++;
+ if (len >= 255) {
+ fprintf(stderr,"libjackasyn: cannot get process name\n");
+ return NULL;
+@@ -58,7 +58,7 @@
+ pname = malloc(len+2);
+ n[len]='\0';
+ sprintf(pname,"%s_%d",n,num);
+-
++
+ return pname;
+ }
diff --git a/audio/libjackasyn/files/patch-libjackoss.c b/audio/libjackasyn/files/patch-libjackoss.c
new file mode 100644
index 0000000..133a7ca
--- /dev/null
+++ b/audio/libjackasyn/files/patch-libjackoss.c
@@ -0,0 +1,26 @@
+--- libjackoss.c Mon Mar 6 07:19:23 2006
++++ libjackoss.c Mon Mar 6 12:25:46 2006
+@@ -117,7 +117,7 @@
+ }
+
+ va_start (args, flags);
+- mode = va_arg (args, mode_t);
++ mode = va_arg (args, int);
+ va_end (args);
+
+ if ((strncmp(name,"/dev/dsp",8) && strncmp(name,"/dev/audio",8))
+@@ -367,10 +367,10 @@
+ UNIMPLEMENTED( SNDCTL_DSP_MAPOUTBUF);
+ UNIMPLEMENTED( SNDCTL_DSP_SETSYNCRO);
+ UNIMPLEMENTED( SNDCTL_DSP_SETDUPLEX);
+- UNIMPLEMENTED( SNDCTL_DSP_GETCHANNELMASK);
+- UNIMPLEMENTED( SNDCTL_DSP_BIND_CHANNEL);
+- UNIMPLEMENTED( SNDCTL_DSP_SETSPDIF);
+- UNIMPLEMENTED( SNDCTL_DSP_GETSPDIF);
++// UNIMPLEMENTED( SNDCTL_DSP_GETCHANNELMASK);
++// UNIMPLEMENTED( SNDCTL_DSP_BIND_CHANNEL);
++// UNIMPLEMENTED( SNDCTL_DSP_SETSPDIF);
++// UNIMPLEMENTED( SNDCTL_DSP_GETSPDIF);
+
+ default:
+ fprintf(stderr,"unknown ioctl\n");
diff --git a/audio/libjackasyn/files/patch-libjackoss.h b/audio/libjackasyn/files/patch-libjackoss.h
new file mode 100644
index 0000000..c5e23fb
--- /dev/null
+++ b/audio/libjackasyn/files/patch-libjackoss.h
@@ -0,0 +1,23 @@
+--- libjackoss.h Mon Mar 6 07:14:48 2006
++++ libjackoss.h Thu Mar 23 22:22:42 2006
+@@ -2,6 +2,11 @@
+ #define __LIBJACKOSS_H__
+ #include <sys/types.h>
+ #include <sys/poll.h>
++#include <sys/param.h>
++
++#if __FreeBSD_version <= 492100
++typedef unsigned int nfds_t;
++#endif
+
+ #ifdef __cplusplus
+ extern "C" {
+@@ -15,7 +20,7 @@
+ int jackoss_select(int n, fd_set *readfds,
+ fd_set *writefds,
+ fd_set *exceptfds, struct timeval *timeout);
+- int jackoss_poll (struct pollfd *__fds, nfds_t __nfds, int __timeout);
++ int jackoss_poll(struct pollfd *__fds, nfds_t __nfds, int __timeout);
+ /* these are mainly need for sox */
+
+ FILE * jackoss_fopen (const char *pathname, const char *mode);
diff --git a/audio/libjackasyn/files/pkg-message.in b/audio/libjackasyn/files/pkg-message.in
new file mode 100644
index 0000000..d3c5b42
--- /dev/null
+++ b/audio/libjackasyn/files/pkg-message.in
@@ -0,0 +1,35 @@
+###############################################################################
+
+1) To use libjackasyn as a jack's client, you need to set LD_PRELOAD.
+
+ csh:
+ setenv LD_PRELOAD %%PREFIX%%/lib/libjackasyn.so
+
+ bash:
+ export LD_PRELOAD=%%PREFIX%%/lib/libjackasyn.so
+
+ And start jackd (only works using root account)
+
+ # jackd -d oss
+
+2) You need procfs mounted.
+
+ # mount_procfs procfs /proc
+
+ Also you could edit your /etc/fstab file and add this line
+
+ proc /proc procfs rw 0 0
+
+ This to load procfs on boot time, or typing
+
+ # mount /proc
+
+3) Run your program (using root account, jackd and xmms must have the same uid).
+
+ Example: xmms + xmms-jackasyn
+
+ # xmms
+
+ If jackd isn't running, the libjackasyn will use normal oss device
+
+##############################################################################
diff --git a/audio/libjackasyn/pkg-descr b/audio/libjackasyn/pkg-descr
new file mode 100644
index 0000000..8a9924b
--- /dev/null
+++ b/audio/libjackasyn/pkg-descr
@@ -0,0 +1,19 @@
+libjackasyn is a library that allows you to use programs written for the OSS
+sound API with the JACK audio server (jackit.sf.net). libjackasyn is a library
+that can be used for two purposes.
+
+First it can be loaded via the LD_PRELOAD variable, turning OSS applications
+automatically into JACK-aware applications.
+
+Second, it can be used to link against the program during build time, making it
+trivial to turn an OSS aware sound application into a JACK aware sound
+application in a short time.
+
+libjackasyn got its name from the asynchronous manner in which it communicates
+with the JACK server, which means by using libjackasyn you will introduce an
+additional delay exactly the size of one JACK audiobuffer (1024 samples or 44
+ms with the JACK default settings). This delay can be reduced by reducing the
+JACK buffersize. It should not matter for sound generating applications, but
+it might introduce phasing effects when doing sound processing.
+
+WWW: http://gige.xdv.org/libjackasyn/
diff --git a/audio/libjackasyn/pkg-plist b/audio/libjackasyn/pkg-plist
new file mode 100644
index 0000000..c84f76b
--- /dev/null
+++ b/audio/libjackasyn/pkg-plist
@@ -0,0 +1,5 @@
+bin/jacklaunch
+include/libjackoss.h
+lib/libjackasyn.a
+lib/libjackasyn.so
+lib/libjackasyn.so.0
OpenPOWER on IntegriCloud