diff options
author | Joe Marcus Clarke <marcus@FreeBSD.org> | 2004-10-31 22:53:01 +0000 |
---|---|---|
committer | Joe Marcus Clarke <marcus@FreeBSD.org> | 2004-10-31 22:53:01 +0000 |
commit | c5915eac726dd998d347fd988465742a82ec83e9 (patch) | |
tree | 7a389c374e6486989b4aaeaa13a8a2c980b3d821 /audio/polypaudio | |
parent | 55218f462e6656578e7d2335d1f625e1e4a9a3ab (diff) | |
download | ports-c5915eac726dd998d347fd988465742a82ec83e9.tar.gz ports-c5915eac726dd998d347fd988465742a82ec83e9.zip |
Notes
Diffstat (limited to 'audio/polypaudio')
-rw-r--r-- | audio/polypaudio/Makefile | 57 | ||||
-rw-r--r-- | audio/polypaudio/distinfo | 2 | ||||
-rw-r--r-- | audio/polypaudio/files/patch-config.h.in | 15 | ||||
-rw-r--r-- | audio/polypaudio/files/patch-configure | 11 | ||||
-rw-r--r-- | audio/polypaudio/files/patch-polyp_Makefile.in | 20 | ||||
-rw-r--r-- | audio/polypaudio/files/patch-polyp_default.pa.in | 20 | ||||
-rw-r--r-- | audio/polypaudio/files/patch-polyp_packet.h | 17 | ||||
-rw-r--r-- | audio/polypaudio/files/patch-polyp_polyplib-context.c | 10 | ||||
-rw-r--r-- | audio/polypaudio/files/patch-polyp_socket-util.c | 58 | ||||
-rw-r--r-- | audio/polypaudio/files/patch-polyp_util.c | 56 | ||||
-rw-r--r-- | audio/polypaudio/pkg-descr | 21 | ||||
-rw-r--r-- | audio/polypaudio/pkg-install | 22 | ||||
-rw-r--r-- | audio/polypaudio/pkg-plist | 112 |
13 files changed, 421 insertions, 0 deletions
diff --git a/audio/polypaudio/Makefile b/audio/polypaudio/Makefile new file mode 100644 index 000000000000..b2e56b528982 --- /dev/null +++ b/audio/polypaudio/Makefile @@ -0,0 +1,57 @@ +# New ports collection makefile for: polypaudio +# Date created: 29 October 2004 +# Whom: Joe Marcus Clarke <marcus@FreeBSD.org> +# +# $FreeBSD$ +# + +PORTNAME= polypaudio +PORTVERSION= 0.6 +CATEGORIES= audio +MASTER_SITES= http://0pointer.de/lennart/projects/polypaudio/ + +MAINTAINER= gnome@FreeBSD.org +COMMENT= Sound server for UNIX + +BUILD_DEPENDS= lynx:${PORTSDIR}/www/lynx +LIB_DEPENDS= samplerate.1:${PORTSDIR}/audio/libsamplerate + +USE_GNOME= gnometarget gnomehack glib20 +WANT_GNOME= yes +USE_XLIB= yes +USE_REINPLACE= yes +INSTALLS_SHLIB= yes +USE_LIBTOOL_VER=15 +USE_GMAKE= yes +USE_GETOPT_LONG=yes +CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \ + LDFLAGS="-L${LOCALBASE}/lib" \ + LIBS="-lm" + +PLIST_SUB= VERSION=${PORTVERSION} + +.include <bsd.port.pre.mk> + +.if ${HAVE_GNOME:Mglib12}!="" +USE_GNOME+= glib12 +PLIST_SUB+= GLIB12="" +.else +PLIST_SUB+= GLIB12="@comment " +.endif + +post-patch: + @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ + ${WRKSRC}/polyp/default.pa.in + @${REINPLACE_CMD} -e 's|seq|jot|' \ + ${WRKSRC}/polyp/esdcompat.sh.in + +post-install: +.for ii in default.pa daemon.conf client.conf + ${INSTALL_DATA} ${WRKSRC}/polyp/${ii} \ + ${PREFIX}/etc/polypaudio/${ii}-dist +.endfor +.if !defined(PACKAGE_BUILDING) + @${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL +.endif + +.include <bsd.port.post.mk> diff --git a/audio/polypaudio/distinfo b/audio/polypaudio/distinfo new file mode 100644 index 000000000000..23cf8dfd6b32 --- /dev/null +++ b/audio/polypaudio/distinfo @@ -0,0 +1,2 @@ +MD5 (polypaudio-0.6.tar.gz) = 872fef6a0b92de0ba53f874c4e0318ec +SIZE (polypaudio-0.6.tar.gz) = 458557 diff --git a/audio/polypaudio/files/patch-config.h.in b/audio/polypaudio/files/patch-config.h.in new file mode 100644 index 000000000000..a656b2e7a76f --- /dev/null +++ b/audio/polypaudio/files/patch-config.h.in @@ -0,0 +1,15 @@ +--- config.h.in.orig Sat Oct 30 01:24:45 2004 ++++ config.h.in Sat Oct 30 01:25:49 2004 +@@ -68,6 +68,12 @@ + /* Define to 1 if you have the `munmap' function. */ + #undef HAVE_MUNMAP + ++/* Define to 1 if you have the `getgrgid_r' function. */ ++#undef HAVE_GETGRGID_R ++ ++/* Define to 1 if you have the `getpwuid_r' function. */ ++#undef HAVE_GETPWUID_R ++ + /* Define to 1 if you have the <netdb.h> header file. */ + #undef HAVE_NETDB_H + diff --git a/audio/polypaudio/files/patch-configure b/audio/polypaudio/files/patch-configure new file mode 100644 index 000000000000..7221d94bfb33 --- /dev/null +++ b/audio/polypaudio/files/patch-configure @@ -0,0 +1,11 @@ +--- configure.orig Sat Oct 30 01:23:23 2004 ++++ configure Sat Oct 30 01:24:26 2004 +@@ -12745,7 +12745,7 @@ + + + +-for ac_func in gethostname gettimeofday memchr memmove memset mkdir mkfifo munmap rmdir socket strcspn strerror strrchr strspn strstr strtol strtoul pow strcasecmp putenv strchr strpbrk strdup ++for ac_func in gethostname gettimeofday memchr memmove memset mkdir mkfifo munmap rmdir socket strcspn strerror strrchr strspn strstr strtol strtoul pow strcasecmp putenv strchr strpbrk strdup getgrgid_r getpwuid_r + do + as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` + echo "$as_me:$LINENO: checking for $ac_func" >&5 diff --git a/audio/polypaudio/files/patch-polyp_Makefile.in b/audio/polypaudio/files/patch-polyp_Makefile.in new file mode 100644 index 000000000000..956f2ca6e167 --- /dev/null +++ b/audio/polypaudio/files/patch-polyp_Makefile.in @@ -0,0 +1,20 @@ +--- polyp/Makefile.in.orig Fri Oct 29 17:20:45 2004 ++++ polyp/Makefile.in Fri Oct 29 17:23:24 2004 +@@ -5811,7 +5811,7 @@ + ### Some minor stuff + + suid: polypaudio +- chown root:root $< ++ chown root:wheel $< + chmod u+s $< + + esdcompat.sh: esdcompat.sh.in Makefile +@@ -5830,7 +5830,7 @@ + -e 's,@DEFAULT_CONFIG_FILE\@,$(polypconfdir)/daemon.conf,g' < $< > $@ + + install-exec-hook: +- chown root:root $(DESTDIR)$(bindir)/polypaudio ++ chown root:wheel $(DESTDIR)$(bindir)/polypaudio + chmod u+s $(DESTDIR)$(bindir)/polypaudio + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/audio/polypaudio/files/patch-polyp_default.pa.in b/audio/polypaudio/files/patch-polyp_default.pa.in new file mode 100644 index 000000000000..b3d7b32b63f9 --- /dev/null +++ b/audio/polypaudio/files/patch-polyp_default.pa.in @@ -0,0 +1,20 @@ +--- polyp/default.pa.in.orig Fri Oct 29 22:16:24 2004 ++++ polyp/default.pa.in Fri Oct 29 22:17:43 2004 +@@ -21,7 +21,7 @@ + # Load audio drivers statically + + #load-module module-alsa-sink +-load-module module-alsa-source device=plughw:1,0 ++#load-module module-alsa-source device=plughw:1,0 + load-module module-oss device="/dev/dsp" sink_name=output source_name=input record=0 + #load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input + load-module module-null-sink +@@ -53,7 +53,7 @@ + .nofail + + # Load something to the sample cache +-load-sample x11-bell /usr/share/sounds/KDE_Notify.wav ++load-sample x11-bell %%LOCALBASE%%/share/sounds/KDE_Notify.wav + + # Load X11 bell module + load-module module-x11-bell sample=x11-bell sink=output diff --git a/audio/polypaudio/files/patch-polyp_packet.h b/audio/polypaudio/files/patch-polyp_packet.h new file mode 100644 index 000000000000..b7bfa48dfb5d --- /dev/null +++ b/audio/polypaudio/files/patch-polyp_packet.h @@ -0,0 +1,17 @@ +--- polyp/packet.h.orig Fri Oct 29 23:30:28 2004 ++++ polyp/packet.h Fri Oct 29 23:31:05 2004 +@@ -22,8 +22,14 @@ + USA. + ***/ + ++#ifdef HAVE_CONFIG_H ++#include <config.h> ++#endif ++ + #include <sys/types.h> ++#ifdef HAVE_STDINT_H + #include <stdint.h> ++#endif + + struct pa_packet { + enum { PA_PACKET_APPENDED, PA_PACKET_DYNAMIC } type; diff --git a/audio/polypaudio/files/patch-polyp_polyplib-context.c b/audio/polypaudio/files/patch-polyp_polyplib-context.c new file mode 100644 index 000000000000..ce3fbe2779be --- /dev/null +++ b/audio/polypaudio/files/patch-polyp_polyplib-context.c @@ -0,0 +1,10 @@ +--- polyp/polyplib-context.c.orig Fri Oct 29 17:05:24 2004 ++++ polyp/polyplib-context.c Fri Oct 29 17:05:39 2004 +@@ -34,6 +34,7 @@ + #include <sys/stat.h> + #include <errno.h> + #include <sys/wait.h> ++#include <signal.h> + + #include "polyplib-internal.h" + #include "polyplib-context.h" diff --git a/audio/polypaudio/files/patch-polyp_socket-util.c b/audio/polypaudio/files/patch-polyp_socket-util.c new file mode 100644 index 000000000000..a54c4d719243 --- /dev/null +++ b/audio/polypaudio/files/patch-polyp_socket-util.c @@ -0,0 +1,58 @@ +--- polyp/socket-util.c.orig Fri Oct 29 16:48:42 2004 ++++ polyp/socket-util.c Fri Oct 29 17:04:57 2004 +@@ -30,13 +30,16 @@ + #include <assert.h> + #include <string.h> + #include <stdio.h> ++#include <sys/types.h> + #include <sys/un.h> + #include <netinet/in.h> + #include <fcntl.h> + #include <unistd.h> +-#include <sys/types.h> ++#include <netinet/in_systm.h> + #include <netinet/tcp.h> + #include <netinet/ip.h> ++#include <sys/socket.h> ++#include <sys/stat.h> + #include <netdb.h> + + #include "socket-util.h" +@@ -94,9 +97,11 @@ + int priority; + assert(fd >= 0); + ++#ifdef SO_PRIORITY + priority = 7; + if (setsockopt(fd, SOL_SOCKET, SO_PRIORITY, &priority, sizeof(priority)) < 0) + return -1; ++#endif + + return 0; + } +@@ -109,12 +114,25 @@ + ret = pa_socket_low_delay(fd); + + on = 1; ++#if defined(SOL_TCP) || defined(IPPROTO_TCP) ++#if defined(SOL_TCP) + if (setsockopt(fd, SOL_TCP, TCP_NODELAY, &on, sizeof(on)) < 0) ++#else ++ if (setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, &on, sizeof(on)) < 0) ++#endif + ret = -1; ++#endif + ++#if defined(IPTOS_LOWDELAY) && defined(IP_TOS) && (defined(SOL_IP) || \ ++ defined(IPPROTO_IP)) + tos = IPTOS_LOWDELAY; ++#ifdef SOL_IP + if (setsockopt(fd, SOL_IP, IP_TOS, &tos, sizeof(tos)) < 0) ++#else ++ if (setsockopt(fd, IPPROTO_IP, IP_TOS, &tos, sizeof(tos)) < 0) ++#endif + ret = -1; ++#endif + + return ret; + diff --git a/audio/polypaudio/files/patch-polyp_util.c b/audio/polypaudio/files/patch-polyp_util.c new file mode 100644 index 000000000000..619e887d9b23 --- /dev/null +++ b/audio/polypaudio/files/patch-polyp_util.c @@ -0,0 +1,56 @@ +--- polyp/util.c.orig Tue Oct 26 20:10:13 2004 ++++ polyp/util.c Sat Oct 30 01:22:54 2004 +@@ -209,7 +209,13 @@ + if (!(p = getenv("LOGNAME"))) + if (!(p = getenv("USERNAME"))) { + ++#ifdef HAVE_GETPWUID_R + if (getpwuid_r(getuid(), &pw, buf, sizeof(buf), &r) != 0 || !r) { ++#else ++ /* XXX Not thread-safe, but needed on OSes (e.g. FreeBSD 4.X) ++ * that do not support getpwuid_r. */ ++ if ((r = getpwuid(getuid())) == NULL) { ++#endif + snprintf(s, l, "%lu", (unsigned long) getuid()); + return s; + } +@@ -445,11 +451,17 @@ + + static int is_group(gid_t gid, const char *name) { + struct group group, *result = NULL; +- long n = sysconf(_SC_GETGR_R_SIZE_MAX); ++ long n; + void *data; + int r = -1; +- +- assert(n > 0); ++ ++#ifdef HAVE_GETGRGID_R ++#ifdef _SC_GETGR_R_SIZE_MAX ++ n = sysconf(_SC_GETGR_R_SIZE_MAX); ++#else ++ n = -1; ++#endif ++ if (n < 0) n = 512; + data = pa_xmalloc(n); + + if (getgrgid_r(gid, &group, data, n, &result) < 0 || !result) { +@@ -462,6 +474,18 @@ + + finish: + pa_xfree(data); ++#else ++ /* XXX Not thread-safe, but needed on OSes (e.g. FreeBSD 4.X) that do not ++ * support getgrgid_r. */ ++ if ((result = getgrgid(gid)) == NULL) { ++ pa_log(__FILE__ ": getgrgid(%u) failed: %s\n", gid, strerror(errno)); ++ goto finish; ++ } ++ ++ r = strcmp(name, result->gr_name) == 0; ++ ++finish: ++#endif + + return r; + } diff --git a/audio/polypaudio/pkg-descr b/audio/polypaudio/pkg-descr new file mode 100644 index 000000000000..66f44239e396 --- /dev/null +++ b/audio/polypaudio/pkg-descr @@ -0,0 +1,21 @@ +Polypaudio is a sound server for UNIX. It is intended to be an improved +drop-in replacement for the Enlightenment Sounds Daemon (ESOUND). In +addition to the features ESDOUND provides, polypaudio has: + +* Extensible plugin architecture (by loading dynamic modules with dlopen()) +* Support for more than one sink/source +* Better low latency behavior +* Embedable into other software (the core is available as C library) +* Completely asynchronous C API +* Simple command line interface for reconfiguring the daemon while running +* Flexible, implicit sample type conversion and resampling +* "Zero-Copy" architecture +* Module autoloading +* Very accurate latency measurement for playback and recording +* May be used to combine multiple sound cards to one (with sample rate + adjustment) +* Client side latency interpolation + +-- Polypaudio homepage + +WWW: http://0pointer.de/lennart/projects/polypaudio/ diff --git a/audio/polypaudio/pkg-install b/audio/polypaudio/pkg-install new file mode 100644 index 000000000000..f4d1fb1121fe --- /dev/null +++ b/audio/polypaudio/pkg-install @@ -0,0 +1,22 @@ +#!/bin/sh + +case $2 in +POST-INSTALL) + GROUP=realtime + GID=557 + PW=/usr/sbin/pw + + if ${PW} group show "${GROUP}" 2>/dev/null; then + echo "You already have a group \"${GROUP}\", so I will use it." + else + if ${PW} groupadd ${GROUP} -g ${GID}; then + echo "Added group \"${GROUP}\"." + else + echo "Adding group \"${GROUP}\" failed..." + exit 1 + fi + fi + + exit 0 + ;; +esac diff --git a/audio/polypaudio/pkg-plist b/audio/polypaudio/pkg-plist new file mode 100644 index 000000000000..3408e58abc99 --- /dev/null +++ b/audio/polypaudio/pkg-plist @@ -0,0 +1,112 @@ +bin/esdcompat.sh +bin/pacat +bin/pactl +bin/paplay +bin/polypaudio +@unexec if cmp -s %D/etc/polypaudio/client.conf %D/etc/polypaudio/client.conf-dist; then rm -f %D/etc/polypaudio/client.conf; fi +etc/polypaudio/client.conf-dist +@unexec if cmp -s %D/etc/polypaudio/daemon.conf %D/etc/polypaudio/daemon.conf-dist; then rm -f %D/etc/polypaudio/daemon.conf; fi +etc/polypaudio/daemon.conf-dist +@unexec if cmp -s %D/etc/polypaudio/default.pa %D/etc/polypaudio/default.pa-dist; then rm -f %D/etc/polypaudio/default.pa; fi +etc/polypaudio/default.pa-dist +include/polyp/cdecl.h +include/polyp/glib-mainloop.h +include/polyp/mainloop-api.h +include/polyp/mainloop-signal.h +include/polyp/mainloop.h +include/polyp/polyplib-context.h +include/polyp/polyplib-def.h +include/polyp/polyplib-error.h +include/polyp/polyplib-introspect.h +include/polyp/polyplib-operation.h +include/polyp/polyplib-scache.h +include/polyp/polyplib-simple.h +include/polyp/polyplib-stream.h +include/polyp/polyplib-subscribe.h +include/polyp/polyplib-version.h +include/polyp/polyplib.h +include/polyp/sample.h +lib/libpolyp-%%VERSION%%.a +lib/libpolyp-%%VERSION%%.so +lib/libpolyp-%%VERSION%%.so.0 +lib/libpolyp-error-%%VERSION%%.a +lib/libpolyp-error-%%VERSION%%.so +lib/libpolyp-error-%%VERSION%%.so.0 +lib/libpolyp-mainloop-%%VERSION%%.a +lib/libpolyp-mainloop-%%VERSION%%.so +lib/libpolyp-mainloop-%%VERSION%%.so.0 +lib/libpolyp-mainloop-glib-%%VERSION%%.a +lib/libpolyp-mainloop-glib-%%VERSION%%.so +lib/libpolyp-mainloop-glib-%%VERSION%%.so.0 +%%GLIB12%%lib/libpolyp-mainloop-glib12-%%VERSION%%.a +%%GLIB12%%lib/libpolyp-mainloop-glib12-%%VERSION%%.so +%%GLIB12%%lib/libpolyp-mainloop-glib12-%%VERSION%%.so.0 +lib/libpolyp-simple-%%VERSION%%.a +lib/libpolyp-simple-%%VERSION%%.so +lib/libpolyp-simple-%%VERSION%%.so.0 +lib/polypaudio-%%VERSION%%/libauthkey.a +lib/polypaudio-%%VERSION%%/libauthkey.so +lib/polypaudio-%%VERSION%%/libcli.a +lib/polypaudio-%%VERSION%%/libcli.so +lib/polypaudio-%%VERSION%%/libiochannel.a +lib/polypaudio-%%VERSION%%/libiochannel.so +lib/polypaudio-%%VERSION%%/libioline.a +lib/polypaudio-%%VERSION%%/libioline.so +lib/polypaudio-%%VERSION%%/liboss-util.a +lib/polypaudio-%%VERSION%%/liboss-util.so +lib/polypaudio-%%VERSION%%/libpacket.a +lib/polypaudio-%%VERSION%%/libpacket.so +lib/polypaudio-%%VERSION%%/libpdispatch.a +lib/polypaudio-%%VERSION%%/libpdispatch.so +lib/polypaudio-%%VERSION%%/libprotocol-cli.a +lib/polypaudio-%%VERSION%%/libprotocol-cli.so +lib/polypaudio-%%VERSION%%/libprotocol-esound.a +lib/polypaudio-%%VERSION%%/libprotocol-esound.so +lib/polypaudio-%%VERSION%%/libprotocol-native.a +lib/polypaudio-%%VERSION%%/libprotocol-native.so +lib/polypaudio-%%VERSION%%/libprotocol-simple.a +lib/polypaudio-%%VERSION%%/libprotocol-simple.so +lib/polypaudio-%%VERSION%%/libpstream-util.a +lib/polypaudio-%%VERSION%%/libpstream-util.so +lib/polypaudio-%%VERSION%%/libpstream.a +lib/polypaudio-%%VERSION%%/libpstream.so +lib/polypaudio-%%VERSION%%/libsocket-client.a +lib/polypaudio-%%VERSION%%/libsocket-client.so +lib/polypaudio-%%VERSION%%/libsocket-server.a +lib/polypaudio-%%VERSION%%/libsocket-server.so +lib/polypaudio-%%VERSION%%/libsocket-util.a +lib/polypaudio-%%VERSION%%/libsocket-util.so +lib/polypaudio-%%VERSION%%/libtagstruct.a +lib/polypaudio-%%VERSION%%/libtagstruct.so +lib/polypaudio-%%VERSION%%/module-cli-protocol-tcp.so +lib/polypaudio-%%VERSION%%/module-cli-protocol-unix.so +lib/polypaudio-%%VERSION%%/module-cli.so +lib/polypaudio-%%VERSION%%/module-combine.so +lib/polypaudio-%%VERSION%%/module-esound-compat-spawnfd.so +lib/polypaudio-%%VERSION%%/module-esound-compat-spawnpid.so +lib/polypaudio-%%VERSION%%/module-esound-protocol-tcp.so +lib/polypaudio-%%VERSION%%/module-esound-protocol-unix.so +lib/polypaudio-%%VERSION%%/module-match.so +lib/polypaudio-%%VERSION%%/module-native-protocol-fd.so +lib/polypaudio-%%VERSION%%/module-native-protocol-tcp.so +lib/polypaudio-%%VERSION%%/module-native-protocol-unix.so +lib/polypaudio-%%VERSION%%/module-null-sink.so +lib/polypaudio-%%VERSION%%/module-oss-mmap.so +lib/polypaudio-%%VERSION%%/module-oss.so +lib/polypaudio-%%VERSION%%/module-pipe-sink.so +lib/polypaudio-%%VERSION%%/module-pipe-source.so +lib/polypaudio-%%VERSION%%/module-simple-protocol-tcp.so +lib/polypaudio-%%VERSION%%/module-simple-protocol-unix.so +lib/polypaudio-%%VERSION%%/module-sine.so +lib/polypaudio-%%VERSION%%/module-tunnel-sink.so +lib/polypaudio-%%VERSION%%/module-tunnel-source.so +lib/polypaudio-%%VERSION%%/module-x11-bell.so +libdata/pkgconfig/polyplib-error.pc +libdata/pkgconfig/polyplib-glib-mainloop.pc +%%GLIB12%%libdata/pkgconfig/polyplib-glib12-mainloop.pc +libdata/pkgconfig/polyplib-mainloop.pc +libdata/pkgconfig/polyplib-simple.pc +libdata/pkgconfig/polyplib.pc +@dirrm lib/polypaudio-%%VERSION%% +@dirrm include/polyp +@unexec rmdir %D/etc/polypaudio 2> /dev/null || /usr/bin/true |