aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Clausecker <fuz@fuz.su>2022-05-16 15:00:32 +0000
committerAdriaan de Groot <adridg@FreeBSD.org>2022-05-16 18:57:54 +0000
commit78989b4e694c2a8264975fb6d64e3bf1c13762c2 (patch)
tree40887e70a45541999318d0ff84640c3ad7f66d6b
parent2be916dd00df3e1ec986b948da5fbd1c00dbaefe (diff)
downloadports-78989b4e694c2a8264975fb6d64e3bf1c13762c2.tar.gz
ports-78989b4e694c2a8264975fb6d64e3bf1c13762c2.zip
multimedia/nymphcast: fix build on ARMv7
nymphcast has a bundled copy of angelscript (TODO: use the one from ports instead) that doesn't build nicely on ARM because it passes in invalid compiler flags. PR: 263953 Reported by: Robert Clausecker
-rw-r--r--multimedia/nymphcast/Makefile1
-rw-r--r--multimedia/nymphcast/files/patch-armv758
2 files changed, 59 insertions, 0 deletions
diff --git a/multimedia/nymphcast/Makefile b/multimedia/nymphcast/Makefile
index 03d14fed7298..6577b830fbf3 100644
--- a/multimedia/nymphcast/Makefile
+++ b/multimedia/nymphcast/Makefile
@@ -1,5 +1,6 @@
PORTNAME= NymphCast
DISTVERSION= v0.1
+PORTREVISION= 1
CATEGORIES= multimedia
MAINTAINER= adridg@FreeBSD.org
diff --git a/multimedia/nymphcast/files/patch-armv7 b/multimedia/nymphcast/files/patch-armv7
new file mode 100644
index 000000000000..38dda98732cc
--- /dev/null
+++ b/multimedia/nymphcast/files/patch-armv7
@@ -0,0 +1,58 @@
+From a72070398fb731f56ef57b19d8911158b0268029 Mon Sep 17 00:00:00 2001
+From: Robert Clausecker <fuz@fuz.su>
+Date: Fri, 13 May 2022 04:30:51 +0200
+Subject: [PATCH] multimedia/nymphcast: fix build on armv7
+
+The build failed due to an unsupported compiler option
+-Wa,-mimplicit-it=thumb. This option is not needed when
+building with clang, doubly so when building in ARM mode,
+which we do.
+---
+ ...pt_angelscript_projects_cmake_CMakeLists.txt | 10 ++++++++++
+ ...gelscript_angelscript_projects_gnuc_Makefile | 17 +++++++++++++++++
+ 2 files changed, 27 insertions(+)
+ create mode 100644 multimedia/nymphcast/files/patch-angelscript_angelscript_projects_cmake_CMakeLists.txt
+ create mode 100644 multimedia/nymphcast/files/patch-angelscript_angelscript_projects_gnuc_Makefile
+
+diff --git a/multimedia/nymphcast/files/patch-angelscript_angelscript_projects_cmake_CMakeLists.txt b/multimedia/nymphcast/files/patch-angelscript_angelscript_projects_cmake_CMakeLists.txt
+new file mode 100644
+index 000000000000..3bc3c1339c0d
+--- /dev/null
++++ b/multimedia/nymphcast/files/patch-angelscript_angelscript_projects_cmake_CMakeLists.txt
+@@ -0,0 +1,10 @@
++--- angelscript/angelscript/projects/cmake/CMakeLists.txt.orig 2022-05-12 21:14:16 UTC
+++++ angelscript/angelscript/projects/cmake/CMakeLists.txt
++@@ -110,7 +110,6 @@ if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "^arm")
++ enable_language(ASM)
++ if(CMAKE_ASM_COMPILER_WORKS)
++ set(ANGELSCRIPT_SOURCE ${ANGELSCRIPT_SOURCE} ../../source/as_callfunc_arm.cpp ../../source/as_callfunc_arm_gcc.S)
++- set_property(SOURCE ../../source/as_callfunc_arm_gcc.S APPEND PROPERTY COMPILE_FLAGS " -Wa,-mimplicit-it=always")
++ else()
++ message(FATAL ERROR "ARM target requires a working assembler")
++ endif()
+diff --git a/multimedia/nymphcast/files/patch-angelscript_angelscript_projects_gnuc_Makefile b/multimedia/nymphcast/files/patch-angelscript_angelscript_projects_gnuc_Makefile
+new file mode 100644
+index 000000000000..bc8359c1e348
+--- /dev/null
++++ b/multimedia/nymphcast/files/patch-angelscript_angelscript_projects_gnuc_Makefile
+@@ -0,0 +1,17 @@
++--- angelscript/angelscript/projects/gnuc/Makefile.orig 2022-05-12 21:13:19 UTC
+++++ angelscript/angelscript/projects/gnuc/Makefile
++@@ -89,14 +89,8 @@ else
++ CXXFLAGS += $(PLATFORM_FLAGS)
++ endif
++
++-## Detect if targeting ARM CPU and if so tell assembler to accept implicit IT constructs in thumb mode
++ GCC_ARCH := $(shell $(CXX) -dumpmachine)
++ $(info GCC ARCH: $(GCC_ARCH))
++-ifneq (,$(findstring arm-,$(GCC_ARCH)))
++- CXXFLAGS += -Wa,-mimplicit-it=thumb
++-else ifneq (,$(findstring armv7-, $(GCC_ARCH)))
++- CXXFLAGS += -Wa,-mimplicit-it=thumb
++-endif
++
++ ## toolchain
++ AR ?= ar
+--
+2.35.2
+