Gentoo Archives: gentoo-commits

From: Michael Palimaka <kensington@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-libs/mlt/
Date: Wed, 27 Jul 2016 14:12:36
Message-Id: 1469628741.4403c3564ef747e8207426c8d8fc7951abe72a58.kensington@gentoo
1 commit: 4403c3564ef747e8207426c8d8fc7951abe72a58
2 Author: Michael Palimaka <kensington <AT> gentoo <DOT> org>
3 AuthorDate: Wed Jul 27 14:12:08 2016 +0000
4 Commit: Michael Palimaka <kensington <AT> gentoo <DOT> org>
5 CommitDate: Wed Jul 27 14:12:21 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4403c356
7
8 media-libs/mlt: revision bump with various fixes
9
10 * Add missing dependency on media-libs/rtaudio to avoid using bundled version
11 * Move away from deprecated Ruby 2.0
12 * Fixes build with Qt 5.7 by enabling C++11
13
14 Gentoo-bug: 587186
15 Gentoo-bug: 589848
16 Gentoo-bug: 589848
17
18 Package-Manager: portage-2.3.0
19
20 media-libs/mlt/mlt-6.2.0-r2.ebuild | 205 +++++++++++++++++++++++++++++++++++++
21 1 file changed, 205 insertions(+)
22
23 diff --git a/media-libs/mlt/mlt-6.2.0-r2.ebuild b/media-libs/mlt/mlt-6.2.0-r2.ebuild
24 new file mode 100644
25 index 0000000..b9e1edc
26 --- /dev/null
27 +++ b/media-libs/mlt/mlt-6.2.0-r2.ebuild
28 @@ -0,0 +1,205 @@
29 +# Copyright 1999-2016 Gentoo Foundation
30 +# Distributed under the terms of the GNU General Public License v2
31 +# $Id$
32 +
33 +EAPI=6
34 +PYTHON_COMPAT=( python2_7 )
35 +USE_RUBY="ruby21"
36 +inherit eutils flag-o-matic multilib python-single-r1 ruby-single toolchain-funcs
37 +
38 +DESCRIPTION="Open source multimedia framework for television broadcasting"
39 +HOMEPAGE="http://www.mltframework.org/"
40 +SRC_URI="https://github.com/mltframework/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
41 +
42 +LICENSE="GPL-3"
43 +SLOT="0"
44 +KEYWORDS="~amd64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
45 +IUSE="compressed-lumas debug ffmpeg fftw frei0r gtk jack kdenlive libav libsamplerate melt opengl
46 +cpu_flags_x86_mmx qt5 rtaudio sdl cpu_flags_x86_sse cpu_flags_x86_sse2 xine xml lua python ruby vdpau"
47 +# java perl php tcl vidstab
48 +IUSE="${IUSE} kernel_linux"
49 +
50 +#rtaudio will use OSS on non linux OSes
51 +COMMON_DEPEND="
52 + ffmpeg? (
53 + libav? ( media-video/libav:0=[vdpau?] )
54 + !libav? ( media-video/ffmpeg:0=[vdpau?] )
55 + )
56 + xml? ( >=dev-libs/libxml2-2.5 )
57 + sdl? ( >=media-libs/libsdl-1.2.10[X,opengl,video]
58 + >=media-libs/sdl-image-1.2.4 )
59 + libsamplerate? ( >=media-libs/libsamplerate-0.1.2 )
60 + jack? ( >=media-sound/jack-audio-connection-kit-0.121.3
61 + media-libs/ladspa-sdk
62 + >=dev-libs/libxml2-2.5 )
63 + fftw? ( sci-libs/fftw:3.0= )
64 + frei0r? ( media-plugins/frei0r-plugins )
65 + gtk? ( x11-libs/gtk+:2
66 + media-libs/libexif
67 + x11-libs/pango )
68 + opengl? ( media-video/movit )
69 + rtaudio? (
70 + media-libs/rtaudio
71 + kernel_linux? ( media-libs/alsa-lib )
72 + )
73 + xine? ( >=media-libs/xine-lib-1.1.2_pre20060328-r7 )
74 + qt5? (
75 + dev-qt/qtcore:5
76 + dev-qt/qtgui:5
77 + dev-qt/qtsvg:5
78 + dev-qt/qtwidgets:5
79 + dev-qt/qtxml:5
80 + media-libs/libexif
81 + x11-libs/libX11
82 + opengl? ( dev-qt/qtopengl:5 )
83 + )
84 + lua? ( >=dev-lang/lua-5.1.4-r4:= )
85 + ruby? ( ${RUBY_DEPS} )"
86 +# sox? ( media-sound/sox )
87 +# java? ( >=virtual/jre-1.5 )
88 +# perl? ( dev-lang/perl )
89 +# php? ( dev-lang/php )
90 +# tcl? ( dev-lang/tcl:0= )
91 +# vidstab? ( media-libs/libvidstab )
92 +SWIG_DEPEND=">=dev-lang/swig-2.0"
93 +DEPEND="${COMMON_DEPEND}
94 + virtual/pkgconfig
95 + compressed-lumas? ( || ( media-gfx/imagemagick[png]
96 + media-gfx/graphicsmagick[imagemagick,png] ) )
97 + lua? ( ${SWIG_DEPEND} virtual/pkgconfig )
98 + python? ( ${SWIG_DEPEND} ${PYTHON_DEPS} )
99 + ruby? ( ${SWIG_DEPEND} )"
100 +# java? ( ${SWIG_DEPEND} >=virtual/jdk-1.5 )
101 +# perl? ( ${SWIG_DEPEND} )
102 +# php? ( ${SWIG_DEPEND} )
103 +# tcl? ( ${SWIG_DEPEND} )
104 +RDEPEND="${COMMON_DEPEND}
105 + !media-libs/mlt++
106 +"
107 +
108 +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
109 +
110 +pkg_setup() {
111 + use python && python-single-r1_pkg_setup
112 +}
113 +
114 +src_prepare() {
115 + epatch "${FILESDIR}"/${PN}-6.2.0-ruby-link.patch
116 +
117 + # respect CFLAGS LDFLAGS when building shared libraries. Bug #308873
118 + for x in python lua; do
119 + sed -i "/mlt.so/s: -lmlt++ :& ${CFLAGS} ${LDFLAGS} :" src/swig/$x/build || die
120 + done
121 + sed -i "/^LDFLAGS/s: += :& ${LDFLAGS} :" src/swig/ruby/build || die
122 +
123 + default
124 +}
125 +
126 +src_configure() {
127 + tc-export CC CXX
128 +
129 + # bug 589848
130 + append-cxxflags -std=c++11
131 +
132 + local myconf="--enable-gpl
133 + --enable-gpl3
134 + --enable-motion-est
135 + --target-arch=$(tc-arch)
136 + --disable-kde
137 + --disable-swfdec
138 + $(use_enable debug)
139 + $(use compressed-lumas && echo ' --luma-compress')
140 + $(use_enable cpu_flags_x86_sse sse)
141 + $(use_enable cpu_flags_x86_sse2 sse2)
142 + $(use_enable gtk gtk2)
143 + $(use_enable sdl)
144 + $(use_enable jack jackrack)
145 + $(use_enable ffmpeg avformat)
146 + $(use ffmpeg && echo ' --avformat-swscale')
147 + $(use_enable fftw plus)
148 + $(use_enable frei0r)
149 + $(use_enable melt)
150 + $(use_enable opengl)
151 + $(use_enable libsamplerate resample)
152 + $(use_enable rtaudio)
153 + $(use vdpau && echo ' --avformat-vdpau')
154 + $(use_enable xml)
155 + $(use_enable xine)
156 + $(use_enable kdenlive)
157 + --disable-sox"
158 + #$(use_enable sox) FIXME
159 +
160 + if use qt5 ; then
161 + myconf+=" --enable-qt
162 + --qt-includedir=$(pkg-config Qt5Core --variable=includedir)
163 + --qt-libdir=$(pkg-config Qt5Core --variable=libdir)"
164 + else
165 + myconf+=" --disable-qt"
166 + fi
167 +
168 + if use x86 || use amd64 ; then
169 + myconf+=" $(use_enable cpu_flags_x86_mmx mmx)"
170 + else
171 + myconf+=" --disable-mmx"
172 + fi
173 +
174 + if ! use melt; then
175 + sed -i -e "s;src/melt;;" Makefile || die
176 + fi
177 +
178 + # TODO: add swig language bindings
179 + # see also http://www.mltframework.org/twiki/bin/view/MLT/ExtremeMakeover
180 +
181 + local swig_lang
182 + # TODO: java perl php tcl
183 + for i in lua python ruby ; do
184 + use $i && swig_lang="${swig_lang} $i"
185 + done
186 + [ -z "${swig_lang}" ] && swig_lang="none"
187 +
188 + econf ${myconf} --swig-languages="${swig_lang}"
189 +
190 + sed -i -e s/^OPT/#OPT/ "${S}/config.mak" || die
191 + if use qt5 ; then
192 + if ! use opengl ; then
193 + sed -i -e "/^USE_QT_OPENGL/ s/^/#/" "${S}/src/modules/qt/config.mak" || die
194 + fi
195 + fi
196 +}
197 +
198 +src_install() {
199 + emake DESTDIR="${D}" install
200 + dodoc AUTHORS ChangeLog NEWS README docs/*.txt
201 +
202 + dodir /usr/share/${PN}
203 + insinto /usr/share/${PN}
204 + doins -r demo
205 +
206 + docinto swig
207 +
208 + # Install SWIG bindings
209 + if use lua; then
210 + cd "${S}"/src/swig/lua || die
211 + exeinto $(pkg-config --variable INSTALL_CMOD lua)
212 + doexe mlt.so
213 + dodoc play.lua
214 + fi
215 +
216 + if use python; then
217 + cd "${S}"/src/swig/python || die
218 + insinto $(python_get_sitedir)
219 + doins mlt.py
220 + exeinto $(python_get_sitedir)
221 + doexe _mlt.so
222 + dodoc play.py
223 + python_optimize
224 + fi
225 +
226 + if use ruby; then
227 + cd "${S}"/src/swig/ruby || die
228 + exeinto $("${EPREFIX}"/usr/bin/ruby -r rbconfig -e 'print Config::CONFIG["sitearchdir"]')
229 + doexe mlt.so
230 + dodoc play.rb thumbs.rb
231 + fi
232 + # TODO: java perl php tcl
233 +}