diff options
author | obache <obache@pkgsrc.org> | 2012-05-14 14:56:51 +0000 |
---|---|---|
committer | obache <obache@pkgsrc.org> | 2012-05-14 14:56:51 +0000 |
commit | 1414056276f5b50a0637ec5713494e2b4212330e (patch) | |
tree | f61ac8ee02f17e5da7b454e4b981f0426db949a3 /audio | |
parent | afd3f626f4f5be00939ec460209754394ba67b9f (diff) | |
download | pkgsrc-1414056276f5b50a0637ec5713494e2b4212330e.tar.gz |
Try to fix build failure on NeBSD 6.99.7 from _oss_ioctl API change as PR 46448.
Diffstat (limited to 'audio')
-rw-r--r-- | audio/pulseaudio/distinfo | 4 | ||||
-rw-r--r-- | audio/pulseaudio/patches/patch-aa | 54 |
2 files changed, 34 insertions, 24 deletions
diff --git a/audio/pulseaudio/distinfo b/audio/pulseaudio/distinfo index 099f686ebd2..3f208b08ef5 100644 --- a/audio/pulseaudio/distinfo +++ b/audio/pulseaudio/distinfo @@ -1,9 +1,9 @@ -$NetBSD: distinfo,v 1.28 2011/10/12 16:46:15 hans Exp $ +$NetBSD: distinfo,v 1.29 2012/05/14 14:56:51 obache Exp $ SHA1 (pulseaudio-0.9.21.tar.gz) = 0309c97f7e0812e243c1bb80a4b74dc26369ac22 RMD160 (pulseaudio-0.9.21.tar.gz) = 6db0725253228b673a78cbfae4824fadce2198ed Size (pulseaudio-0.9.21.tar.gz) = 2056896 bytes -SHA1 (patch-aa) = 3d1afdd56929be01013cdd38b970007bbb1d7242 +SHA1 (patch-aa) = f19605eadd8495ebbefc5dd0e95494520910e67d SHA1 (patch-ab) = 1cf47a55b1c794b315646379ae03d633dc1d348f SHA1 (patch-ac) = b42e6ef8ff2851ea78a6eae6cb6241c94d74b2d0 SHA1 (patch-ad) = 5ae0e5d8b0b7622c35cb2fabba4a33b673cbd442 diff --git a/audio/pulseaudio/patches/patch-aa b/audio/pulseaudio/patches/patch-aa index ea68b6c691f..50b3a1fefae 100644 --- a/audio/pulseaudio/patches/patch-aa +++ b/audio/pulseaudio/patches/patch-aa @@ -1,15 +1,25 @@ -$NetBSD: patch-aa,v 1.8 2011/09/14 15:53:35 hans Exp $ +$NetBSD: patch-aa,v 1.9 2012/05/14 14:56:51 obache Exp $ SNDDSP_GETODELAY isn't defined on NetBSD-4.x. ioctl() takes u_long argument on NetBSD. -On NetBSD, use third parameter in ioctl instead of varargs. +On NetBSD<6.99.7, use third parameter in ioctl instead of varargs. stat() system call has been versioned, use latest version when dlopen()ing. Try more typical device names. SOUND_PCM_* is not available on SunOS. --- src/utils/padsp.c.orig 2009-09-18 20:21:44.000000000 +0000 +++ src/utils/padsp.c -@@ -60,6 +60,10 @@ +@@ -49,6 +49,9 @@ + #ifdef __linux__ + #include <linux/sockios.h> + #endif ++#ifdef __NetBSD__ ++#include <sys/param.h> ++#endif + + #include <pulse/pulseaudio.h> + #include <pulse/gccmacro.h> +@@ -60,6 +63,10 @@ # define SIOCINQ FIONREAD #endif @@ -20,7 +30,7 @@ SOUND_PCM_* is not available on SunOS. /* make sure gcc doesn't redefine open and friends as macros */ #undef open #undef open64 -@@ -115,7 +119,11 @@ static pthread_mutex_t func_mutex = PTHR +@@ -115,7 +122,11 @@ static pthread_mutex_t func_mutex = PTHR static PA_LLIST_HEAD(fd_info, fd_infos) = NULL; @@ -32,7 +42,7 @@ SOUND_PCM_* is not available on SunOS. static int (*_close)(int) = NULL; static int (*_open)(const char *, int, mode_t) = NULL; static FILE* (*_fopen)(const char *path, const char *mode) = NULL; -@@ -141,6 +149,15 @@ static inline fnptr dlsym_fn(void *handl +@@ -141,6 +152,15 @@ static inline fnptr dlsym_fn(void *handl return (fnptr) (long) dlsym(handle, symbol); } @@ -48,7 +58,7 @@ SOUND_PCM_* is not available on SunOS. #define LOAD_IOCTL_FUNC() \ do { \ pthread_mutex_lock(&func_mutex); \ -@@ -148,6 +165,7 @@ do { \ +@@ -148,6 +168,7 @@ do { \ _ioctl = (int (*)(int, int, void*)) dlsym_fn(RTLD_NEXT, "ioctl"); \ pthread_mutex_unlock(&func_mutex); \ } while(0) @@ -56,7 +66,7 @@ SOUND_PCM_* is not available on SunOS. #define LOAD_OPEN_FUNC() \ do { \ -@@ -181,11 +199,16 @@ do { \ +@@ -181,11 +202,16 @@ do { \ pthread_mutex_unlock(&func_mutex); \ } while(0) @@ -74,7 +84,7 @@ SOUND_PCM_* is not available on SunOS. pthread_mutex_unlock(&func_mutex); \ } while(0) -@@ -1458,7 +1481,8 @@ static int real_open(const char *filenam +@@ -1458,7 +1484,8 @@ static int real_open(const char *filenam return _open(filename, flags, mode); } @@ -84,7 +94,7 @@ SOUND_PCM_* is not available on SunOS. r = dsp_open(flags, &_errno); else if (filename && mixer_cloak_enable() && strcmp(filename, "/dev/mixer") == 0) r = mixer_open(flags, &_errno); -@@ -2224,6 +2248,7 @@ static int dsp_ioctl(fd_info *i, unsigne +@@ -2224,6 +2251,7 @@ static int dsp_ioctl(fd_info *i, unsigne break; } @@ -92,7 +102,7 @@ SOUND_PCM_* is not available on SunOS. case SOUND_PCM_READ_RATE: debug(DEBUG_LEVEL_NORMAL, __FILE__": SOUND_PCM_READ_RATE\n"); -@@ -2247,7 +2272,7 @@ static int dsp_ioctl(fd_info *i, unsigne +@@ -2247,7 +2275,7 @@ static int dsp_ioctl(fd_info *i, unsigne *(int*) argp = pa_sample_size(&i->sample_spec)*8; pa_threaded_mainloop_unlock(i->mainloop); break; @@ -101,20 +111,20 @@ SOUND_PCM_* is not available on SunOS. case SNDCTL_DSP_GETOPTR: { count_info *info; -@@ -2317,21 +2342,29 @@ fail: +@@ -2317,21 +2345,29 @@ fail: return ret; } -#ifdef sun +#ifdef __sun int ioctl(int fd, int request, ...) { -+#elif defined(__NetBSD__) ++#elif defined(__NetBSD__) && (__NetBSD_Version__ < 699000700) +int ioctl(int fd, u_long request, void *_argp) { #else int ioctl(int fd, unsigned long request, ...) { #endif fd_info *i; -+#ifndef __NetBSD__ ++#if !(defined(__NetBSD__) && (__NetBSD_Version__ < 699000700)) va_list args; +#endif void *argp; @@ -122,7 +132,7 @@ SOUND_PCM_* is not available on SunOS. debug(DEBUG_LEVEL_VERBOSE, __FILE__": ioctl()\n"); -+#ifdef __NetBSD__ ++#if defined(__NetBSD__) && (__NetBSD_Version__ < 699000700) + argp = _argp; +#else va_start(args, request); @@ -132,7 +142,7 @@ SOUND_PCM_* is not available on SunOS. if (!function_enter()) { LOAD_IOCTL_FUNC(); -@@ -2390,6 +2422,8 @@ int access(const char *pathname, int mod +@@ -2390,6 +2426,8 @@ int access(const char *pathname, int mod if (!pathname || (strcmp(pathname, "/dev/dsp") != 0 && strcmp(pathname, "/dev/adsp") != 0 && @@ -141,7 +151,7 @@ SOUND_PCM_* is not available on SunOS. strcmp(pathname, "/dev/sndstat") != 0 && strcmp(pathname, "/dev/mixer") != 0 )) { LOAD_ACCESS_FUNC(); -@@ -2418,6 +2452,8 @@ int stat(const char *pathname, struct st +@@ -2418,6 +2456,8 @@ int stat(const char *pathname, struct st if (!pathname || !buf || ( strcmp(pathname, "/dev/dsp") != 0 && @@ -150,7 +160,7 @@ SOUND_PCM_* is not available on SunOS. strcmp(pathname, "/dev/adsp") != 0 && strcmp(pathname, "/dev/sndstat") != 0 && strcmp(pathname, "/dev/mixer") != 0 )) { -@@ -2475,6 +2511,8 @@ int stat64(const char *pathname, struct +@@ -2475,6 +2515,8 @@ int stat64(const char *pathname, struct if (!pathname || !buf || ( strcmp(pathname, "/dev/dsp") != 0 && @@ -159,7 +169,7 @@ SOUND_PCM_* is not available on SunOS. strcmp(pathname, "/dev/adsp") != 0 && strcmp(pathname, "/dev/sndstat") != 0 && strcmp(pathname, "/dev/mixer") != 0 )) { -@@ -2520,6 +2558,8 @@ int open64(const char *filename, int fla +@@ -2520,6 +2562,8 @@ int open64(const char *filename, int fla if (!filename || ( strcmp(filename, "/dev/dsp") != 0 && @@ -168,7 +178,7 @@ SOUND_PCM_* is not available on SunOS. strcmp(filename, "/dev/adsp") != 0 && strcmp(filename, "/dev/sndstat") != 0 && strcmp(filename, "/dev/mixer") != 0 )) { -@@ -2540,6 +2580,8 @@ int __xstat(int ver, const char *pathnam +@@ -2540,6 +2584,8 @@ int __xstat(int ver, const char *pathnam if (!pathname || !buf || ( strcmp(pathname, "/dev/dsp") != 0 && @@ -177,7 +187,7 @@ SOUND_PCM_* is not available on SunOS. strcmp(pathname, "/dev/adsp") != 0 && strcmp(pathname, "/dev/sndstat") != 0 && strcmp(pathname, "/dev/mixer") != 0 )) { -@@ -2563,6 +2605,8 @@ int __xstat64(int ver, const char *pathn +@@ -2563,6 +2609,8 @@ int __xstat64(int ver, const char *pathn if (!pathname || !buf || ( strcmp(pathname, "/dev/dsp") != 0 && @@ -186,7 +196,7 @@ SOUND_PCM_* is not available on SunOS. strcmp(pathname, "/dev/adsp") != 0 && strcmp(pathname, "/dev/sndstat") != 0 && strcmp(pathname, "/dev/mixer") != 0 )) { -@@ -2592,6 +2636,8 @@ FILE* fopen(const char *filename, const +@@ -2592,6 +2640,8 @@ FILE* fopen(const char *filename, const if (!filename || !mode || ( strcmp(filename, "/dev/dsp") != 0 && @@ -195,7 +205,7 @@ SOUND_PCM_* is not available on SunOS. strcmp(filename, "/dev/adsp") != 0 && strcmp(filename, "/dev/sndstat") != 0 && strcmp(filename, "/dev/mixer") != 0 )) { -@@ -2635,6 +2681,8 @@ FILE *fopen64(const char *filename, cons +@@ -2635,6 +2685,8 @@ FILE *fopen64(const char *filename, cons if (!filename || !mode || ( strcmp(filename, "/dev/dsp") != 0 && |