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? 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