commit:     2765addf0e7774f49bf4bb97f598a41c64c91d19
Author:     Andreas Schuerch <nativemad <AT> gentoo <DOT> org>
AuthorDate: Thu Jun  8 16:37:57 2017 +0000
Commit:     Andreas Schuerch <nativemad <AT> gentoo <DOT> org>
CommitDate: Thu Jun  8 16:37:57 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2765addf

media-sound/ardour: patch for old ardour on new gcc. Bug 620954

Package-Manager: Portage-2.3.5, Repoman-2.3.1

 media-sound/ardour/ardour-4.7-r2.ebuild       | 139 ++++++++++++++++++++++++++
 media-sound/ardour/files/ardour-4.7-gcc.patch | 100 ++++++++++++++++++
 2 files changed, 239 insertions(+)

diff --git a/media-sound/ardour/ardour-4.7-r2.ebuild 
b/media-sound/ardour/ardour-4.7-r2.ebuild
new file mode 100644
index 00000000000..968572f28b5
--- /dev/null
+++ b/media-sound/ardour/ardour-4.7-r2.ebuild
@@ -0,0 +1,139 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE='threads(+)'
+#EPYTHON='python2.7'
+inherit eutils toolchain-funcs flag-o-matic python-any-r1 waf-utils
+
+DESCRIPTION="Digital Audio Workstation"
+HOMEPAGE="http://ardour.org/";
+
+if [[ ${PV} == *9999* ]]; then
+       EGIT_REPO_URI="http://git.ardour.org/ardour/ardour.git";
+       inherit git-r3
+else
+       KEYWORDS="~amd64 ~x86"
+       SRC_URI="https://github.com/Ardour/ardour/archive/${PV}.tar.gz -> 
${P}.tar.gz"
+fi
+
+LICENSE="GPL-2"
+SLOT="4"
+IUSE="altivec doc jack lv2 cpu_flags_x86_sse cpu_flags_x86_mmx 
cpu_flags_x86_3dnow"
+
+RDEPEND="
+       >=dev-cpp/glibmm-2.32.0
+       >=dev-cpp/gtkmm-2.16:2.4
+       >=dev-cpp/libgnomecanvasmm-2.26:2.6
+       dev-libs/boost:=
+       >=dev-libs/glib-2.10.1:2
+       dev-libs/libsigc++:2
+       >=dev-libs/libxml2-2.6:2
+       dev-libs/libxslt
+       >=gnome-base/libgnomecanvas-2
+       media-libs/alsa-lib
+       media-libs/aubio
+       media-libs/flac
+       media-libs/freetype:2
+       media-libs/libart_lgpl
+       media-libs/liblo
+       >=media-libs/liblrdf-0.4.0-r20
+       >=media-libs/libsamplerate-0.1
+       >=media-libs/libsndfile-1.0.18
+       >=media-libs/libsoundtouch-1.6.0
+       media-libs/raptor:2
+       >=media-libs/rubberband-1.6.0
+       >=media-libs/taglib-1.7
+       media-libs/vamp-plugin-sdk
+       net-misc/curl
+       sci-libs/fftw:3.0
+       virtual/libusb:0
+       x11-libs/cairo
+       >=x11-libs/gtk+-2.8.1:2
+       x11-libs/pango
+       jack? ( virtual/jack )
+       lv2? (
+               >=media-libs/slv2-0.6.1
+               media-libs/lilv
+               media-libs/sratom
+               dev-libs/sord
+               >=media-libs/suil-0.6.10
+               >=media-libs/lv2-1.4.0
+       )"
+
+DEPEND="${RDEPEND}
+       ${PYTHON_DEPS}
+       jack? ( virtual/jack )
+       sys-devel/gettext
+       virtual/pkgconfig
+       doc? ( app-doc/doxygen[dot] )"
+
+pkg_setup() {
+       if has_version \>=dev-libs/libsigc++-2.6 ; then
+               append-cxxflags -std=c++11
+       fi
+       python-any-r1_pkg_setup
+}
+
+src_prepare(){
+       if ! [[ ${PV} == *9999* ]]; then
+               epatch "${FILESDIR}"/${PN}-4.x-revision-naming.patch
+               epatch "${FILESDIR}"/${PN}-4.7-gcc.patch
+               touch "${S}/libs/ardour/revision.cc"
+       fi
+       use lv2 || epatch "${FILESDIR}"/${PN}-4.0-lv2.patch
+       sed 's/'full-optimization\'\ :\ \\[.*'/'full-optimization\'\ :\ 
\'\','/' -i "${S}"/wscript || die
+       MARCH=$(get-flag march)
+       OPTFLAGS=""
+       if use cpu_flags_x86_sse; then
+               if [[ ${MARCH} == "i686" ]] || [[ ${MARCH} == "i486" ]]; then
+                       elog "You enabled sse but use an march that does not 
support sse!"
+                       elog "We add -msse to the flags now, but please 
consider switching your march in make.conf!"
+               fi
+               OPTFLAGS="sse"
+       fi
+       if use cpu_flags_x86_mmx; then
+               if [[ ${MARCH} == "i486" ]]; then
+                   elog "You enabled mmx with i486 set as march! You have been 
warned!"
+               fi
+               OPTFLAGS="${OPTFLAGS} mmx"
+       fi
+       if use cpu_flags_x86_3dnow; then
+               OPTFLAGS="${OPTFLAGS} 3dnow"
+       fi
+       sed 's/flag_line\ =\ o.*/flag_line\ =\ \": '"${OPTFLAGS}"' just some 
place holders\"/' \
+               -i "${S}"/wscript || die
+       sed 's/cpu\ ==\ .*/cpu\ ==\ "LeaveMarchAsIs":/' -i "${S}"/wscript || die
+       append-flags "-lboost_system"
+       python_fix_shebang "${S}"/wscript
+       python_fix_shebang "${S}"/waf
+}
+
+src_configure() {
+       tc-export CC CXX
+       mkdir -p "${D}"
+       waf-utils_src_configure \
+               --destdir="${D}" \
+               --prefix=/usr \
+               --configdir=/etc \
+               --nls \
+               --optimize \
+               $(usex jack "--with-backends=alsa,jack" "--with-backends=alsa  
--libjack=weak") \
+               $(usex lv2 "--lv2" "--no-lv2") \
+               $(usex doc "--docs" '') \
+               $({ use altivec || use cpu_flags_x86_sse; } && echo 
"--fpu-optimization" || echo "--no-fpu-optimization")
+}
+
+src_install() {
+       waf-utils_src_install
+       mv ${PN}.1 ${PN}${SLOT}.1
+       doman ${PN}${SLOT}.1
+       newicon icons/icon/ardour_icon_tango_48px_red.png ${PN}${SLOT}.png
+       make_desktop_entry ardour4 ardour4 ardour4 AudioVideo
+}
+
+pkg_postinst() {
+       elog "If you are using Ardour and want to keep its development alive"
+       elog "then please consider to make a donation upstream at ${HOMEPAGE}"
+}

diff --git a/media-sound/ardour/files/ardour-4.7-gcc.patch 
b/media-sound/ardour/files/ardour-4.7-gcc.patch
new file mode 100644
index 00000000000..685eb2ab117
--- /dev/null
+++ b/media-sound/ardour/files/ardour-4.7-gcc.patch
@@ -0,0 +1,100 @@
+--- libs/gtkmm2ext/actions.cc.old      2016-02-19 02:28:56.000000000 +0100
++++ libs/gtkmm2ext/actions.cc  2017-06-05 03:32:48.762688016 +0200
+@@ -401,7 +401,7 @@
+          gtkmm2.6, so we fall back to the C level.
+       */
+ 
+-      if (ui_manager == 0) {
++      if (ui_manager == (Glib::RefPtr<Gtk::UIManager>) 0) {
+               return RefPtr<Action> ();
+       }
+ 
+--- libs/gtkmm2ext/fastmeter.cc.old    2016-02-19 02:28:56.000000000 +0100
++++ libs/gtkmm2ext/fastmeter.cc        2017-06-05 05:01:57.075834979 +0200
+@@ -731,7 +731,7 @@
+ 
+       Glib::RefPtr<Gdk::Window> win;
+ 
+-      if ((win = get_window()) == 0) {
++      if ((win = get_window()) == (Glib::RefPtr<Gdk::Window>) 0) {
+               queue_draw ();
+               return;
+       }
+
+--- gtk2_ardour/editor.cc.old  2016-02-19 02:28:56.000000000 +0100
++++ gtk2_ardour/editor.cc      2017-06-05 05:38:20.971481110 +0200
+@@ -714,16 +714,16 @@
+       list<Glib::RefPtr<Gdk::Pixbuf> > window_icons;
+       Glib::RefPtr<Gdk::Pixbuf> icon;
+ 
+-      if ((icon = ::get_icon ("ardour_icon_16px")) != 0) {
++      if (icon = ::get_icon ("ardour_icon_16px")) {
+               window_icons.push_back (icon);
+       }
+-      if ((icon = ::get_icon ("ardour_icon_22px")) != 0) {
++      if (icon = ::get_icon ("ardour_icon_22px")) {
+               window_icons.push_back (icon);
+       }
+-      if ((icon = ::get_icon ("ardour_icon_32px")) != 0) {
++      if (icon = ::get_icon ("ardour_icon_32px")) {
+               window_icons.push_back (icon);
+       }
+-      if ((icon = ::get_icon ("ardour_icon_48px")) != 0) {
++      if (icon = ::get_icon ("ardour_icon_48px")) {
+               window_icons.push_back (icon);
+       }
+       if (!window_icons.empty()) {
+
+--- gtk2_ardour/fft_graph.cc.old       2016-02-19 02:28:56.000000000 +0100
++++ gtk2_ardour/fft_graph.cc   2017-06-05 06:21:56.644212996 +0200
+@@ -203,7 +203,7 @@
+ 
+ 
+ 
+-      if (graph_gc == 0) {
++      if (graph_gc == (Glib::RefPtr<Gdk::GC>) 0) {
+               graph_gc = GC::create( get_window() );
+       }
+ 
+@@ -213,7 +213,7 @@
+ 
+       graph_gc->set_rgb_fg_color( grey );
+ 
+-      if (layout == 0) {
++      if (layout == (Glib::RefPtr<Pango::Layout>) 0) {
+               layout = create_pango_layout ("");
+               layout->set_font_description (get_style()->get_font());
+       }
+
+--- gtk2_ardour/startup.cc.old 2016-02-19 02:28:56.000000000 +0100
++++ gtk2_ardour/startup.cc     2017-06-05 06:41:27.091051601 +0200
+@@ -79,23 +79,23 @@
+       set_position (WIN_POS_CENTER);
+       set_border_width (12);
+ 
+-      if ((icon_pixbuf = ::get_icon ("ardour_icon_48px")) == 0) {
++      if ((icon_pixbuf = ::get_icon ("ardour_icon_48px")) == 
(Glib::RefPtr<Gdk::Pixbuf>) 0) {
+               throw failed_constructor();
+       }
+ 
+       list<Glib::RefPtr<Gdk::Pixbuf> > window_icons;
+       Glib::RefPtr<Gdk::Pixbuf> icon;
+ 
+-      if ((icon = ::get_icon ("ardour_icon_16px")) != 0) {
++      if (icon = ::get_icon ("ardour_icon_16px")) {
+               window_icons.push_back (icon);
+       }
+-      if ((icon = ::get_icon ("ardour_icon_22px")) != 0) {
++      if (icon = ::get_icon ("ardour_icon_22px")) {
+               window_icons.push_back (icon);
+       }
+-      if ((icon = ::get_icon ("ardour_icon_32px")) != 0) {
++      if (icon = ::get_icon ("ardour_icon_32px")) {
+               window_icons.push_back (icon);
+       }
+-      if ((icon = ::get_icon ("ardour_icon_48px")) != 0) {
++      if (icon = ::get_icon ("ardour_icon_48px")) {
+               window_icons.push_back (icon);
+       }
+       if (!window_icons.empty ()) {
+

Reply via email to