forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
media-sound/ardour: patch for old ardour on new gcc. Bug 620954
Package-Manager: Portage-2.3.5, Repoman-2.3.1
- Loading branch information
Andreas Schuerch
committed
Jun 8, 2017
1 parent
1897299
commit 2765add
Showing
2 changed files
with
239 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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}" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 ()) { | ||
|