Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 30 Mar 2007 13:53:28 +0200 (CEST)
From:      trasz <trasz@pin.if.uz.zgora.pl>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/111029: [MAINTAINER] audio/ardour: add VST support
Message-ID:  <20070330115328.DC6BA39DBA@pin.if.uz.zgora.pl>
Resent-Message-ID: <200703301150.l2UBo312097477@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         111029
>Category:       ports
>Synopsis:       [MAINTAINER] audio/ardour: add VST support
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Fri Mar 30 11:50:03 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     trasz
>Release:        FreeBSD 6.1-RELEASE-p10 i386
>Organization:
>Environment:
System: FreeBSD pin.if.uz.zgora.pl 6.1-RELEASE-p10 FreeBSD 6.1-RELEASE-p10 #0: Wed Nov 15 19:16:30 CET 2006
>Description:
Add support for VST plugins.  It's disabled by default due to licensing
restrictions.

Added file(s):
- files/patch-libs-fst-SConscript
- files/patch-libs-fst-jackvst.h
- files/patch-libs-fst-vsti.c
- files/patch-libs-pbd-stacktrace.cc
- files/patch-vst-SConscript

Generated with FreeBSD Port Tools 0.77
>How-To-Repeat:
>Fix:

--- ardour-2.0.b12_1.patch begins here ---
diff -ruN --exclude=CVS /usr/ports/audio/ardour/Makefile /home/trasz/ardour/Makefile
--- /usr/ports/audio/ardour/Makefile	Fri Mar 30 06:20:11 2007
+++ /home/trasz/ardour/Makefile	Fri Mar 30 13:51:48 2007
@@ -7,8 +7,11 @@
 
 PORTNAME=	ardour
 DISTVERSION=	2.0beta12
+PORTREVISION=	1
 CATEGORIES=	audio
 MASTER_SITES=	http://ardour.org/files/releases/
+DISTFILES=	ardour-${DISTVERSION}.tar.bz2
+EXTRACT_ONLY=	ardour-${DISTVERSION}.tar.bz2
 
 MAINTAINER=	trasz@pin.if.uz.zgora.pl
 COMMENT=	Ardour - a digital audio workstation
@@ -26,15 +29,39 @@
 
 USE_SCONS=	yes
 SCONS_ENV+=	SYSLIBS=yes PREFIX=${PREFIX} NLS=yes FPU_OPTIMIZATION=0
+CFLAGS+=	-I${LOCALBASE}/include
 USE_BZIP2=	yes
 USE_GNOME=	gtk20 libxslt libgnomecanvas intltool
 USE_GETTEXT=	yes
 USE_LDCONFIG=	${PREFIX}/lib/ardour2 ${PREFIX}/lib/ardour2/surfaces
 TEMPLATESDIR=	${PREFIX}/share/ardour2/templates
 PLIST_SUB=	DISTVERSION=${DISTVERSION}
+OPTIONS=	OPTIMIZED_CFLAGS "Builds with compiler optimizations" on \
+		VST "Enable VST plugins support" off
 
 .include <bsd.port.pre.mk>
 
+.if defined(WITH_VST)
+# Yes, 'PlugIns' is not a typo.
+RESTRICTED=	Redistribution of the VST PlugIns SDK is not allowed
+VST_DIST+=	vst_sdk2_3.zip
+DISTFILES+=	${VST_DIST}
+SCONS_ENV+=	VST=yes
+BUILD_DEPENDS+=	winegcc:${PORTSDIR}/emulators/wine \
+		unzip:${PORTSDIR}/archivers/unzip \
+		gsed:${PORTSDIR}/textproc/gsed
+
+.if !exists(${DISTDIR}/${VST_DIST})
+IGNORE=		download the VST 2.3 SDK from Steinberg (http://www.steinberg.de/331+M52087573ab0.html) and copy ${VST_DIST} into ${DISTDIR}
+.endif
+
+PLIST_SUB+=	NO_VST="@comment "
+PLIST_SUB+=	VST=""
+.else
+PLIST_SUB+=	NO_VST=""
+PLIST_SUB+=	VST="@comment "
+.endif
+
 # Upstream uses these flags by default.
 .if !defined(WITHOUT_OPTIMIZED_CFLAGS)
 CFLAGS+=	-O3 -fomit-frame-pointer -ffast-math -fstrength-reduce
@@ -45,6 +72,9 @@
 post-patch:
 	${REINPLACE_CMD} -e "s|%%CFLAGS%%|${CFLAGS}|" ${WRKSRC}/SConstruct
 	${REINPLACE_CMD} -e "s|alsa_pcm|oss|g" ${WRKSRC}/templates/*.template
+.if defined(WITH_VST)
+	${CP} ${DISTDIR}/${VST_DIST} ${WRKSRC}/libs/fst/
+.endif
 
 post-install:
 	${CHOWN} -R 0:0 ${PREFIX}/lib/ardour2/
diff -ruN --exclude=CVS /usr/ports/audio/ardour/distinfo /home/trasz/ardour/distinfo
--- /usr/ports/audio/ardour/distinfo	Sun Mar 18 23:11:38 2007
+++ /home/trasz/ardour/distinfo	Fri Mar 30 13:51:48 2007
@@ -1,3 +1,6 @@
 MD5 (ardour-2.0beta12.tar.bz2) = d9ac67f73963a36ed61c378a4ccda223
 SHA256 (ardour-2.0beta12.tar.bz2) = 67268501571ca21946b236773f8317452922f60e08a33edb2a921aff25c8c9ab
 SIZE (ardour-2.0beta12.tar.bz2) = 2706928
+MD5 (vst_sdk2_3.zip) = c91d3be58ad4e9c695d0a90b2198be0d
+SHA256 (vst_sdk2_3.zip) = 5400e0bbfeef0ab8a67b48899a9e8067db47552f43b30d8d15323ab999523226
+SIZE (vst_sdk2_3.zip) = 4147357
diff -ruN --exclude=CVS /usr/ports/audio/ardour/files/patch-SConstruct /home/trasz/ardour/files/patch-SConstruct
--- /usr/ports/audio/ardour/files/patch-SConstruct	Sun Mar 18 23:11:38 2007
+++ /home/trasz/ardour/files/patch-SConstruct	Fri Mar 30 13:51:47 2007
@@ -1,5 +1,5 @@
 --- SConstruct.orig	Fri Mar 16 22:45:44 2007
-+++ SConstruct	Sun Mar 18 09:53:00 2007
++++ SConstruct	Sun Mar 18 17:48:04 2007
 @@ -38,7 +38,7 @@
      BoolOption('FPU_OPTIMIZATION', 'Build runtime checked assembler code', 1),
      BoolOption('LIBLO', 'Compile with support for liblo library', 1),
@@ -9,7 +9,29 @@
      BoolOption('SURFACES', 'Build support for control surfaces', 1),
      BoolOption('SYSLIBS', 'USE AT YOUR OWN RISK: CANCELS ALL SUPPORT FROM ARDOUR AUTHORS: Use existing system versions of various libraries instead of internal ones', 0),
      BoolOption('UNIVERSAL', 'Compile as universal binary.  Requires that external libraries are already universal.', 0),
-@@ -660,13 +660,7 @@
+@@ -377,21 +377,6 @@
+ env.Append (BUILDERS = {'Distribute' : dist_bld})
+ env.Append (BUILDERS = {'Tarball' : tarball_bld})
+ 
+-#
+-# Make sure they know what they are doing
+-#
+-
+-if env['VST']:
+-    sys.stdout.write ("Are you building Ardour for personal use (rather than distribution to others)? [no]: ")
+-    answer = sys.stdin.readline ()
+-    answer = answer.rstrip().strip()
+-    if answer != "yes" and answer != "y":
+-        print 'You cannot build Ardour with VST support for distribution to others.\nIt is a violation of several different licenses. Build with VST=false.'
+-        sys.exit (-1);
+-    else:
+-        print "OK, VST support will be enabled"
+-
+-
+ #######################
+ # Dependency Checking #
+ #######################
+@@ -660,13 +645,7 @@
  # prepend boiler plate optimization flags
  #
  
@@ -24,7 +46,7 @@
  
  if env['DEBUG'] == 1:
      env.Append(CCFLAGS=" ".join (debug_flags))
-@@ -754,9 +748,9 @@
+@@ -754,9 +733,9 @@
      prep_libcheck(env, libraries['lo'])
  
      conf = Configure (libraries['lo'])
@@ -37,7 +59,7 @@
      
      libraries['lo'] = conf.Finish ()
  
-@@ -796,8 +790,10 @@
+@@ -796,8 +775,10 @@
      subst_dict['%MIDITAG%'] = "ardour"
      subst_dict['%MIDITYPE%'] = "coremidi"
  else:
@@ -50,7 +72,7 @@
  
  env = conf.Finish()
  
-@@ -1021,33 +1017,33 @@
+@@ -1021,33 +1002,33 @@
  # i18n support
  #
  
@@ -111,7 +133,7 @@
  
  if env['NLS'] == 1:
      env.Append(CCFLAGS="-DENABLE_NLS")
-@@ -1064,8 +1060,8 @@
+@@ -1064,8 +1045,8 @@
      subst_dict['%JACK_INPUT%'] = "coreaudio:Built-in Audio:in"
      subst_dict['%JACK_OUTPUT%'] = "coreaudio:Built-in Audio:out"
  else:
diff -ruN --exclude=CVS /usr/ports/audio/ardour/files/patch-libs-fst-SConscript /home/trasz/ardour/files/patch-libs-fst-SConscript
--- /usr/ports/audio/ardour/files/patch-libs-fst-SConscript	Thu Jan  1 01:00:00 1970
+++ /home/trasz/ardour/files/patch-libs-fst-SConscript	Fri Mar 30 13:51:47 2007
@@ -0,0 +1,11 @@
+--- libs/fst/SConscript.orig	Fri Dec  1 04:24:47 2006
++++ libs/fst/SConscript	Sun Mar 18 19:02:10 2007
+@@ -38,7 +38,7 @@
+         "unzip -qq -d ${SOURCE.dir} -o $SOURCE",
+         Delete ('$TARGET.dir'),
+         Copy ('${TARGET.dir}', 'libs/fst/vstsdk2.3/source/common'),
+-        "sed -i '/struct VstFileType\|struct VstFileSelect/,/};/d' $TARGET"
++        "gsed -i '/struct VstFileType\|struct VstFileSelect/,/};/d' $TARGET"
+         ])
+ 
+     a = fst.Object ('fst', 'fst.c')
diff -ruN --exclude=CVS /usr/ports/audio/ardour/files/patch-libs-fst-jackvst.h /home/trasz/ardour/files/patch-libs-fst-jackvst.h
--- /usr/ports/audio/ardour/files/patch-libs-fst-jackvst.h	Thu Jan  1 01:00:00 1970
+++ /home/trasz/ardour/files/patch-libs-fst-jackvst.h	Fri Mar 30 13:51:48 2007
@@ -0,0 +1,22 @@
+--- libs/fst/jackvst.h.orig	Wed Aug 30 22:49:25 2006
++++ libs/fst/jackvst.h	Sat Mar 24 16:58:18 2007
+@@ -6,7 +6,9 @@
+ #include <jack/jack.h>
+ #include <jack/ringbuffer.h>
+ #include <fst.h>
++#ifdef WITH_ALSA
+ #include <alsa/asoundlib.h>
++#endif
+ 
+ typedef struct _JackVST JackVST;
+ 
+@@ -26,7 +28,9 @@
+     /* For VST/i support */
+ 
+     pthread_t          midi_thread;
++#ifdef WITH_ALSA
+     snd_seq_t*         seq;
++#endif WITH_ALSA
+     int                midiquit;
+     jack_ringbuffer_t* event_queue;
+     struct VstEvents*  events;
diff -ruN --exclude=CVS /usr/ports/audio/ardour/files/patch-libs-fst-vsti.c /home/trasz/ardour/files/patch-libs-fst-vsti.c
--- /usr/ports/audio/ardour/files/patch-libs-fst-vsti.c	Thu Jan  1 01:00:00 1970
+++ /home/trasz/ardour/files/patch-libs-fst-vsti.c	Fri Mar 30 13:51:48 2007
@@ -0,0 +1,18 @@
+--- libs/fst/vsti.c.orig	Sat Mar 24 16:56:58 2007
++++ libs/fst/vsti.c	Sat Mar 24 16:59:07 2007
+@@ -32,6 +32,8 @@
+ #include <jackvst.h>
+ #include <vst/aeffectx.h>
+ 
++#ifdef WITH_ALSA
++
+ snd_seq_t *
+ create_sequencer (const char* client_name, bool isinput)
+ {
+@@ -177,5 +179,5 @@
+ 	snd_seq_close (jvst->seq);
+ }
+ 
+-
++#endif
+ 
diff -ruN --exclude=CVS /usr/ports/audio/ardour/files/patch-libs-pbd-stacktrace.cc /home/trasz/ardour/files/patch-libs-pbd-stacktrace.cc
--- /usr/ports/audio/ardour/files/patch-libs-pbd-stacktrace.cc	Thu Jan  1 01:00:00 1970
+++ /home/trasz/ardour/files/patch-libs-pbd-stacktrace.cc	Fri Mar 30 13:51:48 2007
@@ -0,0 +1,13 @@
+--- libs/pbd/stacktrace.cc.orig	Thu Mar 29 18:26:37 2007
++++ libs/pbd/stacktrace.cc	Thu Mar 29 18:27:27 2007
+@@ -3,7 +3,9 @@
+ 
+ /* Obtain a backtrace and print it to stdout. */
+ 
+-#ifdef HAVE_EXECINFO
++/* Without this change, ardourvst dies during startup with
++   'wine: could not load L"Z:\\usr\\local\\lib\\ardour2\\ardour_vst.exe.so": Bad EXE format for''. */
++#if 0
+ 
+ #include <execinfo.h>
+ #include <stdlib.h>
diff -ruN --exclude=CVS /usr/ports/audio/ardour/files/patch-vst-SConscript /home/trasz/ardour/files/patch-vst-SConscript
--- /usr/ports/audio/ardour/files/patch-vst-SConscript	Thu Jan  1 01:00:00 1970
+++ /home/trasz/ardour/files/patch-vst-SConscript	Fri Mar 30 13:51:48 2007
@@ -0,0 +1,11 @@
+--- vst/SConscript.orig	Sat Mar 24 13:25:52 2007
++++ vst/SConscript	Sat Mar 24 13:26:42 2007
+@@ -20,7 +20,7 @@
+ )
+ 
+ ardour_vst.Append (CCFLAGS="-DVST_SUPPORT", CPPPATH="#libs/fst", LIBPATH='#gtk2_ardour', LIBS="ardourgtk")
+-ardour_vst.Append (LINKFLAGS='-L/usr/X11R6/lib -lasound -lX11 -lpthread') 
++#ardour_vst.Append (LINKFLAGS='-L/usr/X11R6/lib -lasound -lX11 -lpthread') 
+ ardour_vst["CC"] ="winegcc"
+ ardour_vst["LINK"] ="wineg++ -mwindows"
+ 
diff -ruN --exclude=CVS /usr/ports/audio/ardour/pkg-plist /home/trasz/ardour/pkg-plist
--- /usr/ports/audio/ardour/pkg-plist	Sun Mar 18 23:11:38 2007
+++ /home/trasz/ardour/pkg-plist	Fri Mar 30 13:51:49 2007
@@ -1,10 +1,13 @@
-bin/ardour2
+%%NO_VST%%bin/ardour2
+%%VST%%bin/ardourvst
 lib/ardour2/libsndfile-ardour.so
 lib/ardour2/libpbd.so
 lib/ardour2/libmidi++.so
 lib/ardour2/libardour.so
+%%NO_VST%%lib/ardour2/ardour-%%DISTVERSION%%
+%%VST%%lib/ardour2/ardour_vst.exe.so
+%%VST%%lib/ardour2/libardourgtk.so
 lib/ardour2/libgtkmm2ext.so
-lib/ardour2/ardour-%%DISTVERSION%%
 lib/ardour2/libardour_cp.so
 lib/ardour2/surfaces/libardour_genericmidi.so
 lib/ardour2/surfaces/libardour_mackie.so
--- ardour-2.0.b12_1.patch ends here ---

>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070330115328.DC6BA39DBA>