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: Fri, 01 Jan 2016 15:25:18
Message-Id: 1451661900.4f6d52106be38419f309add0dc4df7e3ce3bd859.kensington@gentoo
1 commit: 4f6d52106be38419f309add0dc4df7e3ce3bd859
2 Author: Andreas Sturmlechner <andreas.sturmlechner <AT> gmail <DOT> com>
3 AuthorDate: Tue Dec 29 00:33:59 2015 +0000
4 Commit: Michael Palimaka <kensington <AT> gentoo <DOT> org>
5 CommitDate: Fri Jan 1 15:25:00 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4f6d5210
7
8 media-libs/mlt: Add USE=qt5, inherit linux-info, fix DEPENDs, cleanup
9
10 See also bugs 490980, 558526, 558756, 561062
11
12 Package-Manager: portage-2.2.24
13
14 media-libs/mlt/mlt-0.9.8-r1.ebuild | 209 +++++++++++++++++++++++++++++++++++++
15 1 file changed, 209 insertions(+)
16
17 diff --git a/media-libs/mlt/mlt-0.9.8-r1.ebuild b/media-libs/mlt/mlt-0.9.8-r1.ebuild
18 new file mode 100644
19 index 0000000..74194c4
20 --- /dev/null
21 +++ b/media-libs/mlt/mlt-0.9.8-r1.ebuild
22 @@ -0,0 +1,209 @@
23 +# Copyright 1999-2015 Gentoo Foundation
24 +# Distributed under the terms of the GNU General Public License v2
25 +# $Id$
26 +
27 +EAPI=5
28 +PYTHON_COMPAT=( python2_7 )
29 +USE_RUBY="ruby19"
30 +inherit eutils toolchain-funcs linux-info multilib python-single-r1 ruby-single
31 +
32 +DESCRIPTION="Open source multimedia framework for television broadcasting"
33 +HOMEPAGE="http://www.mltframework.org/"
34 +SRC_URI="https://github.com/mltframework/mlt/archive/v0.9.8.tar.gz -> ${P}.tar.gz"
35 +
36 +LICENSE="GPL-3"
37 +SLOT="0"
38 +KEYWORDS="~amd64 ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
39 +IUSE="compressed-lumas debug ffmpeg fftw frei0r gtk jack kde kdenlive libav libsamplerate melt opengl
40 +cpu_flags_x86_mmx qt4 qt5 rtaudio sdl cpu_flags_x86_sse cpu_flags_x86_sse2 xine xml lua python ruby vdpau"
41 +# java perl php tcl vidstab
42 +IUSE="${IUSE} kernel_linux"
43 +
44 +#rtaudio will use OSS on non linux OSes
45 +COMMON_DEPEND="
46 + ffmpeg? (
47 + libav? ( media-video/libav:0=[vdpau?] )
48 + !libav? ( media-video/ffmpeg:0=[vdpau?] )
49 + )
50 + xml? ( >=dev-libs/libxml2-2.5 )
51 + sdl? ( >=media-libs/libsdl-1.2.10[X,opengl]
52 + >=media-libs/sdl-image-1.2.4 )
53 + libsamplerate? ( >=media-libs/libsamplerate-0.1.2 )
54 + jack? ( >=media-sound/jack-audio-connection-kit-0.121.3
55 + media-libs/ladspa-sdk
56 + >=dev-libs/libxml2-2.5 )
57 + fftw? ( sci-libs/fftw:3.0= )
58 + frei0r? ( media-plugins/frei0r-plugins )
59 + gtk? ( x11-libs/gtk+:2
60 + media-libs/libexif
61 + x11-libs/pango )
62 + opengl? ( media-video/movit )
63 + rtaudio? ( kernel_linux? ( media-libs/alsa-lib ) )
64 + xine? ( >=media-libs/xine-lib-1.1.2_pre20060328-r7 )
65 + qt5? (
66 + dev-qt/qtcore:5
67 + dev-qt/qtgui:5
68 + dev-qt/qtsvg:5
69 + dev-qt/qtwidgets:5
70 + dev-qt/qtxml:5
71 + media-libs/libexif
72 + x11-libs/libX11
73 + opengl? ( dev-qt/qtopengl:5 )
74 + )
75 + qt4? (
76 + dev-qt/qtcore:4
77 + dev-qt/qtgui:4
78 + dev-qt/qtsvg:4
79 + media-libs/libexif
80 + x11-libs/libX11
81 + opengl? ( dev-qt/qtopengl:4 )
82 + )
83 + kde? ( kde-base/kdelibs:4 )
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 +REPEND="${COMMON_DEPEND}
105 + !media-libs/mlt++
106 +"
107 +
108 +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )
109 + qt5? ( !qt4 ) kde? ( qt4 )
110 +"
111 +
112 +pkg_setup() {
113 + linux-info_pkg_setup
114 + use python && python-single-r1_pkg_setup
115 +}
116 +
117 +src_prepare() {
118 + epatch "${FILESDIR}"/${PN}-0.9.8-ruby-link.patch
119 +
120 + # respect CFLAGS LDFLAGS when building shared libraries. Bug #308873
121 + for x in python lua; do
122 + sed -i "/mlt.so/s: -lmlt++ :& ${CFLAGS} ${LDFLAGS} :" src/swig/$x/build || die
123 + done
124 + sed -i "/^LDFLAGS/s: += :& ${LDFLAGS} :" src/swig/ruby/build || die
125 +
126 + epatch_user
127 +}
128 +
129 +src_configure() {
130 + tc-export CC CXX
131 +
132 + local myconf="--enable-gpl
133 + --enable-gpl3
134 + --enable-motion-est
135 + --target-arch=$(tc-arch-kernel)
136 + --disable-swfdec
137 + $(use_enable debug)
138 + $(use compressed-lumas && echo ' --luma-compress')
139 + $(use_enable cpu_flags_x86_sse sse)
140 + $(use_enable cpu_flags_x86_sse2 sse2)
141 + $(use_enable gtk gtk2)
142 + $(use_enable sdl)
143 + $(use_enable jack jackrack)
144 + $(use_enable ffmpeg avformat)
145 + $(use ffmpeg && echo ' --avformat-swscale')
146 + $(use_enable fftw plus)
147 + $(use_enable frei0r)
148 + $(use_enable melt)
149 + $(use_enable opengl)
150 + $(use_enable libsamplerate resample)
151 + $(use_enable rtaudio)
152 + $(use vdpau && echo ' --avformat-vdpau')
153 + $(use_enable xml)
154 + $(use_enable xine)
155 + $(use_enable kdenlive)
156 + --disable-sox"
157 + #$(use_enable sox) FIXME
158 +
159 + # kde means kde4 at this point
160 + if use qt5 ; then
161 + myconf+=" --enable-qt $(use_with opengl)
162 + --qt-includedir=$(pkg-config Qt5Core --variable=includedir)
163 + --qt-libdir=$(pkg-config Qt5Core --variable=libdir)"
164 + elif use qt4 ; then
165 + myconf+=" --enable-qt $(use_with opengl) $(use_with kde)
166 + --qt-includedir=$(pkg-config QtCore --variable=includedir)
167 + --qt-libdir=$(pkg-config QtCore --variable=libdir)"
168 + else
169 + myconf+=" --disable-qt"
170 + fi
171 +
172 + if use x86 || use amd64 ; then
173 + myconf+=" $(use_enable cpu_flags_x86_mmx mmx)"
174 + else
175 + myconf+=" --disable-mmx"
176 + fi
177 +
178 + if ! use melt; then
179 + sed -i -e "s;src/melt;;" Makefile || die
180 + fi
181 +
182 + # TODO: add swig language bindings
183 + # see also http://www.mltframework.org/twiki/bin/view/MLT/ExtremeMakeover
184 +
185 + local swig_lang
186 + # TODO: java perl php tcl
187 + for i in lua python ruby ; do
188 + use $i && swig_lang="${swig_lang} $i"
189 + done
190 + [ -z "${swig_lang}" ] && swig_lang="none"
191 +
192 + econf ${myconf} --swig-languages="${swig_lang}"
193 + sed -i -e s/^OPT/#OPT/ "${S}/config.mak" || die
194 +}
195 +
196 +src_install() {
197 + emake DESTDIR="${D}" install
198 + dodoc AUTHORS ChangeLog NEWS README docs/*.txt
199 +
200 + dodir /usr/share/${PN}
201 + insinto /usr/share/${PN}
202 + doins -r demo
203 +
204 + docinto swig
205 +
206 + # Install SWIG bindings
207 + if use lua; then
208 + cd "${S}"/src/swig/lua || die
209 + exeinto $(pkg-config --variable INSTALL_CMOD lua)
210 + doexe mlt.so
211 + dodoc play.lua
212 + fi
213 +
214 + if use python; then
215 + cd "${S}"/src/swig/python || die
216 + insinto $(python_get_sitedir)
217 + doins mlt.py
218 + exeinto $(python_get_sitedir)
219 + doexe _mlt.so
220 + dodoc play.py
221 + python_optimize
222 + fi
223 +
224 + if use ruby; then
225 + cd "${S}"/src/swig/ruby || die
226 + exeinto $("${EPREFIX}"/usr/bin/ruby -r rbconfig -e 'print Config::CONFIG["sitearchdir"]')
227 + doexe mlt.so
228 + dodoc play.rb thumbs.rb
229 + fi
230 + # TODO: java perl php tcl
231 +}