We have moved to Git. This repository is only provided for compatibility with old installations. Learn how to migrate your installation here.

comparison media-libs/mlt/mlt-7.24.0-r1.ebuild @ 267:3ea8643fd217

[sync] imported 6e83727..5f8a98e from upstream commit 5f8a98e9c4086d481e1bcfdfac5553aba0f65087 Author: Daniel Neugebauer <dneuge@energiequant.de> Date: Thu Jan 2 12:53:32 2025 +0100 media-sound/yabridge-bin: added 5.1.1 commit 9c160cb6e5ae191039168b1f93a1a190460e0218 Author: Daniel Neugebauer <dneuge@energiequant.de> Date: Thu Jan 2 11:31:20 2025 +0100 media-libs/mlt-7.24.0-r1: restored from official portage tree as it is needed by kde-apps/kdenlive:23.08.5 (pulled in by kde-apps/kdemultimedia-meta for KDE 5)
author Migration Sync <gentoo-overlay@megacoffee.net>
date Thu, 02 Jan 2025 12:00:01 +0000
parents
children
comparison
equal deleted inserted replaced
266:ece4c118e053 267:3ea8643fd217
1 # Copyright 1999-2024 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=8
5
6 PYTHON_COMPAT=( python3_{9..12} )
7 inherit python-single-r1 cmake flag-o-matic
8
9 DESCRIPTION="Open source multimedia framework for television broadcasting"
10 HOMEPAGE="https://www.mltframework.org/"
11 SRC_URI="https://github.com/mltframework/${PN}/releases/download/v${PV}/${P}.tar.gz"
12
13 LICENSE="GPL-3"
14 SLOT="0/7"
15 KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
16 IUSE="debug ffmpeg frei0r gtk jack libsamplerate opencv opengl python qt5 qt6 rtaudio rubberband sdl test vdpau vidstab xine xml"
17
18 REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
19
20 # Needs unpackaged 'kwalify'
21 RESTRICT="test"
22
23 # rtaudio will use OSS on non linux OSes
24 # Qt already needs FFTW/PLUS so let's just always have it on to ensure
25 # MLT is useful: bug #603168.
26 DEPEND="
27 >=media-libs/libebur128-1.2.2:=
28 sci-libs/fftw:3.0=
29 ffmpeg? ( media-video/ffmpeg:0=[vdpau?] )
30 frei0r? ( media-plugins/frei0r-plugins )
31 gtk? (
32 media-libs/libexif
33 x11-libs/pango
34 )
35 jack? (
36 >=dev-libs/libxml2-2.5
37 media-libs/ladspa-sdk
38 virtual/jack
39 )
40 libsamplerate? ( >=media-libs/libsamplerate-0.1.2 )
41 opencv? ( >=media-libs/opencv-4.5.1:=[contrib] )
42 opengl? (
43 media-libs/libglvnd
44 media-video/movit
45 )
46 python? ( ${PYTHON_DEPS} )
47 qt5? (
48 dev-qt/qtcore:5
49 dev-qt/qtgui:5
50 dev-qt/qtnetwork:5
51 dev-qt/qtsvg:5
52 dev-qt/qtwidgets:5
53 dev-qt/qtxml:5
54 media-libs/libexif
55 x11-libs/libX11
56 )
57 qt6? (
58 dev-qt/qt5compat:6
59 dev-qt/qtbase:6[gui,network,opengl,widgets,xml]
60 dev-qt/qtsvg:6
61 media-libs/libexif
62 x11-libs/libX11
63 )
64 rtaudio? (
65 >=media-libs/rtaudio-4.1.2
66 kernel_linux? ( media-libs/alsa-lib )
67 )
68 rubberband? ( media-libs/rubberband:= )
69 sdl? (
70 media-libs/libsdl2[X,opengl,video]
71 media-libs/sdl2-image
72 )
73 vidstab? ( media-libs/vidstab )
74 xine? ( >=media-libs/xine-lib-1.1.2_pre20060328-r7 )
75 xml? ( >=dev-libs/libxml2-2.5 )
76 "
77 # java? ( >=virtual/jre-1.8:* )
78 # perl? ( dev-lang/perl )
79 # php? ( dev-lang/php )
80 # ruby? ( ${RUBY_DEPS} )
81 # sox? ( media-sound/sox )
82 # tcl? ( dev-lang/tcl:0= )
83 RDEPEND="${DEPEND}"
84 BDEPEND="
85 virtual/pkgconfig
86 python? ( >=dev-lang/swig-2.0 )
87 "
88
89 DOCS=( AUTHORS NEWS README.md )
90
91 PATCHES=(
92 # downstream
93 "${FILESDIR}"/${PN}-6.10.0-swig-underlinking.patch
94 "${FILESDIR}"/${PN}-6.22.1-no_lua_bdepend.patch
95 "${FILESDIR}"/${PN}-7.0.1-cmake-symlink.patch
96 )
97
98 pkg_setup() {
99 use python && python-single-r1_pkg_setup
100 }
101
102 src_prepare() {
103 # Respect CFLAGS LDFLAGS when building shared libraries. Bug #308873
104 if use python; then
105 sed -i "/mlt.so/s/ -lmlt++ /& ${CFLAGS} ${LDFLAGS} /" src/swig/python/build || die
106 python_fix_shebang src/swig/python
107 fi
108
109 cmake_src_prepare
110 }
111
112 src_configure() {
113 # Workaround for bug #919981
114 append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
115
116 local mycmakeargs=(
117 -DCMAKE_SKIP_RPATH=ON
118 -DCLANG_FORMAT=OFF
119 -DGPL=ON
120 -DGPL3=ON
121 -DBUILD_TESTING=$(usex test)
122 -DMOD_KDENLIVE=ON
123 -DMOD_SDL1=OFF
124 -DMOD_SDL2=$(usex sdl)
125 -DMOD_AVFORMAT=$(usex ffmpeg)
126 -DMOD_PLUS=ON
127 -DMOD_FREI0R=$(usex frei0r)
128 -DMOD_GDK=$(usex gtk)
129 -DMOD_JACKRACK=$(usex jack)
130 -DMOD_RESAMPLE=$(usex libsamplerate)
131 -DMOD_OPENCV=$(usex opencv)
132 -DMOD_SPATIALAUDIO=OFF # TODO: package libspatialaudio
133 -DMOD_MOVIT=$(usex opengl)
134 -DMOD_QT=$(usex qt5)
135 -DMOD_GLAXNIMATE=$(usex qt5)
136 -DMOD_QT6=$(usex qt6)
137 -DMOD_GLAXNIMATE_QT6=$(usex qt6)
138 -DMOD_RTAUDIO=$(usex rtaudio)
139 -DMOD_RUBBERBAND=$(usex rubberband)
140 -DMOD_VIDSTAB=$(usex vidstab)
141 -DMOD_XINE=$(usex xine)
142 -DMOD_XML=$(usex xml)
143 -DMOD_SOX=OFF
144 )
145
146 # TODO: rework upstream CMake to allow controlling MMX/SSE/SSE2
147 # TODO: add swig language bindings?
148 # see also https://www.mltframework.org/twiki/bin/view/MLT/ExtremeMakeover
149
150 if use python; then
151 mycmakeargs+=(
152 -DSWIG_PYTHON=ON
153 -DPython3_EXECUTABLE="${PYTHON}"
154 )
155 fi
156
157 cmake_src_configure
158 }
159
160 src_install() {
161 cmake_src_install
162
163 insinto /usr/share/${PN}
164 doins -r demo
165
166 #
167 # Install SWIG bindings
168 #
169
170 docinto swig
171
172 if use python; then
173 dodoc "${S}"/src/swig/python/play.py
174 python_optimize
175 fi
176 }