diff options
author | root <root@rshg054.dnsready.net> | 2013-05-23 01:28:34 -0700 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2013-05-23 01:28:34 -0700 |
commit | e0c1bfae73539aac5627d73dd70a299d274a0c10 (patch) | |
tree | c18288b635e64dfbcd616503eb079a951a43fafc /extra/alsa-lib | |
parent | bdf2189826c1931878cedc2262f67f6fd3c0ef15 (diff) |
Thu May 23 01:28:33 PDT 2013
Diffstat (limited to 'extra/alsa-lib')
-rw-r--r-- | extra/alsa-lib/PKGBUILD | 27 | ||||
-rw-r--r-- | extra/alsa-lib/alsa-lib-1.0.27-inline.patch | 155 | ||||
-rw-r--r-- | extra/alsa-lib/alsa-lib-1.0.27-inline2.patch | 28 | ||||
-rw-r--r-- | extra/alsa-lib/alsa-lib-1.0.27-kernel.patch | 73 | ||||
-rw-r--r-- | extra/alsa-lib/alsa-lib-1.0.27-segfault.patch | 102 |
5 files changed, 5 insertions, 380 deletions
diff --git a/extra/alsa-lib/PKGBUILD b/extra/alsa-lib/PKGBUILD index 99a6ba213..c3995f60b 100644 --- a/extra/alsa-lib/PKGBUILD +++ b/extra/alsa-lib/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 184466 2013-05-07 10:49:12Z tpowa $ +# $Id: PKGBUILD 186216 2013-05-22 06:35:12Z tpowa $ # Maintainer: judd <jvinet@zeroflux.org> pkgname=alsa-lib -pkgver=1.0.27 -pkgrel=2 +pkgver=1.0.27.1 +pkgrel=1 pkgdesc="An alternative implementation of Linux sound support" arch=('i686' 'x86_64') url="http://www.alsa-project.org" @@ -12,20 +12,7 @@ optdepends=('python2: for python smixer plugin') makedepends=('python2') license=('GPL') options=(!libtool) -source=(ftp://ftp.alsa-project.org/pub/lib/$pkgname-$pkgver.tar.bz2 - alsa-lib-1.0.27-segfault.patch - alsa-lib-1.0.27-kernel.patch - alsa-lib-1.0.27-inline.patch - alsa-lib-1.0.27-inline2.patch) - -prepare() { - cd "$srcdir/$pkgname-$pkgver" - # add upstream patches - patch -Np1 -i "$srcdir/alsa-lib-1.0.27-segfault.patch" - patch -Np1 -i "$srcdir/alsa-lib-1.0.27-kernel.patch" - patch -Np1 -i "$srcdir/alsa-lib-1.0.27-inline.patch" - patch -Np1 -i "$srcdir/alsa-lib-1.0.27-inline2.patch" -} +source=(ftp://ftp.alsa-project.org/pub/lib/$pkgname-$pkgver.tar.bz2) build() { cd "$srcdir/$pkgname-$pkgver" @@ -37,8 +24,4 @@ package() { cd "$srcdir/$pkgname-$pkgver" make DESTDIR="$pkgdir" install } -md5sums=('f090c7dbd0fe57d786d82e411eac2d08' - '755cfcd116c28feac437eb6b5bdc51bb' - '277e2bc587de25e3294a0f597ae9246e' - 'db14deccb57d8dbcfc6f6d22bed45c1e' - '92ca1fec0cb99bfc302896cf9393a936') +md5sums=('17102aaab10e9d4b19f6b02937bab015') diff --git a/extra/alsa-lib/alsa-lib-1.0.27-inline.patch b/extra/alsa-lib/alsa-lib-1.0.27-inline.patch deleted file mode 100644 index cc5cb8d75..000000000 --- a/extra/alsa-lib/alsa-lib-1.0.27-inline.patch +++ /dev/null @@ -1,155 +0,0 @@ -From 30122df4faf7ccc79b9525db95f55c5a8ed6fe4d Mon Sep 17 00:00:00 2001 -From: Takashi Iwai <tiwai@suse.de> -Date: Thu, 25 Apr 2013 09:52:33 +0200 -Subject: [PATCH] Use __inline__ for exported headers - -Some programs are still using C90. - -Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=817077 -Signed-off-by: Takashi Iwai <tiwai@suse.de> ---- - include/control.h | 4 ++-- - include/iatomic.h | 14 +++++++------- - include/pcm.h | 2 +- - include/pcm_extplug.h | 4 ++-- - include/use-case.h | 4 ++-- - 5 files changed, 14 insertions(+), 14 deletions(-) - -diff --git a/include/control.h b/include/control.h -index 27fe2ac..5fdf379 100644 ---- a/include/control.h -+++ b/include/control.h -@@ -234,7 +234,7 @@ int snd_ctl_open_lconf(snd_ctl_t **ctl, const char *name, int mode, snd_config_t - int snd_ctl_open_fallback(snd_ctl_t **ctl, snd_config_t *root, const char *name, const char *orig_name, int mode); - int snd_ctl_close(snd_ctl_t *ctl); - int snd_ctl_nonblock(snd_ctl_t *ctl, int nonblock); --static inline int snd_ctl_abort(snd_ctl_t *ctl) { return snd_ctl_nonblock(ctl, 2); } -+static __inline__ int snd_ctl_abort(snd_ctl_t *ctl) { return snd_ctl_nonblock(ctl, 2); } - int snd_async_add_ctl_handler(snd_async_handler_t **handler, snd_ctl_t *ctl, - snd_async_callback_t callback, void *private_data); - snd_ctl_t *snd_async_handler_get_ctl(snd_async_handler_t *handler); -@@ -532,7 +532,7 @@ int snd_hctl_open(snd_hctl_t **hctl, const char *name, int mode); - int snd_hctl_open_ctl(snd_hctl_t **hctlp, snd_ctl_t *ctl); - int snd_hctl_close(snd_hctl_t *hctl); - int snd_hctl_nonblock(snd_hctl_t *hctl, int nonblock); --static inline int snd_hctl_abort(snd_hctl_t *hctl) { return snd_hctl_nonblock(hctl, 2); } -+static __inline__ int snd_hctl_abort(snd_hctl_t *hctl) { return snd_hctl_nonblock(hctl, 2); } - int snd_hctl_poll_descriptors_count(snd_hctl_t *hctl); - int snd_hctl_poll_descriptors(snd_hctl_t *hctl, struct pollfd *pfds, unsigned int space); - int snd_hctl_poll_descriptors_revents(snd_hctl_t *ctl, struct pollfd *pfds, unsigned int nfds, unsigned short *revents); -diff --git a/include/iatomic.h b/include/iatomic.h -index e92dbfd..5711fe8 100644 ---- a/include/iatomic.h -+++ b/include/iatomic.h -@@ -980,7 +980,7 @@ static __inline__ int atomic_dec_and_test(volatile atomic_t *v) - return result; - } - --static inline int atomic_add_negative(int i, volatile atomic_t *v) -+static __inline__ int atomic_add_negative(int i, volatile atomic_t *v) - { - unsigned long flags; - int result; -@@ -1160,36 +1160,36 @@ typedef struct { - - void snd_atomic_read_wait(snd_atomic_read_t *t); - --static inline void snd_atomic_write_init(snd_atomic_write_t *w) -+static __inline__ void snd_atomic_write_init(snd_atomic_write_t *w) - { - w->begin = 0; - w->end = 0; - } - --static inline void snd_atomic_write_begin(snd_atomic_write_t *w) -+static __inline__ void snd_atomic_write_begin(snd_atomic_write_t *w) - { - w->begin++; - wmb(); - } - --static inline void snd_atomic_write_end(snd_atomic_write_t *w) -+static __inline__ void snd_atomic_write_end(snd_atomic_write_t *w) - { - wmb(); - w->end++; - } - --static inline void snd_atomic_read_init(snd_atomic_read_t *r, snd_atomic_write_t *w) -+static __inline__ void snd_atomic_read_init(snd_atomic_read_t *r, snd_atomic_write_t *w) - { - r->write = w; - } - --static inline void snd_atomic_read_begin(snd_atomic_read_t *r) -+static __inline__ void snd_atomic_read_begin(snd_atomic_read_t *r) - { - r->end = r->write->end; - rmb(); - } - --static inline int snd_atomic_read_ok(snd_atomic_read_t *r) -+static __inline__ int snd_atomic_read_ok(snd_atomic_read_t *r) - { - rmb(); - return r->end == r->write->begin; -diff --git a/include/pcm.h b/include/pcm.h -index e440030..95b8aed 100644 ---- a/include/pcm.h -+++ b/include/pcm.h -@@ -451,7 +451,7 @@ int snd_pcm_poll_descriptors_count(snd_pcm_t *pcm); - int snd_pcm_poll_descriptors(snd_pcm_t *pcm, struct pollfd *pfds, unsigned int space); - int snd_pcm_poll_descriptors_revents(snd_pcm_t *pcm, struct pollfd *pfds, unsigned int nfds, unsigned short *revents); - int snd_pcm_nonblock(snd_pcm_t *pcm, int nonblock); --static inline int snd_pcm_abort(snd_pcm_t *pcm) { return snd_pcm_nonblock(pcm, 2); } -+static __inline__ int snd_pcm_abort(snd_pcm_t *pcm) { return snd_pcm_nonblock(pcm, 2); } - int snd_async_add_pcm_handler(snd_async_handler_t **handler, snd_pcm_t *pcm, - snd_async_callback_t callback, void *private_data); - snd_pcm_t *snd_async_handler_get_pcm(snd_async_handler_t *handler); -diff --git a/include/pcm_extplug.h b/include/pcm_extplug.h -index 884f322..e3b71bc 100644 ---- a/include/pcm_extplug.h -+++ b/include/pcm_extplug.h -@@ -188,7 +188,7 @@ int snd_pcm_extplug_set_slave_param_minmax(snd_pcm_extplug_t *extplug, int type, - /** - * set the parameter constraint with a single value - */ --static inline int snd_pcm_extplug_set_param(snd_pcm_extplug_t *extplug, int type, unsigned int val) -+static __inline__ int snd_pcm_extplug_set_param(snd_pcm_extplug_t *extplug, int type, unsigned int val) - { - return snd_pcm_extplug_set_param_list(extplug, type, 1, &val); - } -@@ -196,7 +196,7 @@ static inline int snd_pcm_extplug_set_param(snd_pcm_extplug_t *extplug, int type - /** - * set the parameter constraint for slave PCM with a single value - */ --static inline int snd_pcm_extplug_set_slave_param(snd_pcm_extplug_t *extplug, int type, unsigned int val) -+static __inline__ int snd_pcm_extplug_set_slave_param(snd_pcm_extplug_t *extplug, int type, unsigned int val) - { - return snd_pcm_extplug_set_slave_param_list(extplug, type, 1, &val); - } -diff --git a/include/use-case.h b/include/use-case.h -index defd4ea..93b3456 100644 ---- a/include/use-case.h -+++ b/include/use-case.h -@@ -354,7 +354,7 @@ int snd_use_case_mgr_reset(snd_use_case_mgr_t *uc_mgr); - * \param list Returned allocated list - * \return Number of list entries if success, otherwise a negative error code - */ --static inline int snd_use_case_card_list(const char **list[]) -+static __inline__ int snd_use_case_card_list(const char **list[]) - { - return snd_use_case_get_list(NULL, NULL, list); - } -@@ -365,7 +365,7 @@ static inline int snd_use_case_card_list(const char **list[]) - * \param list Returned list of verbs - * \return Number of list entries if success, otherwise a negative error code - */ --static inline int snd_use_case_verb_list(snd_use_case_mgr_t *uc_mgr, -+static __inline__ int snd_use_case_verb_list(snd_use_case_mgr_t *uc_mgr, - const char **list[]) - { - return snd_use_case_get_list(uc_mgr, "_verbs", list); --- -1.7.11.7 - diff --git a/extra/alsa-lib/alsa-lib-1.0.27-inline2.patch b/extra/alsa-lib/alsa-lib-1.0.27-inline2.patch deleted file mode 100644 index e99bae864..000000000 --- a/extra/alsa-lib/alsa-lib-1.0.27-inline2.patch +++ /dev/null @@ -1,28 +0,0 @@ -From a8f405b8f90d752c3609b9e918dc949c4efadf87 Mon Sep 17 00:00:00 2001 -From: Takashi Iwai <tiwai@suse.de> -Date: Thu, 25 Apr 2013 09:55:49 +0200 -Subject: [PATCH] Add definition of __inline__ for non-GCC - -Signed-off-by: Takashi Iwai <tiwai@suse.de> ---- - include/asoundlib-head.h | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/include/asoundlib-head.h b/include/asoundlib-head.h -index 6edbab0..71b5c29 100644 ---- a/include/asoundlib-head.h -+++ b/include/asoundlib-head.h -@@ -40,6 +40,10 @@ - #include <errno.h> - #include <stdarg.h> - -+#ifndef __GNUC__ -+#define __inline__ inline -+#endif -+ - #include <alsa/asoundef.h> - #include <alsa/version.h> - #include <alsa/global.h> --- -1.7.11.7 - diff --git a/extra/alsa-lib/alsa-lib-1.0.27-kernel.patch b/extra/alsa-lib/alsa-lib-1.0.27-kernel.patch deleted file mode 100644 index 3d4eaf3cb..000000000 --- a/extra/alsa-lib/alsa-lib-1.0.27-kernel.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 886f0cc3c274643de464e646535afb4ceee1d816 Mon Sep 17 00:00:00 2001 -From: Daniel Mack <zonque@gmail.com> -Date: Thu, 18 Apr 2013 10:37:50 +0200 -Subject: [PATCH] bring pcm.h and pcm.c in sync with the kernel list - -In particular, this adds definitions and descriptions for G.723 and -DSD types. - -Signed-off-by: Daniel Mack <zonque@gmail.com> -Signed-off-by: Takashi Iwai <tiwai@suse.de> ---- - include/pcm.h | 14 +++++++++++++- - src/pcm/pcm.c | 12 ++++++++++++ - 2 files changed, 25 insertions(+), 1 deletion(-) - -diff --git a/include/pcm.h b/include/pcm.h -index d94ba90..e440030 100644 ---- a/include/pcm.h -+++ b/include/pcm.h -@@ -199,7 +199,19 @@ typedef enum _snd_pcm_format { - SND_PCM_FORMAT_U18_3LE, - /** Unsigned 18bit Big Endian in 3bytes format */ - SND_PCM_FORMAT_U18_3BE, -- SND_PCM_FORMAT_LAST = SND_PCM_FORMAT_U18_3BE, -+ /* G.723 (ADPCM) 24 kbit/s, 8 samples in 3 bytes */ -+ SND_PCM_FORMAT_G723_24, -+ /* G.723 (ADPCM) 24 kbit/s, 1 sample in 1 byte */ -+ SND_PCM_FORMAT_G723_24_1B, -+ /* G.723 (ADPCM) 40 kbit/s, 8 samples in 3 bytes */ -+ SND_PCM_FORMAT_G723_40, -+ /* G.723 (ADPCM) 40 kbit/s, 1 sample in 1 byte */ -+ SND_PCM_FORMAT_G723_40_1B, -+ /* Direct Stream Digital (DSD) in 1-byte samples (x8) */ -+ SND_PCM_FORMAT_DSD_U8, -+ /* Direct Stream Digital (DSD) in 2-byte samples (x16) */ -+ SND_PCM_FORMAT_DSD_U16_LE, -+ SND_PCM_FORMAT_LAST = SND_PCM_FORMAT_DSD_U16_LE, - - #if __BYTE_ORDER == __LITTLE_ENDIAN - /** Signed 16 bit CPU endian */ -diff --git a/src/pcm/pcm.c b/src/pcm/pcm.c -index 2a87a7b..438fb3f 100644 ---- a/src/pcm/pcm.c -+++ b/src/pcm/pcm.c -@@ -1558,6 +1558,12 @@ static const char *const snd_pcm_format_names[] = { - FORMAT(S18_3BE), - FORMAT(U18_3LE), - FORMAT(U18_3BE), -+ FORMAT(G723_24), -+ FORMAT(G723_24_1B), -+ FORMAT(G723_40), -+ FORMAT(G723_40_1B), -+ FORMAT(DSD_U8), -+ FORMAT(DSD_U16_LE), - }; - - static const char *const snd_pcm_format_aliases[SND_PCM_FORMAT_LAST+1] = { -@@ -1611,6 +1617,12 @@ static const char *const snd_pcm_format_descriptions[] = { - FORMATD(S18_3BE, "Signed 18 bit Big Endian in 3bytes"), - FORMATD(U18_3LE, "Unsigned 18 bit Little Endian in 3bytes"), - FORMATD(U18_3BE, "Unsigned 18 bit Big Endian in 3bytes"), -+ FORMATD(G723_24, "G.723 (ADPCM) 24 kbit/s, 8 samples in 3 bytes"), -+ FORMATD(G723_24_1B, "G.723 (ADPCM) 24 kbit/s, 1 sample in 1 byte"), -+ FORMATD(G723_40, "G.723 (ADPCM) 40 kbit/s, 8 samples in 3 bytes"), -+ FORMATD(G723_40_1B, "G.723 (ADPCM) 40 kbit/s, 1 sample in 1 byte"), -+ FORMATD(DSD_U8, "Direct Stream Digital, 1-byte (x8), oldest bit in MSB"), -+ FORMATD(DSD_U16_LE, "Direct Stream Digital, 2-byte (x16), little endian, oldest bits in MSB"), - }; - - static const char *const snd_pcm_type_names[] = { --- -1.7.11.7 - diff --git a/extra/alsa-lib/alsa-lib-1.0.27-segfault.patch b/extra/alsa-lib/alsa-lib-1.0.27-segfault.patch deleted file mode 100644 index 72df46185..000000000 --- a/extra/alsa-lib/alsa-lib-1.0.27-segfault.patch +++ /dev/null @@ -1,102 +0,0 @@ -From e1e40c25535af35fa5cdf7ffc95a01fbff098ddd Mon Sep 17 00:00:00 2001 -From: Takashi Iwai <tiwai@suse.de> -Date: Mon, 15 Apr 2013 18:12:17 +0200 -Subject: [PATCH] Fix doubly call of dlclose() in dlobj caching code - -When multiple dlobj_cache items point to the same dlobj, dlclose() may -be called wrongly multiple times when these items are cleared, because -we manage the dlobj_cache list as a flat list. This results in a bad -segfault we've seen in openal-soft, for example. - -For fixing this, we need the refcounting of dlobj itself. But, in -this case, we don't have to manage yet another list, since dlopen() -does a proper refcounting by itself. That is, we can just call always -dlopen() at each time a new function is assigned, and also call -dlclose() for each released dlobj_cache item at cleanup. - -Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=814250 - -Signed-off-by: Takashi Iwai <tiwai@suse.de> ---- - src/dlmisc.c | 31 +++++++++++-------------------- - 1 file changed, 11 insertions(+), 20 deletions(-) - -diff --git a/src/dlmisc.c b/src/dlmisc.c -index 3788382..2de0234 100644 ---- a/src/dlmisc.c -+++ b/src/dlmisc.c -@@ -208,8 +208,7 @@ void *snd_dlobj_cache_get(const char *lib, const char *name, - { - struct list_head *p; - struct dlobj_cache *c; -- void *func, *dlobj = NULL; -- int dlobj_close = 0; -+ void *func, *dlobj; - - snd_dlobj_lock(); - list_for_each(p, &pcm_dlobj_list) { -@@ -220,7 +219,6 @@ void *snd_dlobj_cache_get(const char *lib, const char *name, - continue; - if (!lib && c->lib) - continue; -- dlobj = c->dlobj; - if (strcmp(c->name, name) == 0) { - c->refcnt++; - func = c->func; -@@ -228,17 +226,16 @@ void *snd_dlobj_cache_get(const char *lib, const char *name, - return func; - } - } -+ -+ dlobj = snd_dlopen(lib, RTLD_NOW); - if (dlobj == NULL) { -- dlobj = snd_dlopen(lib, RTLD_NOW); -- if (dlobj == NULL) { -- if (verbose) -- SNDERR("Cannot open shared library %s", -+ if (verbose) -+ SNDERR("Cannot open shared library %s", - lib ? lib : "[builtin]"); -- snd_dlobj_unlock(); -- return NULL; -- } -- dlobj_close = 1; -+ snd_dlobj_unlock(); -+ return NULL; - } -+ - func = snd_dlsym(dlobj, name, version); - if (func == NULL) { - if (verbose) -@@ -257,8 +254,7 @@ void *snd_dlobj_cache_get(const char *lib, const char *name, - free((void *)c->lib); - free(c); - __err: -- if (dlobj_close) -- snd_dlclose(dlobj); -+ snd_dlclose(dlobj); - snd_dlobj_unlock(); - return NULL; - } -@@ -298,16 +294,11 @@ void snd_dlobj_cache_cleanup(void) - struct list_head *p, *npos; - struct dlobj_cache *c; - -- /* clean up caches only when really no user is present */ - snd_dlobj_lock(); -- list_for_each(p, &pcm_dlobj_list) { -- c = list_entry(p, struct dlobj_cache, list); -- if (c->refcnt) -- goto unlock; -- } -- - list_for_each_safe(p, npos, &pcm_dlobj_list) { - c = list_entry(p, struct dlobj_cache, list); -+ if (c->refcnt) -+ continue; - list_del(p); - snd_dlclose(c->dlobj); - free((void *)c->name); /* shut up gcc warning */ --- -1.7.11.7 - |