From 4cbfbfe255fc82a05f0a9d3ecdf6e8dce7d9a4ee Mon Sep 17 00:00:00 2001 From: Sam James Date: Sat, 2 Oct 2021 20:30:41 +0100 Subject: [PATCH] dev-ruby/ffi: fix 32-bit test failure Thanks-to: Tee KOBAYASHI Closes: https://bugs.gentoo.org/815130 Signed-off-by: Sam James --- ...ffi-1.14.2.ebuild => ffi-1.14.2-r1.ebuild} | 4 ++++ ...ffi-1.15.1.ebuild => ffi-1.15.1-r1.ebuild} | 8 ++++++-- ...ffi-1.15.3.ebuild => ffi-1.15.3-r1.ebuild} | 8 ++++++-- ...ffi-1.15.4.ebuild => ffi-1.15.4-r1.ebuild} | 8 ++++++-- .../files/ffi-1.14.2-32bit-long-double.patch | 19 +++++++++++++++++++ 5 files changed, 41 insertions(+), 6 deletions(-) rename dev-ruby/ffi/{ffi-1.14.2.ebuild => ffi-1.14.2-r1.ebuild} (96%) rename dev-ruby/ffi/{ffi-1.15.1.ebuild => ffi-1.15.1-r1.ebuild} (92%) rename dev-ruby/ffi/{ffi-1.15.3.ebuild => ffi-1.15.3-r1.ebuild} (92%) rename dev-ruby/ffi/{ffi-1.15.4.ebuild => ffi-1.15.4-r1.ebuild} (92%) create mode 100644 dev-ruby/ffi/files/ffi-1.14.2-32bit-long-double.patch 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 38868b6744228..450411f52e92a 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 244b9737ea491..76ba9f8c1a8d1 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 92b209d828bea..67d86c924a086 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 d79112dff229e..dc92b96f4e084 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 0000000000000..7373a8c28cda9 --- /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 <69125751+xtkoba@users.noreply.github.com> +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 */ +