commit: 4cbfbfe255fc82a05f0a9d3ecdf6e8dce7d9a4ee Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Sat Oct 2 19:30:41 2021 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Sat Oct 2 19:31:01 2021 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4cbfbfe2
dev-ruby/ffi: fix 32-bit test failure Thanks-to: Tee KOBAYASHI <xtkoba <AT> gmail.com> Closes: https://bugs.gentoo.org/815130 Signed-off-by: Sam James <sam <AT> gentoo.org> .../ffi/{ffi-1.14.2.ebuild => ffi-1.14.2-r1.ebuild} | 4 ++++ .../ffi/{ffi-1.15.1.ebuild => ffi-1.15.1-r1.ebuild} | 8 ++++++-- .../ffi/{ffi-1.15.3.ebuild => ffi-1.15.3-r1.ebuild} | 8 ++++++-- .../ffi/{ffi-1.15.4.ebuild => ffi-1.15.4-r1.ebuild} | 8 ++++++-- dev-ruby/ffi/files/ffi-1.14.2-32bit-long-double.patch | 19 +++++++++++++++++++ 5 files changed, 41 insertions(+), 6 deletions(-) diff --git a/dev-ruby/ffi/ffi-1.14.2.ebuild b/dev-ruby/ffi/ffi-1.14.2-r1.ebuild similarity index 96% rename from dev-ruby/ffi/ffi-1.14.2.ebuild rename to dev-ruby/ffi/ffi-1.14.2-r1.ebuild index 38868b67442..450411f52e9 100644 --- a/dev-ruby/ffi/ffi-1.14.2.ebuild +++ b/dev-ruby/ffi/ffi-1.14.2-r1.ebuild @@ -31,6 +31,10 @@ DEPEND+=" dev-libs/libffi" ruby_add_bdepend "dev-ruby/rake" +PATCHES=( + "${FILESDIR}"/${PN}-1.14.2-32bit-long-double.patch +) + all_ruby_prepare() { sed -i -e '/tasks/ s:^:#:' \ -e '/Gem::Tasks/,/end/ s:^:#:' Rakefile || die diff --git a/dev-ruby/ffi/ffi-1.15.1.ebuild b/dev-ruby/ffi/ffi-1.15.1-r1.ebuild similarity index 92% rename from dev-ruby/ffi/ffi-1.15.1.ebuild rename to dev-ruby/ffi/ffi-1.15.1-r1.ebuild index 244b9737ea4..76ba9f8c1a8 100644 --- a/dev-ruby/ffi/ffi-1.15.1.ebuild +++ b/dev-ruby/ffi/ffi-1.15.1-r1.ebuild @@ -26,11 +26,15 @@ LICENSE="BSD" SLOT="0" KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -RDEPEND+=" dev-libs/libffi:0=" -DEPEND+=" dev-libs/libffi" +RDEPEND+=" dev-libs/libffi:=" +DEPEND+=" dev-libs/libffi:=" ruby_add_bdepend "dev-ruby/rake" +PATCHES=( + "${FILESDIR}"/${PN}-1.14.2-32bit-long-double.patch +) + all_ruby_prepare() { sed -i -e '/tasks/ s:^:#:' \ -e '/Gem::Tasks/,/end/ s:^:#:' Rakefile || die diff --git a/dev-ruby/ffi/ffi-1.15.3.ebuild b/dev-ruby/ffi/ffi-1.15.3-r1.ebuild similarity index 92% rename from dev-ruby/ffi/ffi-1.15.3.ebuild rename to dev-ruby/ffi/ffi-1.15.3-r1.ebuild index 92b209d828b..67d86c924a0 100644 --- a/dev-ruby/ffi/ffi-1.15.3.ebuild +++ b/dev-ruby/ffi/ffi-1.15.3-r1.ebuild @@ -26,11 +26,15 @@ LICENSE="BSD" SLOT="0" KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -RDEPEND+=" dev-libs/libffi:0=" -DEPEND+=" dev-libs/libffi" +RDEPEND+=" dev-libs/libffi:=" +DEPEND+=" dev-libs/libffi:=" ruby_add_bdepend "dev-ruby/rake" +PATCHES=( + "${FILESDIR}"/${PN}-1.14.2-32bit-long-double.patch +) + all_ruby_prepare() { sed -i -e '/tasks/ s:^:#:' \ -e '/Gem::Tasks/,/end/ s:^:#:' Rakefile || die diff --git a/dev-ruby/ffi/ffi-1.15.4.ebuild b/dev-ruby/ffi/ffi-1.15.4-r1.ebuild similarity index 92% rename from dev-ruby/ffi/ffi-1.15.4.ebuild rename to dev-ruby/ffi/ffi-1.15.4-r1.ebuild index d79112dff22..dc92b96f4e0 100644 --- a/dev-ruby/ffi/ffi-1.15.4.ebuild +++ b/dev-ruby/ffi/ffi-1.15.4-r1.ebuild @@ -26,11 +26,15 @@ LICENSE="BSD" SLOT="0" KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -RDEPEND+=" dev-libs/libffi:0=" -DEPEND+=" dev-libs/libffi" +RDEPEND+=" dev-libs/libffi:=" +DEPEND+=" dev-libs/libffi:=" ruby_add_bdepend "dev-ruby/rake" +PATCHES=( + "${FILESDIR}"/${PN}-1.14.2-32bit-long-double.patch +) + all_ruby_prepare() { sed -i -e '/tasks/ s:^:#:' \ -e '/Gem::Tasks/,/end/ s:^:#:' Rakefile || die diff --git a/dev-ruby/ffi/files/ffi-1.14.2-32bit-long-double.patch b/dev-ruby/ffi/files/ffi-1.14.2-32bit-long-double.patch new file mode 100644 index 00000000000..7373a8c28cd --- /dev/null +++ b/dev-ruby/ffi/files/ffi-1.14.2-32bit-long-double.patch @@ -0,0 +1,19 @@ +https://bugs.gentoo.org/815130 +https://github.com/ffi/ffi/commit/315d66e7b0768856d589e15bf597f4816d5cd524 + +From 0ef7a9d7d22c9a7779def3f8c7f0166d996a2401 Mon Sep 17 00:00:00 2001 +From: xtkoba <[email protected]> +Date: Wed, 29 Sep 2021 19:24:44 +0900 +Subject: [PATCH] Keep `LONGDOUBLE_ADJ >= sizeof(long double)` + +--- a/ext/ffi_c/Call.c ++++ b/ext/ffi_c/Call.c +@@ -71,7 +71,7 @@ + #define FLOAT32_ADJ (4) + #define FLOAT64_ADJ (8) + #define ADDRESS_ADJ (sizeof(void *)) +-#define LONGDOUBLE_ADJ (ffi_type_longdouble.alignment) ++#define LONGDOUBLE_ADJ (ffi_type_longdouble.alignment > sizeof(long double) ? ffi_type_longdouble.alignment : sizeof(long double)) + + #endif /* USE_RAW */ +
