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: Tue, 31 Aug 2021 15:42:23
Message-Id: 1630424504.84161eaa6d7b02707901f5d45fb3692a6011f30e.asturm@gentoo
1 commit: 84161eaa6d7b02707901f5d45fb3692a6011f30e
2 Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
3 AuthorDate: Tue Aug 31 09:40:34 2021 +0000
4 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
5 CommitDate: Tue Aug 31 15:41:44 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=84161eaa
7
8 media-libs/mlt: Add missing IUSE=movit dep on media-libs/libglvnd
9
10 Package-Manager: Portage-3.0.22, Repoman-3.0.3
11 Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
12
13 media-libs/mlt/mlt-7.0.1-r2.ebuild | 157 +++++++++++++++++++++++++++++++++++++
14 1 file changed, 157 insertions(+)
15
16 diff --git a/media-libs/mlt/mlt-7.0.1-r2.ebuild b/media-libs/mlt/mlt-7.0.1-r2.ebuild
17 new file mode 100644
18 index 00000000000..0766ee0dea8
19 --- /dev/null
20 +++ b/media-libs/mlt/mlt-7.0.1-r2.ebuild
21 @@ -0,0 +1,157 @@
22 +# Copyright 1999-2021 Gentoo Authors
23 +# Distributed under the terms of the GNU General Public License v2
24 +
25 +EAPI=7
26 +
27 +PYTHON_COMPAT=( python3_{8,9,10} )
28 +inherit python-single-r1 cmake toolchain-funcs
29 +
30 +DESCRIPTION="Open source multimedia framework for television broadcasting"
31 +HOMEPAGE="https://www.mltframework.org/"
32 +SRC_URI="https://github.com/mltframework/${PN}/releases/download/v${PV}/${P}.tar.gz"
33 +
34 +LICENSE="GPL-3"
35 +SLOT="0/7"
36 +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
37 +IUSE="debug ffmpeg frei0r gtk jack kernel_linux libsamplerate opencv opengl python qt5 rtaudio rubberband sdl test vdpau vidstab xine xml"
38 +
39 +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
40 +
41 +# Needs unpackaged 'kwalify'
42 +RESTRICT="test"
43 +
44 +# rtaudio will use OSS on non linux OSes
45 +DEPEND="
46 + >=media-libs/libebur128-1.2.2:=
47 + ffmpeg? ( media-video/ffmpeg:0=[vdpau?,-flite] )
48 + frei0r? ( media-plugins/frei0r-plugins )
49 + gtk? (
50 + media-libs/libexif
51 + x11-libs/pango
52 + )
53 + jack? (
54 + >=dev-libs/libxml2-2.5
55 + media-libs/ladspa-sdk
56 + virtual/jack
57 + )
58 + libsamplerate? ( >=media-libs/libsamplerate-0.1.2 )
59 + opencv? ( >=media-libs/opencv-4.5.1:=[contrib] )
60 + opengl? (
61 + media-libs/libglvnd
62 + media-video/movit
63 + )
64 + python? ( ${PYTHON_DEPS} )
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 + sci-libs/fftw:3.0=
73 + x11-libs/libX11
74 + )
75 + rtaudio? (
76 + >=media-libs/rtaudio-4.1.2
77 + kernel_linux? ( media-libs/alsa-lib )
78 + )
79 + rubberband? ( media-libs/rubberband )
80 + sdl? (
81 + media-libs/libsdl2[X,opengl,video]
82 + media-libs/sdl2-image
83 + )
84 + vidstab? ( media-libs/vidstab )
85 + xine? ( >=media-libs/xine-lib-1.1.2_pre20060328-r7 )
86 + xml? ( >=dev-libs/libxml2-2.5 )
87 +"
88 +# java? ( >=virtual/jre-1.5 )
89 +# perl? ( dev-lang/perl )
90 +# php? ( dev-lang/php )
91 +# ruby? ( ${RUBY_DEPS} )
92 +# sox? ( media-sound/sox )
93 +# tcl? ( dev-lang/tcl:0= )
94 +RDEPEND="${DEPEND}"
95 +BDEPEND="
96 + virtual/pkgconfig
97 + python? ( >=dev-lang/swig-2.0 )
98 +"
99 +
100 +DOCS=( AUTHORS NEWS README.md )
101 +
102 +PATCHES=(
103 + "${FILESDIR}"/${PN}-6.10.0-swig-underlinking.patch
104 + "${FILESDIR}"/${PN}-6.22.1-no_lua_bdepend.patch
105 + "${FILESDIR}"/${PN}-7.0.1-cmake-symlink.patch
106 +)
107 +
108 +pkg_setup() {
109 + use python && python-single-r1_pkg_setup
110 +}
111 +
112 +src_prepare() {
113 + # respect CFLAGS LDFLAGS when building shared libraries. Bug #308873
114 + if use python; then
115 + sed -i "/mlt.so/s/ -lmlt++ /& ${CFLAGS} ${LDFLAGS} /" src/swig/python/build || die
116 + python_fix_shebang src/swig/python
117 + fi
118 +
119 + cmake_src_prepare
120 +}
121 +
122 +src_configure() {
123 + local mycmakeargs=(
124 + -DCMAKE_SKIP_RPATH=ON
125 + -DGPL=ON
126 + -DGPL3=ON
127 + -DBUILD_TESTING=$(usex test)
128 + -DMOD_KDENLIVE=ON
129 + -DMOD_SDL1=OFF
130 + -DMOD_SDL2=$(usex sdl)
131 + -DMOD_AVFORMAT=$(usex ffmpeg)
132 + # TODO: does anything need plus?
133 + # plus or qt
134 + #$(use_enable fftw plus)
135 + -DMOD_FREI0R=$(usex frei0r)
136 + -DMOD_GDK=$(usex gtk)
137 + -DMOD_JACKRACK=$(usex jack)
138 + -DMOD_RESAMPLE=$(usex libsamplerate)
139 + -DMOD_OPENCV=$(usex opencv)
140 + -DMOD_MOVIT=$(usex opengl)
141 + -DMOD_QT=$(usex qt5)
142 + -DMOD_RTAUDIO=$(usex rtaudio)
143 + -DMOD_RUBBERBAND=$(usex rubberband)
144 + -DMOD_VIDSTAB=$(usex vidstab)
145 + -DMOD_XINE=$(usex xine)
146 + -DMOD_XML=$(usex xml)
147 + -DMOD_SOX=OFF
148 + )
149 +
150 + # TODO: We currently have USE=fftw but both Qt and plus require it, removing flag for now.
151 + # TODO: rework upstream CMake to allow controlling MMX/SSE/SSE2
152 + # TODO: add swig language bindings?
153 + # see also https://www.mltframework.org/twiki/bin/view/MLT/ExtremeMakeover
154 +
155 + if use python; then
156 + mycmakeargs+=( -DSWIG_PYTHON=ON )
157 + fi
158 +
159 + cmake_src_configure
160 +}
161 +
162 +src_install() {
163 + cmake_src_install
164 +
165 + insinto /usr/share/${PN}
166 + doins -r demo
167 +
168 + #
169 + # Install SWIG bindings
170 + #
171 +
172 + docinto swig
173 +
174 + if use python; then
175 + dodoc "${S}"/src/swig/python/play.py
176 + python_optimize
177 + fi
178 +}