media-plugins/caps-plugins: Allow for compiling with GCC 6
authorDavid Seifert <soap@gentoo.org>
Fri, 16 Sep 2016 08:15:46 +0000 (10:15 +0200)
committerDavid Seifert <soap@gentoo.org>
Fri, 16 Sep 2016 08:16:09 +0000 (10:16 +0200)
Gentoo-bug: 585554
* EAPI=6
* Patch borrowed from Debian

Package-Manager: portage-2.3.0

media-plugins/caps-plugins/caps-plugins-0.9.15-r1.ebuild [new file with mode: 0644]
media-plugins/caps-plugins/files/caps-plugins-0.9.15-fix-c++14.patch [new file with mode: 0644]

diff --git a/media-plugins/caps-plugins/caps-plugins-0.9.15-r1.ebuild b/media-plugins/caps-plugins/caps-plugins-0.9.15-r1.ebuild
new file mode 100644 (file)
index 0000000..f3cecc3
--- /dev/null
@@ -0,0 +1,52 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit toolchain-funcs multilib-minimal
+
+MY_P=caps-${PV}
+
+DESCRIPTION="The CAPS Audio Plugin Suite - LADSPA plugin suite"
+HOMEPAGE="http://quitte.de/dsp/caps.html"
+SRC_URI="http://quitte.de/dsp/caps_${PV}.tar.bz2
+       doc? ( http://quitte.de/dsp/caps-doc_${PV}.tar.bz2 )"
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+DEPEND="media-libs/ladspa-sdk"
+RDEPEND=""
+
+S="${WORKDIR}/${MY_P}"
+PATCHES=( "${FILESDIR}/${PN}-0.9.15-fix-c++14.patch" )
+
+src_prepare() {
+       default
+       multilib_copy_sources
+}
+
+multilib_src_compile() {
+       emake \
+               ARCH="" \
+               CC="$(tc-getCXX)" \
+               CFLAGS="${CXXFLAGS} -fPIC -DPIC" \
+               _LDFLAGS="-shared ${LDFLAGS}"
+}
+
+multilib_src_install() {
+       insinto /usr/$(get_libdir)/ladspa
+       insopts -m0755
+       doins *.so
+}
+
+multilib_src_install_all() {
+       use doc && HTML_DOCS=( "${WORKDIR}/caps-doc-${PV}/." )
+       einstalldocs
+
+       insinto /usr/share/ladspa/rdf
+       insopts -m0644
+       doins *.rdf
+}
diff --git a/media-plugins/caps-plugins/files/caps-plugins-0.9.15-fix-c++14.patch b/media-plugins/caps-plugins/files/caps-plugins-0.9.15-fix-c++14.patch
new file mode 100644 (file)
index 0000000..32de7c4
--- /dev/null
@@ -0,0 +1,23 @@
+From: Felipe Sateler <fsateler@debian.org>
+Date: Fri, 1 Jul 2016 19:06:31 -0400
+Subject: Avoid ambiguity in div invocation
+
+Be specific and use int version.
+Fixes build failure with gcc >= 6
+---
+ AutoFilter.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/AutoFilter.cc b/AutoFilter.cc
+index fc087d0..bd6b12f 100644
+--- a/AutoFilter.cc
++++ b/AutoFilter.cc
+@@ -69,7 +69,7 @@ AutoFilter::activate()
+ void
+ AutoFilter::cycle (uint frames)
+ {
+-      div_t qr = div (frames, blocksize);
++      div_t qr = div ((int)frames, (int)blocksize);
+       int blocks = qr.quot;
+       if (qr.rem) ++blocks;
+       double over_blocks = 1./blocks;