app-text/psiconv: Port to EAPI 7
authorDavid Seifert <soap@gentoo.org>
Fri, 28 Feb 2020 00:30:27 +0000 (01:30 +0100)
committerDavid Seifert <soap@gentoo.org>
Fri, 28 Feb 2020 00:30:27 +0000 (01:30 +0100)
* Fix GCC 10 / -fno-common
* Fix missing headers causing implicit declarations

Closes: https://bugs.gentoo.org/707134
Package-Manager: Portage-2.3.89, Repoman-2.3.20
Signed-off-by: David Seifert <soap@gentoo.org>
app-text/psiconv/files/psiconv-0.8.3-Wimplicit-function-declaration.patch [new file with mode: 0644]
app-text/psiconv/files/psiconv-0.8.3-gcc10-fno-common.patch [new file with mode: 0644]
app-text/psiconv/psiconv-0.8.3-r1.ebuild

diff --git a/app-text/psiconv/files/psiconv-0.8.3-Wimplicit-function-declaration.patch b/app-text/psiconv/files/psiconv-0.8.3-Wimplicit-function-declaration.patch
new file mode 100644 (file)
index 0000000..9d01c2d
--- /dev/null
@@ -0,0 +1,92 @@
+--- a/extra/checkuid.c
++++ b/extra/checkuid.c
+@@ -19,6 +19,7 @@
+ #include <stdio.h>
++#include <stdlib.h>
+ unsigned long uid1[32] = { /* bit 0  */  0x000045A0,
+                            /* bit 1  */  0x00008B40,
+--- a/extra/empty.c
++++ b/extra/empty.c
+@@ -20,6 +20,7 @@
+ #include <psiconv/generate.h>
+ #include <stdio.h>
++#include <stdlib.h>
+ void help(void)
+ {
+--- a/extra/rewrite.c
++++ b/extra/rewrite.c
+@@ -21,6 +21,7 @@
+ #include <psiconv/generate.h>
+ #include <stdio.h>
++#include <stdlib.h>
+ int main(int argc, char *argv[])
+ {
+--- a/lib/psiconv/error.c
++++ b/lib/psiconv/error.c
+@@ -22,6 +22,7 @@
+ #include <stdarg.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <string.h>
+ #include "error.h"
+--- a/lib/psiconv/generate_layout.c
++++ b/lib/psiconv/generate_layout.c
+@@ -23,6 +23,8 @@
+ #include "generate_routines.h"
+ #include "error.h"
++#include <string.h>
++
+ #ifdef DMALLOC
+ #include <dmalloc.h>
+ #endif
+--- a/lib/psiconv/generate_simple.c
++++ b/lib/psiconv/generate_simple.c
+@@ -23,6 +23,8 @@
+ #include "generate_routines.h"
+ #include "error.h"
++#include <string.h>
++
+ #ifdef DMALLOC
+ #include <dmalloc.h>
+ #endif
+--- a/lib/psiconv/list.c
++++ b/lib/psiconv/list.c
+@@ -23,6 +23,7 @@
+ #include <stddef.h>
+ #include <stdlib.h>
+ #include <stdio.h>
++#include <string.h>
+ #include "general.h"
+ #include "list.h"
+ #include "error.h"
+--- a/lib/psiconv/misc.c
++++ b/lib/psiconv/misc.c
+@@ -22,6 +22,7 @@
+ #include <stdarg.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <string.h>
+ #include "common.h"
+ #ifdef DMALLOC
+--- a/lib/psiconv/parse_driver.c
++++ b/lib/psiconv/parse_driver.c
+@@ -21,6 +21,7 @@
+ #include "compat.h"
+ #include <stdlib.h>
++#include <string.h>
+ #include "parse.h"
+ #include "parse_routines.h"
diff --git a/app-text/psiconv/files/psiconv-0.8.3-gcc10-fno-common.patch b/app-text/psiconv/files/psiconv-0.8.3-gcc10-fno-common.patch
new file mode 100644 (file)
index 0000000..4c21a6e
--- /dev/null
@@ -0,0 +1,21 @@
+--- a/program/psiconv/psiconv.c
++++ b/program/psiconv/psiconv.c
+@@ -41,6 +41,8 @@
+ #include "gen.h"
+ #include "psiconv.h"
++psiconv_list fileformat_list;
++
+ static void print_help(void);
+ static void print_version(void);
+ static void strtoupper(char *str);
+--- a/program/psiconv/psiconv.h
++++ b/program/psiconv/psiconv.h
+@@ -31,6 +31,6 @@
+   output_function *output;
+ } *psiconv_fileformat;
+-psiconv_list fileformat_list; /* of struct psiconv_fileformat */
++extern psiconv_list fileformat_list; /* of struct psiconv_fileformat */
+ #endif /* PSICONV_GEN_H */
index 004004aee6413c663fdf095f213d8cf7d3ab920b..84ee5132d4f5c442051c52f67a8083de8b8da3a5 100644 (file)
@@ -1,7 +1,7 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=5
+EAPI=7
 
 inherit toolchain-funcs
 
@@ -9,20 +9,23 @@ DESCRIPTION="An interpreter for Psion 5(MX) file formats"
 HOMEPAGE="http://huizen.dds.nl/~frodol/psiconv"
 SRC_URI="http://huizen.dds.nl/~frodol/${PN}/${P}.tar.gz"
 
-SLOT="0"
 LICENSE="GPL-2"
-IUSE="static-libs"
+SLOT="0"
 KEYWORDS="~alpha ~amd64 ~hppa ~mips ~ppc ~sparc ~x86"
 
-src_prepare() {
-       tc-export AR
-}
+PATCHES=(
+       "${FILESDIR}"/${P}-gcc10-fno-common.patch
+       "${FILESDIR}"/${P}-Wimplicit-function-declaration.patch
+)
 
 src_configure() {
-       econf $(use_enable static-libs static)
+       tc-export AR
+       econf --disable-static
 }
 
 src_install() {
        default
-       use static-libs || rm -fr "${D}"usr/lib*/lib${PN}.la
+
+       # no static archives
+       find "${D}" -name '*.la' -delete || die
 }