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
 

Reply via email to