diff options
author | Alexey Dokuchaev <danfe@FreeBSD.org> | 2015-04-02 17:15:52 +0000 |
---|---|---|
committer | Alexey Dokuchaev <danfe@FreeBSD.org> | 2015-04-02 17:15:52 +0000 |
commit | 022e62c7f3cadc8817ead921e82a8a51e1546aac (patch) | |
tree | a2f43d40caf8c769b7992c31d8df2416e712cbf0 /audio/ardour | |
parent | dd6fbcb36b5c476cf54e8b0e162b0e1a7170d637 (diff) | |
download | ports-022e62c7f3cadc8817ead921e82a8a51e1546aac.tar.gz ports-022e62c7f3cadc8817ead921e82a8a51e1546aac.zip |
Notes
Diffstat (limited to 'audio/ardour')
-rw-r--r-- | audio/ardour/Makefile | 14 | ||||
-rw-r--r-- | audio/ardour/distinfo | 4 | ||||
-rw-r--r-- | audio/ardour/files/patch-tempoline_crash | 83 |
3 files changed, 87 insertions, 14 deletions
diff --git a/audio/ardour/Makefile b/audio/ardour/Makefile index 991dea15d0f9..8e4b7a31e565 100644 --- a/audio/ardour/Makefile +++ b/audio/ardour/Makefile @@ -2,8 +2,7 @@ # $FreeBSD$ PORTNAME= ardour -PORTVERSION= 2.8.14 -PORTREVISION= 7 +PORTVERSION= 2.8.16 CATEGORIES= audio MASTER_SITES= http://freebsd.nsu.ru/distfiles/ @@ -25,8 +24,6 @@ CFLAGS+= -I${LOCALBASE}/include USE_GNOME= libxslt USE_LDCONFIG= ${PREFIX}/lib/ardour2 ${PREFIX}/lib/ardour2/surfaces -RESTRICTED= Redistribution of the VST PlugIns SDK is not allowed - PLIST_SUB= DISTVERSION=${DISTVERSION} OPTIONS_DEFINE= OPTIMIZED_CFLAGS VST @@ -35,12 +32,8 @@ VST_DESC= VST plugins support .include <bsd.port.options.mk> .if ${PORT_OPTIONS:MVST} -ONS_ENV+= VST=yes -BUILD_DEPENDS+= winegcc:${PORTSDIR}/emulators/wine \ - unzip:${PORTSDIR}/archivers/unzip \ - gsed:${PORTSDIR}/textproc/gsed +MAKE_ARGS+= VST=yes LIB_DEPENDS+= libwine.so:${PORTSDIR}/emulators/wine - PLIST_SUB+= NO_VST="@comment " PLIST_SUB+= VST="" .else @@ -69,9 +62,6 @@ post-patch: @${REINPLACE_CMD} -e 's|%%CFLAGS%%|${CFLAGS}|' ${WRKSRC}/SConstruct @${REINPLACE_CMD} -e 's|alsa_pcm|oss|g' ${WRKSRC}/templates/*.template -pre-build: - @${MKDIR} ${STAGEDIR} - post-install: @${MKDIR} ${STAGEDIR}${PREFIX}/share/ardour2/templates ${INSTALL_DATA} ${WRKSRC}/templates/*.template \ diff --git a/audio/ardour/distinfo b/audio/ardour/distinfo index 077074d0c74a..0e44b067e3a7 100644 --- a/audio/ardour/distinfo +++ b/audio/ardour/distinfo @@ -1,2 +1,2 @@ -SHA256 (ardour-2.8.14.tar.bz2) = e07e483a12354c00d821dafbec5f5d2690062b758205daceab723bf1e9a633fe -SIZE (ardour-2.8.14.tar.bz2) = 2169985 +SHA256 (ardour-2.8.16.tar.bz2) = 37ee32119ba105fa0883faa7e18c58ecd5276894568da224a554d9ef49075e40 +SIZE (ardour-2.8.16.tar.bz2) = 2169916 diff --git a/audio/ardour/files/patch-tempoline_crash b/audio/ardour/files/patch-tempoline_crash new file mode 100644 index 000000000000..bcf4117179a5 --- /dev/null +++ b/audio/ardour/files/patch-tempoline_crash @@ -0,0 +1,83 @@ +commit b29f54fb6efcdb2facf0471bd8e24d8eea3231b0 +Author: Paul Davis <paul@linuxaudiosystems.com> +Date: Wed Feb 20 18:53:30 2013 +0000 + + back-port tempo line assert fix from 3.0 to stop crashing under some relatively easy to hit conditions + + git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@14067 d708f5d6-7413-0410-9779-e7cbd77b26cf + +diff --git a/gtk2_ardour/tempo_lines.cc b/gtk2_ardour/tempo_lines.cc +index e8bd034..a373dec 100644 +--- gtk2_ardour/tempo_lines.cc.orig ++++ gtk2_ardour/tempo_lines.cc +@@ -146,9 +146,8 @@ TempoLines::draw (ARDOUR::TempoMap::BBTPointList& points, double frames_per_unit + } + + xpos = rint(((nframes64_t)(*i).frame) / (double)frames_per_unit); +- if (inserted_last_time && !_lines.empty()) { +- li = _lines.lower_bound(xpos); // first line >= xpos +- } ++ ++ li = _lines.lower_bound(xpos); // first line >= xpos + + line = (li != _lines.end()) ? li->second : NULL; + assert(!line || line->property_x1() == li->first); +@@ -215,33 +214,35 @@ TempoLines::draw (ARDOUR::TempoMap::BBTPointList& points, double frames_per_unit + // Create a new line + } else if (_lines.size() < needed || _lines.size() < MAX_CACHED_LINES) { + //cout << "*** CREATING LINE" << endl; +- assert(_lines.find(xpos) == _lines.end()); +- line = new ArdourCanvas::SimpleLine (*_group); +- line->property_x1() = xpos; +- line->property_x2() = xpos; +- line->property_y1() = 0.0; +- line->property_y2() = _height; +- line->property_color_rgba() = color; +- _lines.insert(make_pair(xpos, line)); +- inserted_last_time = true; ++ if (_lines.find(xpos) == _lines.end()) { ++ line = new ArdourCanvas::SimpleLine (*_group); ++ line->property_x1() = xpos; ++ line->property_x2() = xpos; ++ line->property_y1() = 0.0; ++ line->property_y2() = _height; ++ line->property_color_rgba() = color; ++ _lines.insert(make_pair(xpos, line)); ++ inserted_last_time = true; ++ } + + // Steal from the left + } else { + //cout << "*** STEALING FROM LEFT" << endl; +- assert(_lines.find(xpos) == _lines.end()); +- Lines::iterator steal = _lines.begin(); +- line = steal->second; +- _lines.erase(steal); +- line->property_color_rgba() = color; +- line->property_x1() = xpos; +- line->property_x2() = xpos; +- _lines.insert(make_pair(xpos, line)); +- inserted_last_time = true; // search next time +- invalidated = true; +- +- // Shift clean range right +- _clean_left = max(_clean_left, steal->first); +- _clean_right = max(_clean_right, xpos); ++ if (_lines.find(xpos) == _lines.end()) { ++ Lines::iterator steal = _lines.begin(); ++ line = steal->second; ++ _lines.erase(steal); ++ line->property_color_rgba() = color; ++ line->property_x1() = xpos; ++ line->property_x2() = xpos; ++ _lines.insert(make_pair(xpos, line)); ++ inserted_last_time = true; // search next time ++ invalidated = true; ++ ++ // Shift clean range right ++ _clean_left = max(_clean_left, steal->first); ++ _clean_right = max(_clean_right, xpos); ++ } + } + + break; |