public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: app-text/linuxdoc-tools/, app-text/linuxdoc-tools/files/
Date: Tue,  6 Dec 2022 09:03:50 +0000 (UTC)	[thread overview]
Message-ID: <1670317362.23e57ee0c2b556d37aa39cde1628eeab5ac44d20.sam@gentoo> (raw)

commit:     23e57ee0c2b556d37aa39cde1628eeab5ac44d20
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Dec  6 09:02:21 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Dec  6 09:02:42 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=23e57ee0

app-text/linuxdoc-tools: fix build w/ clang 16

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

 app-text/linuxdoc-tools/Manifest                   |   1 +
 .../linuxdoc-tools-0.9.82-configure-clang16.patch  | 246 +++++++++++++++++++++
 .../linuxdoc-tools/linuxdoc-tools-0.9.82.ebuild    |  95 ++++++++
 3 files changed, 342 insertions(+)

diff --git a/app-text/linuxdoc-tools/Manifest b/app-text/linuxdoc-tools/Manifest
index e5c63c2ef18f..e5ce01ec717c 100644
--- a/app-text/linuxdoc-tools/Manifest
+++ b/app-text/linuxdoc-tools/Manifest
@@ -1 +1,2 @@
 DIST linuxdoc-tools-0.9.73.tar.gz 613971 BLAKE2B e2e04aaa44d5e2cea5af266e38b476381f87a02b9704e03ae5943f7714634d5d214350abd5b193f2efe656a264403c679495af5f954870b30d32b8b799ad7206 SHA512 b26896316e259cf4ef170814d410b1e39e58f61db49b03b4b9c1f767f8459d84214e92d9dcc09ad739508fd9c3c5fe4a2264cbb3c693a11362e59fd221655252
+DIST linuxdoc-tools-0.9.82.tar.bz2 550046 BLAKE2B 3bf9b9680659a3a6873e31116975fca7372167a701e630d762d37fcacf7acb9f1df4031558c4db24769e598a17b206e1c09607e341fc90f91497c15ff0cb05a1 SHA512 82560d9dc4db231e0a2c1fa3732d062bfd6af2cd3c5ffa0960939b2888533882437ddeeb54219e31acc7eaa10fdeee84ba206d32516cc5ed4f3fba2eab1ec0e4

diff --git a/app-text/linuxdoc-tools/files/linuxdoc-tools-0.9.82-configure-clang16.patch b/app-text/linuxdoc-tools/files/linuxdoc-tools-0.9.82-configure-clang16.patch
new file mode 100644
index 000000000000..941d7eac1dc6
--- /dev/null
+++ b/app-text/linuxdoc-tools/files/linuxdoc-tools-0.9.82-configure-clang16.patch
@@ -0,0 +1,246 @@
+Patch emailed to upstream.
+
+From 216e770ced47ad0017cd43033ef213c2634fe87a Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Tue, 6 Dec 2022 08:53:14 +0000
+Subject: [PATCH] sgmls-1.1: fix configure script with Clang 16
+
+Clang 16 makes -Wimplicit-function-declaration and -Wimplicit-int errors by default.
+
+Unfortunately, this can lead to misconfiguration or miscompilation of software as configure
+tests may then return the wrong result. In this case, it led to a build failure
+(see https://bugs.gentoo.org/883203).
+
+We also fix -Wstrict-prototypes while here as it's easy to do and it prepares
+us for C23.
+
+For more information, see LWN.net [0] or LLVM's Discourse [1], the Gentoo wiki [2],
+or the (new) c-std-porting mailing list [3].
+
+[0] https://lwn.net/Articles/913505/
+[1] https://discourse.llvm.org/t/configure-script-breakage-with-the-new-werror-implicit-function-declaration/65213
+[2] https://wiki.gentoo.org/wiki/Modern_C_porting
+[3] hosted at lists.linux.dev.
+
+Bug: https://bugs.gentoo.org/883203
+Signed-off-by: Sam James <sam@gentoo.org>
+--- a/sgmls-1.1/configure
++++ b/sgmls-1.1/configure
+@@ -110,13 +110,14 @@ cat >doit.c <<\EOF
+ 
+ #include <ctype.h>
+ #include <signal.h>
++#include <stdlib.h>
+ 
+-static int whoops()
++static void whoops(int signal)
+ {
+   _exit(1);
+ }
+ 
+-main()
++int main(void)
+ {
+   int c;
+ #ifdef isascii
+@@ -213,9 +214,9 @@ else
+ fi
+ 
+ cat >doit.c <<\EOF
+-main(argc, argv)
+-int argc;
+-char **argv;
++#include <stdio.h>
++#include <stdlib.h>
++int main(int argc, char **argv)
+ {
+   if (argc == 0)
+     remove("foo");
+@@ -231,9 +232,9 @@ else
+ fi
+ 
+ cat >doit.c <<\EOF
+-main(argc, argv)
+-int argc;
+-char **argv;
++#include <unistd.h>
++#include <stdlib.h>
++int main(int argc, char **argv)
+ {
+   if (argc == 0)
+     getopt(argc, argv, "v");
+@@ -249,9 +250,9 @@ else
+ fi
+ 
+ cat >doit.c <<\EOF
+-main(argc, argv)
+-int argc;
+-char **argv;
++#include <stdlib.h>
++#include <unistd.h>
++int main(int argc, char **argv)
+ {
+   if (argc == 0)
+     access("foo", 4);
+@@ -267,9 +268,9 @@ else
+ fi
+ 
+ cat >doit.c <<\EOF
+-main(argc, argv)
+-int argc;
+-char **argv;
++#include <stdlib.h>
++#include <unistd.h>
++int main(int argc, char **argv)
+ {
+   if (argc == 0)
+     vfork();
+@@ -285,9 +286,9 @@ else
+ fi
+ 
+ cat >doit.c <<\EOF
+-main(argc, argv)
+-int argc;
+-char **argv;
++#include <stdlib.h>
++#include <sys/wait.h>
++int main(int argc, char **argv)
+ {
+ 
+   if (argc == 0) {
+@@ -306,10 +307,9 @@ else
+ fi
+ 
+ cat >doit.c <<\EOF
++#include <stdlib.h>
+ #include <string.h>
+-main(argc, argv)
+-int argc;
+-char **argv;
++int main(int argc, char **argv)
+ {
+   if (argc == 0)
+     strerror(0);
+@@ -326,9 +326,8 @@ fi
+ 
+ cat >doit.c <<\EOF
+ #include <strings.h>
+-main(argc, argv)
+-int argc;
+-char **argv;
++#include <stdlib.h>
++int main(int argc, char **argv)
+ {
+   if (argc == 0)
+ 	bcopy((char *)0, (char *)0, 0);
+@@ -340,10 +339,9 @@ if $CC $CFLAGS -o doit doit.c $LIBS >/dev/null 2>&1 && ./doit 2>/dev/null
+ then
+ 	# Only use BSD_STRINGS if ANSI string functions don't work.
+ 	cat >doit.c <<\EOF
++#include <stdlib.h>
+ #include <string.h>
+-main(argc, argv)
+-int argc;
+-char **argv;
++int main(int argc, char **argv)
+ {
+   if (argc == 0)
+ 	memcpy((char *)0, (char *)0, 0);
+@@ -363,9 +361,8 @@ fi
+ 
+ cat >doit.c <<\EOF
+ #include <signal.h>
+-main(argc, argv)
+-int argc;
+-char **argv;
++#include <stdlib.h>
++int main(int argc, char **argv)
+ {
+   if (argc == 0)
+     raise(SIGINT);
+@@ -382,9 +379,8 @@ fi
+ 
+ cat >doit.c <<\EOF
+ #include <stdio.h>
+-main(argc, argv)
+-int argc;
+-char **argv;
++#include <stdlib.h>
++int main(int argc, char **argv)
+ {
+   if (argc == 0) {
+     fpos_t pos;
+@@ -404,12 +400,11 @@ fi
+ 
+ cat >doit.c <<\EOF
+ #include <unistd.h>
++#include <stdlib.h>
+ #include <sys/types.h>
+ #include <sys/wait.h>
+ 
+-main(argc, argv)
+-int argc;
+-char **argv;
++int main(int argc, char **argv)
+ {
+   if (argc == 0) {
+     pid_t pid;
+@@ -436,14 +431,15 @@ fi
+ 
+ cat >doit.c <<\EOF
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <signal.h>
+ 
+-static int whoops()
++static void whoops(int signal)
+ {
+   _exit(1);
+ }
+ 
+-main()
++int main(void)
+ {
+   char buf[30];
+ #ifdef SIGSEGV
+@@ -469,10 +465,9 @@ fi
+ 
+ cat >doit.c <<\EOF
+ #include <nl_types.h>
++#include <stdlib.h>
+ 
+-main(argc, argv)
+-int argc;
+-char **argv;
++int main(int argc, char **argv)
+ {
+   if (argc == 0) {
+     nl_catd d = catopen("foo", 0);
+@@ -492,12 +487,11 @@ fi
+ 
+ cat >doit.c <<\EOF
+ #include <limits.h>
++#include <stdlib.h>
+ 
+ char c = UCHAR_MAX;
+ 
+-main(argc, argv)
+-int argc;
+-char **argv;
++int main(int argc, char **argv)
+ {
+ #if CHAR_MIN < 0
+   exit(!(c < 0));
+@@ -512,7 +506,8 @@ then
+ 	char_signed=
+ else
+ 	cat >doit.c <<\EOF
+-main()
++#include <stdlib.h>
++int main(void)
+ {
+   int i;
+ 
+-- 
+2.38.1
+

diff --git a/app-text/linuxdoc-tools/linuxdoc-tools-0.9.82.ebuild b/app-text/linuxdoc-tools/linuxdoc-tools-0.9.82.ebuild
new file mode 100644
index 000000000000..b4403ab283ff
--- /dev/null
+++ b/app-text/linuxdoc-tools/linuxdoc-tools-0.9.82.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools latex-package perl-functions sgml-catalog-r1 toolchain-funcs
+
+DESCRIPTION="A toolset for processing LinuxDoc DTD SGML files"
+HOMEPAGE="https://gitlab.com/agmartin/linuxdoc-tools"
+SRC_URI="https://gitlab.com/agmartin/linuxdoc-tools/-/archive/${PV}/${P}.tar.bz2"
+
+LICENSE="GPL-3+ MIT SGMLUG"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc ~sparc ~x86"
+IUSE="doc"
+
+RDEPEND="
+	|| ( app-text/openjade app-text/opensp )
+	app-text/sgml-common
+	dev-lang/perl:=
+	sys-apps/groff
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+	app-alternatives/awk
+	sys-devel/flex
+	doc? (
+		dev-texlive/texlive-fontsrecommended
+		virtual/latex-base
+	)
+"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-0.9.82-configure-clang16.patch
+)
+
+src_prepare() {
+	default
+
+	# Pregenerated configure scripts fail.
+	eautoreconf
+}
+
+src_configure() {
+	perl_set_version
+	tc-export CC
+	local myeconfargs=(
+		--disable-docs
+		--with-texdir="${TEXMF}/tex/latex/${PN}"
+		--with-perllibdir="${VENDOR_ARCH}"
+		--with-installed-iso-entities
+	)
+	use doc && myeconfargs+=(--enable-docs="txt pdf html")
+
+	econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+	# Prevent access violations from bitmap font files generation.
+	use doc && export VARTEXFONTS="${T}/fonts"
+
+	default
+}
+
+src_install() {
+	# Makefile ignores docdir configuration option.
+	emake DESTDIR="${D}" docdir="${EPREFIX}/usr/share/doc/${PF}" install
+	dodoc ChangeLog README
+
+	insinto /etc/sgml
+	newins - linuxdoc.cat <<-EOF
+		CATALOG "${EPREFIX}/usr/share/linuxdoc-tools/linuxdoc-tools.catalog"
+	EOF
+}
+
+pkg_preinst() {
+	# work around sgml-catalog.eclass removing it
+	cp "${ED}"/etc/sgml/linuxdoc.cat "${T}" || die
+}
+
+pkg_postinst() {
+	local backup=${T}/linuxdoc.cat
+	local real=${EROOT}/etc/sgml/linuxdoc.cat
+	if ! cmp -s "${backup}" "${real}"; then
+		cp "${backup}" "${real}" || die
+	fi
+
+	latex-package_pkg_postinst
+	sgml-catalog-r1_pkg_postinst
+}
+
+pkg_postrm() {
+	latex-package_pkg_postrm
+	sgml-catalog-r1_pkg_postrm
+}


             reply	other threads:[~2022-12-06  9:03 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-06  9:03 Sam James [this message]
  -- strict thread matches above, loose matches on Subject: below --
2015-12-25 21:01 [gentoo-commits] repo/gentoo:master commit in: app-text/linuxdoc-tools/, app-text/linuxdoc-tools/files/ Patrice Clement
2015-11-26 10:07 Patrice Clement

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1670317362.23e57ee0c2b556d37aa39cde1628eeab5ac44d20.sam@gentoo \
    --to=sam@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox