diff --git a/devel/py-swig/Makefile b/devel/py-swig/Makefile index 0368a828fe7c..55edf7aef4ea 100644 --- a/devel/py-swig/Makefile +++ b/devel/py-swig/Makefile @@ -1,25 +1,25 @@ PORTNAME= swig -DISTVERSION= 4.4.1 +DISTVERSION= 4.5.0 CATEGORIES= devel MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} DIST_SUBDIR= python MAINTAINER= yuri@FreeBSD.org COMMENT= Python wrapper for the SWIG code generation tool WWW= https://swig.org/ \ https://github.com/nightlark/swig-pypi LICENSE= APACHE20 +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=63.1.0:devel/py-setuptools@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}setuptools-scm>=0:devel/py-setuptools-scm@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR} RUN_DEPENDS= swig:devel/swig USES= python USE_PYTHON= pep517 autoplist -BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR} - NO_ARCH= yes .include diff --git a/devel/py-swig/distinfo b/devel/py-swig/distinfo index 145ac84a0b2f..bc1587467cf3 100644 --- a/devel/py-swig/distinfo +++ b/devel/py-swig/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1779912709 -SHA256 (python/swig-4.4.1.tar.gz) = db9a625653f6454530a6c6553d17cf576d7aa2d253c76dc8cdd5979f0cb15012 -SIZE (python/swig-4.4.1.tar.gz) = 25956 +TIMESTAMP = 1789395631 +SHA256 (python/swig-4.5.0.tar.gz) = eb6594f05a1f87783f981e92501c604ac08cc23bb20fa4e6bd5d3a283819f8a5 +SIZE (python/swig-4.5.0.tar.gz) = 25844 diff --git a/devel/py-swig/files/patch-pyproject.toml b/devel/py-swig/files/patch-pyproject.toml index 4103f99a6abc..6be534e6485c 100644 --- a/devel/py-swig/files/patch-pyproject.toml +++ b/devel/py-swig/files/patch-pyproject.toml @@ -1,63 +1,63 @@ --- Switch build backend from scikit-build-core to setuptools to avoid --- the complex CMake build that tries to download SWIG, PCRE2, and Bison --- from the internet. Instead, we use the system swig from devel/swig. +-- Switch from scikit-build-core to setuptools so the port does not try to build +-- the bundled SWIG binary. Use PEP 621 object form for the license field, +-- add setuptools package discovery for the source layout, and drop the +-- console scripts that conflict with devel/swig. ---- pyproject.toml.orig 2022-11-09 12:37:21 UTC +--- pyproject.toml.orig 2026-09-14 21:45:57 UTC +++ pyproject.toml -@@ -1,6 +1,6 @@ +@@ -1,5 +1,5 @@ [build-system] -requires = ["scikit-build-core"] -build-backend = "scikit_build_core.build" -+requires = ["setuptools>=61", "wheel"] ++requires = ["setuptools>=63.1.0", "setuptools-scm>=0"] +build-backend = "setuptools.build_meta" - + [project] +@@ -9,7 +9,7 @@ name = "swig" -@@ -21,42 +21,15 @@ dynamic = ["version"] - ] + description = "SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages." + keywords = ["swig", "build", "c", "c++"] +-license = "GPL-3.0-or-later" ++license = {text = "GPL-3.0-or-later"} + readme = "README.md" + classifiers = [ + "Programming Language :: C", +@@ -20,36 +20,10 @@ dynamic = ["version"] - -+[tool.setuptools] -+package-dir = {"" = "src"} -+packages = {find = {where = ["src"]}} - + + -[tool.scikit-build] -wheel.py-api = "py3" -wheel.expand-macos-universal-tags = true -metadata.version.provider = "scikit_build_core.metadata.setuptools_scm" -sdist.include = ["src/swig/_version.py"] -wheel.install-dir = "swig/data" -+[tool.setuptools.dynamic] -+version = {attr = "swig._version.__version__"} - ++[tool.setuptools.packages.find] ++where = ["src"] + -[tool.cibuildwheel] -archs = ["auto64", "auto32"] -build = "cp39-*" -test-command = [ - "swig -version", - "swig -pcreversion", - "swig -help", -] -environment.PIP_ONLY_BINARY = ":all:" -- + -[tool.cibuildwheel.linux] -manylinux-x86_64-image = "quay.io/pypa/manylinux2010_x86_64:2022-08-05-4535177" -manylinux-i686-image = "quay.io/pypa/manylinux2010_i686:2022-08-05-4535177" -manylinux-aarch64-image = "manylinux2014" -manylinux-ppc64le-image = "manylinux2014" -manylinux-s390x-image = "manylinux2014" -manylinux-riscv64-image = "ghcr.io/mayeut/manylinux_2_31:2025.07.25-1" - - -[project.scripts] -swig = "swig:swig" -"swig4.0" = "swig:swig" - [project.urls] Homepage = "https://swig.org/" Download = "https://swig.org/download.html" - "Source Code" = "https://github.com/nightlark/swig-pypi" - "Bug Tracker" = "https://github.com/nightlark/swig-pypi/issues" -- --[tool.setuptools_scm] --version_file = "src/swig/_version.py"