aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Walpen <dev@submerge.ch>2023-04-04 15:28:51 +0000
committerFernando ApesteguĂ­a <fernape@FreeBSD.org>2023-04-05 05:18:59 +0000
commit53e8e70bba765ec8ff0d4684c7364fc504034bc4 (patch)
tree05e7bd402214c36c43d999c473ed8f47a1189f26
parent303d674874c8c87d4f0dddccb06e4e1e45467b36 (diff)
downloadports-53e8e70bba765ec8ff0d4684c7364fc504034bc4.tar.gz
ports-53e8e70bba765ec8ff0d4684c7364fc504034bc4.zip
audio/ardour: Update to 7.3.0 release.
ChangeLog: https://ardour.org/whatsnew.html PR: 270056 Reported by: dev@submerge.ch (maintainer)
-rw-r--r--audio/ardour/Makefile5
-rw-r--r--audio/ardour/distinfo6
-rw-r--r--audio/ardour/files/patch-libs_ardour_ardour_cycles.h25
-rw-r--r--audio/ardour/files/patch-libs_ardour_sse__functions__avx.cc11
-rw-r--r--audio/ardour/files/patch-libs_ardour_sse__functions__avx__linux.cc84
-rw-r--r--audio/ardour/files/patch-libs_ardour_x86__functions__avx512f.cc109
-rw-r--r--audio/ardour/files/patch-libs_ardour_x86__functions__fma.cc13
-rw-r--r--audio/ardour/pkg-plist1
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