Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-libs/mlt/
Date: Thu, 23 Jun 2022 04:30:06
Message-Id: 1655958567.36908ac68542c6da8d7b35f5b6b2a35633af7da2.sam@gentoo
1 commit: 36908ac68542c6da8d7b35f5b6b2a35633af7da2
2 Author: Sam James <sam <AT> gentoo <DOT> org>
3 AuthorDate: Thu Jun 23 04:29:27 2022 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Thu Jun 23 04:29:27 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=36908ac6
7
8 media-libs/mlt: add 7.8.0
9
10 Signed-off-by: Sam James <sam <AT> gentoo.org>
11
12 media-libs/mlt/Manifest | 1 +
13 media-libs/mlt/mlt-7.8.0.ebuild | 158 ++++++++++++++++++++++++++++++++++++++++
14 2 files changed, 159 insertions(+)
15
16 diff --git a/media-libs/mlt/Manifest b/media-libs/mlt/Manifest
17 index 6fa703820934..b5716988ed87 100644
18 --- a/media-libs/mlt/Manifest
19 +++ b/media-libs/mlt/Manifest
20 @@ -1,2 +1,3 @@
21 DIST mlt-7.4.0.tar.gz 1206316 BLAKE2B 56e6ea7a5545b80de45cffd206e555a577ada8e59f9b63c6487491e130ba7e4fdca5dc1b3836fcff22d49b6dcb048779dc8db1e9888b1137653c80196bdb81e2 SHA512 e9a65e76ca0a2464fb923d19d6f21bd49f13d637b0a974eeeb1e123ab753914d742e373f9fdcfe07cdeb9f39ebd2f0dde75a7299c0b6cd4807ee48ec710b3fd4
22 DIST mlt-7.6.0.tar.gz 1217853 BLAKE2B 5faa8ad518871d8d690cd0c018bebfa258daef03cf0d95cda1aeb21848ee008ec5e5e2a76ab52085cdd11b7f60f9c3248eedc05779a84d0cb33118ef98154374 SHA512 203ea7184e03246a8fcf7d284c7c7b26f57ab27867e97c43d9cf26c3906f6358f361d95593aa47abe79654106b934ffe997335304df967a40742ba060d2e4f38
23 +DIST mlt-7.8.0.tar.gz 1221406 BLAKE2B d3b83663fc9960957e4eb3aac26ce52fbe2c1b168190c8e9da4e5ef0740f10340f251931ac119d20162f583ce1248a0cebb5e3b48958d69ec1d5638dd0d0eaf6 SHA512 da24e59a8fab719eb5352fd3583578938e7f2161f022747e476fe817746ea4c44b8e4319d1b7fefcf075087c255664efdbed1ce81dd22904b68335b5b218f7b2
24
25 diff --git a/media-libs/mlt/mlt-7.8.0.ebuild b/media-libs/mlt/mlt-7.8.0.ebuild
26 new file mode 100644
27 index 000000000000..0415d23c4499
28 --- /dev/null
29 +++ b/media-libs/mlt/mlt-7.8.0.ebuild
30 @@ -0,0 +1,158 @@
31 +# Copyright 1999-2022 Gentoo Authors
32 +# Distributed under the terms of the GNU General Public License v2
33 +
34 +EAPI=8
35 +
36 +PYTHON_COMPAT=( python3_{8..10} )
37 +inherit python-single-r1 cmake
38 +
39 +DESCRIPTION="Open source multimedia framework for television broadcasting"
40 +HOMEPAGE="https://www.mltframework.org/"
41 +SRC_URI="https://github.com/mltframework/${PN}/releases/download/v${PV}/${P}.tar.gz"
42 +
43 +LICENSE="GPL-3"
44 +SLOT="0/7"
45 +KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
46 +IUSE="debug ffmpeg frei0r gtk jack libsamplerate opencv opengl python qt5 rtaudio rubberband sdl test vdpau vidstab xine xml"
47 +
48 +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
49 +
50 +# Needs unpackaged 'kwalify'
51 +RESTRICT="test"
52 +
53 +# rtaudio will use OSS on non linux OSes
54 +# Qt already needs FFTW/PLUS so let's just always have it on to ensure
55 +# MLT is useful: bug #603168.
56 +DEPEND="
57 + >=media-libs/libebur128-1.2.2:=
58 + sci-libs/fftw:3.0=
59 + ffmpeg? ( media-video/ffmpeg:0=[vdpau?,-flite] )
60 + frei0r? ( media-plugins/frei0r-plugins )
61 + gtk? (
62 + media-libs/libexif
63 + x11-libs/pango
64 + )
65 + jack? (
66 + >=dev-libs/libxml2-2.5
67 + media-libs/ladspa-sdk
68 + virtual/jack
69 + )
70 + libsamplerate? ( >=media-libs/libsamplerate-0.1.2 )
71 + opencv? ( >=media-libs/opencv-4.5.1:=[contrib] )
72 + opengl? (
73 + media-libs/libglvnd
74 + media-video/movit
75 + )
76 + python? ( ${PYTHON_DEPS} )
77 + qt5? (
78 + dev-qt/qtcore:5
79 + dev-qt/qtgui:5
80 + dev-qt/qtsvg:5
81 + dev-qt/qtwidgets:5
82 + dev-qt/qtxml:5
83 + media-libs/libexif
84 + x11-libs/libX11
85 + )
86 + rtaudio? (
87 + >=media-libs/rtaudio-4.1.2
88 + kernel_linux? ( media-libs/alsa-lib )
89 + )
90 + rubberband? ( media-libs/rubberband )
91 + sdl? (
92 + media-libs/libsdl2[X,opengl,video]
93 + media-libs/sdl2-image
94 + )
95 + vidstab? ( media-libs/vidstab )
96 + xine? ( >=media-libs/xine-lib-1.1.2_pre20060328-r7 )
97 + xml? ( >=dev-libs/libxml2-2.5 )
98 +"
99 +# java? ( >=virtual/jre-1.8:* )
100 +# perl? ( dev-lang/perl )
101 +# php? ( dev-lang/php )
102 +# ruby? ( ${RUBY_DEPS} )
103 +# sox? ( media-sound/sox )
104 +# tcl? ( dev-lang/tcl:0= )
105 +RDEPEND="${DEPEND}"
106 +BDEPEND="
107 + virtual/pkgconfig
108 + python? ( >=dev-lang/swig-2.0 )
109 +"
110 +
111 +DOCS=( AUTHORS NEWS README.md )
112 +
113 +PATCHES=(
114 + "${FILESDIR}"/${PN}-6.10.0-swig-underlinking.patch
115 + "${FILESDIR}"/${PN}-6.22.1-no_lua_bdepend.patch
116 + "${FILESDIR}"/${PN}-7.0.1-cmake-symlink.patch
117 +)
118 +
119 +pkg_setup() {
120 + use python && python-single-r1_pkg_setup
121 +}
122 +
123 +src_prepare() {
124 + # Respect CFLAGS LDFLAGS when building shared libraries. Bug #308873
125 + if use python; then
126 + sed -i "/mlt.so/s/ -lmlt++ /& ${CFLAGS} ${LDFLAGS} /" src/swig/python/build || die
127 + python_fix_shebang src/swig/python
128 + fi
129 +
130 + cmake_src_prepare
131 +}
132 +
133 +src_configure() {
134 + local mycmakeargs=(
135 + -DCMAKE_SKIP_RPATH=ON
136 + -DBUILD_WITH_QT6=OFF
137 + -DGPL=ON
138 + -DGPL3=ON
139 + -DBUILD_TESTING=$(usex test)
140 + -DMOD_KDENLIVE=ON
141 + -DMOD_SDL1=OFF
142 + -DMOD_SDL2=$(usex sdl)
143 + -DMOD_AVFORMAT=$(usex ffmpeg)
144 + -DMOD_PLUS=ON
145 + -DMOD_FREI0R=$(usex frei0r)
146 + -DMOD_GDK=$(usex gtk)
147 + -DMOD_JACKRACK=$(usex jack)
148 + -DMOD_GLAXNIMATE=OFF
149 + -DMOD_RESAMPLE=$(usex libsamplerate)
150 + -DMOD_OPENCV=$(usex opencv)
151 + -DMOD_MOVIT=$(usex opengl)
152 + -DMOD_QT=$(usex qt5)
153 + -DMOD_RTAUDIO=$(usex rtaudio)
154 + -DMOD_RUBBERBAND=$(usex rubberband)
155 + -DMOD_VIDSTAB=$(usex vidstab)
156 + -DMOD_XINE=$(usex xine)
157 + -DMOD_XML=$(usex xml)
158 + -DMOD_SOX=OFF
159 + )
160 +
161 + # TODO: rework upstream CMake to allow controlling MMX/SSE/SSE2
162 + # TODO: add swig language bindings?
163 + # see also https://www.mltframework.org/twiki/bin/view/MLT/ExtremeMakeover
164 +
165 + if use python; then
166 + mycmakeargs+=( -DSWIG_PYTHON=ON )
167 + fi
168 +
169 + cmake_src_configure
170 +}
171 +
172 +src_install() {
173 + cmake_src_install
174 +
175 + insinto /usr/share/${PN}
176 + doins -r demo
177 +
178 + #
179 + # Install SWIG bindings
180 + #
181 +
182 + docinto swig
183 +
184 + if use python; then
185 + dodoc "${S}"/src/swig/python/play.py
186 + python_optimize
187 + fi
188 +}