diff --git a/pkg.info b/pkg.info index a3ced72..69c288d 100644 --- a/pkg.info +++ b/pkg.info @@ -1,7 +1,7 @@ name: vim description: A highly configurable text editor version: 9.1.2028 -revision: 3 +revision: 4 url: https://www.vim.org/ license: vim architecture: any diff --git a/source-files/fix-building-with-ruby-4.0.patch b/source-files/fix-building-with-ruby-4.0.patch index 5342fcd..3cdda33 100644 --- a/source-files/fix-building-with-ruby-4.0.patch +++ b/source-files/fix-building-with-ruby-4.0.patch @@ -1,7 +1,7 @@ From 293c5e235bf590bca1088e9ce0af71e1c25b3678 Mon Sep 17 00:00:00 2001 From: EnumDev Date: Tue, 30 Dec 2025 17:10:53 +0200 -Subject: [PATCH 1/2] Fix building with ruby 4.0 +Subject: [PATCH 1/3] Fix building with ruby 4.0 Signed-off-by: EnumDev --- @@ -9,7 +9,7 @@ Signed-off-by: EnumDev 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/if_ruby.c b/src/if_ruby.c -index 6af508beccdc1d..a2dc53da8b79f0 100644 +index 6af508beccdc1..a2dc53da8b79f 100644 --- a/src/if_ruby.c +++ b/src/if_ruby.c @@ -244,7 +244,11 @@ static int ruby_convert_to_vim_value(VALUE val, typval_T *rettv); @@ -53,7 +53,7 @@ index 6af508beccdc1d..a2dc53da8b79f0 100644 From 9c7c407a83226bd72541fc3c080245e72d8b23e2 Mon Sep 17 00:00:00 2001 From: EnumDev Date: Wed, 31 Dec 2025 14:17:28 +0200 -Subject: [PATCH 2/2] Fix typo in src/if_ruby.c +Subject: [PATCH 2/3] Fix typo in src/if_ruby.c Signed-off-by: EnumDev --- @@ -61,7 +61,7 @@ Signed-off-by: EnumDev 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/if_ruby.c b/src/if_ruby.c -index a2dc53da8b79f0..81252102b1d489 100644 +index a2dc53da8b79f..81252102b1d48 100644 --- a/src/if_ruby.c +++ b/src/if_ruby.c @@ -247,7 +247,7 @@ static int ruby_convert_to_vim_value(VALUE val, typval_T *rettv); @@ -73,3 +73,52 @@ index a2dc53da8b79f0..81252102b1d489 100644 # endif # endif # define rb_class_path dll_rb_class_path + +From 4cd61636526b710f12ca2d987c1c898502718f2d Mon Sep 17 00:00:00 2001 +From: EnumDev +Date: Wed, 31 Dec 2025 21:05:02 +0200 +Subject: [PATCH 3/3] Always define rb_check_typeddata + +Signed-off-by: EnumDev +--- + src/if_ruby.c | 10 ++-------- + 1 file changed, 2 insertions(+), 8 deletions(-) + +diff --git a/src/if_ruby.c b/src/if_ruby.c +index 81252102b1d48..49fdc34dd5316 100644 +--- a/src/if_ruby.c ++++ b/src/if_ruby.c +@@ -246,9 +246,8 @@ static int ruby_convert_to_vim_value(VALUE val, typval_T *rettv); + # ifdef USE_TYPEDDATA + # if RUBY_VERSION >= 40 + # define rbimpl_check_typeddata dll_rbimpl_check_typeddata +-# else +-# define rb_check_typeddata dll_rb_check_typeddata + # endif ++# define rb_check_typeddata dll_rb_check_typeddata + # endif + # define rb_class_path dll_rb_class_path + # ifdef USE_TYPEDDATA +@@ -379,9 +378,8 @@ static void (*dll_rb_check_type) (VALUE,int); + # ifdef USE_TYPEDDATA + # if RUBY_VERSION >= 40 + static void *(*dll_rbimpl_check_typeddata) (VALUE,const rb_data_type_t *); +-# else +-static void *(*dll_rb_check_typeddata) (VALUE,const rb_data_type_t *); + # endif ++static void *(*dll_rb_check_typeddata) (VALUE,const rb_data_type_t *); + # endif + static VALUE (*dll_rb_class_path) (VALUE); + # ifdef USE_TYPEDDATA +@@ -640,11 +638,7 @@ static struct + {"rb_class_new_instance", (RUBY_PROC*)&dll_rb_class_new_instance}, + {"rb_check_type", (RUBY_PROC*)&dll_rb_check_type}, + # ifdef USE_TYPEDDATA +-# if RUBY_VERSION >= 40 +- {"rbimpl_check_typeddata", (RUBY_PROC*)&dll_rbimpl_check_typeddata}, +-# else + {"rb_check_typeddata", (RUBY_PROC*)&dll_rb_check_typeddata}, +-# endif + # endif + {"rb_class_path", (RUBY_PROC*)&dll_rb_class_path}, + # ifdef USE_TYPEDDATA