commit:     f2c2beb6007ad270dff9aacedbcf2ef0946eaa74
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Sep  7 23:31:23 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Sep  7 23:31:30 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f2c2beb6

app-text/xmlto: fix build w/ clang 15 (backport warning fixes)

Throw in some other upstream warning fixes too.

Closes: https://bugs.gentoo.org/869080
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../xmlto/files/xmlto-0.0.28-fix-warnings.patch    | 116 +++++++++++++++++++++
 app-text/xmlto/xmlto-0.0.28-r9.ebuild              |  54 ++++++++++
 2 files changed, 170 insertions(+)

diff --git a/app-text/xmlto/files/xmlto-0.0.28-fix-warnings.patch 
b/app-text/xmlto/files/xmlto-0.0.28-fix-warnings.patch
new file mode 100644
index 000000000000..b90eea1f42df
--- /dev/null
+++ b/app-text/xmlto/files/xmlto-0.0.28-fix-warnings.patch
@@ -0,0 +1,116 @@
+https://bugs.gentoo.org/869080
+
+https://pagure.io/xmlto/c/1375e2df75530cd198bd16ac3de38e2b0d126276?branch=master
+https://pagure.io/xmlto/c/412f97cdc00d2bbf7e8121012b49fc07b3fe3d2b?branch=master
+https://pagure.io/xmlto/c/8e34f087bf410bcc5fe445933d6ad9bae54f24b5?branch=master
+https://pagure.io/xmlto/c/6fa6a0e07644f20abf2596f78a60112713e11cbe?branch=master
+
+From 1375e2df75530cd198bd16ac3de38e2b0d126276 Mon Sep 17 00:00:00 2001
+From: Thomas Kuehne <tho...@kuehne.cn>
+Date: Dec 11 2021 20:45:45 +0000
+Subject: fix -Wimplicit-int for ifsense
+
+
+fixes:
+xmlif/xmlif.l:46:8: warning: type defaults to ‘int’ in declaration of 
‘ifsense’ [-Wimplicit-int]
+   46 | static ifsense;                 /* sense of last `if' or unless seen */
+      |        ^~~~~~~
+
+Signed-off-by: Thomas Kuehne <tho...@kuehne.cn>
+
+--- a/xmlif/xmlif.l
++++ b/xmlif/xmlif.l
+@@ -43,7 +43,7 @@
+ 
+ static char **selections;     /* selection tokens */
+ static int nselections;               /* number of selections */
+-static ifsense;                       /* sense of last `if' or unless seen */
++static int ifsense;           /* sense of last `if' or unless seen */
+ static char *attribute;               /* last attribute scanned */
+ 
+ struct stack_t {
+
+
+From 412f97cdc00d2bbf7e8121012b49fc07b3fe3d2b Mon Sep 17 00:00:00 2001
+From: Thomas Kuehne <tho...@kuehne.cn>
+Date: Dec 11 2021 20:45:59 +0000
+Subject: fix extra ‘;’ outside of a function
+
+
+Fixes:
+xmlif/xmlif.l:240:24: warning: ISO C does not allow extra ‘;’ outside of a 
function [-Wpedantic]
+  240 | int yywrap() {exit(0);};
+      |                        ^
+
+Signed-off-by: Thomas Kuehne <tho...@kuehne.cn>
+
+--- a/xmlif/xmlif.l
++++ b/xmlif/xmlif.l
+@@ -237,7 +237,7 @@ WS         [ \t\n]*
+ 
+ #include "config.h"
+ 
+-int yywrap() {exit(0);};
++int yywrap() {exit(0);}
+ 
+ main(int argc, char *argv[])
+ {
+
+
+From 8e34f087bf410bcc5fe445933d6ad9bae54f24b5 Mon Sep 17 00:00:00 2001
+From: Thomas Kuehne <tho...@kuehne.cn>
+Date: Dec 11 2021 20:56:00 +0000
+Subject: Fix return type of main function
+
+
+Fixes:
+xmlif/xmlif.l:242:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
+  242 | main(int argc, char *argv[])
+      | ^~~~
+
+Signed-off-by: Thomas Kuehne <tho...@kuehne.cn>
+
+--- a/xmlif/xmlif.l
++++ b/xmlif/xmlif.l
+@@ -239,7 +239,7 @@ WS         [ \t\n]*
+ 
+ int yywrap() {exit(0);}
+ 
+-main(int argc, char *argv[])
++int main(int argc, char *argv[])
+ {
+     int i;
+ 
+@@ -265,7 +265,7 @@ main(int argc, char *argv[])
+           exit(1);
+       }
+ 
+-    yylex();
++    return yylex();
+ }
+ 
+ /*
+
+From 6fa6a0e07644f20abf2596f78a60112713e11cbe Mon Sep 17 00:00:00 2001
+From: Thomas Kuehne <tho...@kuehne.cn>
+Date: Dec 11 2021 21:03:42 +0000
+Subject: add strings.h import
+
+
+Fixes:
+xmlif/xmlif.l:162:13: warning: implicit declaration of function ‘strncasecmp’; 
did you mean ‘strncmp’? [-Wimplicit-function-declaration]
+  162 |         if (strncasecmp(selections[i], attr, eqoffset) == 0)
+      |             ^~~~~~~~~~~
+
+Signed-off-by: Thomas Kuehne <tho...@kuehne.cn>
+
+--- a/xmlif/xmlif.l
++++ b/xmlif/xmlif.l
+@@ -37,6 +37,7 @@
+  */
+ #include <string.h>
+ #include <stdlib.h>
++#include <strings.h>
+ 
+ #define TRUE  1
+ #define FALSE 0

diff --git a/app-text/xmlto/xmlto-0.0.28-r9.ebuild 
b/app-text/xmlto/xmlto-0.0.28-r9.ebuild
new file mode 100644
index 000000000000..1db249209926
--- /dev/null
+++ b/app-text/xmlto/xmlto-0.0.28-r9.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools
+
+DESCRIPTION="Script for converting XML and DocBook documents to a variety of 
output formats"
+HOMEPAGE="https://pagure.io/xmlto";
+SRC_URI="https://releases.pagure.org/${PN}/${P}.tar.bz2";
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 
~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos 
~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="latex text"
+
+RDEPEND="
+       app-text/docbook-xsl-stylesheets
+       app-text/docbook-xml-dtd:4.2
+       dev-libs/libxslt
+       || ( sys-apps/util-linux app-misc/getopt )
+       text? ( || ( virtual/w3m www-client/elinks www-client/links 
www-client/lynx ) )
+       latex? ( dev-texlive/texlive-formatsextra )
+"
+# We only depend on flex when we patch the input lexer.
+DEPEND="${RDEPEND}"
+
+DOCS=( AUTHORS ChangeLog FAQ NEWS README THANKS )
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-0.0.22-format_fo_passivetex_check.patch
+       "${FILESDIR}"/${PN}-0.0.28-allow-links.patch
+       "${FILESDIR}"/${P}-dont-hardcode-paths.patch
+       "${FILESDIR}"/${P}-fix-warnings.patch
+)
+
+src_prepare() {
+       default
+
+       # fix symbol clash on Solaris
+       if [[ ${CHOST} == *-solaris* ]] ; then
+               sed -i -e 's/\(attrib\|val\)/XMLTO\1/g' xmlif/xmlif.l || die
+       fi
+
+       eautoreconf
+}
+
+src_configure() {
+       # We don't want the script to detect /bin/sh if it is bash.
+       export ac_cv_path_BASH="${BASH}"
+       has_version sys-apps/util-linux || export GETOPT=getopt-long
+
+       econf
+}

Reply via email to