commit:     f47b92e6e464b31190fd762365d01d133f993bc8
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Apr  8 21:39:13 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Apr  8 21:39:13 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f47b92e6

dev-ruby/ffi: backport fix for >=ruby30 & non-pre-generated types.conf

Only shows up on e.g. HPPA or other platforms w/o a pre-generated types.conf.

Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-ruby/ffi/ffi-1.15.5-r1.ebuild                  | 12 +++++------
 dev-ruby/ffi/files/fix-regenerate-types-conf.patch | 23 ++++++++++++++++++++++
 2 files changed, 29 insertions(+), 6 deletions(-)

diff --git a/dev-ruby/ffi/ffi-1.15.5-r1.ebuild 
b/dev-ruby/ffi/ffi-1.15.5-r1.ebuild
index aa69729ffc73..cadd0c23bbbc 100644
--- a/dev-ruby/ffi/ffi-1.15.5-r1.ebuild
+++ b/dev-ruby/ffi/ffi-1.15.5-r1.ebuild
@@ -18,23 +18,23 @@ inherit ruby-fakegem toolchain-funcs
 
 DESCRIPTION="Ruby extension for programmatically loading dynamic libraries"
 HOMEPAGE="https://wiki.github.com/ffi/ffi";
-
 SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> 
${PN}-git-${PV}.tgz"
 
-IUSE=""
 LICENSE="BSD"
 SLOT="0"
 KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 sparc x86 
~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris 
~x64-solaris ~x86-solaris"
-PATCHES=(
-       "${FILESDIR}/backport-pr-962.patch"
-       "${FILESDIR}/pr-957-sparc.patch" # submitted upstream as 
https://github.com/ffi/ffi/pull/957
-)
 
 RDEPEND+=" dev-libs/libffi:="
 DEPEND+=" dev-libs/libffi:="
 
 ruby_add_bdepend "dev-ruby/rake"
 
+PATCHES=(
+       "${FILESDIR}/backport-pr-962.patch"
+       "${FILESDIR}/pr-957-sparc.patch" # submitted upstream as 
https://github.com/ffi/ffi/pull/957
+       "${FILESDIR}/fix-regenerate-types-conf.patch"
+)
+
 all_ruby_prepare() {
        sed -i -e '/tasks/ s:^:#:' \
                -e '/Gem::Tasks/,/end/ s:^:#:' Rakefile || die

diff --git a/dev-ruby/ffi/files/fix-regenerate-types-conf.patch 
b/dev-ruby/ffi/files/fix-regenerate-types-conf.patch
new file mode 100644
index 000000000000..1c1cca1c7d4d
--- /dev/null
+++ b/dev-ruby/ffi/files/fix-regenerate-types-conf.patch
@@ -0,0 +1,23 @@
+https://github.com/ffi/ffi/commit/19348fe09e1aeb08424abdf331c3497159139f20
+
+From 19348fe09e1aeb08424abdf331c3497159139f20 Mon Sep 17 00:00:00 2001
+From: matoro <[email protected]>
+Date: Tue, 14 Mar 2023 21:03:33 -0400
+Subject: [PATCH] Update gen/Rakefile for Ruby 3 compat
+
+Ruby 3 changed the 'mode' argument from an option hash to keyword
+argument.  This change is backwards-compatible with Ruby 2.
+
+See: 
https://github.com/ruby/fileutils/commit/482de6d397742526d1111576e2791f9b7051e3c0
+--- a/gen/Rakefile
++++ b/gen/Rakefile
+@@ -9,7 +9,7 @@ logfile = File.join(File.dirname(__FILE__), 'log')
+ 
+ file types_conf do |task|
+   options = {}
+-  FileUtils.mkdir_p(File.dirname(task.name), { :mode => 0755 })
++  FileUtils.mkdir_p(File.dirname(task.name), mode: 0755)
+   File.open(task.name, File::CREAT|File::TRUNC|File::RDWR, 0644) do |f|
+     f.puts FFI::TypesGenerator.generate(options)
+   end
+

Reply via email to