commit: 22c363fb3820b785b15631b618edec4ee3a023a1 Author: Akinori Hattori <hattya <AT> gentoo <DOT> org> AuthorDate: Thu Feb 3 14:16:40 2022 +0000 Commit: Akinori Hattori <hattya <AT> gentoo <DOT> org> CommitDate: Thu Feb 3 14:17:56 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=22c363fb
dev-scheme/c-wrapper: fix build with >=dev-scheme/gauche-0.9.11 Closes: https://bugs.gentoo.org/832510 Package-Manager: Portage-3.0.30, Repoman-3.0.3 Signed-off-by: Akinori Hattori <hattya <AT> gentoo.org> dev-scheme/c-wrapper/c-wrapper-0.6.1-r2.ebuild | 3 ++- .../files/c-wrapper-gauche-abi-0.98.patch | 28 ++++++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/dev-scheme/c-wrapper/c-wrapper-0.6.1-r2.ebuild b/dev-scheme/c-wrapper/c-wrapper-0.6.1-r2.ebuild index adbb32c8b4b9..f0e379406c0c 100644 --- a/dev-scheme/c-wrapper/c-wrapper-0.6.1-r2.ebuild +++ b/dev-scheme/c-wrapper/c-wrapper-0.6.1-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="8" @@ -21,6 +21,7 @@ BDEPEND="virtual/pkgconfig" PATCHES=( "${FILESDIR}"/${PN}-closure.patch + "${FILESDIR}"/${PN}-gauche-abi-0.98.patch "${FILESDIR}"/${PN}-gcc-5.patch "${FILESDIR}"/${PN}-gentoo.patch "${FILESDIR}"/${PN}-glibc-2.25.patch diff --git a/dev-scheme/c-wrapper/files/c-wrapper-gauche-abi-0.98.patch b/dev-scheme/c-wrapper/files/c-wrapper-gauche-abi-0.98.patch new file mode 100644 index 000000000000..15e8b6990cc7 --- /dev/null +++ b/dev-scheme/c-wrapper/files/c-wrapper-gauche-abi-0.98.patch @@ -0,0 +1,28 @@ +--- a/src/c-ffi.c ++++ b/src/c-ffi.c +@@ -347,7 +347,11 @@ + } + sa = SCM_SLOT_ACCESSOR(SCM_CDR(p)); + if (0 <= sa->slotNumber) { ++#if !defined(GAUCHE_API_VERSION) || GAUCHE_API_VERSION < 98 + return SCM_FFI_TYPE_DATA(Scm_InstanceSlotRef(ctype, sa->slotNumber)); ++#else ++ return SCM_FFI_TYPE_DATA(Scm_InstanceSlotRef(ctype, sa->slotNumber, SCM_UNBOUND)); ++#endif + } else { + Scm_Error("wrong slot number: %d", sa->slotNumber); + } +--- a/src/c-lexlib.stub ++++ b/src/c-lexlib.stub +@@ -40,7 +40,11 @@ + "if (nptr == endptr) {" + " SCM_RETURN(SCM_FALSE);" + "} else {" ++ "#if !defined(GAUCHE_API_VERSION) || GAUCHE_API_VERSION < 98" + " SCM_RETURN(Scm_MakeInteger64((ScmInt64) v));" ++ "#else" ++ " SCM_RETURN(Scm_MakeInteger64((int64_t) v));" ++ "#endif" + "}")) + + (define-cproc strtod (nptr::<const-cstring>)