commit:     7102e2e7371984bf3e29080db24ad7921547f8f7
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 13 08:15:46 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Jan 13 08:22:42 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7102e2e7

dev-lang/swig: fix configure w/ clang 16

Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../swig-4.1.1-ccache-configure-clang16.patch      | 32 ++++++++++++
 dev-lang/swig/swig-4.1.1-r1.ebuild                 | 60 ++++++++++++++++++++++
 2 files changed, 92 insertions(+)

diff --git a/dev-lang/swig/files/swig-4.1.1-ccache-configure-clang16.patch 
b/dev-lang/swig/files/swig-4.1.1-ccache-configure-clang16.patch
new file mode 100644
index 000000000000..b2fefd1356fb
--- /dev/null
+++ b/dev-lang/swig/files/swig-4.1.1-ccache-configure-clang16.patch
@@ -0,0 +1,32 @@
+https://github.com/swig/swig/pull/2483
+
+From 784dfc917e99429bdbb70fb9dd80c16dfeb73659 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <[email protected]>
+Date: Thu, 12 Jan 2023 17:49:40 +0100
+Subject: [PATCH] CCache: Do not rely on C89-only features in configure.ac
+
+Add missing #include directives to obtain additional function
+prototypes.  This avoids altering the result of this test with C99
+compilers which do not support implicit function declarations.
+--- a/CCache/configure.ac
++++ b/CCache/configure.ac
+@@ -63,6 +63,9 @@ AC_CACHE_CHECK([for C99 
vsnprintf],ccache_cv_HAVE_C99_VSNPRINTF,[
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ #include <sys/types.h>
+ #include <stdarg.h>
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
+ void foo(const char *format, ...) { 
+        va_list ap;
+        int len;
+@@ -77,7 +80,7 @@ void foo(const char *format, ...) {
+ 
+        exit(0);
+ }
+-main() { foo("hello"); }
++int main(void) { foo("hello"); }
+ 
]])],[ccache_cv_HAVE_C99_VSNPRINTF=yes],[ccache_cv_HAVE_C99_VSNPRINTF=no],[ccache_cv_HAVE_C99_VSNPRINTF=cross])])
+ if test x"$ccache_cv_HAVE_C99_VSNPRINTF" = x"yes"; then
+     AC_DEFINE(HAVE_C99_VSNPRINTF, 1, [ ])
+

diff --git a/dev-lang/swig/swig-4.1.1-r1.ebuild 
b/dev-lang/swig/swig-4.1.1-r1.ebuild
new file mode 100644
index 000000000000..f7080e5356c5
--- /dev/null
+++ b/dev-lang/swig/swig-4.1.1-r1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools toolchain-funcs
+
+DESCRIPTION="Simplified Wrapper and Interface Generator"
+HOMEPAGE="http://www.swig.org/ https://github.com/swig/swig";
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3+ BSD BSD-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 
~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos 
~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="ccache doc pcre test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+       pcre? ( dev-libs/libpcre2 )
+       ccache? ( sys-libs/zlib )
+"
+DEPEND="
+       ${RDEPEND}
+       test? ( dev-libs/boost )
+"
+BDEPEND="virtual/pkgconfig"
+
+DOCS=( ANNOUNCE CHANGES CHANGES.current README TODO )
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-4.1.1-ccache-configure-clang16.patch
+)
+
+src_prepare() {
+       default
+
+       # Only needed for Clang 16 patch
+       AT_M4DIR="Tools/config" eautoreconf
+}
+
+src_configure() {
+       econf \
+               PKGCONFIG="$(tc-getPKG_CONFIG)" \
+               $(use_enable ccache) \
+               $(use_with pcre)
+}
+
+src_test() {
+       # The tests won't get run w/o an explicit call, broken Makefiles?
+       emake check
+}
+
+src_install() {
+       default
+
+       if use doc; then
+               docinto html
+               dodoc -r Doc/{Devel,Manual}
+       fi
+}

Reply via email to