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 +
