commit:     479e4b74e76dce202079b441500a11bc228d47d1
Author:     matoro <matoro <AT> users <DOT> noreply <DOT> github <DOT> com>
AuthorDate: Mon Jun 27 23:54:42 2022 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Thu Jul 14 22:27:13 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=479e4b74

dev-libs/angelscript: revbump 2.35.1-r1, keyword arm64

Taken without modification from the Debian patchset:
https://salsa.debian.org/yangfl-guest/angelscript/-/tree/master/debian/patches

Unlike the existing workaround (adding -DAS_MAX_PORTABILITY to CFLAGS),
this actually pulls in the arm64-specific implementation rather than
falling back to the generic one.

Revbump because this currently successfully compiles, but generates a
broken library that cannot be linked against (depending on what you use
from it) on arm64.  Thus we need a revbump to avoid requiring a manual
rebuild, even though reverse deps (e.g. games-action/supertuxkart) fail
during build.

Closes: https://bugs.gentoo.org/811420
Signed-off-by: matoro <matoro <AT> users.noreply.github.com>
Closes: https://github.com/gentoo/gentoo/pull/26102
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>

 dev-libs/angelscript/angelscript-2.35.1-r1.ebuild  | 52 ++++++++++++++++++++++
 ...dd-as_callfunc_arm64.cpp-to-gnuc-makefile.patch | 30 +++++++++++++
 ...dd-as_callfunc_arm_gcc.S-to-gnuc-makefile.patch | 31 +++++++++++++
 3 files changed, 113 insertions(+)

diff --git a/dev-libs/angelscript/angelscript-2.35.1-r1.ebuild 
b/dev-libs/angelscript/angelscript-2.35.1-r1.ebuild
new file mode 100644
index 000000000000..d0aa028768b9
--- /dev/null
+++ b/dev-libs/angelscript/angelscript-2.35.1-r1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs multilib-minimal
+
+DESCRIPTION="A flexible, cross-platform scripting library"
+HOMEPAGE="http://www.angelcode.com/angelscript/";
+SRC_URI="http://www.angelcode.com/angelscript/sdk/files/angelscript_${PV}.zip";
+LICENSE="ZLIB"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="doc static-libs"
+
+BDEPEND="app-arch/unzip"
+
+S="${WORKDIR}/sdk"
+PATCHES=(
+       "${FILESDIR}/0004-Add-as_callfunc_arm64.cpp-to-gnuc-makefile.patch"
+       "${FILESDIR}/0006-Add-as_callfunc_arm_gcc.S-to-gnuc-makefile.patch"
+)
+
+pkg_setup() {
+       tc-export CXX AR RANLIB
+}
+
+src_prepare() {
+       default
+       multilib_copy_sources
+}
+
+multilib_src_compile() {
+       emake -C ${PN}/projects/gnuc shared \
+                 $(use static-libs && echo static)
+}
+
+multilib_src_install() {
+       emake -C ${PN}/projects/gnuc \
+                 DESTDIR="${D}" \
+                 PREFIX="${EPREFIX}"/usr \
+                 LIBDIR_DEST='$(PREFIX)'/$(get_libdir) \
+                 install_header install_shared \
+                 $(use static-libs && echo install_static)
+}
+
+multilib_src_install_all() {
+       if use doc; then
+               docinto html
+               dodoc -r docs/*
+       fi
+}

diff --git 
a/dev-libs/angelscript/files/0004-Add-as_callfunc_arm64.cpp-to-gnuc-makefile.patch
 
b/dev-libs/angelscript/files/0004-Add-as_callfunc_arm64.cpp-to-gnuc-makefile.patch
new file mode 100644
index 000000000000..b889c495f3e6
--- /dev/null
+++ 
b/dev-libs/angelscript/files/0004-Add-as_callfunc_arm64.cpp-to-gnuc-makefile.patch
@@ -0,0 +1,30 @@
+This patch taken from Debian:
+https://salsa.debian.org/yangfl-guest/angelscript/-/blob/master/debian/patches/0004-Add-as_callfunc_arm64.cpp-to-gnuc-makefile.patch
+
+Gentoo bug:
+https://bugs.gentoo.org/818868
+
+From 53841747c668abe3ff2cac280354703bef5dd395 Mon Sep 17 00:00:00 2001
+From: yangfl <[email protected]>
+Date: Thu, 14 Oct 2021 18:29:25 +0800
+Subject: [PATCH 4/6] Add as_callfunc_arm64.cpp to gnuc makefile
+
+---
+ angelscript/projects/gnuc/Makefile | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/angelscript/projects/gnuc/Makefile 
b/angelscript/projects/gnuc/Makefile
+index 5274f05e..276baa9e 100644
+--- a/angelscript/projects/gnuc/Makefile
++++ b/angelscript/projects/gnuc/Makefile
+@@ -107,6 +107,7 @@ SRCNAMES = \
+   as_bytecode.cpp \
+   as_callfunc.cpp \
+   as_callfunc_arm.cpp \
++  as_callfunc_arm64.cpp \
+   as_callfunc_mips.cpp \
+   as_callfunc_ppc.cpp \
+   as_callfunc_ppc_64.cpp \
+-- 
+2.33.0
+

diff --git 
a/dev-libs/angelscript/files/0006-Add-as_callfunc_arm_gcc.S-to-gnuc-makefile.patch
 
b/dev-libs/angelscript/files/0006-Add-as_callfunc_arm_gcc.S-to-gnuc-makefile.patch
new file mode 100644
index 000000000000..ccdd21a5e7c9
--- /dev/null
+++ 
b/dev-libs/angelscript/files/0006-Add-as_callfunc_arm_gcc.S-to-gnuc-makefile.patch
@@ -0,0 +1,31 @@
+This file taken from Debian:
+https://salsa.debian.org/yangfl-guest/angelscript/-/blob/master/debian/patches/0006-Add-as_callfunc_arm_gcc.S-to-gnuc-makefile.patch
+
+Gentoo bug:
+https://bugs.gentoo.org/818868
+
+From 64e3e5a356047531012789802ece987bacb6a120 Mon Sep 17 00:00:00 2001
+From: yangfl <[email protected]>
+Date: Fri, 15 Oct 2021 02:24:17 +0800
+Subject: [PATCH 6/6] Add as_callfunc_arm_gcc.S to gnuc makefile
+
+---
+ angelscript/projects/gnuc/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/angelscript/projects/gnuc/Makefile 
b/angelscript/projects/gnuc/Makefile
+index 276baa9e..973da7b0 100644
+--- a/angelscript/projects/gnuc/Makefile
++++ b/angelscript/projects/gnuc/Makefile
+@@ -145,7 +145,7 @@ OBJ = $(addprefix $(OBJDIR)/, $(notdir 
$(SRCNAMES:.cpp=.o)))
+ ifeq ($(TARGETPLATFORM), iphone)
+       OBJ += $(OBJDIR)/as_callfunc_arm_xcode.o
+ else
+-      OBJ += $(OBJDIR)/as_callfunc_arm_gcc.o
++      OBJ += $(OBJDIR)/as_callfunc_arm_gcc.o $(OBJDIR)/as_callfunc_arm64_gcc.o
+ endif
+ 
+ 
+-- 
+2.33.0
+

Reply via email to