commit:     a761f21ace81b036dce7d80416a33a2b3e9685c5
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Dec  3 05:30:46 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Dec  3 06:06:09 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a761f21a

app-office/dia: fix build w/ clang 16

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

 app-office/dia/dia-0.97.3-r1.ebuild                |  3 ++-
 .../dia/files/dia-0.97.3-configure-clang16.patch   | 22 ++++++++++++++++++++++
 2 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/app-office/dia/dia-0.97.3-r1.ebuild 
b/app-office/dia/dia-0.97.3-r1.ebuild
index 7b6401a9959c..1a963358eaaf 100644
--- a/app-office/dia/dia-0.97.3-r1.ebuild
+++ b/app-office/dia/dia-0.97.3-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
@@ -46,6 +46,7 @@ PATCHES=(
        "${FILESDIR}"/${PN}-0.97.2-underlinking.patch #420685, upstream #678761
        "${FILESDIR}"/${PN}-0.97.3-freetype_pkgconfig.patch #654814, upstream 
https://gitlab.gnome.org/GNOME/dia/merge_requests/1
        "${FILESDIR}"/${PN}-0.97.3-slibtool.patch
+       "${FILESDIR}"/${PN}-0.97.3-configure-clang16.patch
 )
 
 src_prepare() {

diff --git a/app-office/dia/files/dia-0.97.3-configure-clang16.patch 
b/app-office/dia/files/dia-0.97.3-configure-clang16.patch
new file mode 100644
index 000000000000..75b6f003ca3f
--- /dev/null
+++ b/app-office/dia/files/dia-0.97.3-configure-clang16.patch
@@ -0,0 +1,22 @@
+https://bugs.gentoo.org/874729
+https://src.fedoraproject.org/rpms/dia/blob/0a14169fc36b959598074065678e0126830317f8/f/dia-configure-c99.patch
+
+C99 removes support for implicit ints, so declare the return type
+of main explicitly.  Future compilers are likely to require explicit
+type declarations.
+
+Upstream has switched to Meson, and it does not seem to use this
+particular check anymore.
+
+--- a/configure.in
++++ b/configure.in
+@@ -197,7 +197,7 @@ if test "$png_ok" = yes; then
+                   png_structp pp;
+                 png_infop info; 
+                 png_colorp cmap; 
+-                main() { void*foo = png_create_read_struct; }],
++                int main(void) { void*foo = png_create_read_struct; }],
+                  png_ok=yes,
+                  png_ok=no)
+   LDFLAGS="${old_LDFLAGS}"
+

Reply via email to