Browse Source

- fix gcc6 compile

master
gixxpunk 7 years ago
parent
commit
287cb9e911
  1. 43
      archive-patches/ncurses-gcc-5.x-MKlib_gen.patch
  2. 49
      archive-patches/ushare-fix-building-with-gcc-5.x.patch
  3. 4
      archive-sources/emmrd/emmremind.cpp
  4. 1
      make/system-libs.mk
  5. 1
      make/system-tools.mk

43
archive-patches/ncurses-gcc-5.x-MKlib_gen.patch

@ -0,0 +1,43 @@
Fix gcc 5.x build failure
Extracted from upstream commit
http://ncurses.scripts.mit.edu/?p=ncurses.git;a=commit;h=97bb4678dc03e753290b39bbff30ba2825df9517.
+ modify MKlib_gen.sh to work around change in development version of
gcc introduced here:
https://gcc.gnu.org/ml/gcc-patches/2014-06/msg02185.html
https://gcc.gnu.org/ml/gcc-patches/2014-07/msg00236.html
(reports by Marcus Shawcroft, Maohui Lei).
Original author: Thomas E. Dickey <dickey@invisible-island.net>
Signed-off-by: Mikhail Peselnik <bas@bmail.ru>
--- a/ncurses/base/MKlib_gen.sh 2015-08-06 20:48:24.000000000 -0400
+++ b/ncurses/base/MKlib_gen.sh 2017-02-07 10:09:01.293962392 -0500
@@ -491,11 +491,22 @@
-e 's/gen_$//' \
-e 's/ / /g' >>$TMP
+cat >$ED1 <<EOF
+s/ / /g
+s/^ //
+s/ $//
+s/P_NCURSES_BOOL/NCURSES_BOOL/g
+EOF
+
+# A patch discussed here:
+# https://gcc.gnu.org/ml/gcc-patches/2014-06/msg02185.html
+# introduces spurious #line markers. Work around that by ignoring the system's
+# attempt to define "bool" and using our own symbol here.
+sed -e 's/bool/P_NCURSES_BOOL/g' $TMP > $ED2
+cat $ED2 >$TMP
+
$preprocessor $TMP 2>/dev/null \
-| sed \
- -e 's/ / /g' \
- -e 's/^ //' \
- -e 's/_Bool/NCURSES_BOOL/g' \
+| sed -f $ED1 \
| $AWK -f $AW2 \
| sed -f $ED3 \
| sed \

49
archive-patches/ushare-fix-building-with-gcc-5.x.patch

@ -0,0 +1,49 @@
From 6abc52190accc8d8b17455420e234a1d7dc7ba55 Mon Sep 17 00:00:00 2001
From: Peter Korsgaard <peter@korsgaard.com>
Date: Mon, 16 Nov 2015 23:15:27 +0100
Subject: [PATCH] ushare: fix building with gcc 5.x
GCC5 defaults to -std=gnu11, which has different semantics for inline than
previous versions:
https://gcc.gnu.org/gcc-5/porting_to.html
Which causes linker issues when display_headers() and start_log() are
referenced from other files. There's no real reason why these needs to be
inline, so just drop the keyword.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
src/trace.c | 2 +-
src/ushare.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/trace.c b/src/trace.c
index 50729ef..4e314ef 100644
--- a/src/trace.c
+++ b/src/trace.c
@@ -57,7 +57,7 @@ print_log (log_level level, const char *format, ...)
va_end (va);
}
-inline void
+void
start_log (void)
{
openlog (PACKAGE_NAME, LOG_PID, LOG_DAEMON);
diff --git a/src/ushare.c b/src/ushare.c
index b64451e..af46e78 100644
--- a/src/ushare.c
+++ b/src/ushare.c
@@ -496,7 +496,7 @@ reload_config (int s __attribute__ ((unused)))
}
}
-inline void
+void
display_headers (void)
{
printf (_("%s (version %s), a lightweight UPnP A/V and DLNA Media Server.\n"),
--
2.1.4

4
archive-sources/emmrd/emmremind.cpp

@ -163,7 +163,7 @@ static int write(const string file, const string &data)
}
else
{
cout << BASNAME << "error opening file " << fh << endl;
cout << BASNAME << "error opening file \"" << file << "\"" << endl;
}
return 0;
@ -290,4 +290,4 @@ int main(int argc, char *argv[])
return 1;
}
exit(1);
}
}

1
make/system-libs.mk

@ -430,6 +430,7 @@ $(D)/ffmpeg: $(FFMPEG_DEPS) | $(TARGETPREFIX)
$(D)/libncurses: $(ARCHIVE)/ncurses-$(LIBNCURSES_VER).tar.gz | $(TARGETPREFIX)
$(UNTAR)/ncurses-$(LIBNCURSES_VER).tar.gz && \
pushd $(BUILD_TMP)/ncurses-$(LIBNCURSES_VER) && \
$(PATCH)/ncurses-gcc-5.x-MKlib_gen.patch && \
$(CONFIGURE) \
--target=$(TARGET) \
--prefix= \

1
make/system-tools.mk

@ -239,6 +239,7 @@ $(D)/ushare: $(ARCHIVE)/ushare-$(USHARE_VER).tar.bz2 $(D)/libupnp | $(TARGETPREF
$(UNTAR)/ushare-$(USHARE_VER).tar.bz2
pushd $(BUILD_TMP)/ushare-$(USHARE_VER) && \
$(PATCH)/ushare.diff && \
$(PATCH)/ushare-fix-building-with-gcc-5.x.patch && \
$(BUILDENV) \
./configure \
--prefix=$(TARGETPREFIX) \

Loading…
Cancel
Save