dev-lang/swig: add 4.5.1

* Add unkeyworded due to breakage in reverse dependencies.
* Unrestrict tests, remove automagic from tested langs with most being
  behind the test-full use flag.

Bug: https://bugs.gentoo.org/983043
Signed-off-by: Alfred Wingate <parona@protonmail.com>
Part-of: https://codeberg.org/gentoo/gentoo/pulls/1905
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Alfred Wingate
2026-09-21 03:45:07 +03:00
committed by Sam James
parent 7e9f07c498
commit e90a054bf0
3 changed files with 119 additions and 0 deletions

View File

@@ -2,3 +2,4 @@ DIST swig-4.1.1.tar.gz 8600805 BLAKE2B 898d3405f20c3e49626fb808b568e77c69b81ec24
DIST swig-4.2.1.tar.gz 8364050 BLAKE2B 0acffd4794d09f2347d669d1460a794c03f136ab3ddc6623741e182ff52b6bf5f639c736e38540918ebb1abbe36c2ce1957aef8a429f1a716d9c5361175569bf SHA512 019dee5a46d57e1030eef47cd5d007ccaadbdcd4e53cd30d7c795f0118ecf4406a78185534502c81c5f6d7bac0713256e7e19b20b5a2d14e2c552219edbaf5cf
DIST swig-4.3.1.tar.gz 8620774 BLAKE2B cd47eb3f9bf7c7e2f1583a58c4416275720b55754abd05c61636e68ac36e6b5899b293e55cf680071257017b53b95e7a2fd8983ca4effc7e98bb7af4dac5e026 SHA512 8958f7bc3345549a9bc4e00aa8d40a99f6c4bb92b95d627c8796cf8f8d1ba0041a89cab542f171778c2b26aa2a877767181ae9bd2c05fd055f373a32a463399c
DIST swig-4.4.1.tar.gz 8658358 BLAKE2B 06fdcda2de0b0acf341949e0d60e284b5cd326a1f0f1d0985e387c936ef8d87fb98ea14a260ca22c19634f297f7331ed44989da07a47ee9333630397846e4db1 SHA512 103ddb4a5914f28e6739a006d35042c701e55ba05066acff3f3609befb5f43f253ea717fc41d06c93d8fb187ded4399c12c94665b93dc06d0fb835069391c7c7
DIST swig-4.5.1.tar.gz 9191718 BLAKE2B 371086611526fc7ac437d09c6f12c4077c31b4d3b7d89facfc67363114a42202c5a715e61822b64015c1fa2e1f8c3222566dfe1482ba927a71fbfc2c4439643b SHA512 bf89652ddcfac38e42a52224ff79c5717e973779d174b822a03ad48866303779cadf9d5181bbceed4d5dd4a0ff5ed5dea4a0c7cf10c5bc4a59310cdba64f47dd

View File

@@ -16,6 +16,7 @@
</longdescription>
<use>
<flag name="ccache">build ccache-swig(a fast compiler cache)</flag>
<flag name="test-full">Test against more languages</flag>
</use>
<upstream>
<remote-id type="github">swig/swig</remote-id>

View File

@@ -0,0 +1,117 @@
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{12..15} )
inherit flag-o-matic python-any-r1 toolchain-funcs
DESCRIPTION="Simplified Wrapper and Interface Generator"
HOMEPAGE="https://www.swig.org/ https://github.com/swig/swig"
SRC_URI="https://downloads.sourceforge.net/project/swig/swig/${P}/${P}.tar.gz"
LICENSE="GPL-3+ BSD BSD-2"
SLOT="0"
# Temporarily unkeyworded due to breakage in reverse dependencies, bug #983043
#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
IUSE="ccache doc pcre test test-full"
RESTRICT="!test? ( test )"
RDEPEND="
pcre? ( dev-libs/libpcre2:= )
ccache? ( virtual/zlib:= )
"
DEPEND="
${RDEPEND}
test? ( dev-libs/boost )
"
BDEPEND="
virtual/pkgconfig
test? (
${PYTHON_DEPS}
test-full? (
dev-lang/mono
>=dev-lang/go-1.20
virtual/jdk
>=dev-lang/lua-5.1:*
dev-lang/ocaml
dev-lang/perl:*
|| (
dev-lang/php:8.3
dev-lang/php:8.2
)
dev-lang/R
dev-lang/tcl
)
)
"
DOCS=( ANNOUNCE CHANGES CHANGES.current README TODO )
pkg_setup() {
use test && python-any-r1_pkg_setup
}
src_configure() {
# strict aliasing violations in test code
filter-lto
append-flags -fno-strict-aliasing
local myconf=(
PKGCONFIG="$(tc-getPKG_CONFIG)"
--without-maximum-compile-warnings
$(use_enable ccache)
$(use_with pcre)
--without-clang-format
# tests are automagic for many languages otherwise and may be quite brittle
--without-alllang
--with-python # installed by default due to portage, significant portion of revdeps use swig for python bindings
)
if use test-full; then
myconf+=(
--with-csharp
#--with-d # doesn't accept gcc[d]?
--with-go
#--with-guile would need guile-any type support
--with-java
#--with-javascript # broken build
--with-lua
--with-ocaml
#--with-octave # broken build
--with-perl
--with-perl5="${EPREFIX}/usr/bin/perl"
--with-php
--with-r
#--with-ruby # broken build
#--with-scilab # not packaged?
--with-tcl
)
fi
econf "${myconf[@]}"
}
src_compile() {
# Override these variables per Makefile.in to get verbose logs
emake FLAGS="-k" RUNPIPE=""
}
src_test() {
# The tests won't get run w/o an explicit call, broken Makefiles?
# *-sections for bug #935318
emake check \
FLAGS="-k" \
RUNPIPE="" \
CFLAGS="${CFLAGS} -ffunction-sections -fdata-sections" \
CXXFLAGS="${CXXFLAGS} -ffunction-sections -fdata-sections" \
LDFLAGS="${LDFLAGS}"
}
src_install() {
default
if use doc; then
docinto html
dodoc -r Doc/{Devel,Manual}
fi
}