From: Stuart Henderson Subject: Re: [UPDATE] devel/swig To: Stuart Cassoff Cc: OpenBSD Ports Date: Fri, 23 Jan 2026 21:46:36 +0000 On 2026/01/23 11:41, Stuart Cassoff wrote: > Other ports: > Evaluated ports having an immediate dependency on swig on i386/amd64. > Tarball with more info, logs and patches at: > https://chiselapp.com/user/stwo/repository/tarballia/uv/swig421to441.tar.gz this tar is quite difficult to work with, could you send the patches for those other ports as a diff please? > > Two and one half ports not done: > Out of time for evaluating kicad on amd64. Should be ok (i386 ok). > Not enough time or resources for the two llvm ports. > > Consumers of these ports not evaluated. > Most patches can go in now, in advance of a swig update, fwiw. > > > Stu > > > > diff -Nurp /usr/ports/devel/swig/Makefile ./Makefile > --- /usr/ports/devel/swig/Makefile Wed Dec 17 07:51:24 2025 > +++ ./Makefile Tue Jan 20 15:33:39 2026 > @@ -1,8 +1,7 @@ > COMMENT = simplified wrapper and interface generator > > SUBST_VARS = VERSION > -VERSION = 4.2.1 > -REVISION = 0 > +VERSION = 4.4.1 > > DISTNAME = swig-${VERSION} > CATEGORIES = devel > @@ -10,7 +9,7 @@ CATEGORIES = devel > HOMEPAGE = https://www.swig.org/ > > # BSD > -PERMIT_PACKAGE = Yes > +PERMIT_PACKAGE =Yes > > WANTLIB = c m pcre2-8 ${COMPILER_LIBCXX} z > > @@ -32,6 +31,11 @@ LIB_DEPENDS = devel/pcre2 > # don't run update-plist after make test > TEST_DEPENDS = devel/boost > > +TEST_FLAGS = TCLSH=${MODTCL_BIN} > + > +# https://github.com/swig/swig/issues/3296 > +TEST_FLAGS += ENGINE=Thomas > + > USE_GMAKE = Yes > CONFIGURE_STYLE = gnu > # We can't configure --with-ruby because of a dependency circle, > @@ -47,13 +51,13 @@ CONFIGURE_ARGS += --with-tclincl=${MODTCL_INCDIR} \ > --without-java \ > --without-javascript \ > --without-lua \ > - --without-mzscheme \ > --without-ocaml \ > --without-octave \ > --without-php \ > --without-r \ > --without-ruby \ > --without-scilab > + > MODGNU_CONFIG_GUESS_DIRS = ${WRKSRC}/Tools/config > > ALL_TARGET = swig > @@ -62,12 +66,18 @@ SWIG_DOCS = ${PREFIX}/share/doc/swig > > PORTHOME = ${WRKDIR} > > -pre-test: > - ln -sf ${MODTCL_BIN} ${WRKDIR}/bin/tclsh > - > post-install: > ${INSTALL_DATA_DIR} ${SWIG_DOCS} > cp -R ${WRKSRC}/Doc/* ${SWIG_DOCS} > - chmod 0644 ${SWIG_DOCS}/Manual/CCache.html > > .include > + > + > +# guile tests will crash, use --without-guile to run all the other tests. > + > +# ENGINE is "" so target "check-javascript-prepare" will be run, despite --without-javascript. > +# Set ENGINE to anything except "", "jsc", or "v8". > + > +# Noise reduction > +TEST_FLAGS += EXTRA_CFLAGS='-Wno-deprecated-volatile -Wno-implicit-const-int-float-conversion' \ > + EXTRA_CXXFLAGS='-Wno-deprecated-volatile -Wno-implicit-const-int-float-conversion' > diff -Nurp /usr/ports/devel/swig/distinfo ./distinfo > --- /usr/ports/devel/swig/distinfo Sat May 11 14:59:55 2024 > +++ ./distinfo Wed Dec 10 00:44:36 2025 > @@ -1,2 +1,2 @@ > -SHA256 (swig-4.2.1.tar.gz) = +gRTVOLQSLLN3GlXnkJWJF1GdolIWPzwurIpDs9Zt9g= > -SIZE (swig-4.2.1.tar.gz) = 8364050 > +SHA256 (swig-4.4.1.tar.gz) = QBYqcGxW91ktCP1S71URy3rBkfNZPPBzBqClVMYoH88= > +SIZE (swig-4.4.1.tar.gz) = 8658358 > diff -Nurp /usr/ports/devel/swig/patches/patch-configure ./patches/patch-configure > --- /usr/ports/devel/swig/patches/patch-configure Sat May 11 14:59:55 2024 > +++ ./patches/patch-configure Mon Dec 29 10:07:07 2025 > @@ -1,3 +1,5 @@ > +https://github.com/swig/swig/issues/3304 > + > fix Examples/guile/multivalue & multimap regress tests > > ld: error: unknown argument '-I/usr/local/include' > @@ -8,12 +10,13 @@ ld: error: unable to find library -lm > Index: configure > --- configure.orig > +++ configure > -@@ -6549,7 +6549,7 @@ then > +@@ -6619,7 +6619,8 @@ then > *-*-linux*) LDSHARED="\$(CC) -shared";; > *-*-dgux*) LDSHARED="ld -G";; > *-*-freebsd3*) LDSHARED="\$(CC) -shared";; > - *-*-freebsd* | *-*-openbsd*) LDSHARED="ld -Bshareable";; > -+ *-*-freebsd* | *-*-openbsd*) LDSHARED="cc -shared";; > ++ *-*-freebsd*) LDSHARED="ld -Bshareable";; > ++ *-*-openbsd*) LDSHARED="\$(CC) -shared";; > *-*-netbsd*) > if [ "`\$(CC) -dM -E - then > diff -Nurp /usr/ports/devel/swig/pkg/DESCR ./pkg/DESCR > --- /usr/ports/devel/swig/pkg/DESCR Thu Jun 9 03:34:33 2011 > +++ ./pkg/DESCR Fri Jan 23 11:07:03 2026 > @@ -2,11 +2,11 @@ SWIG is a tool for automatically generating the wrappe > to link collections of functions written in C/C++ with interpreted > scripting languages. Currently, SWIG supports : > > + - C > - Guile > - Java > - - Mzscheme > - - PHP > - Perl > + - PHP > - Python > - Ruby > - Tcl > diff -Nurp /usr/ports/devel/swig/pkg/PLIST ./pkg/PLIST > --- /usr/ports/devel/swig/pkg/PLIST Sat May 11 14:59:55 2024 > +++ ./pkg/PLIST Thu Dec 4 21:08:32 2025 > @@ -19,6 +19,7 @@ share/doc/swig/Devel/wrapobj.html > share/doc/swig/Manual/ > share/doc/swig/Manual/Android.html > share/doc/swig/Manual/Arguments.html > +share/doc/swig/Manual/C.html > share/doc/swig/Manual/CCache.html > share/doc/swig/Manual/CPlusPlus11.html > share/doc/swig/Manual/CPlusPlus14.html > @@ -40,7 +41,6 @@ share/doc/swig/Manual/Library.html > share/doc/swig/Manual/Lua.html > share/doc/swig/Manual/Makefile > share/doc/swig/Manual/Modules.html > -share/doc/swig/Manual/Mzscheme.html > share/doc/swig/Manual/Ocaml.html > share/doc/swig/Manual/Octave.html > share/doc/swig/Manual/Perl5.html > @@ -80,6 +80,23 @@ share/swig/ > share/swig/${VERSION}/ > share/swig/${VERSION}/allkw.swg > share/swig/${VERSION}/attribute.i > +share/swig/${VERSION}/c/ > +share/swig/${VERSION}/c/boost_shared_ptr.i > +share/swig/${VERSION}/c/c.swg > +share/swig/${VERSION}/c/cdata.i > +share/swig/${VERSION}/c/cexcept.swg > +share/swig/${VERSION}/c/cheader.swg > +share/swig/${VERSION}/c/clabels.swg > +share/swig/${VERSION}/c/std_common.i > +share/swig/${VERSION}/c/std_except.i > +share/swig/${VERSION}/c/std_map.i > +share/swig/${VERSION}/c/std_pair.i > +share/swig/${VERSION}/c/std_set.i > +share/swig/${VERSION}/c/std_shared_ptr.i > +share/swig/${VERSION}/c/std_string.i > +share/swig/${VERSION}/c/std_vector.i > +share/swig/${VERSION}/c/stl.i > +share/swig/${VERSION}/c/typemaps.i > share/swig/${VERSION}/carrays.i > share/swig/${VERSION}/cdata.i > share/swig/${VERSION}/cmalloc.i > @@ -90,6 +107,7 @@ share/swig/${VERSION}/csharp/argcargv.i > share/swig/${VERSION}/csharp/arrays_csharp.i > share/swig/${VERSION}/csharp/boost_intrusive_ptr.i > share/swig/${VERSION}/csharp/boost_shared_ptr.i > +share/swig/${VERSION}/csharp/cdata.i > share/swig/${VERSION}/csharp/complex.i > share/swig/${VERSION}/csharp/csharp.swg > share/swig/${VERSION}/csharp/csharphead.swg > @@ -128,6 +146,7 @@ share/swig/${VERSION}/d/ > share/swig/${VERSION}/d/argcargv.i > share/swig/${VERSION}/d/boost_shared_ptr.i > share/swig/${VERSION}/d/carrays.i > +share/swig/${VERSION}/d/cdata.i > share/swig/${VERSION}/d/cpointer.i > share/swig/${VERSION}/d/d.swg > share/swig/${VERSION}/d/dclassgen.swg > @@ -158,6 +177,7 @@ share/swig/${VERSION}/d/swigmove.i > share/swig/${VERSION}/d/typemaps.i > share/swig/${VERSION}/d/wrapperloader.swg > share/swig/${VERSION}/director_common.swg > +share/swig/${VERSION}/director_guard.swg > share/swig/${VERSION}/exception.i > share/swig/${VERSION}/go/ > share/swig/${VERSION}/go/argcargv.i > @@ -182,6 +202,7 @@ share/swig/${VERSION}/go/swigmove.i > share/swig/${VERSION}/go/typemaps.i > share/swig/${VERSION}/guile/ > share/swig/${VERSION}/guile/argcargv.i > +share/swig/${VERSION}/guile/cdata.i > share/swig/${VERSION}/guile/common.scm > share/swig/${VERSION}/guile/cplusplus.i > share/swig/${VERSION}/guile/guile.i > @@ -212,6 +233,7 @@ share/swig/${VERSION}/java/argcargv.i > share/swig/${VERSION}/java/arrays_java.i > share/swig/${VERSION}/java/boost_intrusive_ptr.i > share/swig/${VERSION}/java/boost_shared_ptr.i > +share/swig/${VERSION}/java/cdata.i > share/swig/${VERSION}/java/director.swg > share/swig/${VERSION}/java/enums.swg > share/swig/${VERSION}/java/enumsimple.swg > @@ -243,11 +265,11 @@ share/swig/${VERSION}/java/swigmove.i > share/swig/${VERSION}/java/typemaps.i > share/swig/${VERSION}/java/various.i > share/swig/${VERSION}/javascript/ > +share/swig/${VERSION}/javascript/javascriptkw.swg > share/swig/${VERSION}/javascript/jsc/ > share/swig/${VERSION}/javascript/jsc/argcargv.i > share/swig/${VERSION}/javascript/jsc/arrays_javascript.i > share/swig/${VERSION}/javascript/jsc/ccomplex.i > -share/swig/${VERSION}/javascript/jsc/cdata.i > share/swig/${VERSION}/javascript/jsc/cmalloc.i > share/swig/${VERSION}/javascript/jsc/complex.i > share/swig/${VERSION}/javascript/jsc/exception.i > @@ -280,7 +302,6 @@ share/swig/${VERSION}/javascript/napi/ > share/swig/${VERSION}/javascript/napi/argcargv.i > share/swig/${VERSION}/javascript/napi/arrays_javascript.i > share/swig/${VERSION}/javascript/napi/ccomplex.i > -share/swig/${VERSION}/javascript/napi/cdata.i > share/swig/${VERSION}/javascript/napi/cmalloc.i > share/swig/${VERSION}/javascript/napi/complex.i > share/swig/${VERSION}/javascript/napi/exception.i > @@ -313,7 +334,6 @@ share/swig/${VERSION}/javascript/v8/ > share/swig/${VERSION}/javascript/v8/argcargv.i > share/swig/${VERSION}/javascript/v8/arrays_javascript.i > share/swig/${VERSION}/javascript/v8/ccomplex.i > -share/swig/${VERSION}/javascript/v8/cdata.i > share/swig/${VERSION}/javascript/v8/cmalloc.i > share/swig/${VERSION}/javascript/v8/complex.i > share/swig/${VERSION}/javascript/v8/exception.i > @@ -342,11 +362,11 @@ share/swig/${VERSION}/javascript/v8/std_vector.i > share/swig/${VERSION}/javascript/v8/stl.i > share/swig/${VERSION}/javascript/v8/swigmove.i > share/swig/${VERSION}/javascript/v8/typemaps.i > -share/swig/${VERSION}/javascriptkw.swg > share/swig/${VERSION}/lua/ > share/swig/${VERSION}/lua/_std_common.i > share/swig/${VERSION}/lua/argcargv.i > share/swig/${VERSION}/lua/carrays.i > +share/swig/${VERSION}/lua/cdata.i > share/swig/${VERSION}/lua/factory.i > share/swig/${VERSION}/lua/lua.swg > share/swig/${VERSION}/lua/lua_fnptr.i > @@ -369,23 +389,9 @@ share/swig/${VERSION}/lua/swigmove.i > share/swig/${VERSION}/lua/typemaps.i > share/swig/${VERSION}/lua/wchar.i > share/swig/${VERSION}/math.i > -share/swig/${VERSION}/mzscheme/ > -share/swig/${VERSION}/mzscheme/argcargv.i > -share/swig/${VERSION}/mzscheme/mzrun.swg > -share/swig/${VERSION}/mzscheme/mzscheme.swg > -share/swig/${VERSION}/mzscheme/std_auto_ptr.i > -share/swig/${VERSION}/mzscheme/std_common.i > -share/swig/${VERSION}/mzscheme/std_deque.i > -share/swig/${VERSION}/mzscheme/std_map.i > -share/swig/${VERSION}/mzscheme/std_pair.i > -share/swig/${VERSION}/mzscheme/std_string.i > -share/swig/${VERSION}/mzscheme/std_unique_ptr.i > -share/swig/${VERSION}/mzscheme/std_vector.i > -share/swig/${VERSION}/mzscheme/stl.i > -share/swig/${VERSION}/mzscheme/swigmove.i > -share/swig/${VERSION}/mzscheme/typemaps.i > share/swig/${VERSION}/ocaml/ > share/swig/${VERSION}/ocaml/carray.i > +share/swig/${VERSION}/ocaml/cdata.i > share/swig/${VERSION}/ocaml/class.swg > share/swig/${VERSION}/ocaml/cstring.i > share/swig/${VERSION}/ocaml/director.swg > @@ -417,7 +423,6 @@ share/swig/${VERSION}/octave/argcargv.i > share/swig/${VERSION}/octave/attribute.i > share/swig/${VERSION}/octave/boost_shared_ptr.i > share/swig/${VERSION}/octave/carrays.i > -share/swig/${VERSION}/octave/cdata.i > share/swig/${VERSION}/octave/cmalloc.i > share/swig/${VERSION}/octave/director.swg > share/swig/${VERSION}/octave/exception.i > @@ -461,7 +466,6 @@ share/swig/${VERSION}/perl5/Makefile.pl > share/swig/${VERSION}/perl5/argcargv.i > share/swig/${VERSION}/perl5/attribute.i > share/swig/${VERSION}/perl5/carrays.i > -share/swig/${VERSION}/perl5/cdata.i > share/swig/${VERSION}/perl5/cmalloc.i > share/swig/${VERSION}/perl5/cpointer.i > share/swig/${VERSION}/perl5/cstring.i > @@ -501,6 +505,7 @@ share/swig/${VERSION}/perl5/swigmove.i > share/swig/${VERSION}/perl5/typemaps.i > share/swig/${VERSION}/php/ > share/swig/${VERSION}/php/argcargv.i > +share/swig/${VERSION}/php/cdata.i > share/swig/${VERSION}/php/const.i > share/swig/${VERSION}/php/director.swg > share/swig/${VERSION}/php/factory.i > @@ -530,13 +535,13 @@ share/swig/${VERSION}/python/boost_shared_ptr.i > share/swig/${VERSION}/python/builtin.swg > share/swig/${VERSION}/python/carrays.i > share/swig/${VERSION}/python/ccomplex.i > -share/swig/${VERSION}/python/cdata.i > share/swig/${VERSION}/python/cmalloc.i > share/swig/${VERSION}/python/complex.i > share/swig/${VERSION}/python/cpointer.i > share/swig/${VERSION}/python/cstring.i > share/swig/${VERSION}/python/cwstring.i > share/swig/${VERSION}/python/director.swg > +share/swig/${VERSION}/python/director_py_mutex.swg > share/swig/${VERSION}/python/embed.i > share/swig/${VERSION}/python/exception.i > share/swig/${VERSION}/python/factory.i > @@ -556,7 +561,6 @@ share/swig/${VERSION}/python/pyhead.swg > share/swig/${VERSION}/python/pyinit.swg > share/swig/${VERSION}/python/pyiterators.swg > share/swig/${VERSION}/python/pymacros.swg > -share/swig/${VERSION}/python/pyname_compat.i > share/swig/${VERSION}/python/pyopers.swg > share/swig/${VERSION}/python/pyprimtypes.swg > share/swig/${VERSION}/python/pyrun.swg > @@ -566,7 +570,6 @@ share/swig/${VERSION}/python/pystrings.swg > share/swig/${VERSION}/python/python.swg > share/swig/${VERSION}/python/pythonkw.swg > share/swig/${VERSION}/python/pythreads.swg > -share/swig/${VERSION}/python/pytuplehlp.swg > share/swig/${VERSION}/python/pytypemaps.swg > share/swig/${VERSION}/python/pyuserdir.swg > share/swig/${VERSION}/python/pywstrings.swg > @@ -613,7 +616,6 @@ share/swig/${VERSION}/python/wchar.i > share/swig/${VERSION}/r/ > share/swig/${VERSION}/r/argcargv.i > share/swig/${VERSION}/r/boost_shared_ptr.i > -share/swig/${VERSION}/r/cdata.i > share/swig/${VERSION}/r/exception.i > share/swig/${VERSION}/r/r.swg > share/swig/${VERSION}/r/rcontainer.swg > @@ -644,7 +646,6 @@ share/swig/${VERSION}/ruby/argcargv.i > share/swig/${VERSION}/ruby/attribute.i > share/swig/${VERSION}/ruby/boost_shared_ptr.i > share/swig/${VERSION}/ruby/carrays.i > -share/swig/${VERSION}/ruby/cdata.i > share/swig/${VERSION}/ruby/cmalloc.i > share/swig/${VERSION}/ruby/cpointer.i > share/swig/${VERSION}/ruby/cstring.i > @@ -840,7 +841,6 @@ share/swig/${VERSION}/tcl/ > share/swig/${VERSION}/tcl/argcargv.i > share/swig/${VERSION}/tcl/attribute.i > share/swig/${VERSION}/tcl/carrays.i > -share/swig/${VERSION}/tcl/cdata.i > share/swig/${VERSION}/tcl/cmalloc.i > share/swig/${VERSION}/tcl/cpointer.i > share/swig/${VERSION}/tcl/cstring.i > @@ -864,6 +864,7 @@ share/swig/${VERSION}/tcl/tcl8.swg > share/swig/${VERSION}/tcl/tclapi.swg > share/swig/${VERSION}/tcl/tclerrors.swg > share/swig/${VERSION}/tcl/tclfragments.swg > +share/swig/${VERSION}/tcl/tclincludes.swg > share/swig/${VERSION}/tcl/tclinit.swg > share/swig/${VERSION}/tcl/tclinterp.i > share/swig/${VERSION}/tcl/tclkw.swg > @@ -883,7 +884,8 @@ share/swig/${VERSION}/tcl/wish.i > share/swig/${VERSION}/typemaps/ > share/swig/${VERSION}/typemaps/attribute.swg > share/swig/${VERSION}/typemaps/carrays.swg > -share/swig/${VERSION}/typemaps/cdata.swg > +share/swig/${VERSION}/typemaps/cdata_begin.swg > +share/swig/${VERSION}/typemaps/cdata_end.swg > share/swig/${VERSION}/typemaps/cmalloc.swg > share/swig/${VERSION}/typemaps/cpointer.swg > share/swig/${VERSION}/typemaps/cstring.swg > @@ -914,6 +916,7 @@ share/swig/${VERSION}/typemaps/typemaps.swg > share/swig/${VERSION}/typemaps/valtypes.swg > share/swig/${VERSION}/typemaps/void.swg > share/swig/${VERSION}/typemaps/wstring.swg > +share/swig/${VERSION}/unique_ptr.swg > share/swig/${VERSION}/wchar.i > share/swig/${VERSION}/windows.i > share/swig/${VERSION}/xml/ >