diff --git a/debian/patches/Fix-include-stdio.h-C-incompatibility.patch b/debian/patches/Fix-include-stdio.h-C-incompatibility.patch new file mode 100644 index 0000000..f409ae8 --- /dev/null +++ b/debian/patches/Fix-include-stdio.h-C-incompatibility.patch @@ -0,0 +1,47 @@ +From 3735b53ebd56c007f46680a5be911d4451599310 Mon Sep 17 00:00:00 2001 +From: Sven Joachim +Date: Wed, 1 Nov 2017 09:03:28 +0100 +Subject: [PATCH] Fix include/stdio.h C++ incompatibility + +I have seen the following error when building bsdgames with +libncurses6: + +In file included from /usr/include/wchar.h:36:0, + from /usr/include/curses.h:400, + from dab/box.cc:48: +include/stdio.h:38:14: error: conflicting declaration of 'char* fgetln(FILE*, size_t*)' with 'C' linkage + extern char *fgetln(FILE *stream, size_t *len); + ^~~~~~ +In file included from /usr/include/curses.h:183:0, + from dab/box.cc:48: +include/stdio.h:38:14: note: previous declaration with 'C++' linkage + extern char *fgetln(FILE *stream, size_t *len); + ^~~~~~ +GNUmakefile:298: recipe for target 'dab/box.o' failed + +Declaring fgetln as extern "C" fixes this. The patch has been taken +from the Fedora bsd-games package, see +https://src.fedoraproject.org/rpms/bsd-games/blob/ac743bec7031199ec6fc09b6eb3760ffcfcfd277/f/bsd-games-2.17-stdio-c++.patch. +--- + include/stdio.h | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/include/stdio.h b/include/stdio.h +index 32a4b71..b1ac049 100644 +--- a/include/stdio.h ++++ b/include/stdio.h +@@ -35,5 +35,11 @@ + #include_next + + #ifndef HAVE_fgetln ++#ifdef __cplusplus ++extern "C" { ++#endif + extern char *fgetln(FILE *stream, size_t *len); ++#ifdef __cplusplus ++} ++#endif + #endif +-- +2.15.0 + diff --git a/debian/patches/series b/debian/patches/series index 88bd8d0..41a50c5 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -13,3 +13,4 @@ wtf-Add-NMU.-Closes-574036.patch hangman-Error-out-on-1000-unsuitable-words.-Closes-6.patch Fix-typos-spotted-by-Lintian.patch Fix-format-security-compiling-errors.patch +Fix-include-stdio.h-C-incompatibility.patch