summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2017-02-03 15:48:47 -1000
committerMike Frysinger <vapier@gentoo.org>2017-02-03 15:49:18 -1000
commit3d64639800770244b29767889e2e21a24c39dd91 (patch)
tree648bcb9b6e887050421183eb31f18a7e942df6c2 /net-wireless/rtl-sdr
parentapp-crypt/scrypt: eapi bump (diff)
downloadgentoo-3d64639800770244b29767889e2e21a24c39dd91.tar.gz
gentoo-3d64639800770244b29767889e2e21a24c39dd91.tar.bz2
gentoo-3d64639800770244b29767889e2e21a24c39dd91.zip
net-wireless/rtl-sdr: fix builds w/newer compiler standards
Diffstat (limited to 'net-wireless/rtl-sdr')
-rw-r--r--net-wireless/rtl-sdr/files/rtl-sdr-0.5.3-static-inline.patch66
-rw-r--r--net-wireless/rtl-sdr/rtl-sdr-0.5.3_p20150730.ebuild4
2 files changed, 70 insertions, 0 deletions
diff --git a/net-wireless/rtl-sdr/files/rtl-sdr-0.5.3-static-inline.patch b/net-wireless/rtl-sdr/files/rtl-sdr-0.5.3-static-inline.patch
new file mode 100644
index 000000000000..0f0e829e3b06
--- /dev/null
+++ b/net-wireless/rtl-sdr/files/rtl-sdr-0.5.3-static-inline.patch
@@ -0,0 +1,66 @@
+https://github.com/steve-m/librtlsdr/pull/38
+
+From ea6a86d8e792430faa3a8161ee99f2bc392875d1 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@chromium.org>
+Date: Fri, 3 Feb 2017 15:44:18 -1000
+Subject: [PATCH] fix builds with newer compilers & C standards
+
+The meaning of "inline" has changed when "static" is not used.
+Since none of these functions are used outside of their respective
+files, mark them as static to avoid build errors where funcs are
+not inlined (based on compiler flags too).
+---
+ src/rtl_adsb.c | 8 ++++----
+ src/rtl_power.c | 2 +-
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/rtl_adsb.c b/src/rtl_adsb.c
+index e611e78f3dad..a3bfa7f36b5e 100644
+--- a/src/rtl_adsb.c
++++ b/src/rtl_adsb.c
+@@ -182,7 +182,7 @@ int magnitute(uint8_t *buf, int len)
+ return len/2;
+ }
+
+-inline uint16_t single_manchester(uint16_t a, uint16_t b, uint16_t c, uint16_t d)
++static inline uint16_t single_manchester(uint16_t a, uint16_t b, uint16_t c, uint16_t d)
+ /* takes 4 consecutive real samples, return 0 or 1, BADSAMPLE on error */
+ {
+ int bit, bit_p;
+@@ -223,17 +223,17 @@ inline uint16_t single_manchester(uint16_t a, uint16_t b, uint16_t c, uint16_t d
+ return BADSAMPLE;
+ }
+
+-inline uint16_t min16(uint16_t a, uint16_t b)
++static inline uint16_t min16(uint16_t a, uint16_t b)
+ {
+ return a<b ? a : b;
+ }
+
+-inline uint16_t max16(uint16_t a, uint16_t b)
++static inline uint16_t max16(uint16_t a, uint16_t b)
+ {
+ return a>b ? a : b;
+ }
+
+-inline int preamble(uint16_t *buf, int i)
++static inline int preamble(uint16_t *buf, int i)
+ /* returns 0/1 for preamble at index i */
+ {
+ int i2;
+diff --git a/src/rtl_power.c b/src/rtl_power.c
+index aa7a138a8cd3..a7a43bbd2507 100644
+--- a/src/rtl_power.c
++++ b/src/rtl_power.c
+@@ -249,7 +249,7 @@ void sine_table(int size)
+ }
+ }
+
+-inline int16_t FIX_MPY(int16_t a, int16_t b)
++static inline int16_t FIX_MPY(int16_t a, int16_t b)
+ /* fixed point multiply and scale */
+ {
+ int c = ((int)a * (int)b) >> 14;
+--
+2.11.0
+
diff --git a/net-wireless/rtl-sdr/rtl-sdr-0.5.3_p20150730.ebuild b/net-wireless/rtl-sdr/rtl-sdr-0.5.3_p20150730.ebuild
index b33b61593397..8f1c5e6c756d 100644
--- a/net-wireless/rtl-sdr/rtl-sdr-0.5.3_p20150730.ebuild
+++ b/net-wireless/rtl-sdr/rtl-sdr-0.5.3_p20150730.ebuild
@@ -26,6 +26,10 @@ IUSE=""
DEPEND="virtual/libusb:1"
RDEPEND="${DEPEND}"
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.5.3-static-inline.patch
+)
+
src_unpack() {
if [[ ${PV} == 9999* ]]; then
git-r3_src_unpack