summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuli Suominen <ssuominen@gentoo.org>2013-05-03 13:37:07 +0000
committerSamuli Suominen <ssuominen@gentoo.org>2013-05-03 13:37:07 +0000
commit049ddb48de3cfb4736e2c2b24d3b5f5b24a41717 (patch)
tree70eed7d00c3c2f1751ef0ab353af9c5bb61a05e1 /media-libs/alsa-lib
parentUpdate kernel version compatibility. (diff)
downloadhistorical-049ddb48de3cfb4736e2c2b24d3b5f5b24a41717.tar.gz
historical-049ddb48de3cfb4736e2c2b24d3b5f5b24a41717.tar.bz2
historical-049ddb48de3cfb4736e2c2b24d3b5f5b24a41717.zip
Import four more upstream patches wrt #468402 by "Duncan"
Package-Manager: portage-2.2.0_alpha173/cvs/Linux x86_64 Manifest-Sign-Key: 0x4868F14D
Diffstat (limited to 'media-libs/alsa-lib')
-rw-r--r--media-libs/alsa-lib/ChangeLog10
-rw-r--r--media-libs/alsa-lib/Manifest21
-rw-r--r--media-libs/alsa-lib/alsa-lib-1.0.27-r2.ebuild80
-rw-r--r--media-libs/alsa-lib/files/alsa-lib-1.0.27-inline-2.patch28
-rw-r--r--media-libs/alsa-lib/files/alsa-lib-1.0.27-inline.patch155
-rw-r--r--media-libs/alsa-lib/files/alsa-lib-1.0.27-kernel.patch73
-rw-r--r--media-libs/alsa-lib/files/alsa-lib-1.0.27-pcm.patch34
7 files changed, 392 insertions, 9 deletions
diff --git a/media-libs/alsa-lib/ChangeLog b/media-libs/alsa-lib/ChangeLog
index 049ad1e28256..27d2b76d6405 100644
--- a/media-libs/alsa-lib/ChangeLog
+++ b/media-libs/alsa-lib/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for media-libs/alsa-lib
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/alsa-lib/ChangeLog,v 1.354 2013/05/02 01:18:18 ssuominen Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-libs/alsa-lib/ChangeLog,v 1.355 2013/05/03 13:36:55 ssuominen Exp $
+
+*alsa-lib-1.0.27-r2 (03 May 2013)
+
+ 03 May 2013; Samuli Suominen <ssuominen@gentoo.org>
+ +alsa-lib-1.0.27-r2.ebuild, +files/alsa-lib-1.0.27-inline.patch,
+ +files/alsa-lib-1.0.27-inline-2.patch, +files/alsa-lib-1.0.27-kernel.patch,
+ +files/alsa-lib-1.0.27-pcm.patch:
+ Import four more upstream patches wrt #468402 by "Duncan"
02 May 2013; Samuli Suominen <ssuominen@gentoo.org> -alsa-lib-1.0.27.ebuild:
old
diff --git a/media-libs/alsa-lib/Manifest b/media-libs/alsa-lib/Manifest
index 606be9e37c5b..8ebb2501fd1d 100644
--- a/media-libs/alsa-lib/Manifest
+++ b/media-libs/alsa-lib/Manifest
@@ -3,20 +3,25 @@ Hash: SHA256
AUX 1.0.25-extraneous-cflags.diff 465 SHA256 ac22ee102fa41baf179b755ca0203b87712e57e515c85b72b45ed5bc9e75d555 SHA512 1c84f3f1c4bd8bd866c2c0fed24136b818dad28bf91fd6e39b4e17c7f1b72d53af7d3e4a6358b9c80f616052ae87540561743757f98e1dcd613ae2d1c7ab8348 WHIRLPOOL 7ca6ec58257fb572bc2eb7ebb6efc12f9d7319e4beaf78137d4d876abf1e53fc151bad682600363407b4afae3887cbce267ebb580e29685c0ac61b6b33cc6431
AUX alsa-lib-1.0.27-dlclose.patch 2999 SHA256 4663756b2c501bbc69fe31b6066c93620e847a14b96905311c89f0986caa405e SHA512 bd763f4b6d986c6342b9d7d6896cab9ea8b7638ddd81aa9330fd7e1d7912da2d19d58c17137fae25b545f6e3295a2dd4c9e6c87b5a93a7f770a90612ad39aa07 WHIRLPOOL c14ac89cb2c9421020bf3ab51db2fe59dcd3798748d2232b6cc2840b5eae25ff231647548005c6f0cf178fe1e14eec31851b58781e0488dc6e68b1870e9b7351
+AUX alsa-lib-1.0.27-inline-2.patch 689 SHA256 d4df6f0309ce2f8ea13db5f357ba955a00750a6c0d0e6e3113f690626ec3d8da SHA512 978c904073364b614ea214c3fafa06ad033bb07cd243d740efd527980be5f99a158c7d392fd64bdb13d2f5cab8c9f7b43f2a34aada8ca65c07b1538ab75c9441 WHIRLPOOL 22e9706a36be0d4379215334e1e6d141bf60c03a42b4d1166880bbbe1164f34bcef72681b3d3984a202de9dab70a961a9e36b5ecc36bad900cf474509d8c2077
+AUX alsa-lib-1.0.27-inline.patch 6503 SHA256 0d9fe7b525039e7915545715395880a4a9047730a521d832e9006facd038e244 SHA512 a9cb3a2b67beb1d2302d620ffc1952626ff473a421276e7a5a623f1099b5ed0ebaf2877a4b17b19f3a02b68e5662cf696d1507e68628dce20eee2a0851307c9a WHIRLPOOL c3de5b3e1e996f975103887dbdd56c68a7e7ce4595dcf2f05d23fa85fd41f3a92c057ad14e93336484d880832db53b52a057ae7587f7dcdc755000e375909b90
+AUX alsa-lib-1.0.27-kernel.patch 2679 SHA256 633ba95643ede5b594053dd588d27175e88b2ae372c04a52e86134737e05241a SHA512 f57d4761a94013a581573f16f146a4b552556f82b8d8c28e04a5058741529839a3eca7a49b2a1776e6340fa6fc5f1d01f21131629fa940710383f1ee7d985f0d WHIRLPOOL 6b57cbf524a142a61b702e00ad3de8dfae974df99a0869a1f9ecd5a0625b317fc081d91279f41044e2d5cd65853effe9168b4701e9830d2b36cd2391eebd358e
+AUX alsa-lib-1.0.27-pcm.patch 845 SHA256 b6fb50bd56f8f14c299d4629be05b0d13c80f910ed06464541bf7e685cf98ea8 SHA512 2997465fca9e9160a527ed4d509343753bf5185cfd8a0a2714ed4ea64507e582d0e3dea0d055adbed6aa17835527c5a87d50a033bedf95a94ff247697b0015d0 WHIRLPOOL e6cc9be59ee06f591a494e436fd6cfe8b384069a402403ea58b54d150f2e6ef5979612216a16dbc95739e52d1a335951fd2d8970bb23cffa9c457ad7d5921da0
DIST alsa-lib-1.0.26.tar.bz2 883076 SHA256 8c9f8161603cc3db640619650401292c3e110da63429ab6938aac763319f6e7d SHA512 2f917171c1e2f50947d7b62da468c5febfa91fba5c04b4694171f7fa0e61ddf398daf7e657876bab1f1ec08932e82f147786b10f815172409f057b0fcd69003a WHIRLPOOL c6353ccf335e24e97258f26fed14ce66fff21b721bef1d6648f212653c0c58a99c889784bf7d42cadbc0f2b1514c877fe8ed94f30c7b45d55f9193c335849c0f
DIST alsa-lib-1.0.27.tar.bz2 898132 SHA256 947caa14cf53c614d0a206fe9f5964de6ee9617f9007e8fceffd6b3cfd89bc5d SHA512 70e12f7ba8e1d1c7e7c240c033affd991a536b57b95bb82b25cc7f9ef36157c2045ceec360df373e2979e8c03ed64019bbb1949a279d965bd208bd6a704351eb WHIRLPOOL 055ecbda55733d3a63cee9bcda8a04f168b83313b6eccff5fa568a1d7727cb7ff5ca40e25d1f8bf651cb97f129884e7e0963877fb2c06252f8e4a0e130a4b407
EBUILD alsa-lib-1.0.26-r1.ebuild 1611 SHA256 21beff4d4e3d1a3a641901dcb806a8b4740a99706d4d7f6f43938892c86b2620 SHA512 f0a0084ca9dba8199ae7f3cc38694226a618b170bb8b2d61d226cfbccffae8fc1585aab7ae16bbf7459bf665c2cf62dcefe746a4119df998cf3d80cf2460b716 WHIRLPOOL ce18af81d4586c04489a992db8555289d3b181807e5b8e247441fb7f23138b5f9436fbbd036010cc57789989b6909010760d011dc2d3e41913b5673531f16d79
EBUILD alsa-lib-1.0.27-r1.ebuild 1759 SHA256 e9af06c622cde78876aa5a45b71534370ab0cb3e92cfdda03282b6addb0f9c03 SHA512 c790fc228a51f4886ccc6db51122901c9b124fcab25846df32e58214942a30afe3829bdba8434b3e1adf74aa57f67863e68e33e0f5738a40b7538e912c4a2823 WHIRLPOOL f7597f67e0427106c9d5e4a49a6dcff885568b19db931a6d95f9b37ac5aad05f9bb76150b1d9b734df48bb619f91b9d3f0aa4d53b6351247aa172f89b08171b0
-MISC ChangeLog 52331 SHA256 da731932b68d0c674d56887141fdb6bccdcf72410f6ed34debceb2d770880548 SHA512 c67f98bea6787b82e6daa4350c1edb4a83e9bea6f2cf55168d3f201c4406af181174dc7dd6a8ef0c1607ab7cc2457aef99daae327789076304bf9f7904e651a5 WHIRLPOOL 1914a2dc3a23c7b2b13a661b61b0362a670aa98fd1c94bebe3d3fa3d13eeaaea58598651ba7f11a9a4e7172e3c7cf9d9aadf2a8e823322b7d2cf54745cdebad9
+EBUILD alsa-lib-1.0.27-r2.ebuild 1877 SHA256 a116e62a4ca8c1cad2b694fffad4e5a11da4098b90ec5e8c49e02329403aeba8 SHA512 faba485d93a420e0056daaa2b5ad09afb4c3090b972e7163e1f89fdde69344379d553ff4bdc22655a5b9dd96bd3670c8311f5bfa1df07a01403c7c2ae98ebd2c WHIRLPOOL ada327901d2b16fbeedec643fbd9184f81a900941dd8c18588fdaae3937a15a7eec4ba28cfc60c5b2a30cc5fc20c73b4bf504510efa29d9ae141876149b61a6d
+MISC ChangeLog 52662 SHA256 8f292f97fe646071420e5709875207cf30bb1b38755b0d6db4c57de0997c8f08 SHA512 02768f000dd50ec3fe78807d435537797c7eeaa605b1799fe2eef14d5a13eff3baec4ca06d032d537ea64a7e711e2b85992816185dab90026fb2006c18024aa1 WHIRLPOOL ee28ee17ddf175e4fc64b623bfb28bb4cdaf62bc03ba1df69511146d45ea6f9b6e6c74ef84bccd581abc8d3b634857fc4edd91fb97cb65bc6ce45c9230a343f3
MISC metadata.xml 349 SHA256 68b0f168985d3b03a0997eb9f9338662d1584dc7fe7ea35ae8f7564e5e20c2e3 SHA512 477956b85f7ddddac6b0bb67a52803a569f3ee6011ab917a3d2a60975a11c0a9ef5acedebbcb75bdbd04063e2c6e7aabf10a0c2444dd10492eda4cb8f817f688 WHIRLPOOL c42f98c4da4bd5c20d32bfa6a3d9d68b71aaccbc905cad9a7552366be99c1e1f010279d458b620e97e2c1044cef0af066cf79fc5a1fcecf8fb31c91a3e1e95ab
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)
-iQEcBAEBCAAGBQJRgb5qAAoJEEdUh39IaPFNkYsH/1u9+HXtIvXjyum1sy6rBA6G
-r9dt0DMEFyK3d+94n0vaBC3YSW58q0wUniU/wkKxCbYPQKGjbjwHbzMQGK3EhUrX
-qvcqIDG3wV4P7yjvfa5m5qylM3J44usLkR/nht9WLdsrTJEuA6zw+aJamRgjpwLj
-n1wHnaQhRlfFvDWJBzQRR3naFGEKUEjRDykJOfZ27w5Cw4l6Od9w66aOysra0334
-V+KbnrYFyrx//tLTO6TANtJ0uKLCi5P32ihPSHhebwcpDXDPrMjC5N+hD6dig63P
-NnkLwfymQoY7oGGflarQ0bdATyWRbv36Y6HCl4Pi87CtizCq/+kmMA3ENNGez1Q=
-=mRYL
+iQEbBAEBCAAGBQJRg71yAAoJEEdUh39IaPFNvAkH92wm42mTOWDA7AHRiDTBGzrA
+J15HWmVXIbVAno3grAihNmlUrylnXBg/R4sQU5AhvvNqyhbY7IY2QEWgxfXCyHlX
+OUfTBCvtQgWei71ezKMv++EIg6EBcVeDs0qpkyp8p/Ym0n4bmnF7eRBSdHfr+hf0
+Exu/V6ZwyX9dB5RBh2FdtpRvASpTmmNbayca2pOa9BILk3jV+wrNbADmdBbrK0Iv
+Vg8T7Fia/yM4duNlQL47eB9lkV0UY18MF4T/1HYpEh42EGWUniWW7OrUyOIuQcXg
+L2Gj8oF9ozBvQJcBJ2w9YNtWA50BeL2av49vYGShsxGAvJWW7vwFSNZ5pbkVGg==
+=rkwB
-----END PGP SIGNATURE-----
diff --git a/media-libs/alsa-lib/alsa-lib-1.0.27-r2.ebuild b/media-libs/alsa-lib/alsa-lib-1.0.27-r2.ebuild
new file mode 100644
index 000000000000..b325b7657826
--- /dev/null
+++ b/media-libs/alsa-lib/alsa-lib-1.0.27-r2.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-libs/alsa-lib/alsa-lib-1.0.27-r2.ebuild,v 1.1 2013/05/03 13:36:55 ssuominen Exp $
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit autotools eutils multilib python-single-r1
+
+DESCRIPTION="Advanced Linux Sound Architecture Library"
+HOMEPAGE="http://www.alsa-project.org/"
+SRC_URI="mirror://alsaproject/lib/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc debug alisp python"
+
+RDEPEND="python? ( ${PYTHON_DEPS} )"
+DEPEND="${RDEPEND}
+ >=media-sound/alsa-headers-1.0.25-r1
+ doc? ( >=app-doc/doxygen-1.2.6 )"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ # dlclose, pcm, kernel, inline, inline-2 are all from upstream
+ epatch \
+ "${FILESDIR}"/1.0.25-extraneous-cflags.diff \
+ "${FILESDIR}"/${P}-{dlclose,pcm,kernel}.patch \
+ "${FILESDIR}"/${P}-inline{,-2}.patch
+
+ sed -i -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.in || die #466980
+
+ epatch_user
+
+ eautoreconf
+ # if eautoreconf'd with recent autoconf, then epunt_cxx is
+ # unncessary wrt #460974
+# epunt_cxx
+}
+
+src_configure() {
+ local myconf
+ use elibc_uclibc && myconf="--without-versioned"
+
+ econf \
+ --enable-shared \
+ --disable-resmgr \
+ --enable-rawmidi \
+ --enable-seq \
+ --enable-aload \
+ $(use_with debug) \
+ $(use_enable alisp) \
+ $(use_enable python) \
+ ${myconf}
+}
+
+src_compile() {
+ emake
+
+ if use doc; then
+ emake doc
+ fgrep -Zrl "${S}" "${S}/doc/doxygen/html" | \
+ xargs -0 sed -i -e "s:${S}::"
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ prune_libtool_files --all
+ find "${ED}"/usr/$(get_libdir)/alsa-lib -name '*.a' -exec rm -f {} +
+
+ dodoc ChangeLog TODO
+ use doc && dohtml -r doc/doxygen/html/*
+}
diff --git a/media-libs/alsa-lib/files/alsa-lib-1.0.27-inline-2.patch b/media-libs/alsa-lib/files/alsa-lib-1.0.27-inline-2.patch
new file mode 100644
index 000000000000..e99bae864a9e
--- /dev/null
+++ b/media-libs/alsa-lib/files/alsa-lib-1.0.27-inline-2.patch
@@ -0,0 +1,28 @@
+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/media-libs/alsa-lib/files/alsa-lib-1.0.27-inline.patch b/media-libs/alsa-lib/files/alsa-lib-1.0.27-inline.patch
new file mode 100644
index 000000000000..cc5cb8d75b73
--- /dev/null
+++ b/media-libs/alsa-lib/files/alsa-lib-1.0.27-inline.patch
@@ -0,0 +1,155 @@
+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/media-libs/alsa-lib/files/alsa-lib-1.0.27-kernel.patch b/media-libs/alsa-lib/files/alsa-lib-1.0.27-kernel.patch
new file mode 100644
index 000000000000..3d4eaf3cbc72
--- /dev/null
+++ b/media-libs/alsa-lib/files/alsa-lib-1.0.27-kernel.patch
@@ -0,0 +1,73 @@
+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/media-libs/alsa-lib/files/alsa-lib-1.0.27-pcm.patch b/media-libs/alsa-lib/files/alsa-lib-1.0.27-pcm.patch
new file mode 100644
index 000000000000..44ca8003a135
--- /dev/null
+++ b/media-libs/alsa-lib/files/alsa-lib-1.0.27-pcm.patch
@@ -0,0 +1,34 @@
+From 697f8c296ccb4b38cec930782b5ef1419aaf4245 Mon Sep 17 00:00:00 2001
+From: Daniel Mack <zonque@gmail.com>
+Date: Thu, 18 Apr 2013 10:37:49 +0200
+Subject: [PATCH] pcm.c: fix indentation
+
+Signed-off-by: Daniel Mack <zonque@gmail.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+---
+ src/pcm/pcm.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/pcm/pcm.c b/src/pcm/pcm.c
+index 38febb9..2a87a7b 100644
+--- a/src/pcm/pcm.c
++++ b/src/pcm/pcm.c
+@@ -1638,11 +1638,11 @@ static const char *const snd_pcm_type_names[] = {
+ PCMTYPE(LADSPA),
+ PCMTYPE(DMIX),
+ PCMTYPE(JACK),
+- PCMTYPE(DSNOOP),
+- PCMTYPE(IEC958),
++ PCMTYPE(DSNOOP),
++ PCMTYPE(IEC958),
+ PCMTYPE(SOFTVOL),
+- PCMTYPE(IOPLUG),
+- PCMTYPE(EXTPLUG),
++ PCMTYPE(IOPLUG),
++ PCMTYPE(EXTPLUG),
+ PCMTYPE(MMAP_EMUL),
+ };
+
+--
+1.7.11.7
+