git: 5b9d502b14bf - main - audio/ardour: Fix runtime error

From: Fernando Apesteguía <fernape_at_FreeBSD.org>
Date: Sat, 30 Mar 2024 09:01:55 UTC
The branch main has been updated by fernape:

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

commit 5b9d502b14bf86e65de2e5d76dde6ac96d1917af
Author:     Fernando Apesteguía <fernape@FreeBSD.org>
AuthorDate: 2024-03-26 19:01:42 +0000
Commit:     Fernando Apesteguía <fernape@FreeBSD.org>
CommitDate: 2024-03-30 09:01:41 +0000

    audio/ardour: Fix runtime error
    
    Undefined symbol at runtime when building with default options
    
    Upstream PR: https://github.com/Ardour/ardour/pull/883
    
    PR:             277938
    Reported by:    phryk-ports@wzff.de
    Approved by:    dev@submerge.ch (maintainer)
---
 audio/ardour/Makefile                           |  1 +
 audio/ardour/files/patch-libs_ardour_session.cc | 26 +++++++++++++++++++++++++
 2 files changed, 27 insertions(+)

diff --git a/audio/ardour/Makefile b/audio/ardour/Makefile
index 27b730fd9e4d..2caa89eb4f05 100644
--- a/audio/ardour/Makefile
+++ b/audio/ardour/Makefile
@@ -1,5 +1,6 @@
 PORTNAME=	ardour
 DISTVERSION=	8.4.0
+PORTREVISION=	1
 CATEGORIES=	audio
 # Official source download is tailored to browsers, downloads from github are
 # deliberately made empty. Put the badly named distfile into a subdirectory.
diff --git a/audio/ardour/files/patch-libs_ardour_session.cc b/audio/ardour/files/patch-libs_ardour_session.cc
new file mode 100644
index 000000000000..7655ac83d243
--- /dev/null
+++ b/audio/ardour/files/patch-libs_ardour_session.cc
@@ -0,0 +1,26 @@
+--- libs/ardour/session.cc.orig	2024-02-21 00:37:39 UTC
++++ libs/ardour/session.cc
+@@ -136,7 +136,10 @@
+ #include "ardour/utils.h"
+ #include "ardour/vca_manager.h"
+ #include "ardour/vca.h"
++
++#ifdef VST3_SUPPORT
+ #include "ardour/vst3_plugin.h"
++#endif // VST3_SUPPORT
+ 
+ #include "midi++/port.h"
+ #include "midi++/mmc.h"
+@@ -881,10 +884,12 @@ Session::destroy ()
+ 
+ 	_transport_fsm->stop ();
+ 
++#ifdef VST3_SUPPORT
+ 	/* close VST3 Modules */
+ 	for (auto const& nfo : PluginManager::instance().vst3_plugin_info()) {
+ 		std::dynamic_pointer_cast<VST3PluginInfo> (nfo)->m.reset ();
+ 	}
++#endif // VST3_SUPPORT
+ 
+ 	DEBUG_TRACE (DEBUG::Destruction, "Session::destroy() done\n");
+