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 */
+ 

Reply via email to