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: Mon, 28 Dec 2020 15:03:47
Message-Id: 1609167808.d575b30fce0b721c2c9fb57ff99e207c320e8a96.asturm@gentoo
1 commit: d575b30fce0b721c2c9fb57ff99e207c320e8a96
2 Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
3 AuthorDate: Mon Dec 28 15:02:54 2020 +0000
4 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
5 CommitDate: Mon Dec 28 15:03:28 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d575b30f
7
8 media-libs/mlt: 6.24.0 version bump
9
10 Bug: https://bugs.gentoo.org/761975
11 Package-Manager: Portage-3.0.12, Repoman-3.0.2
12 Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
13
14 media-libs/mlt/Manifest | 1 +
15 media-libs/mlt/mlt-6.24.0.ebuild | 233 +++++++++++++++++++++++++++++++++++++++
16 2 files changed, 234 insertions(+)
17
18 diff --git a/media-libs/mlt/Manifest b/media-libs/mlt/Manifest
19 index a4e8eb5d916..42929ef7e61 100644
20 --- a/media-libs/mlt/Manifest
21 +++ b/media-libs/mlt/Manifest
22 @@ -1 +1,2 @@
23 DIST mlt-6.22.1.tar.gz 1343746 BLAKE2B 3178f9af8ee2695df3343d333d03a5e87a22d226915a19c90dd78bbe66684984d37549ef53e6583152b5f44267d0e908e6f887f18fb02289cc31e8c8b1520ddb SHA512 c620b68d35c90eab650c70768a4ae631dec83ece6dd3fd8e09f9300d837d8e0f3da1b098786188f9c1216800f848dd5db7c9e5fa03e816fba3fbcf3c63324c74
24 +DIST mlt-6.24.0.tar.gz 1351427 BLAKE2B ea645f0fc6822c0fe3012ac4833062dcddff9859e35fc41aacd929c2dc0c80b49bb83b7714d234e0bcad9a4e300534e8637b1e6927c99cb84e9ce2959e619a7b SHA512 c9533191aad7be894152e305a4ce3f8c1dbd652ea887774866c74aed4794eae90bd15b0b9a070e6fc22f2979e210af6ca1a2c937adcc3b0be5d39ba900df6229
25
26 diff --git a/media-libs/mlt/mlt-6.24.0.ebuild b/media-libs/mlt/mlt-6.24.0.ebuild
27 new file mode 100644
28 index 00000000000..d9701907cf5
29 --- /dev/null
30 +++ b/media-libs/mlt/mlt-6.24.0.ebuild
31 @@ -0,0 +1,233 @@
32 +# Copyright 1999-2020 Gentoo Authors
33 +# Distributed under the terms of the GNU General Public License v2
34 +
35 +EAPI=7
36 +
37 +LUA_COMPAT=( lua5-{1..4} luajit )
38 +PYTHON_COMPAT=( python3_{6,7,8,9} )
39 +inherit lua python-single-r1 qmake-utils toolchain-funcs
40 +
41 +DESCRIPTION="Open source multimedia framework for television broadcasting"
42 +HOMEPAGE="https://www.mltframework.org/"
43 +SRC_URI="https://github.com/mltframework/${PN}/releases/download/v${PV}/${P}.tar.gz"
44 +
45 +LICENSE="GPL-3"
46 +SLOT="0"
47 +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
48 +IUSE="compressed-lumas cpu_flags_x86_mmx cpu_flags_x86_sse cpu_flags_x86_sse2 debug ffmpeg
49 +fftw frei0r gtk jack kdenlive kernel_linux libsamplerate lua melt opencv opengl python
50 +qt5 rtaudio sdl vdpau vidstab xine xml"
51 +# java perl php tcl
52 +
53 +REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )
54 + python? ( ${PYTHON_REQUIRED_USE} )"
55 +
56 +SWIG_DEPEND=">=dev-lang/swig-2.0"
57 +# java? ( ${SWIG_DEPEND} >=virtual/jdk-1.5 )
58 +# perl? ( ${SWIG_DEPEND} )
59 +# php? ( ${SWIG_DEPEND} )
60 +# tcl? ( ${SWIG_DEPEND} )
61 +# ruby? ( ${SWIG_DEPEND} )
62 +BDEPEND="
63 + virtual/pkgconfig
64 + compressed-lumas? ( virtual/imagemagick-tools[png] )
65 + lua? ( ${SWIG_DEPEND} virtual/pkgconfig )
66 + python? ( ${SWIG_DEPEND} )
67 +"
68 +#rtaudio will use OSS on non linux OSes
69 +DEPEND="
70 + >=media-libs/libebur128-1.2.2:=
71 + ffmpeg? ( media-video/ffmpeg:0=[vdpau?,-flite] )
72 + fftw? ( sci-libs/fftw:3.0= )
73 + frei0r? ( media-plugins/frei0r-plugins )
74 + gtk? (
75 + media-libs/libexif
76 + x11-libs/pango
77 + )
78 + jack? (
79 + >=dev-libs/libxml2-2.5
80 + media-libs/ladspa-sdk
81 + virtual/jack
82 + )
83 + libsamplerate? ( >=media-libs/libsamplerate-0.1.2 )
84 + lua? ( ${LUA_DEPS} )
85 + opencv? ( >=media-libs/opencv-3.2.0:= )
86 + opengl? ( media-video/movit )
87 + python? ( ${PYTHON_DEPS} )
88 + qt5? (
89 + dev-qt/qtcore:5
90 + dev-qt/qtgui:5
91 + dev-qt/qtsvg:5
92 + dev-qt/qtwidgets:5
93 + dev-qt/qtxml:5
94 + media-libs/libexif
95 + x11-libs/libX11
96 + )
97 + rtaudio? (
98 + >=media-libs/rtaudio-4.1.2
99 + kernel_linux? ( media-libs/alsa-lib )
100 + )
101 + sdl? (
102 + media-libs/libsdl2[X,opengl,video]
103 + media-libs/sdl2-image
104 + )
105 + vidstab? ( media-libs/vidstab )
106 + xine? ( >=media-libs/xine-lib-1.1.2_pre20060328-r7 )
107 + xml? ( >=dev-libs/libxml2-2.5 )"
108 +# java? ( >=virtual/jre-1.5 )
109 +# perl? ( dev-lang/perl )
110 +# php? ( dev-lang/php )
111 +# ruby? ( ${RUBY_DEPS} )
112 +# sox? ( media-sound/sox )
113 +# tcl? ( dev-lang/tcl:0= )
114 +RDEPEND="${DEPEND}"
115 +
116 +DOCS=( AUTHORS NEWS README docs/{framework,melt,mlt{++,-xml}}.txt )
117 +
118 +PATCHES=(
119 + "${FILESDIR}"/${PN}-6.10.0-swig-underlinking.patch
120 + "${FILESDIR}"/${PN}-6.22.1-no_lua_bdepend.patch
121 +)
122 +
123 +pkg_setup() {
124 + use python && python-single-r1_pkg_setup
125 +}
126 +
127 +src_prepare() {
128 + default
129 +
130 + # respect CFLAGS LDFLAGS when building shared libraries. Bug #308873
131 + for x in python lua; do
132 + sed -i "/mlt.so/s/ -lmlt++ /& ${CFLAGS} ${LDFLAGS} /" src/swig/$x/build || die
133 + done
134 +
135 + use python && python_fix_shebang src/swig/python
136 +}
137 +
138 +src_configure() {
139 + tc-export CC CXX
140 +
141 + local myconf=(
142 + --enable-gpl
143 + --enable-gpl3
144 + --enable-motion-est
145 + --target-arch=$(tc-arch)
146 + --disable-gtk2
147 + --disable-kde
148 + --disable-sdl
149 + --disable-swfdec
150 + $(use_enable debug)
151 + $(use_enable cpu_flags_x86_sse sse)
152 + $(use_enable cpu_flags_x86_sse2 sse2)
153 + $(use_enable ffmpeg avformat)
154 + $(use_enable fftw plus)
155 + $(use_enable frei0r)
156 + $(use_enable gtk gdk)
157 + $(use_enable jack jackrack)
158 + $(use_enable kdenlive)
159 + $(use_enable libsamplerate resample)
160 + $(use_enable melt)
161 + $(use_enable opencv)
162 + $(use_enable opengl)
163 + $(use_enable qt5 qt)
164 + $(use_enable rtaudio)
165 + $(use_enable sdl sdl2)
166 + $(use_enable vidstab vid.stab)
167 + $(use_enable xine)
168 + $(use_enable xml)
169 + --disable-sox
170 + )
171 + #$(use_enable sox) FIXME
172 +
173 + use compressed-lumas && myconf+=( --luma-compress )
174 + use ffmpeg && myconf+=( --avformat-swscale )
175 + use vdpau && myconf+=( --avformat-vdpau )
176 +
177 + if use qt5 ; then
178 + myconf+=(
179 + --qt-includedir=$(qt5_get_headerdir)
180 + --qt-libdir=$(qt5_get_libdir)
181 + )
182 + fi
183 +
184 + if use amd64 || use x86 ; then
185 + myconf+=( $(use_enable cpu_flags_x86_mmx mmx) )
186 + else
187 + myconf+=( --disable-mmx )
188 + fi
189 +
190 + if ! use melt ; then
191 + sed -i -e "s;src/melt;;" Makefile || die
192 + fi
193 +
194 + # TODO: add swig language bindings
195 + # see also https://www.mltframework.org/twiki/bin/view/MLT/ExtremeMakeover
196 +
197 + local swig_lang=()
198 + # not done: java perl php ruby tcl
199 + # handled separately: lua
200 + for i in python; do
201 + use $i && swig_lang+=( $i )
202 + done
203 + [[ -z "${swig_lang}" ]] && swig_lang=( none )
204 +
205 + econf "${myconf[@]}" --swig-languages="${swig_lang[*]}"
206 +
207 + sed -i -e s/^OPT/#OPT/ config.mak || die
208 +}
209 +
210 +src_compile() {
211 + default
212 +
213 + if use lua; then
214 + # Only copy sources now to avoid unnecessary rebuilds
215 + lua_copy_sources
216 +
217 + lua_compile() {
218 + pushd "${BUILD_DIR}"/src/swig/lua > /dev/null || die
219 +
220 + sed -i -e "s| mlt_wrap.cxx| $(lua_get_CFLAGS) mlt_wrap.cxx|" build || die
221 + ./build
222 +
223 + popd > /dev/null || die
224 + }
225 + lua_foreach_impl lua_compile
226 + fi
227 +}
228 +
229 +src_install() {
230 + default
231 +
232 + insinto /usr/share/${PN}
233 + doins -r demo
234 +
235 + #
236 + # Install SWIG bindings
237 + #
238 +
239 + docinto swig
240 +
241 + if use lua; then
242 + lua_install() {
243 + pushd "${BUILD_DIR}"/src/swig/lua > /dev/null || die
244 +
245 + exeinto "$(lua_get_cmod_dir)"
246 + doexe mlt.so
247 +
248 + popd > /dev/null || die
249 + }
250 + lua_foreach_impl lua_install
251 +
252 + dodoc "${S}"/src/swig/lua/play.lua
253 + fi
254 +
255 + if use python; then
256 + cd "${S}"/src/swig/python || die
257 + python_domodule mlt.py _mlt.so
258 + chmod +x "${D}$(python_get_sitedir)/_mlt.so" || die
259 + dodoc play.py
260 + python_optimize
261 + fi
262 +
263 + # not done: java perl php ruby tcl
264 +}