commit: 30bdbd6c5ddc734020e35260ac1fb0848d769488
Author: Jeroen Roovers <jer <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 12 08:49:55 2016 +0000
Commit: Jeroen Roovers <jer <AT> gentoo <DOT> org>
CommitDate: Fri Feb 12 08:50:17 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=30bdbd6c
net-wireless/bluez: Fix endian compile error (bug #574092).
Package-Manager: portage-2.2.27
net-wireless/bluez/bluez-5.37.ebuild | 3 ++
net-wireless/bluez/files/bluez-5.37-endian.patch | 51 ++++++++++++++++++++++++
2 files changed, 54 insertions(+)
diff --git a/net-wireless/bluez/bluez-5.37.ebuild
b/net-wireless/bluez/bluez-5.37.ebuild
index fd9b88a..e3704f8 100644
--- a/net-wireless/bluez/bluez-5.37.ebuild
+++ b/net-wireless/bluez/bluez-5.37.ebuild
@@ -92,6 +92,9 @@ src_prepare() {
# ???
epatch "${FILESDIR}"/0004-agent-Assert-possible-infinite-loop.patch
+ # bug 574092
+ epatch "${FILESDIR}"/${PN}-5.37-endian.patch
+
if use cups; then
sed -i \
-e "s:cupsdir = \$(libdir)/cups:cupsdir = $(cups-config
--serverbin):" \
diff --git a/net-wireless/bluez/files/bluez-5.37-endian.patch
b/net-wireless/bluez/files/bluez-5.37-endian.patch
new file mode 100644
index 0000000..1ffa350
--- /dev/null
+++ b/net-wireless/bluez/files/bluez-5.37-endian.patch
@@ -0,0 +1,51 @@
+--- a/profiles/audio/a2dp-codecs.h
++++ b/profiles/audio/a2dp-codecs.h
+@@ -149,6 +149,17 @@
+ uint16_t codec_id;
+ } __attribute__ ((packed)) a2dp_vendor_codec_t;
+
++typedef struct {
++ a2dp_vendor_codec_t info;
++ uint8_t channel_mode:4;
++ uint8_t frequency:4;
++} __attribute__ ((packed)) a2dp_aptx_t;
++
++typedef struct {
++ a2dp_vendor_codec_t info;
++ uint8_t unknown[2];
++} __attribute__ ((packed)) a2dp_ldac_t;
++
+ #if __BYTE_ORDER == __LITTLE_ENDIAN
+
+ typedef struct {
+@@ -183,17 +194,6 @@
+ uint8_t bitrate3;
+ } __attribute__ ((packed)) a2dp_aac_t;
+
+-typedef struct {
+- a2dp_vendor_codec_t info;
+- uint8_t channel_mode:4;
+- uint8_t frequency:4;
+-} __attribute__ ((packed)) a2dp_aptx_t;
+-
+-typedef struct {
+- a2dp_vendor_codec_t info;
+- uint8_t unknown[2];
+-} __attribute__ ((packed)) a2dp_ldac_t;
+-
+ #elif __BYTE_ORDER == __BIG_ENDIAN
+
+ typedef struct {
+@@ -228,12 +228,6 @@
+ uint8_t bitrate3;
+ } __attribute__ ((packed)) a2dp_aac_t;
+
+-typedef struct {
+- a2dp_vendor_codec_t info;
+- uint8_t frequency:4;
+- uint8_t channel_mode:4;
+-} __attribute__ ((packed)) a2dp_aptx_t;
+-
+ #else
+ #error "Unknown byte order"
+ #endif