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

Reply via email to