summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media-sound/ardour/ardour-7.4-r3.ebuild (renamed from media-sound/ardour/ardour-7.4-r2.ebuild)2
-rw-r--r--media-sound/ardour/ardour-7.5-r1.ebuild (renamed from media-sound/ardour/ardour-7.5.ebuild)2
-rw-r--r--media-sound/ardour/ardour-9999.ebuild2
-rw-r--r--media-sound/ardour/files/ardour-7.4-libc++.patch56
4 files changed, 33 insertions, 29 deletions
diff --git a/media-sound/ardour/ardour-7.4-r2.ebuild b/media-sound/ardour/ardour-7.4-r3.ebuild
index 2bfcbebca1ea..0fee9b81252e 100644
--- a/media-sound/ardour/ardour-7.4-r2.ebuild
+++ b/media-sound/ardour/ardour-7.4-r3.ebuild
@@ -146,8 +146,6 @@ src_configure() {
# not possible right now --use-external-libs
)
- [[ "$(tc-get-cxx-stdlib)" = "libc++" ]] && myconf+=( --use-libc++ )
-
waf-utils_src_configure "${myconf[@]}"
}
diff --git a/media-sound/ardour/ardour-7.5.ebuild b/media-sound/ardour/ardour-7.5-r1.ebuild
index 2bef74d90d7e..e012233b45d4 100644
--- a/media-sound/ardour/ardour-7.5.ebuild
+++ b/media-sound/ardour/ardour-7.5-r1.ebuild
@@ -146,8 +146,6 @@ src_configure() {
# not possible right now --use-external-libs
)
- [[ "$(tc-get-cxx-stdlib)" = "libc++" ]] && myconf+=( --use-libc++ )
-
waf-utils_src_configure "${myconf[@]}"
}
diff --git a/media-sound/ardour/ardour-9999.ebuild b/media-sound/ardour/ardour-9999.ebuild
index 607dfeed3930..029d71ed7696 100644
--- a/media-sound/ardour/ardour-9999.ebuild
+++ b/media-sound/ardour/ardour-9999.ebuild
@@ -146,8 +146,6 @@ src_configure() {
# not possible right now --use-external-libs
)
- [[ "$(tc-get-cxx-stdlib)" = "libc++" ]] && myconf+=( --use-libc++ )
-
waf-utils_src_configure "${myconf[@]}"
}
diff --git a/media-sound/ardour/files/ardour-7.4-libc++.patch b/media-sound/ardour/files/ardour-7.4-libc++.patch
index 85f13ba47dbc..a596fafba0f7 100644
--- a/media-sound/ardour/files/ardour-7.4-libc++.patch
+++ b/media-sound/ardour/files/ardour-7.4-libc++.patch
@@ -1,39 +1,49 @@
-From d8e42490b18bd0c8a827d96608e951bf5bc875e4 Mon Sep 17 00:00:00 2001
+From https://github.com/Ardour/ardour/pull/822/commits/c2ac82bfbacc583c49b306826dedec754633bbe7 Mon Sep 17 00:00:00 2001
From: Violet Purcell <vimproved@inventati.org>
-Date: Sun, 4 Jun 2023 04:56:58 -0400
-Subject: [PATCH] Fix build with libc++ on linux
+Date: Thu, 21 Sep 2023 21:09:30 -0400
+Subject: [PATCH] Backport VST3 libc++ fix on linux
+LLVM libc++ does not have the ext/atomicity.h header. This fix is copied
+from the upstream vst3_pluginterfaces repo.
+
+Signed-off-by: Violet Purcell <vimproved@inventati.org>
--- a/libs/vst3/pluginterfaces/base/funknown.cpp
+++ b/libs/vst3/pluginterfaces/base/funknown.cpp
-@@ -44,7 +44,9 @@
+@@ -44,13 +44,23 @@
#endif
#if SMTG_OS_LINUX
-+#ifndef USE_LIBCXX
++#if !defined (SMTG_USE_STDATOMIC_H)
++#if defined (_LIBCPP_VERSION)
++#define SMTG_USE_STDATOMIC_H 1
++#else
#include <ext/atomicity.h>
+#endif
++#endif
/* UUID */
#include <string>
#include <boost/uuid/uuid.hpp>
-@@ -83,7 +85,7 @@ int32 PLUGIN_API atomicAdd (int32& var, int32 d)
+ #include <boost/uuid/uuid_generators.hpp>
+ #endif
+
++#if defined (SMTG_USE_STDATOMIC_H) && SMTG_USE_STDATOMIC_H
++#include <stdatomic.h>
++#endif
++
+ namespace Steinberg {
+
+ //------------------------------------------------------------------------
+@@ -79,7 +89,9 @@ namespace FUnknownPrivate {
+ //------------------------------------------------------------------------
+ int32 PLUGIN_API atomicAdd (int32& var, int32 d)
+ {
+-#if SMTG_OS_WINDOWS
++#if SMTG_USE_STDATOMIC_H
++ return atomic_fetch_add (reinterpret_cast<atomic_int_least32_t*> (&var), d) +d;
++#elif SMTG_OS_WINDOWS
return InterlockedExchangeAdd ((volatile long int*)&var, d) + d;
#elif SMTG_OS_MACOS
return OSAtomicAdd32Barrier (d, (int32_t*)&var);
--#elif SMTG_OS_LINUX
-+#elif SMTG_OS_LINUX && !defined USE_LIBCXX
- __gnu_cxx::__atomic_add (&var, d);
- return var;
- #else
---- a/wscript
-+++ b/wscript
-@@ -545,6 +545,8 @@ int main() { return 0; }''',
- if opt.use_libcpp or conf.env['build_host'] in [ 'yosemite', 'el_capitan', 'sierra', 'high_sierra', 'mojave', 'catalina' ]:
- cxx_flags.append('--stdlib=libc++')
- linker_flags.append('--stdlib=libc++')
-+ if platform == 'linux':
-+ cxx_flags.append('-DUSE_LIBCXX')
-
- if conf.options.cxx11 or conf.env['build_host'] in [ 'mavericks', 'yosemite', 'el_capitan', 'sierra', 'high_sierra', 'mojave', 'catalina' , 'bigsur', 'monterey', 'ventura' ]:
- conf.check_cxx(cxxflags=["-std=c++11"])
--
-2.40.1
+2.42.0
+