commit: 3d64639800770244b29767889e2e21a24c39dd91 Author: Mike Frysinger <vapier <AT> gentoo <DOT> org> AuthorDate: Sat Feb 4 01:48:47 2017 +0000 Commit: Mike Frysinger <vapier <AT> gentoo <DOT> org> CommitDate: Sat Feb 4 01:49:18 2017 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3d646398
net-wireless/rtl-sdr: fix builds w/newer compiler standards .../files/rtl-sdr-0.5.3-static-inline.patch | 66 ++++++++++++++++++++++ .../rtl-sdr/rtl-sdr-0.5.3_p20150730.ebuild | 4 ++ 2 files changed, 70 insertions(+) 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 00000000..0f0e829 --- /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 <vap...@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 b33b615..8f1c5e6 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