git: a65ad175973f - 2022Q3 - audio/dexed: Fix build on armv7, arm64

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Wed, 20 Jul 2022 18:42:50 UTC
The branch 2022Q3 has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=a65ad175973f24a0308f31d3578137f88238d327

commit a65ad175973f24a0308f31d3578137f88238d327
Author:     Robert Clausecker <fuz@fuz.su>
AuthorDate: 2022-07-20 17:10:00 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-07-20 18:42:47 +0000

    audio/dexed: Fix build on armv7, arm64
    
    PR:             265342
    (cherry picked from commit 9f17ff970a755a8b6ba2388f9caf959ac8c46427)
---
 audio/dexed/Makefile                             |  4 +---
 audio/dexed/files/patch-CMakeLists.txt           | 12 +++++++++++
 audio/dexed/files/patch-Source_PluginData.cpp    | 26 ++++++++++++++++++++++++
 audio/dexed/files/patch-Source_PluginProcessor.h | 13 ++++++++++++
 4 files changed, 52 insertions(+), 3 deletions(-)

diff --git a/audio/dexed/Makefile b/audio/dexed/Makefile
index 3bc019179bd1..9321a2f48517 100644
--- a/audio/dexed/Makefile
+++ b/audio/dexed/Makefile
@@ -2,7 +2,7 @@ PORTNAME=	dexed
 DISTVERSIONPREFIX=	v
 DISTVERSION=	0.9.6-16
 DISTVERSIONSUFFIX=	-g1df9a58
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	audio
 PKGNAMESUFFIX=	-synth
 
@@ -12,8 +12,6 @@ COMMENT=	DX7 FM multi plaform/multi format plugin
 LICENSE=	GPLv2+
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-BROKEN_aarch64=	fails to compile due to a seemingly clang issue: https://github.com/llvm/llvm-project/issues/55604
-
 BUILD_DEPENDS=	libX11>0:x11/libX11 \
 		libXcursor>0:x11/libXcursor \
 		libXinerama>0:x11/libXinerama \
diff --git a/audio/dexed/files/patch-CMakeLists.txt b/audio/dexed/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..8e696b6a6e6b
--- /dev/null
+++ b/audio/dexed/files/patch-CMakeLists.txt
@@ -0,0 +1,12 @@
+- from Bug 265342 - audio/dexed: fix build on armv7 arm64
+
+--- CMakeLists.txt.orig	2022-07-20 04:50:04 UTC
++++ CMakeLists.txt
+@@ -52,7 +52,6 @@ target_compile_options(${PROJECT_NAME} PUBLIC
+         )
+ elseif(UNIX AND NOT APPLE)
+ target_compile_options(${PROJECT_NAME} PUBLIC
+-        -Werror
+         -Wno-deprecated-declarations
+         -Wno-unused-value
+         )
diff --git a/audio/dexed/files/patch-Source_PluginData.cpp b/audio/dexed/files/patch-Source_PluginData.cpp
new file mode 100644
index 000000000000..978d97954d32
--- /dev/null
+++ b/audio/dexed/files/patch-Source_PluginData.cpp
@@ -0,0 +1,26 @@
+- from Bug 265342 - audio/dexed: fix build on armv7 arm64
+
+--- Source/PluginData.cpp.orig	2022-07-20 04:30:35 UTC
++++ Source/PluginData.cpp
+@@ -103,18 +103,14 @@ void Cartridge::packProgram(uint8_t *src, int idx, Str
+  * This function normalize data that comes from corrupted sysex.
+  * It used to avoid engine crashing upon extreme values
+  */
+-char normparm(char value, char max, int id) {
+-    if ( value <= max && value >= 0 )
++uint8_t normparm(uint8_t value, uint8_t max, int id) {
++    if ( value <= max )
+         return value;
+     
+     // if this is beyond the max, we expect a 0-255 range, normalize this
+     // to the expected return value; and this value as a random data.
+     
+-    value = abs(value);
+-    
+-    char v = ((float)value)/255 * max;
+-
+-    return v;
++    return ((float)value)/255 * max;
+ }
+ 
+ void Cartridge::unpackProgram(uint8_t *unpackPgm, int idx) {
diff --git a/audio/dexed/files/patch-Source_PluginProcessor.h b/audio/dexed/files/patch-Source_PluginProcessor.h
new file mode 100644
index 000000000000..6b093f3d31cb
--- /dev/null
+++ b/audio/dexed/files/patch-Source_PluginProcessor.h
@@ -0,0 +1,13 @@
+- from Bug 265342 - audio/dexed: fix build on armv7 arm64 
+
+--- Source/PluginProcessor.h.orig	2022-07-20 04:35:43 UTC
++++ Source/PluginProcessor.h
+@@ -120,7 +120,7 @@ class DexedAudioProcessor  : public AudioProcessor, pu
+     EngineOpl engineOpl;
+     
+     char clipboard[161];
+-    char clipboardContent;
++    signed char clipboardContent;
+     
+     void resolvAppDir();
+