Download raw body.
update devel/ruby-ffi to 1.17.2
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 <sebastia@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
update devel/ruby-ffi to 1.17.2