summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-01-13 08:15:46 +0000
committerSam James <sam@gentoo.org>2023-01-13 08:22:42 +0000
commit7102e2e7371984bf3e29080db24ad7921547f8f7 (patch)
treee34e5ea1c1c8c1d86248c41a23fe96e3427d9f8d /dev-lang
parentprofiles: Add NPSL-0.95 to MISC-FREE license group (diff)
downloadgentoo-7102e2e7371984bf3e29080db24ad7921547f8f7.tar.gz
gentoo-7102e2e7371984bf3e29080db24ad7921547f8f7.tar.bz2
gentoo-7102e2e7371984bf3e29080db24ad7921547f8f7.zip
dev-lang/swig: fix configure w/ clang 16
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/swig/files/swig-4.1.1-ccache-configure-clang16.patch32
-rw-r--r--dev-lang/swig/swig-4.1.1-r1.ebuild60
2 files changed, 92 insertions, 0 deletions
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 <fweimer@redhat.com>
+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
+}