Gentoo Archives: gentoo-commits

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