On 09/06 01:35, Klemens Nanni wrote: > Loads of changes: https://github.com/ffi/ffi/blob/master/CHANGELOG.md > > Both Facter and Openfact are happy with this, Puppet and OpenVox apply > without warnings or errors like before. > > They're the only consumers for which I had to relax the version spec, > all others built fine, alhough I didn't runtest any of them: > > devel/ruby-ffi-compiler > devel/ruby-get_process_mem > security/ruby-argon2 > security/ruby-rbnacl > sysutils/ruby-pdk > www/ruby-ethon > www/ruby-sassc > > The PLIST update is modulo the churn diff I already get, see my other mail. > > Feedback? OK?
Builds fine. I did some light runtime testing with an app using ruby-argon2 and the updated ruby-ffi, no problems. OK jeremy@ > Index: devel/ruby-ffi/Makefile > =================================================================== > RCS file: /cvs/ports/devel/ruby-ffi/Makefile,v > diff -u -p -r1.29 Makefile > --- devel/ruby-ffi/Makefile 1 Sep 2023 10:44:44 -0000 1.29 > +++ devel/ruby-ffi/Makefile 6 Sep 2025 11:49:06 -0000 > @@ -1,6 +1,6 @@ > COMMENT = cross-platform dynamic library loading for ruby > > -DISTNAME = ffi-1.15.5 > +DISTNAME = ffi-1.17.2 > CATEGORIES = devel > > HOMEPAGE= https://github.com/ffi/ffi > @@ -12,7 +12,7 @@ PERMIT_PACKAGE = Yes > > MODULES = lang/ruby > > -WANTLIB = ffi > +WANTLIB = c++abi ffi > > LIB_DEPENDS = devel/libffi > > Index: devel/ruby-ffi/distinfo > =================================================================== > RCS file: /cvs/ports/devel/ruby-ffi/distinfo,v > diff -u -p -r1.12 distinfo > --- devel/ruby-ffi/distinfo 1 Sep 2023 10:44:44 -0000 1.12 > +++ devel/ruby-ffi/distinfo 6 Sep 2025 11:40:50 -0000 > @@ -1,2 +1,2 @@ > -SHA256 (ffi-1.15.5.gem) = by7S+mgEeWLWByuWRCDLqR2Czm+o7iUZUMF/ymrzwqA= > -SIZE (ffi-1.15.5.gem) = 909824 > +SHA256 (ffi-1.17.2.gem) = KXI1hC5ZR8wwNuvmQHdYS/9YPNek6U6aAv3sOZ70baY= > +SIZE (ffi-1.17.2.gem) = 1007104 > Index: devel/ruby-ffi/patches/patch-ext_ffi_c_libffi_bsd_mk > =================================================================== > RCS file: /cvs/ports/devel/ruby-ffi/patches/patch-ext_ffi_c_libffi_bsd_mk,v > diff -u -p -r1.5 patch-ext_ffi_c_libffi_bsd_mk > --- devel/ruby-ffi/patches/patch-ext_ffi_c_libffi_bsd_mk 11 Mar 2022 > 18:53:13 -0000 1.5 > +++ devel/ruby-ffi/patches/patch-ext_ffi_c_libffi_bsd_mk 6 Sep 2025 > 11:44:12 -0000 > @@ -8,8 +8,8 @@ Index: ext/ffi_c/libffi.bsd.mk > -LIBFFI = ${LIBFFI_BUILD_DIR}/.libs/libffi_convenience.a > +LIBFFI = -lffi > LIBFFI_AUTOGEN = ${LIBFFI_SRC_DIR}/autogen.sh > - LIBFFI_CONFIGURE = ${LIBFFI_SRC_DIR}/configure --disable-static \ > - --with-pic=yes --disable-dependency-tracking --disable-docs > + LIBFFI_CONFIGURE = ${LIBFFI_SRC_DIR}/configure --disable-shared > --enable-static \ > + --with-pic=yes --disable-dependency-tracking --disable-docs > $(LIBFFI_DEBUG) > > -$(OBJS): ${LIBFFI} > +$(OBJS): > Index: devel/ruby-ffi/pkg/DESCR > =================================================================== > RCS file: /cvs/ports/devel/ruby-ffi/pkg/DESCR,v > diff -u -p -r1.1.1.1 DESCR > --- devel/ruby-ffi/pkg/DESCR 20 Dec 2010 18:04:16 -0000 1.1.1.1 > +++ devel/ruby-ffi/pkg/DESCR 6 Sep 2025 11:54:18 -0000 > @@ -1,11 +1,11 @@ > -Ruby-FFI is a ruby extension for programmatically loading dynamic > +Ruby-FFI is a gem for programmatically loading dynamically-linked native > libraries, binding functions within them, and calling those functions > from Ruby code. Moreover, a Ruby-FFI extension works without changes on > -Ruby and JRuby. > +CRuby (MRI), JRuby, Rubinius and TruffleRuby. > > -* It has a very intuitive DSL > -* It supports all C native types > -* It supports C structs (also nested), enums and global variables > -* It supports callbacks > -* It has smart methods to handle memory management of pointers and > - structs > +* Intuitive DSL > +* Supports all C native types > +* C structs (also nested), enums and global variables > +* Callbacks from C to Ruby > +* Automatic garbage collection of native memory > +* Usable in Ractor: How-to-use-FFI-in-Ruby-Ractors > Index: devel/ruby-ffi/pkg/PLIST > =================================================================== > RCS file: /cvs/ports/devel/ruby-ffi/pkg/PLIST,v > diff -u -p -r1.13 PLIST > --- devel/ruby-ffi/pkg/PLIST 11 Mar 2022 18:53:14 -0000 1.13 > +++ devel/ruby-ffi/pkg/PLIST 6 Sep 2025 13:27:25 -0000 > @@ -15,12 +15,16 @@ ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/abst > ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/autopointer.rb > ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/buffer.rb > ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/callback.rb > +${GEM_LIB}/gems/${DISTNAME}/lib/ffi/compat.rb > ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/data_converter.rb > +${GEM_LIB}/gems/${DISTNAME}/lib/ffi/dynamic_library.rb > ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/enum.rb > ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/errno.rb > ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/ffi.rb > +${GEM_LIB}/gems/${DISTNAME}/lib/ffi/function.rb > ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/io.rb > ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/library.rb > +${GEM_LIB}/gems/${DISTNAME}/lib/ffi/library_path.rb > ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/managedstruct.rb > ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/memorypointer.rb > ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/ > @@ -35,12 +39,18 @@ ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/plat > ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/aarch64-linux/types.conf > ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/aarch64-openbsd/ > ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/aarch64-openbsd/types.conf > +${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/aarch64-windows/ > +${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/aarch64-windows/types.conf > ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/arm-freebsd/ > ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/arm-freebsd/types.conf > ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/arm-freebsd12/ > ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/arm-freebsd12/types.conf > ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/arm-linux/ > ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/arm-linux/types.conf > +${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/hppa1.1-linux/ > +${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/hppa1.1-linux/types.conf > +${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/hppa2.0-linux/ > +${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/hppa2.0-linux/types.conf > ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/i386-cygwin/ > ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/i386-cygwin/types.conf > ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/i386-darwin/ > @@ -63,6 +73,8 @@ ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/plat > ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/i386-windows/types.conf > ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/ia64-linux/ > ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/ia64-linux/types.conf > +${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/loongarch64-linux/ > +${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/loongarch64-linux/types.conf > ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/mips-linux/ > ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/mips-linux/types.conf > ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/mips64-linux/ > @@ -101,12 +113,14 @@ ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/plat > ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/sparc-linux/types.conf > ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/sparc-solaris/ > ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/sparc-solaris/types.conf > -${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/sparc64-linux/ > -${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/sparc64-linux/types.conf > +${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/sparcv9-linux/ > +${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/sparcv9-linux/types.conf > ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/sparcv9-openbsd/ > ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/sparcv9-openbsd/types.conf > ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/sparcv9-solaris/ > ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/sparcv9-solaris/types.conf > +${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/sw_64-linux/ > +${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/sw_64-linux/types.conf > ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/x86_64-cygwin/ > ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/x86_64-cygwin/types.conf > ${GEM_LIB}/gems/${DISTNAME}/lib/ffi/platform/x86_64-darwin/ > @@ -154,7 +168,28 @@ ${GEM_LIB}/gems/${DISTNAME}/samples/getl > ${GEM_LIB}/gems/${DISTNAME}/samples/getpid.rb > ${GEM_LIB}/gems/${DISTNAME}/samples/gettimeofday.rb > ${GEM_LIB}/gems/${DISTNAME}/samples/hello.rb > +${GEM_LIB}/gems/${DISTNAME}/samples/hello_ractor.rb > ${GEM_LIB}/gems/${DISTNAME}/samples/inotify.rb > ${GEM_LIB}/gems/${DISTNAME}/samples/pty.rb > ${GEM_LIB}/gems/${DISTNAME}/samples/qsort.rb > +${GEM_LIB}/gems/${DISTNAME}/samples/qsort_ractor.rb > +${GEM_LIB}/gems/${DISTNAME}/sig/ > +${GEM_LIB}/gems/${DISTNAME}/sig/ffi/ > +${GEM_LIB}/gems/${DISTNAME}/sig/ffi.rbs > +${GEM_LIB}/gems/${DISTNAME}/sig/ffi/abstract_memory.rbs > +${GEM_LIB}/gems/${DISTNAME}/sig/ffi/auto_pointer.rbs > +${GEM_LIB}/gems/${DISTNAME}/sig/ffi/buffer.rbs > +${GEM_LIB}/gems/${DISTNAME}/sig/ffi/data_converter.rbs > +${GEM_LIB}/gems/${DISTNAME}/sig/ffi/dynamic_library.rbs > +${GEM_LIB}/gems/${DISTNAME}/sig/ffi/enum.rbs > +${GEM_LIB}/gems/${DISTNAME}/sig/ffi/function.rbs > +${GEM_LIB}/gems/${DISTNAME}/sig/ffi/library.rbs > +${GEM_LIB}/gems/${DISTNAME}/sig/ffi/native_type.rbs > +${GEM_LIB}/gems/${DISTNAME}/sig/ffi/pointer.rbs > +${GEM_LIB}/gems/${DISTNAME}/sig/ffi/struct.rbs > +${GEM_LIB}/gems/${DISTNAME}/sig/ffi/struct_by_reference.rbs > +${GEM_LIB}/gems/${DISTNAME}/sig/ffi/struct_by_value.rbs > +${GEM_LIB}/gems/${DISTNAME}/sig/ffi/struct_layout.rbs > +${GEM_LIB}/gems/${DISTNAME}/sig/ffi/struct_layout_builder.rbs > +${GEM_LIB}/gems/${DISTNAME}/sig/ffi/type.rbs > ${GEM_LIB}/specifications/${DISTNAME}.gemspec > Index: sysutils/ruby-openfact/Makefile > =================================================================== > RCS file: /cvs/ports/sysutils/ruby-openfact/Makefile,v > diff -u -p -r1.1.1.1 Makefile > --- sysutils/ruby-openfact/Makefile 31 Aug 2025 14:39:33 -0000 1.1.1.1 > +++ sysutils/ruby-openfact/Makefile 6 Sep 2025 12:00:45 -0000 > @@ -1,5 +1,6 @@ > COMMENT = system inventory tool > DISTNAME = openfact-5.1.0 > +REVISION = 0 > CATEGORIES = sysutils > > HOMEPAGE = https://github.com/OpenVoxProject/openfact/ > @@ -12,7 +13,7 @@ PERMIT_PACKAGE = Yes > MODULES = lang/ruby > > BUILD_DEPENDS = ${RUN_DEPENDS} > -RUN_DEPENDS = devel/ruby-ffi,${MODRUBY_FLAVOR}>=1.15.5,<1.17 \ > +RUN_DEPENDS = devel/ruby-ffi,${MODRUBY_FLAVOR}>=1.15.5 \ > devel/ruby-hocon,${MODRUBY_FLAVOR}>=1.3 \ > devel/ruby-thor,${MODRUBY_FLAVOR}>=1.0.1 > > Index: sysutils/ruby-openfact/patches/patch-_metadata > =================================================================== > RCS file: /cvs/ports/sysutils/ruby-openfact/patches/patch-_metadata,v > diff -u -p -r1.1.1.1 patch-_metadata > --- sysutils/ruby-openfact/patches/patch-_metadata 31 Aug 2025 14:39:33 > -0000 1.1.1.1 > +++ sysutils/ruby-openfact/patches/patch-_metadata 6 Sep 2025 12:04:00 > -0000 > @@ -1,9 +1,30 @@ > +Relax version requirement for the ffi gem to use newer versions. > Relax version requirement for the logger gem to use lang/ruby's bundle. > > Index: .metadata > --- .metadata.orig > +++ .metadata > -@@ -223,16 +223,16 @@ dependencies: > +@@ -16,9 +16,6 @@ dependencies: > + - - ">=" > + - !ruby/object:Gem::Version > + version: 1.15.5 > +- - - "<" > +- - !ruby/object:Gem::Version > +- version: 1.17.0 > + - - "!=" > + - !ruby/object:Gem::Version > + version: 1.16.0 > +@@ -35,9 +32,6 @@ dependencies: > + - - ">=" > + - !ruby/object:Gem::Version > + version: 1.15.5 > +- - - "<" > +- - !ruby/object:Gem::Version > +- version: 1.17.0 > + - - "!=" > + - !ruby/object:Gem::Version > + version: 1.16.0 > +@@ -223,16 +217,16 @@ dependencies: > name: logger > requirement: !ruby/object:Gem::Requirement > requirements: > Index: sysutils/ruby-facter/Makefile > =================================================================== > RCS file: /cvs/ports/sysutils/ruby-facter/Makefile,v > diff -u -p -r1.103 Makefile > --- sysutils/ruby-facter/Makefile 31 Aug 2025 14:35:25 -0000 1.103 > +++ sysutils/ruby-facter/Makefile 6 Sep 2025 11:58:30 -0000 > @@ -4,7 +4,7 @@ DISTNAME = facter-4.10.0 > CATEGORIES = sysutils > HOMEPAGE = https://github.com/puppetlabs/facter > MAINTAINER = Sebastian Reitenbach <sebas...@openbsd.org> > -REVISION = 0 > +REVISION = 1 > > # Apache 2.0 > PERMIT_PACKAGE = Yes > @@ -13,7 +13,7 @@ MODULES = lang/ruby > > BUILD_DEPENDS += ${RUN_DEPENDS} > > -RUN_DEPENDS += devel/ruby-ffi,${MODRUBY_FLAVOR}>=1.15.5,<1.17 \ > +RUN_DEPENDS += devel/ruby-ffi,${MODRUBY_FLAVOR}>=1.15.5 \ > devel/ruby-hocon,${MODRUBY_FLAVOR}>=1.3,<2 \ > devel/ruby-thor,${MODRUBY_FLAVOR}>=1.0.1,<1.3 >