git: 53e8e70bba76 - main - audio/ardour: Update to 7.3.0 release.

From: Fernando Apesteguía <fernape_at_FreeBSD.org>
Date: Wed, 05 Apr 2023 05:23:59 UTC
The branch main has been updated by fernape:

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

commit 53e8e70bba765ec8ff0d4684c7364fc504034bc4
Author:     Florian Walpen <dev@submerge.ch>
AuthorDate: 2023-04-04 15:28:51 +0000
Commit:     Fernando Apesteguía <fernape@FreeBSD.org>
CommitDate: 2023-04-05 05:18:59 +0000

    audio/ardour: Update to 7.3.0 release.
    
    ChangeLog: https://ardour.org/whatsnew.html
    
    PR:             270056
    Reported by:    dev@submerge.ch (maintainer)
---
 audio/ardour/Makefile                              |   5 +-
 audio/ardour/distinfo                              |   6 +-
 .../ardour/files/patch-libs_ardour_ardour_cycles.h |  25 -----
 .../files/patch-libs_ardour_sse__functions__avx.cc |  11 +++
 ...patch-libs_ardour_sse__functions__avx__linux.cc |  84 ++++++++++++++++
 .../patch-libs_ardour_x86__functions__avx512f.cc   | 109 +++++++++++++++++++++
 .../files/patch-libs_ardour_x86__functions__fma.cc |  13 +++
 audio/ardour/pkg-plist                             |   1 +
 8 files changed, 223 insertions(+), 31 deletions(-)

diff --git a/audio/ardour/Makefile b/audio/ardour/Makefile
index e6096438046d..125fdabeea89 100644
--- a/audio/ardour/Makefile
+++ b/audio/ardour/Makefile
@@ -1,12 +1,11 @@
 PORTNAME=	ardour
-DISTVERSION=	7.2.0
-PORTREVISION=	1
+DISTVERSION=	7.3.0
 CATEGORIES=	audio
 # Official source download is tailored to browsers, downloads from github are
 # deliberately made empty. Put the badly named distfile into a subdirectory.
 MASTER_SITES=	https://community.ardour.org/download/release/
 DISTNAME=	Ardour-${DISTVERSION}
-DISTFILES=	516
+DISTFILES=	522
 DIST_SUBDIR=	${DISTNAME}
 
 MAINTAINER=	dev@submerge.ch
diff --git a/audio/ardour/distinfo b/audio/ardour/distinfo
index 666a17a5c8d2..cc3582c78e70 100644
--- a/audio/ardour/distinfo
+++ b/audio/ardour/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1671141631
-SHA256 (Ardour-7.2.0/516) = c92d5b1dd09e7b8a580121478934b30cd9322fe052f45229dcf49363ca6e377f
-SIZE (Ardour-7.2.0/516) = 12882609
+TIMESTAMP = 1676815269
+SHA256 (Ardour-7.3.0/522) = 1f45263b4fbfd69e605125bd9094b43fac85d164f1839d29681b8d4ee5695f29
+SIZE (Ardour-7.3.0/522) = 12897398
diff --git a/audio/ardour/files/patch-libs_ardour_ardour_cycles.h b/audio/ardour/files/patch-libs_ardour_ardour_cycles.h
deleted file mode 100644
index 666c0bfde27c..000000000000
--- a/audio/ardour/files/patch-libs_ardour_ardour_cycles.h
+++ /dev/null
@@ -1,25 +0,0 @@
---- libs/ardour/ardour/cycles.h.orig	2023-01-03 16:39:59 UTC
-+++ libs/ardour/ardour/cycles.h
-@@ -72,12 +72,22 @@ static inline cycles_t get_cycles (void)
- 
- #elif defined(__powerpc64__)
- 
-+#ifdef __linux__
- #include <sys/platform/ppc.h>
- typedef uint64_t cycles_t;
- static inline cycles_t get_cycles(void)
- {
- 	return __ppc_get_timebase();
- }
-+#elif defined(__FreeBSD__)
-+typedef uint64_t cycles_t;
-+static inline cycles_t get_cycles(void)
-+{
-+	cycles_t tbr;
-+	asm volatile("mfspr %0, 268" : "=r"(tbr));
-+	return tbr;
-+}
-+#endif
- 
- #elif defined(__powerpc__)
- 
diff --git a/audio/ardour/files/patch-libs_ardour_sse__functions__avx.cc b/audio/ardour/files/patch-libs_ardour_sse__functions__avx.cc
new file mode 100644
index 000000000000..10d8ff612f2c
--- /dev/null
+++ b/audio/ardour/files/patch-libs_ardour_sse__functions__avx.cc
@@ -0,0 +1,11 @@
+--- libs/ardour/sse_functions_avx.cc.orig	2023-02-21 01:18:30 UTC
++++ libs/ardour/sse_functions_avx.cc
+@@ -47,7 +47,7 @@ x86_sse_avx_find_peaks(const float* buf, uint32_t nfra
+ 		// load each 64 bytes into cash before processing
+         while (nframes >= 16) {
+ #if defined(COMPILER_MSVC) || defined(COMPILER_MINGW)
+-				_mm_prefetch(((char*)buf+64), _mm_hint(0) );
++				_mm_prefetch(((char*)buf+64), _MM_HINT_NTA );
+ #else
+                 __builtin_prefetch(buf+64,0,0);
+ #endif
diff --git a/audio/ardour/files/patch-libs_ardour_sse__functions__avx__linux.cc b/audio/ardour/files/patch-libs_ardour_sse__functions__avx__linux.cc
new file mode 100644
index 000000000000..c83d581aa634
--- /dev/null
+++ b/audio/ardour/files/patch-libs_ardour_sse__functions__avx__linux.cc
@@ -0,0 +1,84 @@
+--- libs/ardour/sse_functions_avx_linux.cc.orig	2023-02-21 01:17:58 UTC
++++ libs/ardour/sse_functions_avx_linux.cc
+@@ -106,7 +106,7 @@ x86_sse_avx_compute_peak(const float *src, uint32_t nf
+ 	while (nframes >= 32)
+ 	{
+ #ifdef _WIN32
+-		_mm_prefetch(reinterpret_cast<char const *>(src + 32), _mm_hint(0));
++		_mm_prefetch(reinterpret_cast<char const *>(src + 32), _MM_HINT_NTA);
+ #else
+ 		__builtin_prefetch(reinterpret_cast<void const *>(src + 32), 0, 0);
+ #endif
+@@ -196,7 +196,7 @@ x86_sse_avx_find_peaks(const float *src, uint32_t nfra
+ 	while (nframes >= 32)
+ 	{
+ #ifdef _WIN32
+-		_mm_prefetch(reinterpret_cast<char const *>(src + 32), _mm_hint(0));
++		_mm_prefetch(reinterpret_cast<char const *>(src + 32), _MM_HINT_NTA);
+ #else
+ 		__builtin_prefetch(reinterpret_cast<void const *>(src + 32), 0, 0);
+ #endif
+@@ -278,7 +278,7 @@ x86_sse_avx_apply_gain_to_buffer(float *dst, uint32_t 
+ 	while (frames >= 16)
+ 	{
+ #if defined(COMPILER_MSVC) || defined(COMPILER_MINGW)
+-		_mm_prefetch(((char *)dst + (16 * sizeof(float))), _mm_hint(0));
++		_mm_prefetch(((char *)dst + (16 * sizeof(float))), _MM_HINT_NTA);
+ #else
+ 		__builtin_prefetch(reinterpret_cast<void const *>(dst + 16), 0, 0);
+ #endif
+@@ -410,8 +410,8 @@ x86_sse_avx_mix_buffers_with_gain_unaligned(float *dst
+ 	while (nframes >= 16)
+ 	{
+ #if defined(COMPILER_MSVC) || defined(COMPILER_MINGW)
+-		_mm_prefetch(((char *)dst + (16 * sizeof(float))), _mm_hint(0));
+-		_mm_prefetch(((char *)src + (16 * sizeof(float))), _mm_hint(0));
++		_mm_prefetch(((char *)dst + (16 * sizeof(float))), _MM_HINT_NTA);
++		_mm_prefetch(((char *)src + (16 * sizeof(float))), _MM_HINT_NTA);
+ #else
+ 		__builtin_prefetch(reinterpret_cast<void const *>(src + 16), 0, 0);
+ 		__builtin_prefetch(reinterpret_cast<void const *>(dst + 16), 0, 0);
+@@ -503,8 +503,8 @@ x86_sse_avx_mix_buffers_with_gain_aligned(float *dst, 
+ 	while (nframes >= 16)
+ 	{
+ #if defined(COMPILER_MSVC) || defined(COMPILER_MINGW)
+-		_mm_prefetch(((char *)dst + (16 * sizeof(float))), _mm_hint(0));
+-		_mm_prefetch(((char *)src + (16 * sizeof(float))), _mm_hint(0));
++		_mm_prefetch(((char *)dst + (16 * sizeof(float))), _MM_HINT_NTA);
++		_mm_prefetch(((char *)src + (16 * sizeof(float))), _MM_HINT_NTA);
+ #else
+ 		__builtin_prefetch(reinterpret_cast<void const *>(src + 16), 0, 0);
+ 		__builtin_prefetch(reinterpret_cast<void const *>(dst + 16), 0, 0);
+@@ -592,8 +592,8 @@ x86_sse_avx_mix_buffers_no_gain_unaligned(float *dst, 
+ 	while (nframes >= 16)
+ 	{
+ #if defined(COMPILER_MSVC) || defined(COMPILER_MINGW)
+-		_mm_prefetch(((char *)dst + (16 * sizeof(float))), _mm_hint(0));
+-		_mm_prefetch(((char *)src + (16 * sizeof(float))), _mm_hint(0));
++		_mm_prefetch(((char *)dst + (16 * sizeof(float))), _MM_HINT_NTA);
++		_mm_prefetch(((char *)src + (16 * sizeof(float))), _MM_HINT_NTA);
+ #else
+ 		__builtin_prefetch(reinterpret_cast<void const *>(src + 16), 0, 0);
+ 		__builtin_prefetch(reinterpret_cast<void const *>(dst + 16), 0, 0);
+@@ -674,8 +674,8 @@ x86_sse_avx_mix_buffers_no_gain_aligned(float *dst, co
+ 	while (nframes >= 32)
+ 	{
+ #if defined(COMPILER_MSVC) || defined(COMPILER_MINGW)
+-		_mm_prefetch(((char *)dst + (32 * sizeof(float))), _mm_hint(0));
+-		_mm_prefetch(((char *)src + (32 * sizeof(float))), _mm_hint(0));
++		_mm_prefetch(((char *)dst + (32 * sizeof(float))), _MM_HINT_NTA);
++		_mm_prefetch(((char *)src + (32 * sizeof(float))), _MM_HINT_NTA);
+ #else
+ 		__builtin_prefetch(reinterpret_cast<void const *>(src + 32), 0, 0);
+ 		__builtin_prefetch(reinterpret_cast<void const *>(dst + 32), 0, 0);
+@@ -717,8 +717,8 @@ x86_sse_avx_mix_buffers_no_gain_aligned(float *dst, co
+ 	while (nframes >= 16)
+ 	{
+ #if defined(COMPILER_MSVC) || defined(COMPILER_MINGW)
+-		_mm_prefetch(((char *)dst + (16 * sizeof(float))), _mm_hint(0));
+-		_mm_prefetch(((char *)src + (16 * sizeof(float))), _mm_hint(0));
++		_mm_prefetch(((char *)dst + (16 * sizeof(float))), _MM_HINT_NTA);
++		_mm_prefetch(((char *)src + (16 * sizeof(float))), _MM_HINT_NTA);
+ #else
+ 		__builtin_prefetch(reinterpret_cast<void const *>(src + 16), 0, 0);
+ 		__builtin_prefetch(reinterpret_cast<void const *>(dst + 16), 0, 0);
diff --git a/audio/ardour/files/patch-libs_ardour_x86__functions__avx512f.cc b/audio/ardour/files/patch-libs_ardour_x86__functions__avx512f.cc
new file mode 100644
index 000000000000..79f1f3c649f7
--- /dev/null
+++ b/audio/ardour/files/patch-libs_ardour_x86__functions__avx512f.cc
@@ -0,0 +1,109 @@
+--- libs/ardour/x86_functions_avx512f.cc.orig	2023-02-21 01:05:04 UTC
++++ libs/ardour/x86_functions_avx512f.cc
+@@ -83,7 +83,7 @@ x86_avx512f_compute_peak(const float *src, uint32_t nf
+ 	}
+ 
+ 	while (frames >= 256) {
+-		_mm_prefetch(reinterpret_cast<void const *>(src + 256), _mm_hint(0));
++		_mm_prefetch(reinterpret_cast<void const *>(src + 256), _MM_HINT_NTA);
+ 
+ 		__m512 x0 = _mm512_load_ps(src + 0);
+ 		__m512 x1 = _mm512_load_ps(src + 16);
+@@ -142,7 +142,7 @@ x86_avx512f_compute_peak(const float *src, uint32_t nf
+ 	}
+ 
+ 	while (frames >= 128) {
+-		_mm_prefetch(reinterpret_cast<void const *>(src + 128), _mm_hint(0));
++		_mm_prefetch(reinterpret_cast<void const *>(src + 128), _MM_HINT_NTA);
+ 
+ 		__m512 x0 = _mm512_load_ps(src + 0);
+ 		__m512 x1 = _mm512_load_ps(src + 16);
+@@ -176,7 +176,7 @@ x86_avx512f_compute_peak(const float *src, uint32_t nf
+ 	}
+ 
+ 	while (frames >= 64) {
+-		_mm_prefetch(reinterpret_cast<void const *>(src + 64), _mm_hint(0));
++		_mm_prefetch(reinterpret_cast<void const *>(src + 64), _MM_HINT_NTA);
+ 
+ 		__m512 x0 = _mm512_load_ps(src + 0);
+ 		__m512 x1 = _mm512_load_ps(src + 16);
+@@ -310,7 +310,7 @@ x86_avx512f_find_peaks(const float *src, uint32_t nfra
+ 	}
+ 
+ 	while (frames >= 256) {
+-		_mm_prefetch(reinterpret_cast<void const *>(src + 256), _mm_hint(0));
++		_mm_prefetch(reinterpret_cast<void const *>(src + 256), _MM_HINT_NTA);
+ 
+ 		__m512 x0 = _mm512_load_ps(src + 0);
+ 		__m512 x1 = _mm512_load_ps(src + 16);
+@@ -371,7 +371,7 @@ x86_avx512f_find_peaks(const float *src, uint32_t nfra
+ 	}
+ 
+ 	while (frames >= 128) {
+-		_mm_prefetch(reinterpret_cast<void const *>(src + 128), _mm_hint(0));
++		_mm_prefetch(reinterpret_cast<void const *>(src + 128), _MM_HINT_NTA);
+ 
+ 		__m512 x0 = _mm512_load_ps(src + 0);
+ 		__m512 x1 = _mm512_load_ps(src + 16);
+@@ -405,7 +405,7 @@ x86_avx512f_find_peaks(const float *src, uint32_t nfra
+ 	}
+ 
+ 	while (frames >= 64) {
+-		_mm_prefetch(reinterpret_cast<void const *>(src + 64), _mm_hint(0));
++		_mm_prefetch(reinterpret_cast<void const *>(src + 64), _MM_HINT_NTA);
+ 
+ 		__m512 x0 = _mm512_load_ps(src + 0);
+ 		__m512 x1 = _mm512_load_ps(src + 16);
+@@ -532,7 +532,7 @@ x86_avx512f_apply_gain_to_buffer(float *dst, uint32_t 
+ 
+ 	// Process the remaining samples 128 at a time
+ 	while (frames >= 128) {
+-		_mm_prefetch(reinterpret_cast<void const *>(dst + 128), _mm_hint(0));
++		_mm_prefetch(reinterpret_cast<void const *>(dst + 128), _MM_HINT_NTA);
+ 
+ 		__m512 x0 = _mm512_load_ps(dst + 0);
+ 		__m512 x1 = _mm512_load_ps(dst + 16);
+@@ -679,8 +679,8 @@ x86_avx512f_mix_buffers_with_gain(float *dst, const fl
+ 
+ 	// Process the remaining samples 128 at a time
+ 	while (frames >= 128) {
+-		_mm_prefetch(reinterpret_cast<void const *>(src + 128), _mm_hint(0));
+-		_mm_prefetch(reinterpret_cast<void const *>(dst + 128), _mm_hint(0));
++		_mm_prefetch(reinterpret_cast<void const *>(src + 128), _MM_HINT_NTA);
++		_mm_prefetch(reinterpret_cast<void const *>(dst + 128), _MM_HINT_NTA);
+ 
+ 		__m512 x0 = _mm512_load_ps(src + 0);
+ 		__m512 x1 = _mm512_load_ps(src + 16);
+@@ -836,8 +836,8 @@ x86_avx512f_mix_buffers_no_gain(float *dst, const floa
+ 
+ 	// Process the remaining samples 128 at a time
+ 	while (frames >= 128) {
+-		_mm_prefetch(reinterpret_cast<void const *>(src + 128), _mm_hint(0));
+-		_mm_prefetch(reinterpret_cast<void const *>(dst + 128), _mm_hint(0));
++		_mm_prefetch(reinterpret_cast<void const *>(src + 128), _MM_HINT_NTA);
++		_mm_prefetch(reinterpret_cast<void const *>(dst + 128), _MM_HINT_NTA);
+ 
+ 		__m512 x0 = _mm512_load_ps(src + 0);
+ 		__m512 x1 = _mm512_load_ps(src + 16);
+@@ -987,8 +987,8 @@ x86_avx512f_copy_vector(float *dst, const float *src, 
+ 
+ 	// Process 256 samples at a time
+ 	while (frames >= 256) {
+-		_mm_prefetch(reinterpret_cast<void const *>(src + 256), _mm_hint(0));
+-		_mm_prefetch(reinterpret_cast<void const *>(dst + 256), _mm_hint(0));
++		_mm_prefetch(reinterpret_cast<void const *>(src + 256), _MM_HINT_NTA);
++		_mm_prefetch(reinterpret_cast<void const *>(dst + 256), _MM_HINT_NTA);
+ 
+ 		__m512 x0 = _mm512_load_ps(src + 0);
+ 		__m512 x1 = _mm512_load_ps(src + 16);
+@@ -1033,8 +1033,8 @@ x86_avx512f_copy_vector(float *dst, const float *src, 
+ 
+ 	// Process remaining samples 64 at a time
+ 	while (frames >= 64) {
+-		_mm_prefetch(reinterpret_cast<void const *>(src + 64), _mm_hint(0));
+-		_mm_prefetch(reinterpret_cast<void const *>(dst + 64), _mm_hint(0));
++		_mm_prefetch(reinterpret_cast<void const *>(src + 64), _MM_HINT_NTA);
++		_mm_prefetch(reinterpret_cast<void const *>(dst + 64), _MM_HINT_NTA);
+ 
+ 		__m512 x0 = _mm512_load_ps(src + 0);
+ 		__m512 x1 = _mm512_load_ps(src + 16);
diff --git a/audio/ardour/files/patch-libs_ardour_x86__functions__fma.cc b/audio/ardour/files/patch-libs_ardour_x86__functions__fma.cc
new file mode 100644
index 000000000000..f8afdb13e60a
--- /dev/null
+++ b/audio/ardour/files/patch-libs_ardour_x86__functions__fma.cc
@@ -0,0 +1,13 @@
+--- libs/ardour/x86_functions_fma.cc.orig	2023-02-21 01:16:53 UTC
++++ libs/ardour/x86_functions_fma.cc
+@@ -67,8 +67,8 @@ x86_fma_mix_buffers_with_gain(
+ 
+ 		while (nframes >= 16) {
+ #if defined(COMPILER_MSVC) || defined(COMPILER_MINGW)
+-			_mm_prefetch(((char *)dst + (16 * sizeof(float))), _mm_hint(0));
+-			_mm_prefetch(((char *)src + (16 * sizeof(float))), _mm_hint(0));
++			_mm_prefetch(((char *)dst + (16 * sizeof(float))), _MM_HINT_NTA);
++			_mm_prefetch(((char *)src + (16 * sizeof(float))), _MM_HINT_NTA);
+ #else
+ 			__builtin_prefetch(src + (16 * sizeof(float)), 0, 0);
+ 			__builtin_prefetch(dst + (16 * sizeof(float)), 0, 0);
diff --git a/audio/ardour/pkg-plist b/audio/ardour/pkg-plist
index 9ea13963efac..f54224ea8a52 100644
--- a/audio/ardour/pkg-plist
+++ b/audio/ardour/pkg-plist
@@ -836,6 +836,7 @@ share/applications/%%ARDOUR_MAJOR%%.desktop
 %%DATADIR%%/scripts/reset_mixer.lua
 %%DATADIR%%/scripts/rubberband_swing.lua
 %%DATADIR%%/scripts/s_chanmap.lua
+%%DATADIR%%/scripts/s_cut_copy_section.lua
 %%DATADIR%%/scripts/s_ducks.lua
 %%DATADIR%%/scripts/s_fader_automation.lua
 %%DATADIR%%/scripts/s_foreach_track.lua