Gentoo Archives: gentoo-commits

From: Alexis Ballier <aballier@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-video/ffmpeg/
Date: Mon, 02 Sep 2019 12:00:25
Message-Id: 1567425589.4ccaf3ada986600fe861ceb6033ff9c0c6175847.aballier@gentoo
1 commit: 4ccaf3ada986600fe861ceb6033ff9c0c6175847
2 Author: Alexis Ballier <aballier <AT> gentoo <DOT> org>
3 AuthorDate: Mon Sep 2 10:47:51 2019 +0000
4 Commit: Alexis Ballier <aballier <AT> gentoo <DOT> org>
5 CommitDate: Mon Sep 2 11:59:49 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4ccaf3ad
7
8 media-video/ffmpeg: Remove old
9
10 Package-Manager: Portage-2.3.73, Repoman-2.3.17
11 Signed-off-by: Alexis Ballier <aballier <AT> gentoo.org>
12
13 media-video/ffmpeg/Manifest | 3 -
14 media-video/ffmpeg/ffmpeg-3.4.5.ebuild | 488 ------------------------------
15 media-video/ffmpeg/ffmpeg-3.4.6.ebuild | 488 ------------------------------
16 media-video/ffmpeg/ffmpeg-4.1.1.ebuild | 528 ---------------------------------
17 media-video/ffmpeg/ffmpeg-4.1.2.ebuild | 528 ---------------------------------
18 5 files changed, 2035 deletions(-)
19
20 diff --git a/media-video/ffmpeg/Manifest b/media-video/ffmpeg/Manifest
21 index e9f02b9e227..a7e874be51b 100644
22 --- a/media-video/ffmpeg/Manifest
23 +++ b/media-video/ffmpeg/Manifest
24 @@ -1,7 +1,4 @@
25 -DIST ffmpeg-3.4.5.tar.bz2 10183082 BLAKE2B f72157baefcd6a0ca8f389309bbe947ad21996e0f2eb3c46c6bfc90f1ebbb14bfd007d001e46ea51efef5db5f9fcee24b1a90b6862136aeebecdc95bb61b23a5 SHA512 e12707d47404a9ce02790b77d2852fc1a1573c8108e980c7355fa48ba891d1649464d4fe4d08394ecd6d871f651ac4388486b7654cb54a7aaeedaf05c55513ec
26 DIST ffmpeg-3.4.6.tar.bz2 10190001 BLAKE2B 4c7842900171cf871f8524f08f435797b1a168faa11877100fe74c3ecd4a2c2e004a5110dc23bda818f69b0a484f63d8f34c7904c4827c88894d877cdd70c6fe SHA512 0228751b288096e368f9049854936930b7c1fd89aac31a5382f5de78d3282b4e86a6f562c79833d1635222f0ad56b2e5401a150574714e1b7e0ab4f5d8939812
27 -DIST ffmpeg-4.1.1.tar.bz2 10686360 BLAKE2B 47f4716d7e184d7318eb1a99ab1cdc188009464e973162e583f7ca4ae79fa3b103f9d5329c8993b72d20667e42e5a749123709a4640f07762568300b5c3c897f SHA512 0241c44e1dffd0d890a3d30a1b2387ea167d578bb39ba0c804fb417e132d343a9e43da9247b205e18b893d8cf75d8528e9971569be67ac380b88618ef0a75ed4
28 -DIST ffmpeg-4.1.2.tar.bz2 10687366 BLAKE2B c69cc693078f40610c4414f01ed20f89a85db398b3177d8d79a6f58f2d48b6a8049a2bc622933e0ae0a2889f635c25ccf1c5856cb86a4d98bb0bc2308188ae86 SHA512 6c3bf20d46772a80299c9d385919a745e4022c0a9b3c438c0504d3c94bb8d472f2c9026105330fa7c50c2f23f511eb853f32e4387f73c0b7b0d0761c20cb8b31
29 DIST ffmpeg-4.1.3.tar.bz2 10689073 BLAKE2B 8486e21c8df116af802bb7f9208e702ec1feaa4f292f14021e0b6bfb3957b13ddacfa87db361e677ae0583cc2bd1d402a66b0c8507cbed79a001c9b8462100bf SHA512 d0f8b3ee7b55e67b1c7ad9610a7b19a15acfc35dc843683502e536ebcc2e8678b55325532c0039b764cc978e95f83afb48bd24304abaee26f26d3247a8310bfe
30 DIST ffmpeg-4.1.4.tar.bz2 10691784 BLAKE2B 5f1f0b3c78cdd913e44bef448ff4d26fc5ea01e1a002baf98461fe0d8870bc2b0f29a1770377df8ff4f0c45febd532d6436c6627f5d1fb97125e92d9929f9284 SHA512 0c2d5bf4873b2bf12aff8c8b576d58dc3c5984ca727f48e1247293cbebda382e9070e8b7fac99870ec2ae0cef3be0a187d5ec5d58ee3e861cd673cae961b5947
31 DIST ffmpeg-4.2.tar.bz2 10954171 BLAKE2B 1c2dfeb000a0cc85ca23d255163336db132b5f16cb184a0f3363f68108f5bde0220050b351f9c50273ef6642f86f1a43832f4b831928d95dd991a908c7c25e2e SHA512 74d06a420af61e05d9e076f4f433e8316590c3b850ada96e74c1df39431db1595f74315bdef624153edb160b8bef8683a4e9f35d69714cde4b5ec72aeb1d28e1
32
33 diff --git a/media-video/ffmpeg/ffmpeg-3.4.5.ebuild b/media-video/ffmpeg/ffmpeg-3.4.5.ebuild
34 deleted file mode 100644
35 index 6718843acf2..00000000000
36 --- a/media-video/ffmpeg/ffmpeg-3.4.5.ebuild
37 +++ /dev/null
38 @@ -1,488 +0,0 @@
39 -# Copyright 1999-2019 Gentoo Authors
40 -# Distributed under the terms of the GNU General Public License v2
41 -
42 -EAPI=6
43 -
44 -# Subslot: libavutil major.libavcodec major.libavformat major
45 -# Since FFmpeg ships several libraries, subslot is kind of limited here.
46 -# Most consumers will use those three libraries, if a "less used" library
47 -# changes its soname, consumers will have to be rebuilt the old way
48 -# (preserve-libs).
49 -# If, for example, a package does not link to libavformat and only libavformat
50 -# changes its ABI then this package will be rebuilt needlessly. Hence, such a
51 -# package is free _not_ to := depend on FFmpeg but I would strongly encourage
52 -# doing so since such a case is unlikely.
53 -FFMPEG_SUBSLOT=55.57.57
54 -
55 -SCM=""
56 -if [ "${PV#9999}" != "${PV}" ] ; then
57 - SCM="git-r3"
58 - EGIT_REPO_URI="git://source.ffmpeg.org/ffmpeg.git"
59 -fi
60 -
61 -inherit eutils flag-o-matic multilib multilib-minimal toolchain-funcs ${SCM}
62 -
63 -DESCRIPTION="Complete solution to record, convert and stream audio and video. Includes libavcodec"
64 -HOMEPAGE="http://ffmpeg.org/"
65 -if [ "${PV#9999}" != "${PV}" ] ; then
66 - SRC_URI=""
67 -elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot
68 - SRC_URI="mirror://gentoo/${P}.tar.bz2"
69 -else # Release
70 - SRC_URI="http://ffmpeg.org/releases/${P/_/-}.tar.bz2"
71 -fi
72 -FFMPEG_REVISION="${PV#*_p}"
73 -
74 -SLOT="0/${FFMPEG_SUBSLOT}"
75 -LICENSE="
76 - !gpl? ( LGPL-2.1 )
77 - gpl? ( GPL-2 )
78 - amr? (
79 - gpl? ( GPL-3 )
80 - !gpl? ( LGPL-3 )
81 - )
82 - gmp? (
83 - gpl? ( GPL-3 )
84 - !gpl? ( LGPL-3 )
85 - )
86 - encode? (
87 - amrenc? (
88 - gpl? ( GPL-3 )
89 - !gpl? ( LGPL-3 )
90 - )
91 - )
92 - samba? ( GPL-3 )
93 -"
94 -if [ "${PV#9999}" = "${PV}" ] ; then
95 - KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~mips ppc ppc64 x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
96 -fi
97 -
98 -# Options to use as use_enable in the foo[:bar] form.
99 -# This will feed configure with $(use_enable foo bar)
100 -# or $(use_enable foo foo) if no :bar is set.
101 -# foo is added to IUSE.
102 -FFMPEG_FLAG_MAP=(
103 - +bzip2:bzlib cpudetection:runtime-cpudetect debug gcrypt gnutls gmp
104 - +gpl +hardcoded-tables +iconv lzma +network opencl openssl +postproc
105 - samba:libsmbclient sdl:ffplay sdl:sdl2 vaapi vdpau X:xlib xcb:libxcb
106 - xcb:libxcb-shm xcb:libxcb-xfixes +zlib
107 - # libavdevice options
108 - cdio:libcdio iec61883:libiec61883 ieee1394:libdc1394 libcaca openal
109 - opengl
110 - # indevs
111 - libv4l:libv4l2 pulseaudio:libpulse libdrm
112 - # decoders
113 - amr:libopencore-amrwb amr:libopencore-amrnb fdk:libfdk-aac
114 - jpeg2k:libopenjpeg bluray:libbluray gme:libgme gsm:libgsm
115 - mmal modplug:libmodplug opus:libopus libilbc librtmp ssh:libssh
116 - speex:libspeex svg:librsvg vorbis:libvorbis
117 - vpx:libvpx zvbi:libzvbi
118 - # libavfilter options
119 - appkit
120 - bs2b:libbs2b chromaprint flite:libflite frei0r
121 - fribidi:libfribidi fontconfig ladspa libass truetype:libfreetype
122 - rubberband:librubberband zeromq:libzmq zimg:libzimg
123 - # libswresample options
124 - libsoxr
125 - # Threads; we only support pthread for now but ffmpeg supports more
126 - +threads:pthreads
127 -)
128 -
129 -# Same as above but for encoders, i.e. they do something only with USE=encode.
130 -FFMPEG_ENCODER_FLAG_MAP=(
131 - amrenc:libvo-amrwbenc mp3:libmp3lame
132 - kvazaar:libkvazaar nvenc:nvenc
133 - openh264:libopenh264 snappy:libsnappy theora:libtheora twolame:libtwolame
134 - wavpack:libwavpack webp:libwebp x264:libx264 x265:libx265 xvid:libxvid
135 -)
136 -
137 -IUSE="
138 - alsa chromium doc +encode jack oss pic static-libs test v4l
139 - ${FFMPEG_FLAG_MAP[@]%:*}
140 - ${FFMPEG_ENCODER_FLAG_MAP[@]%:*}
141 -"
142 -
143 -# Strings for CPU features in the useflag[:configure_option] form
144 -# if :configure_option isn't set, it will use 'useflag' as configure option
145 -ARM_CPU_FEATURES=(
146 - cpu_flags_arm_thumb:armv5te
147 - cpu_flags_arm_v6:armv6
148 - cpu_flags_arm_thumb2:armv6t2
149 - cpu_flags_arm_neon:neon
150 - cpu_flags_arm_vfp:vfp
151 - cpu_flags_arm_vfpv3:vfpv3
152 - cpu_flags_arm_v8:armv8
153 -)
154 -ARM_CPU_REQUIRED_USE="
155 - arm64? ( cpu_flags_arm_v8 )
156 - cpu_flags_arm_v8? ( cpu_flags_arm_vfpv3 cpu_flags_arm_neon )
157 - cpu_flags_arm_neon? ( cpu_flags_arm_thumb2 cpu_flags_arm_vfp )
158 - cpu_flags_arm_vfpv3? ( cpu_flags_arm_vfp )
159 - cpu_flags_arm_thumb2? ( cpu_flags_arm_v6 )
160 - cpu_flags_arm_v6? ( cpu_flags_arm_thumb )
161 -"
162 -MIPS_CPU_FEATURES=( mipsdspr1:mipsdsp mipsdspr2 mipsfpu )
163 -PPC_CPU_FEATURES=( altivec )
164 -X86_CPU_FEATURES_RAW=( 3dnow:amd3dnow 3dnowext:amd3dnowext aes:aesni avx:avx avx2:avx2 fma3:fma3 fma4:fma4 mmx:mmx mmxext:mmxext sse:sse sse2:sse2 sse3:sse3 ssse3:ssse3 sse4_1:sse4 sse4_2:sse42 xop:xop )
165 -X86_CPU_FEATURES=( ${X86_CPU_FEATURES_RAW[@]/#/cpu_flags_x86_} )
166 -X86_CPU_REQUIRED_USE="
167 - cpu_flags_x86_avx2? ( cpu_flags_x86_avx )
168 - cpu_flags_x86_fma4? ( cpu_flags_x86_avx )
169 - cpu_flags_x86_fma3? ( cpu_flags_x86_avx )
170 - cpu_flags_x86_xop? ( cpu_flags_x86_avx )
171 - cpu_flags_x86_avx? ( cpu_flags_x86_sse4_2 )
172 - cpu_flags_x86_aes? ( cpu_flags_x86_sse4_2 )
173 - cpu_flags_x86_sse4_2? ( cpu_flags_x86_sse4_1 )
174 - cpu_flags_x86_sse4_1? ( cpu_flags_x86_ssse3 )
175 - cpu_flags_x86_ssse3? ( cpu_flags_x86_sse3 )
176 - cpu_flags_x86_sse3? ( cpu_flags_x86_sse2 )
177 - cpu_flags_x86_sse2? ( cpu_flags_x86_sse )
178 - cpu_flags_x86_sse? ( cpu_flags_x86_mmxext )
179 - cpu_flags_x86_mmxext? ( cpu_flags_x86_mmx )
180 - cpu_flags_x86_3dnowext? ( cpu_flags_x86_3dnow )
181 - cpu_flags_x86_3dnow? ( cpu_flags_x86_mmx )
182 -"
183 -
184 -CPU_FEATURES_MAP=(
185 - ${ARM_CPU_FEATURES[@]}
186 - ${MIPS_CPU_FEATURES[@]}
187 - ${PPC_CPU_FEATURES[@]}
188 - ${X86_CPU_FEATURES[@]}
189 -)
190 -IUSE="${IUSE}
191 - ${CPU_FEATURES_MAP[@]%:*}"
192 -
193 -CPU_REQUIRED_USE="
194 - ${ARM_CPU_REQUIRED_USE}
195 - ${X86_CPU_REQUIRED_USE}
196 -"
197 -
198 -FFTOOLS=( aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt graph2dot ismindex pktdumper qt-faststart sidxindex trasher )
199 -IUSE="${IUSE} ${FFTOOLS[@]/#/+fftools_}"
200 -
201 -RDEPEND="
202 - alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] )
203 - amr? ( >=media-libs/opencore-amr-0.1.3-r1[${MULTILIB_USEDEP}] )
204 - bluray? ( >=media-libs/libbluray-0.3.0-r1:=[${MULTILIB_USEDEP}] )
205 - bs2b? ( >=media-libs/libbs2b-3.1.0-r1[${MULTILIB_USEDEP}] )
206 - bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] )
207 - cdio? ( >=dev-libs/libcdio-paranoia-0.90_p1-r1[${MULTILIB_USEDEP}] )
208 - chromaprint? ( >=media-libs/chromaprint-1.2-r1[${MULTILIB_USEDEP}] )
209 - encode? (
210 - amrenc? ( >=media-libs/vo-amrwbenc-0.1.2-r1[${MULTILIB_USEDEP}] )
211 - kvazaar? ( media-libs/kvazaar[${MULTILIB_USEDEP}] )
212 - mp3? ( >=media-sound/lame-3.99.5-r1[${MULTILIB_USEDEP}] )
213 - nvenc? ( media-video/nvidia_video_sdk )
214 - openh264? ( >=media-libs/openh264-1.4.0-r1[${MULTILIB_USEDEP}] )
215 - snappy? ( >=app-arch/snappy-1.1.2-r1:=[${MULTILIB_USEDEP}] )
216 - theora? (
217 - >=media-libs/libtheora-1.1.1[encode,${MULTILIB_USEDEP}]
218 - >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
219 - )
220 - twolame? ( >=media-sound/twolame-0.3.13-r1[${MULTILIB_USEDEP}] )
221 - wavpack? ( >=media-sound/wavpack-4.60.1-r1[${MULTILIB_USEDEP}] )
222 - webp? ( >=media-libs/libwebp-0.3.0:=[${MULTILIB_USEDEP}] )
223 - x264? ( >=media-libs/x264-0.0.20130506:=[${MULTILIB_USEDEP}] )
224 - x265? ( >=media-libs/x265-1.6:=[${MULTILIB_USEDEP}] )
225 - xvid? ( >=media-libs/xvid-1.3.2-r1[${MULTILIB_USEDEP}] )
226 - )
227 - fdk? ( >=media-libs/fdk-aac-0.1.3:=[${MULTILIB_USEDEP}] )
228 - flite? ( >=app-accessibility/flite-1.4-r4[${MULTILIB_USEDEP}] )
229 - fontconfig? ( >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}] )
230 - frei0r? ( media-plugins/frei0r-plugins )
231 - fribidi? ( >=dev-libs/fribidi-0.19.6[${MULTILIB_USEDEP}] )
232 - gcrypt? ( >=dev-libs/libgcrypt-1.6:0=[${MULTILIB_USEDEP}] )
233 - gme? ( >=media-libs/game-music-emu-0.6.0[${MULTILIB_USEDEP}] )
234 - gmp? ( >=dev-libs/gmp-6:0=[${MULTILIB_USEDEP}] )
235 - gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] )
236 - gsm? ( >=media-sound/gsm-1.0.13-r1[${MULTILIB_USEDEP}] )
237 - iconv? ( >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] )
238 - iec61883? (
239 - >=media-libs/libiec61883-1.2.0-r1[${MULTILIB_USEDEP}]
240 - >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}]
241 - >=sys-libs/libavc1394-0.5.4-r1[${MULTILIB_USEDEP}]
242 - )
243 - ieee1394? (
244 - >=media-libs/libdc1394-2.2.1[${MULTILIB_USEDEP}]
245 - >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}]
246 - )
247 - jack? ( virtual/jack[${MULTILIB_USEDEP}] )
248 - jpeg2k? ( >=media-libs/openjpeg-2:2[${MULTILIB_USEDEP}] )
249 - libass? ( >=media-libs/libass-0.10.2:=[${MULTILIB_USEDEP}] )
250 - libcaca? ( >=media-libs/libcaca-0.99_beta18-r1[${MULTILIB_USEDEP}] )
251 - libdrm? ( x11-libs/libdrm[${MULTILIB_USEDEP}] )
252 - libilbc? ( >=media-libs/libilbc-2[${MULTILIB_USEDEP}] )
253 - libsoxr? ( >=media-libs/soxr-0.1.0[${MULTILIB_USEDEP}] )
254 - libv4l? ( >=media-libs/libv4l-0.9.5[${MULTILIB_USEDEP}] )
255 - lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] )
256 - mmal? ( media-libs/raspberrypi-userland )
257 - modplug? ( >=media-libs/libmodplug-0.8.8.4-r1[${MULTILIB_USEDEP}] )
258 - openal? ( >=media-libs/openal-1.15.1[${MULTILIB_USEDEP}] )
259 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
260 - opengl? ( >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}] )
261 - openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
262 - opus? ( >=media-libs/opus-1.0.2-r2[${MULTILIB_USEDEP}] )
263 - pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${MULTILIB_USEDEP}] )
264 - librtmp? ( >=media-video/rtmpdump-2.4_p20131018[${MULTILIB_USEDEP}] )
265 - rubberband? ( >=media-libs/rubberband-1.8.1-r1[${MULTILIB_USEDEP}] )
266 - samba? ( >=net-fs/samba-3.6.23-r1[client,${MULTILIB_USEDEP}] )
267 - sdl? ( media-libs/libsdl2[sound,video,${MULTILIB_USEDEP}] )
268 - speex? ( >=media-libs/speex-1.2_rc1-r1[${MULTILIB_USEDEP}] )
269 - ssh? ( >=net-libs/libssh-0.5.5[${MULTILIB_USEDEP}] )
270 - svg? ( gnome-base/librsvg:2=[${MULTILIB_USEDEP}] )
271 - truetype? ( >=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}] )
272 - vaapi? ( >=x11-libs/libva-1.2.1-r1[${MULTILIB_USEDEP}] )
273 - vdpau? ( >=x11-libs/libvdpau-0.7[${MULTILIB_USEDEP}] )
274 - vorbis? (
275 - >=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}]
276 - >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
277 - )
278 - vpx? ( >=media-libs/libvpx-1.4.0:=[${MULTILIB_USEDEP}] )
279 - X? (
280 - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
281 - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
282 - >=x11-libs/libXv-1.0.10[${MULTILIB_USEDEP}]
283 - )
284 - xcb? ( >=x11-libs/libxcb-1.4[${MULTILIB_USEDEP}] )
285 - zeromq? ( >=net-libs/zeromq-4.1.6 )
286 - zimg? ( >=media-libs/zimg-2.4:=[${MULTILIB_USEDEP}] )
287 - zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
288 - zvbi? ( >=media-libs/zvbi-0.2.35[${MULTILIB_USEDEP}] )
289 - !media-video/qt-faststart
290 - postproc? ( !media-libs/libpostproc )
291 -"
292 -
293 -DEPEND="${RDEPEND}
294 - >=sys-devel/make-3.81
295 - doc? ( sys-apps/texinfo )
296 - >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
297 - ladspa? ( >=media-libs/ladspa-sdk-1.13-r2[${MULTILIB_USEDEP}] )
298 - cpu_flags_x86_mmx? ( || ( >=dev-lang/nasm-2.13 >=dev-lang/yasm-1.3 ) )
299 - test? ( net-misc/wget sys-devel/bc )
300 - v4l? ( sys-kernel/linux-headers )
301 -"
302 -
303 -# Code requiring FFmpeg to be built under gpl license
304 -GPL_REQUIRED_USE="
305 - postproc? ( gpl )
306 - frei0r? ( gpl )
307 - cdio? ( gpl )
308 - samba? ( gpl )
309 - encode? (
310 - x264? ( gpl )
311 - x265? ( gpl )
312 - xvid? ( gpl )
313 - X? ( !xcb? ( gpl ) )
314 - )
315 -"
316 -REQUIRED_USE="
317 - libv4l? ( v4l )
318 - fftools_cws2fws? ( zlib )
319 - test? ( encode )
320 - ${GPL_REQUIRED_USE}
321 - ${CPU_REQUIRED_USE}"
322 -RESTRICT="
323 - gpl? ( openssl? ( bindist ) fdk? ( bindist ) )
324 -"
325 -
326 -S=${WORKDIR}/${P/_/-}
327 -
328 -PATCHES=(
329 - "${FILESDIR}"/chromium.patch
330 -)
331 -
332 -MULTILIB_WRAPPED_HEADERS=(
333 - /usr/include/libavutil/avconfig.h
334 -)
335 -
336 -src_prepare() {
337 - if [[ "${PV%_p*}" != "${PV}" ]] ; then # Snapshot
338 - export revision=git-N-${FFMPEG_REVISION}
339 - fi
340 - default
341 - echo 'include $(SRC_PATH)/ffbuild/libffmpeg.mak' >> Makefile || die
342 -}
343 -
344 -multilib_src_configure() {
345 - local myconf=( ${EXTRA_FFMPEG_CONF} )
346 -
347 - local ffuse=( "${FFMPEG_FLAG_MAP[@]}" )
348 - use openssl && use gpl && myconf+=( --enable-nonfree )
349 - use samba && myconf+=( --enable-version3 )
350 -
351 - # Encoders
352 - if use encode ; then
353 - ffuse+=( "${FFMPEG_ENCODER_FLAG_MAP[@]}" )
354 -
355 - # Licensing.
356 - if use amrenc ; then
357 - myconf+=( --enable-version3 )
358 - fi
359 - else
360 - myconf+=( --disable-encoders )
361 - fi
362 -
363 - # Indevs
364 - use v4l || myconf+=( --disable-indev=v4l2 --disable-outdev=v4l2 )
365 - for i in alsa oss jack ; do
366 - use ${i} || myconf+=( --disable-indev=${i} )
367 - done
368 -
369 - # Outdevs
370 - for i in alsa oss sdl ; do
371 - use ${i} || myconf+=( --disable-outdev=${i} )
372 - done
373 -
374 - # Decoders
375 - use amr && myconf+=( --enable-version3 )
376 - use gmp && myconf+=( --enable-version3 )
377 - use fdk && use gpl && myconf+=( --enable-nonfree )
378 -
379 - for i in "${ffuse[@]#+}" ; do
380 - myconf+=( $(use_enable ${i%:*} ${i#*:}) )
381 - done
382 -
383 - # (temporarily) disable non-multilib deps
384 - if ! multilib_is_native_abi; then
385 - for i in frei0r libzmq ; do
386 - myconf+=( --disable-${i} )
387 - done
388 - fi
389 -
390 - # CPU features
391 - for i in "${CPU_FEATURES_MAP[@]}" ; do
392 - use ${i%:*} || myconf+=( --disable-${i#*:} )
393 - done
394 -
395 - if use pic ; then
396 - myconf+=( --enable-pic )
397 - # disable asm code if PIC is required
398 - # as the provided asm decidedly is not PIC for x86.
399 - [[ ${ABI} == x86 ]] && myconf+=( --disable-asm )
400 - fi
401 - [[ ${ABI} == x32 ]] && myconf+=( --disable-asm ) #427004
402 -
403 - # Try to get cpu type based on CFLAGS.
404 - # Bug #172723
405 - # We need to do this so that features of that CPU will be better used
406 - # If they contain an unknown CPU it will not hurt since ffmpeg's configure
407 - # will just ignore it.
408 - for i in $(get-flag mcpu) $(get-flag march) ; do
409 - [[ ${i} = native ]] && i="host" # bug #273421
410 - myconf+=( --cpu=${i} )
411 - break
412 - done
413 -
414 - # LTO support, bug #566282
415 - is-flagq "-flto*" && myconf+=( "--enable-lto" )
416 -
417 - # Mandatory configuration
418 - myconf=(
419 - --enable-avfilter
420 - --enable-avresample
421 - --disable-stripping
422 - --disable-libcelt # bug #664158
423 - "${myconf[@]}"
424 - )
425 -
426 - # cross compile support
427 - if tc-is-cross-compiler ; then
428 - myconf+=( --enable-cross-compile --arch=$(tc-arch-kernel) --cross-prefix=${CHOST}- --host-cc="$(tc-getBUILD_CC)" )
429 - case ${CHOST} in
430 - *freebsd*)
431 - myconf+=( --target-os=freebsd )
432 - ;;
433 - *mingw32*)
434 - myconf+=( --target-os=mingw32 )
435 - ;;
436 - *linux*)
437 - myconf+=( --target-os=linux )
438 - ;;
439 - esac
440 - fi
441 -
442 - # doc
443 - myconf+=(
444 - $(multilib_native_use_enable doc)
445 - $(multilib_native_use_enable doc htmlpages)
446 - $(multilib_native_enable manpages)
447 - )
448 -
449 - set -- "${S}/configure" \
450 - --prefix="${EPREFIX}/usr" \
451 - --libdir="${EPREFIX}/usr/$(get_libdir)" \
452 - --shlibdir="${EPREFIX}/usr/$(get_libdir)" \
453 - --docdir="${EPREFIX}/usr/share/doc/${PF}/html" \
454 - --mandir="${EPREFIX}/usr/share/man" \
455 - --enable-shared \
456 - --cc="$(tc-getCC)" \
457 - --cxx="$(tc-getCXX)" \
458 - --ar="$(tc-getAR)" \
459 - --optflags="${CFLAGS}" \
460 - $(use_enable static-libs static) \
461 - "${myconf[@]}"
462 - echo "${@}"
463 - "${@}" || die
464 -
465 - if multilib_is_native_abi && use chromium; then
466 - einfo "Configuring for Chromium"
467 - mkdir -p ../chromium || die
468 - pushd ../chromium >/dev/null || die
469 - set -- "${@}" \
470 - --disable-shared \
471 - --enable-static \
472 - --enable-pic \
473 - --extra-cflags="-DFF_API_CONVERGENCE_DURATION=0"
474 - echo "${@}"
475 - "${@}" || die
476 - popd >/dev/null || die
477 - fi
478 -}
479 -
480 -multilib_src_compile() {
481 - emake V=1
482 -
483 - if multilib_is_native_abi; then
484 - for i in "${FFTOOLS[@]}" ; do
485 - if use fftools_${i} ; then
486 - emake V=1 tools/${i}$(get_exeext)
487 - fi
488 - done
489 -
490 - if use chromium; then
491 - einfo "Compiling for Chromium"
492 - pushd ../chromium >/dev/null || die
493 - emake V=1 libffmpeg
494 - popd >/dev/null || die
495 - fi
496 - fi
497 -}
498 -
499 -multilib_src_install() {
500 - emake V=1 DESTDIR="${D}" install install-doc
501 -
502 - if multilib_is_native_abi; then
503 - for i in "${FFTOOLS[@]}" ; do
504 - if use fftools_${i} ; then
505 - dobin tools/${i}$(get_exeext)
506 - fi
507 - done
508 -
509 - if use chromium; then
510 - einfo "Installing for Chromium"
511 - pushd ../chromium >/dev/null || die
512 - emake V=1 DESTDIR="${D}" install-libffmpeg
513 - popd >/dev/null || die
514 - fi
515 - fi
516 -}
517 -
518 -multilib_src_install_all() {
519 - dodoc Changelog README.md CREDITS doc/*.txt doc/APIchanges
520 - [ -f "RELEASE_NOTES" ] && dodoc "RELEASE_NOTES"
521 -}
522 -
523 -multilib_src_test() {
524 - LD_LIBRARY_PATH="${BUILD_DIR}/libpostproc:${BUILD_DIR}/libswscale:${BUILD_DIR}/libswresample:${BUILD_DIR}/libavcodec:${BUILD_DIR}/libavdevice:${BUILD_DIR}/libavfilter:${BUILD_DIR}/libavformat:${BUILD_DIR}/libavutil:${BUILD_DIR}/libavresample" \
525 - emake V=1 fate
526 -}
527
528 diff --git a/media-video/ffmpeg/ffmpeg-3.4.6.ebuild b/media-video/ffmpeg/ffmpeg-3.4.6.ebuild
529 deleted file mode 100644
530 index 4456cb1e7c4..00000000000
531 --- a/media-video/ffmpeg/ffmpeg-3.4.6.ebuild
532 +++ /dev/null
533 @@ -1,488 +0,0 @@
534 -# Copyright 1999-2019 Gentoo Authors
535 -# Distributed under the terms of the GNU General Public License v2
536 -
537 -EAPI=6
538 -
539 -# Subslot: libavutil major.libavcodec major.libavformat major
540 -# Since FFmpeg ships several libraries, subslot is kind of limited here.
541 -# Most consumers will use those three libraries, if a "less used" library
542 -# changes its soname, consumers will have to be rebuilt the old way
543 -# (preserve-libs).
544 -# If, for example, a package does not link to libavformat and only libavformat
545 -# changes its ABI then this package will be rebuilt needlessly. Hence, such a
546 -# package is free _not_ to := depend on FFmpeg but I would strongly encourage
547 -# doing so since such a case is unlikely.
548 -FFMPEG_SUBSLOT=55.57.57
549 -
550 -SCM=""
551 -if [ "${PV#9999}" != "${PV}" ] ; then
552 - SCM="git-r3"
553 - EGIT_REPO_URI="git://source.ffmpeg.org/ffmpeg.git"
554 -fi
555 -
556 -inherit eutils flag-o-matic multilib multilib-minimal toolchain-funcs ${SCM}
557 -
558 -DESCRIPTION="Complete solution to record, convert and stream audio and video. Includes libavcodec"
559 -HOMEPAGE="http://ffmpeg.org/"
560 -if [ "${PV#9999}" != "${PV}" ] ; then
561 - SRC_URI=""
562 -elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot
563 - SRC_URI="mirror://gentoo/${P}.tar.bz2"
564 -else # Release
565 - SRC_URI="http://ffmpeg.org/releases/${P/_/-}.tar.bz2"
566 -fi
567 -FFMPEG_REVISION="${PV#*_p}"
568 -
569 -SLOT="0/${FFMPEG_SUBSLOT}"
570 -LICENSE="
571 - !gpl? ( LGPL-2.1 )
572 - gpl? ( GPL-2 )
573 - amr? (
574 - gpl? ( GPL-3 )
575 - !gpl? ( LGPL-3 )
576 - )
577 - gmp? (
578 - gpl? ( GPL-3 )
579 - !gpl? ( LGPL-3 )
580 - )
581 - encode? (
582 - amrenc? (
583 - gpl? ( GPL-3 )
584 - !gpl? ( LGPL-3 )
585 - )
586 - )
587 - samba? ( GPL-3 )
588 -"
589 -if [ "${PV#9999}" = "${PV}" ] ; then
590 - KEYWORDS="~amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
591 -fi
592 -
593 -# Options to use as use_enable in the foo[:bar] form.
594 -# This will feed configure with $(use_enable foo bar)
595 -# or $(use_enable foo foo) if no :bar is set.
596 -# foo is added to IUSE.
597 -FFMPEG_FLAG_MAP=(
598 - +bzip2:bzlib cpudetection:runtime-cpudetect debug gcrypt gnutls gmp
599 - +gpl +hardcoded-tables +iconv lzma +network opencl openssl +postproc
600 - samba:libsmbclient sdl:ffplay sdl:sdl2 vaapi vdpau X:xlib xcb:libxcb
601 - xcb:libxcb-shm xcb:libxcb-xfixes +zlib
602 - # libavdevice options
603 - cdio:libcdio iec61883:libiec61883 ieee1394:libdc1394 libcaca openal
604 - opengl
605 - # indevs
606 - libv4l:libv4l2 pulseaudio:libpulse libdrm
607 - # decoders
608 - amr:libopencore-amrwb amr:libopencore-amrnb fdk:libfdk-aac
609 - jpeg2k:libopenjpeg bluray:libbluray gme:libgme gsm:libgsm
610 - mmal modplug:libmodplug opus:libopus libilbc librtmp ssh:libssh
611 - speex:libspeex svg:librsvg vorbis:libvorbis
612 - vpx:libvpx zvbi:libzvbi
613 - # libavfilter options
614 - appkit
615 - bs2b:libbs2b chromaprint flite:libflite frei0r
616 - fribidi:libfribidi fontconfig ladspa libass truetype:libfreetype
617 - rubberband:librubberband zeromq:libzmq zimg:libzimg
618 - # libswresample options
619 - libsoxr
620 - # Threads; we only support pthread for now but ffmpeg supports more
621 - +threads:pthreads
622 -)
623 -
624 -# Same as above but for encoders, i.e. they do something only with USE=encode.
625 -FFMPEG_ENCODER_FLAG_MAP=(
626 - amrenc:libvo-amrwbenc mp3:libmp3lame
627 - kvazaar:libkvazaar nvenc:nvenc
628 - openh264:libopenh264 snappy:libsnappy theora:libtheora twolame:libtwolame
629 - wavpack:libwavpack webp:libwebp x264:libx264 x265:libx265 xvid:libxvid
630 -)
631 -
632 -IUSE="
633 - alsa chromium doc +encode jack oss pic static-libs test v4l
634 - ${FFMPEG_FLAG_MAP[@]%:*}
635 - ${FFMPEG_ENCODER_FLAG_MAP[@]%:*}
636 -"
637 -
638 -# Strings for CPU features in the useflag[:configure_option] form
639 -# if :configure_option isn't set, it will use 'useflag' as configure option
640 -ARM_CPU_FEATURES=(
641 - cpu_flags_arm_thumb:armv5te
642 - cpu_flags_arm_v6:armv6
643 - cpu_flags_arm_thumb2:armv6t2
644 - cpu_flags_arm_neon:neon
645 - cpu_flags_arm_vfp:vfp
646 - cpu_flags_arm_vfpv3:vfpv3
647 - cpu_flags_arm_v8:armv8
648 -)
649 -ARM_CPU_REQUIRED_USE="
650 - arm64? ( cpu_flags_arm_v8 )
651 - cpu_flags_arm_v8? ( cpu_flags_arm_vfpv3 cpu_flags_arm_neon )
652 - cpu_flags_arm_neon? ( cpu_flags_arm_thumb2 cpu_flags_arm_vfp )
653 - cpu_flags_arm_vfpv3? ( cpu_flags_arm_vfp )
654 - cpu_flags_arm_thumb2? ( cpu_flags_arm_v6 )
655 - cpu_flags_arm_v6? ( cpu_flags_arm_thumb )
656 -"
657 -MIPS_CPU_FEATURES=( mipsdspr1:mipsdsp mipsdspr2 mipsfpu )
658 -PPC_CPU_FEATURES=( altivec )
659 -X86_CPU_FEATURES_RAW=( 3dnow:amd3dnow 3dnowext:amd3dnowext aes:aesni avx:avx avx2:avx2 fma3:fma3 fma4:fma4 mmx:mmx mmxext:mmxext sse:sse sse2:sse2 sse3:sse3 ssse3:ssse3 sse4_1:sse4 sse4_2:sse42 xop:xop )
660 -X86_CPU_FEATURES=( ${X86_CPU_FEATURES_RAW[@]/#/cpu_flags_x86_} )
661 -X86_CPU_REQUIRED_USE="
662 - cpu_flags_x86_avx2? ( cpu_flags_x86_avx )
663 - cpu_flags_x86_fma4? ( cpu_flags_x86_avx )
664 - cpu_flags_x86_fma3? ( cpu_flags_x86_avx )
665 - cpu_flags_x86_xop? ( cpu_flags_x86_avx )
666 - cpu_flags_x86_avx? ( cpu_flags_x86_sse4_2 )
667 - cpu_flags_x86_aes? ( cpu_flags_x86_sse4_2 )
668 - cpu_flags_x86_sse4_2? ( cpu_flags_x86_sse4_1 )
669 - cpu_flags_x86_sse4_1? ( cpu_flags_x86_ssse3 )
670 - cpu_flags_x86_ssse3? ( cpu_flags_x86_sse3 )
671 - cpu_flags_x86_sse3? ( cpu_flags_x86_sse2 )
672 - cpu_flags_x86_sse2? ( cpu_flags_x86_sse )
673 - cpu_flags_x86_sse? ( cpu_flags_x86_mmxext )
674 - cpu_flags_x86_mmxext? ( cpu_flags_x86_mmx )
675 - cpu_flags_x86_3dnowext? ( cpu_flags_x86_3dnow )
676 - cpu_flags_x86_3dnow? ( cpu_flags_x86_mmx )
677 -"
678 -
679 -CPU_FEATURES_MAP=(
680 - ${ARM_CPU_FEATURES[@]}
681 - ${MIPS_CPU_FEATURES[@]}
682 - ${PPC_CPU_FEATURES[@]}
683 - ${X86_CPU_FEATURES[@]}
684 -)
685 -IUSE="${IUSE}
686 - ${CPU_FEATURES_MAP[@]%:*}"
687 -
688 -CPU_REQUIRED_USE="
689 - ${ARM_CPU_REQUIRED_USE}
690 - ${X86_CPU_REQUIRED_USE}
691 -"
692 -
693 -FFTOOLS=( aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt graph2dot ismindex pktdumper qt-faststart sidxindex trasher )
694 -IUSE="${IUSE} ${FFTOOLS[@]/#/+fftools_}"
695 -
696 -RDEPEND="
697 - alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] )
698 - amr? ( >=media-libs/opencore-amr-0.1.3-r1[${MULTILIB_USEDEP}] )
699 - bluray? ( >=media-libs/libbluray-0.3.0-r1:=[${MULTILIB_USEDEP}] )
700 - bs2b? ( >=media-libs/libbs2b-3.1.0-r1[${MULTILIB_USEDEP}] )
701 - bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] )
702 - cdio? ( >=dev-libs/libcdio-paranoia-0.90_p1-r1[${MULTILIB_USEDEP}] )
703 - chromaprint? ( >=media-libs/chromaprint-1.2-r1[${MULTILIB_USEDEP}] )
704 - encode? (
705 - amrenc? ( >=media-libs/vo-amrwbenc-0.1.2-r1[${MULTILIB_USEDEP}] )
706 - kvazaar? ( media-libs/kvazaar[${MULTILIB_USEDEP}] )
707 - mp3? ( >=media-sound/lame-3.99.5-r1[${MULTILIB_USEDEP}] )
708 - nvenc? ( media-video/nvidia_video_sdk )
709 - openh264? ( >=media-libs/openh264-1.4.0-r1[${MULTILIB_USEDEP}] )
710 - snappy? ( >=app-arch/snappy-1.1.2-r1:=[${MULTILIB_USEDEP}] )
711 - theora? (
712 - >=media-libs/libtheora-1.1.1[encode,${MULTILIB_USEDEP}]
713 - >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
714 - )
715 - twolame? ( >=media-sound/twolame-0.3.13-r1[${MULTILIB_USEDEP}] )
716 - wavpack? ( >=media-sound/wavpack-4.60.1-r1[${MULTILIB_USEDEP}] )
717 - webp? ( >=media-libs/libwebp-0.3.0:=[${MULTILIB_USEDEP}] )
718 - x264? ( >=media-libs/x264-0.0.20130506:=[${MULTILIB_USEDEP}] )
719 - x265? ( >=media-libs/x265-1.6:=[${MULTILIB_USEDEP}] )
720 - xvid? ( >=media-libs/xvid-1.3.2-r1[${MULTILIB_USEDEP}] )
721 - )
722 - fdk? ( >=media-libs/fdk-aac-0.1.3:=[${MULTILIB_USEDEP}] )
723 - flite? ( >=app-accessibility/flite-1.4-r4[${MULTILIB_USEDEP}] )
724 - fontconfig? ( >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}] )
725 - frei0r? ( media-plugins/frei0r-plugins )
726 - fribidi? ( >=dev-libs/fribidi-0.19.6[${MULTILIB_USEDEP}] )
727 - gcrypt? ( >=dev-libs/libgcrypt-1.6:0=[${MULTILIB_USEDEP}] )
728 - gme? ( >=media-libs/game-music-emu-0.6.0[${MULTILIB_USEDEP}] )
729 - gmp? ( >=dev-libs/gmp-6:0=[${MULTILIB_USEDEP}] )
730 - gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] )
731 - gsm? ( >=media-sound/gsm-1.0.13-r1[${MULTILIB_USEDEP}] )
732 - iconv? ( >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] )
733 - iec61883? (
734 - >=media-libs/libiec61883-1.2.0-r1[${MULTILIB_USEDEP}]
735 - >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}]
736 - >=sys-libs/libavc1394-0.5.4-r1[${MULTILIB_USEDEP}]
737 - )
738 - ieee1394? (
739 - >=media-libs/libdc1394-2.2.1[${MULTILIB_USEDEP}]
740 - >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}]
741 - )
742 - jack? ( virtual/jack[${MULTILIB_USEDEP}] )
743 - jpeg2k? ( >=media-libs/openjpeg-2:2[${MULTILIB_USEDEP}] )
744 - libass? ( >=media-libs/libass-0.10.2:=[${MULTILIB_USEDEP}] )
745 - libcaca? ( >=media-libs/libcaca-0.99_beta18-r1[${MULTILIB_USEDEP}] )
746 - libdrm? ( x11-libs/libdrm[${MULTILIB_USEDEP}] )
747 - libilbc? ( >=media-libs/libilbc-2[${MULTILIB_USEDEP}] )
748 - libsoxr? ( >=media-libs/soxr-0.1.0[${MULTILIB_USEDEP}] )
749 - libv4l? ( >=media-libs/libv4l-0.9.5[${MULTILIB_USEDEP}] )
750 - lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] )
751 - mmal? ( media-libs/raspberrypi-userland )
752 - modplug? ( >=media-libs/libmodplug-0.8.8.4-r1[${MULTILIB_USEDEP}] )
753 - openal? ( >=media-libs/openal-1.15.1[${MULTILIB_USEDEP}] )
754 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
755 - opengl? ( >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}] )
756 - openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
757 - opus? ( >=media-libs/opus-1.0.2-r2[${MULTILIB_USEDEP}] )
758 - pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${MULTILIB_USEDEP}] )
759 - librtmp? ( >=media-video/rtmpdump-2.4_p20131018[${MULTILIB_USEDEP}] )
760 - rubberband? ( >=media-libs/rubberband-1.8.1-r1[${MULTILIB_USEDEP}] )
761 - samba? ( >=net-fs/samba-3.6.23-r1[client,${MULTILIB_USEDEP}] )
762 - sdl? ( media-libs/libsdl2[sound,video,${MULTILIB_USEDEP}] )
763 - speex? ( >=media-libs/speex-1.2_rc1-r1[${MULTILIB_USEDEP}] )
764 - ssh? ( >=net-libs/libssh-0.5.5[${MULTILIB_USEDEP}] )
765 - svg? ( gnome-base/librsvg:2=[${MULTILIB_USEDEP}] )
766 - truetype? ( >=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}] )
767 - vaapi? ( >=x11-libs/libva-1.2.1-r1[${MULTILIB_USEDEP}] )
768 - vdpau? ( >=x11-libs/libvdpau-0.7[${MULTILIB_USEDEP}] )
769 - vorbis? (
770 - >=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}]
771 - >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
772 - )
773 - vpx? ( >=media-libs/libvpx-1.4.0:=[${MULTILIB_USEDEP}] )
774 - X? (
775 - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
776 - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
777 - >=x11-libs/libXv-1.0.10[${MULTILIB_USEDEP}]
778 - )
779 - xcb? ( >=x11-libs/libxcb-1.4[${MULTILIB_USEDEP}] )
780 - zeromq? ( >=net-libs/zeromq-4.1.6 )
781 - zimg? ( >=media-libs/zimg-2.4:=[${MULTILIB_USEDEP}] )
782 - zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
783 - zvbi? ( >=media-libs/zvbi-0.2.35[${MULTILIB_USEDEP}] )
784 - !media-video/qt-faststart
785 - postproc? ( !media-libs/libpostproc )
786 -"
787 -
788 -DEPEND="${RDEPEND}
789 - >=sys-devel/make-3.81
790 - doc? ( sys-apps/texinfo )
791 - >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
792 - ladspa? ( >=media-libs/ladspa-sdk-1.13-r2[${MULTILIB_USEDEP}] )
793 - cpu_flags_x86_mmx? ( || ( >=dev-lang/nasm-2.13 >=dev-lang/yasm-1.3 ) )
794 - test? ( net-misc/wget sys-devel/bc )
795 - v4l? ( sys-kernel/linux-headers )
796 -"
797 -
798 -# Code requiring FFmpeg to be built under gpl license
799 -GPL_REQUIRED_USE="
800 - postproc? ( gpl )
801 - frei0r? ( gpl )
802 - cdio? ( gpl )
803 - samba? ( gpl )
804 - encode? (
805 - x264? ( gpl )
806 - x265? ( gpl )
807 - xvid? ( gpl )
808 - X? ( !xcb? ( gpl ) )
809 - )
810 -"
811 -REQUIRED_USE="
812 - libv4l? ( v4l )
813 - fftools_cws2fws? ( zlib )
814 - test? ( encode )
815 - ${GPL_REQUIRED_USE}
816 - ${CPU_REQUIRED_USE}"
817 -RESTRICT="
818 - gpl? ( openssl? ( bindist ) fdk? ( bindist ) )
819 -"
820 -
821 -S=${WORKDIR}/${P/_/-}
822 -
823 -PATCHES=(
824 - "${FILESDIR}"/chromium.patch
825 -)
826 -
827 -MULTILIB_WRAPPED_HEADERS=(
828 - /usr/include/libavutil/avconfig.h
829 -)
830 -
831 -src_prepare() {
832 - if [[ "${PV%_p*}" != "${PV}" ]] ; then # Snapshot
833 - export revision=git-N-${FFMPEG_REVISION}
834 - fi
835 - default
836 - echo 'include $(SRC_PATH)/ffbuild/libffmpeg.mak' >> Makefile || die
837 -}
838 -
839 -multilib_src_configure() {
840 - local myconf=( ${EXTRA_FFMPEG_CONF} )
841 -
842 - local ffuse=( "${FFMPEG_FLAG_MAP[@]}" )
843 - use openssl && use gpl && myconf+=( --enable-nonfree )
844 - use samba && myconf+=( --enable-version3 )
845 -
846 - # Encoders
847 - if use encode ; then
848 - ffuse+=( "${FFMPEG_ENCODER_FLAG_MAP[@]}" )
849 -
850 - # Licensing.
851 - if use amrenc ; then
852 - myconf+=( --enable-version3 )
853 - fi
854 - else
855 - myconf+=( --disable-encoders )
856 - fi
857 -
858 - # Indevs
859 - use v4l || myconf+=( --disable-indev=v4l2 --disable-outdev=v4l2 )
860 - for i in alsa oss jack ; do
861 - use ${i} || myconf+=( --disable-indev=${i} )
862 - done
863 -
864 - # Outdevs
865 - for i in alsa oss sdl ; do
866 - use ${i} || myconf+=( --disable-outdev=${i} )
867 - done
868 -
869 - # Decoders
870 - use amr && myconf+=( --enable-version3 )
871 - use gmp && myconf+=( --enable-version3 )
872 - use fdk && use gpl && myconf+=( --enable-nonfree )
873 -
874 - for i in "${ffuse[@]#+}" ; do
875 - myconf+=( $(use_enable ${i%:*} ${i#*:}) )
876 - done
877 -
878 - # (temporarily) disable non-multilib deps
879 - if ! multilib_is_native_abi; then
880 - for i in frei0r libzmq ; do
881 - myconf+=( --disable-${i} )
882 - done
883 - fi
884 -
885 - # CPU features
886 - for i in "${CPU_FEATURES_MAP[@]}" ; do
887 - use ${i%:*} || myconf+=( --disable-${i#*:} )
888 - done
889 -
890 - if use pic ; then
891 - myconf+=( --enable-pic )
892 - # disable asm code if PIC is required
893 - # as the provided asm decidedly is not PIC for x86.
894 - [[ ${ABI} == x86 ]] && myconf+=( --disable-asm )
895 - fi
896 - [[ ${ABI} == x32 ]] && myconf+=( --disable-asm ) #427004
897 -
898 - # Try to get cpu type based on CFLAGS.
899 - # Bug #172723
900 - # We need to do this so that features of that CPU will be better used
901 - # If they contain an unknown CPU it will not hurt since ffmpeg's configure
902 - # will just ignore it.
903 - for i in $(get-flag mcpu) $(get-flag march) ; do
904 - [[ ${i} = native ]] && i="host" # bug #273421
905 - myconf+=( --cpu=${i} )
906 - break
907 - done
908 -
909 - # LTO support, bug #566282
910 - is-flagq "-flto*" && myconf+=( "--enable-lto" )
911 -
912 - # Mandatory configuration
913 - myconf=(
914 - --enable-avfilter
915 - --enable-avresample
916 - --disable-stripping
917 - --disable-libcelt # bug #664158
918 - "${myconf[@]}"
919 - )
920 -
921 - # cross compile support
922 - if tc-is-cross-compiler ; then
923 - myconf+=( --enable-cross-compile --arch=$(tc-arch-kernel) --cross-prefix=${CHOST}- --host-cc="$(tc-getBUILD_CC)" )
924 - case ${CHOST} in
925 - *freebsd*)
926 - myconf+=( --target-os=freebsd )
927 - ;;
928 - *mingw32*)
929 - myconf+=( --target-os=mingw32 )
930 - ;;
931 - *linux*)
932 - myconf+=( --target-os=linux )
933 - ;;
934 - esac
935 - fi
936 -
937 - # doc
938 - myconf+=(
939 - $(multilib_native_use_enable doc)
940 - $(multilib_native_use_enable doc htmlpages)
941 - $(multilib_native_enable manpages)
942 - )
943 -
944 - set -- "${S}/configure" \
945 - --prefix="${EPREFIX}/usr" \
946 - --libdir="${EPREFIX}/usr/$(get_libdir)" \
947 - --shlibdir="${EPREFIX}/usr/$(get_libdir)" \
948 - --docdir="${EPREFIX}/usr/share/doc/${PF}/html" \
949 - --mandir="${EPREFIX}/usr/share/man" \
950 - --enable-shared \
951 - --cc="$(tc-getCC)" \
952 - --cxx="$(tc-getCXX)" \
953 - --ar="$(tc-getAR)" \
954 - --optflags="${CFLAGS}" \
955 - $(use_enable static-libs static) \
956 - "${myconf[@]}"
957 - echo "${@}"
958 - "${@}" || die
959 -
960 - if multilib_is_native_abi && use chromium; then
961 - einfo "Configuring for Chromium"
962 - mkdir -p ../chromium || die
963 - pushd ../chromium >/dev/null || die
964 - set -- "${@}" \
965 - --disable-shared \
966 - --enable-static \
967 - --enable-pic \
968 - --extra-cflags="-DFF_API_CONVERGENCE_DURATION=0"
969 - echo "${@}"
970 - "${@}" || die
971 - popd >/dev/null || die
972 - fi
973 -}
974 -
975 -multilib_src_compile() {
976 - emake V=1
977 -
978 - if multilib_is_native_abi; then
979 - for i in "${FFTOOLS[@]}" ; do
980 - if use fftools_${i} ; then
981 - emake V=1 tools/${i}$(get_exeext)
982 - fi
983 - done
984 -
985 - if use chromium; then
986 - einfo "Compiling for Chromium"
987 - pushd ../chromium >/dev/null || die
988 - emake V=1 libffmpeg
989 - popd >/dev/null || die
990 - fi
991 - fi
992 -}
993 -
994 -multilib_src_install() {
995 - emake V=1 DESTDIR="${D}" install install-doc
996 -
997 - if multilib_is_native_abi; then
998 - for i in "${FFTOOLS[@]}" ; do
999 - if use fftools_${i} ; then
1000 - dobin tools/${i}$(get_exeext)
1001 - fi
1002 - done
1003 -
1004 - if use chromium; then
1005 - einfo "Installing for Chromium"
1006 - pushd ../chromium >/dev/null || die
1007 - emake V=1 DESTDIR="${D}" install-libffmpeg
1008 - popd >/dev/null || die
1009 - fi
1010 - fi
1011 -}
1012 -
1013 -multilib_src_install_all() {
1014 - dodoc Changelog README.md CREDITS doc/*.txt doc/APIchanges
1015 - [ -f "RELEASE_NOTES" ] && dodoc "RELEASE_NOTES"
1016 -}
1017 -
1018 -multilib_src_test() {
1019 - LD_LIBRARY_PATH="${BUILD_DIR}/libpostproc:${BUILD_DIR}/libswscale:${BUILD_DIR}/libswresample:${BUILD_DIR}/libavcodec:${BUILD_DIR}/libavdevice:${BUILD_DIR}/libavfilter:${BUILD_DIR}/libavformat:${BUILD_DIR}/libavutil:${BUILD_DIR}/libavresample" \
1020 - emake V=1 fate
1021 -}
1022
1023 diff --git a/media-video/ffmpeg/ffmpeg-4.1.1.ebuild b/media-video/ffmpeg/ffmpeg-4.1.1.ebuild
1024 deleted file mode 100644
1025 index 12b71fa688b..00000000000
1026 --- a/media-video/ffmpeg/ffmpeg-4.1.1.ebuild
1027 +++ /dev/null
1028 @@ -1,528 +0,0 @@
1029 -# Copyright 1999-2019 Gentoo Authors
1030 -# Distributed under the terms of the GNU General Public License v2
1031 -
1032 -EAPI=6
1033 -
1034 -# Subslot: libavutil major.libavcodec major.libavformat major
1035 -# Since FFmpeg ships several libraries, subslot is kind of limited here.
1036 -# Most consumers will use those three libraries, if a "less used" library
1037 -# changes its soname, consumers will have to be rebuilt the old way
1038 -# (preserve-libs).
1039 -# If, for example, a package does not link to libavformat and only libavformat
1040 -# changes its ABI then this package will be rebuilt needlessly. Hence, such a
1041 -# package is free _not_ to := depend on FFmpeg but I would strongly encourage
1042 -# doing so since such a case is unlikely.
1043 -FFMPEG_SUBSLOT=56.58.58
1044 -
1045 -SCM=""
1046 -if [ "${PV#9999}" != "${PV}" ] ; then
1047 - SCM="git-r3"
1048 - EGIT_MIN_CLONE_TYPE="single"
1049 - EGIT_REPO_URI="https://git.ffmpeg.org/ffmpeg.git"
1050 -fi
1051 -
1052 -inherit eutils flag-o-matic multilib multilib-minimal toolchain-funcs ${SCM}
1053 -
1054 -DESCRIPTION="Complete solution to record, convert and stream audio and video. Includes libavcodec"
1055 -HOMEPAGE="https://ffmpeg.org/"
1056 -if [ "${PV#9999}" != "${PV}" ] ; then
1057 - SRC_URI=""
1058 -elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot
1059 - SRC_URI="mirror://gentoo/${P}.tar.bz2"
1060 -else # Release
1061 - SRC_URI="https://ffmpeg.org/releases/${P/_/-}.tar.bz2"
1062 -fi
1063 -FFMPEG_REVISION="${PV#*_p}"
1064 -
1065 -SLOT="0/${FFMPEG_SUBSLOT}"
1066 -LICENSE="
1067 - !gpl? ( LGPL-2.1 )
1068 - gpl? ( GPL-2 )
1069 - amr? (
1070 - gpl? ( GPL-3 )
1071 - !gpl? ( LGPL-3 )
1072 - )
1073 - gmp? (
1074 - gpl? ( GPL-3 )
1075 - !gpl? ( LGPL-3 )
1076 - )
1077 - encode? (
1078 - amrenc? (
1079 - gpl? ( GPL-3 )
1080 - !gpl? ( LGPL-3 )
1081 - )
1082 - )
1083 - samba? ( GPL-3 )
1084 -"
1085 -if [ "${PV#9999}" = "${PV}" ] ; then
1086 - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
1087 -fi
1088 -
1089 -# Options to use as use_enable in the foo[:bar] form.
1090 -# This will feed configure with $(use_enable foo bar)
1091 -# or $(use_enable foo foo) if no :bar is set.
1092 -# foo is added to IUSE.
1093 -FFMPEG_FLAG_MAP=(
1094 - +bzip2:bzlib cpudetection:runtime-cpudetect debug gcrypt gnutls gmp
1095 - +gpl +hardcoded-tables +iconv libressl:libtls libxml2 lzma +network opencl
1096 - openssl +postproc samba:libsmbclient sdl:ffplay sdl:sdl2 vaapi vdpau
1097 - X:xlib xcb:libxcb xcb:libxcb-shm xcb:libxcb-xfixes +zlib
1098 - # libavdevice options
1099 - cdio:libcdio iec61883:libiec61883 ieee1394:libdc1394 libcaca openal
1100 - opengl
1101 - # indevs
1102 - libv4l:libv4l2 pulseaudio:libpulse libdrm jack:libjack
1103 - # decoders
1104 - amr:libopencore-amrwb amr:libopencore-amrnb codec2:libcodec2 fdk:libfdk-aac
1105 - jpeg2k:libopenjpeg bluray:libbluray gme:libgme gsm:libgsm
1106 - mmal modplug:libmodplug opus:libopus libilbc librtmp ssh:libssh
1107 - speex:libspeex srt:libsrt svg:librsvg video_cards_nvidia:ffnvcodec
1108 - vorbis:libvorbis vpx:libvpx zvbi:libzvbi
1109 - # libavfilter options
1110 - appkit
1111 - bs2b:libbs2b chromaprint flite:libflite frei0r
1112 - fribidi:libfribidi fontconfig ladspa libass lv2 truetype:libfreetype
1113 - rubberband:librubberband zeromq:libzmq zimg:libzimg
1114 - # libswresample options
1115 - libsoxr
1116 - # Threads; we only support pthread for now but ffmpeg supports more
1117 - +threads:pthreads
1118 -)
1119 -
1120 -# Same as above but for encoders, i.e. they do something only with USE=encode.
1121 -FFMPEG_ENCODER_FLAG_MAP=(
1122 - amrenc:libvo-amrwbenc mp3:libmp3lame
1123 - kvazaar:libkvazaar libaom
1124 - openh264:libopenh264 snappy:libsnappy theora:libtheora twolame:libtwolame
1125 - wavpack:libwavpack webp:libwebp x264:libx264 x265:libx265 xvid:libxvid
1126 -)
1127 -
1128 -IUSE="
1129 - alsa chromium doc +encode oss pic static-libs test v4l
1130 - ${FFMPEG_FLAG_MAP[@]%:*}
1131 - ${FFMPEG_ENCODER_FLAG_MAP[@]%:*}
1132 -"
1133 -
1134 -# Strings for CPU features in the useflag[:configure_option] form
1135 -# if :configure_option isn't set, it will use 'useflag' as configure option
1136 -ARM_CPU_FEATURES=(
1137 - cpu_flags_arm_thumb:armv5te
1138 - cpu_flags_arm_v6:armv6
1139 - cpu_flags_arm_thumb2:armv6t2
1140 - cpu_flags_arm_neon:neon
1141 - cpu_flags_arm_vfp:vfp
1142 - cpu_flags_arm_vfpv3:vfpv3
1143 - cpu_flags_arm_v8:armv8
1144 -)
1145 -ARM_CPU_REQUIRED_USE="
1146 - arm64? ( cpu_flags_arm_v8 )
1147 - cpu_flags_arm_v8? ( cpu_flags_arm_vfpv3 cpu_flags_arm_neon )
1148 - cpu_flags_arm_neon? ( cpu_flags_arm_thumb2 cpu_flags_arm_vfp )
1149 - cpu_flags_arm_vfpv3? ( cpu_flags_arm_vfp )
1150 - cpu_flags_arm_thumb2? ( cpu_flags_arm_v6 )
1151 - cpu_flags_arm_v6? ( cpu_flags_arm_thumb )
1152 -"
1153 -MIPS_CPU_FEATURES=( mipsdspr1:mipsdsp mipsdspr2 mipsfpu )
1154 -PPC_CPU_FEATURES=( altivec )
1155 -X86_CPU_FEATURES_RAW=( 3dnow:amd3dnow 3dnowext:amd3dnowext aes:aesni avx:avx avx2:avx2 fma3:fma3 fma4:fma4 mmx:mmx mmxext:mmxext sse:sse sse2:sse2 sse3:sse3 ssse3:ssse3 sse4_1:sse4 sse4_2:sse42 xop:xop )
1156 -X86_CPU_FEATURES=( ${X86_CPU_FEATURES_RAW[@]/#/cpu_flags_x86_} )
1157 -X86_CPU_REQUIRED_USE="
1158 - cpu_flags_x86_avx2? ( cpu_flags_x86_avx )
1159 - cpu_flags_x86_fma4? ( cpu_flags_x86_avx )
1160 - cpu_flags_x86_fma3? ( cpu_flags_x86_avx )
1161 - cpu_flags_x86_xop? ( cpu_flags_x86_avx )
1162 - cpu_flags_x86_avx? ( cpu_flags_x86_sse4_2 )
1163 - cpu_flags_x86_aes? ( cpu_flags_x86_sse4_2 )
1164 - cpu_flags_x86_sse4_2? ( cpu_flags_x86_sse4_1 )
1165 - cpu_flags_x86_sse4_1? ( cpu_flags_x86_ssse3 )
1166 - cpu_flags_x86_ssse3? ( cpu_flags_x86_sse3 )
1167 - cpu_flags_x86_sse3? ( cpu_flags_x86_sse2 )
1168 - cpu_flags_x86_sse2? ( cpu_flags_x86_sse )
1169 - cpu_flags_x86_sse? ( cpu_flags_x86_mmxext )
1170 - cpu_flags_x86_mmxext? ( cpu_flags_x86_mmx )
1171 - cpu_flags_x86_3dnowext? ( cpu_flags_x86_3dnow )
1172 - cpu_flags_x86_3dnow? ( cpu_flags_x86_mmx )
1173 -"
1174 -
1175 -CPU_FEATURES_MAP=(
1176 - ${ARM_CPU_FEATURES[@]}
1177 - ${MIPS_CPU_FEATURES[@]}
1178 - ${PPC_CPU_FEATURES[@]}
1179 - ${X86_CPU_FEATURES[@]}
1180 -)
1181 -IUSE="${IUSE}
1182 - ${CPU_FEATURES_MAP[@]%:*}"
1183 -
1184 -CPU_REQUIRED_USE="
1185 - ${ARM_CPU_REQUIRED_USE}
1186 - ${X86_CPU_REQUIRED_USE}
1187 -"
1188 -
1189 -FFTOOLS=( aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt graph2dot ismindex pktdumper qt-faststart sidxindex trasher )
1190 -IUSE="${IUSE} ${FFTOOLS[@]/#/+fftools_}"
1191 -
1192 -RDEPEND="
1193 - alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] )
1194 - amr? ( >=media-libs/opencore-amr-0.1.3-r1[${MULTILIB_USEDEP}] )
1195 - bluray? ( >=media-libs/libbluray-0.3.0-r1:=[${MULTILIB_USEDEP}] )
1196 - bs2b? ( >=media-libs/libbs2b-3.1.0-r1[${MULTILIB_USEDEP}] )
1197 - bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] )
1198 - cdio? ( >=dev-libs/libcdio-paranoia-0.90_p1-r1[${MULTILIB_USEDEP}] )
1199 - chromaprint? ( >=media-libs/chromaprint-1.2-r1[${MULTILIB_USEDEP}] )
1200 - codec2? ( media-libs/codec2[${MULTILIB_USEDEP}] )
1201 - encode? (
1202 - amrenc? ( >=media-libs/vo-amrwbenc-0.1.2-r1[${MULTILIB_USEDEP}] )
1203 - kvazaar? ( >=media-libs/kvazaar-1.2.0[${MULTILIB_USEDEP}] )
1204 - mp3? ( >=media-sound/lame-3.99.5-r1[${MULTILIB_USEDEP}] )
1205 - openh264? ( >=media-libs/openh264-1.4.0-r1[${MULTILIB_USEDEP}] )
1206 - snappy? ( >=app-arch/snappy-1.1.2-r1:=[${MULTILIB_USEDEP}] )
1207 - theora? (
1208 - >=media-libs/libtheora-1.1.1[encode,${MULTILIB_USEDEP}]
1209 - >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
1210 - )
1211 - twolame? ( >=media-sound/twolame-0.3.13-r1[${MULTILIB_USEDEP}] )
1212 - wavpack? ( >=media-sound/wavpack-4.60.1-r1[${MULTILIB_USEDEP}] )
1213 - webp? ( >=media-libs/libwebp-0.3.0:=[${MULTILIB_USEDEP}] )
1214 - x264? ( >=media-libs/x264-0.0.20130506:=[${MULTILIB_USEDEP}] )
1215 - x265? ( >=media-libs/x265-1.6:=[${MULTILIB_USEDEP}] )
1216 - xvid? ( >=media-libs/xvid-1.3.2-r1[${MULTILIB_USEDEP}] )
1217 - )
1218 - fdk? ( >=media-libs/fdk-aac-0.1.3:=[${MULTILIB_USEDEP}] )
1219 - flite? ( >=app-accessibility/flite-1.4-r4[${MULTILIB_USEDEP}] )
1220 - fontconfig? ( >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}] )
1221 - frei0r? ( media-plugins/frei0r-plugins )
1222 - fribidi? ( >=dev-libs/fribidi-0.19.6[${MULTILIB_USEDEP}] )
1223 - gcrypt? ( >=dev-libs/libgcrypt-1.6:0=[${MULTILIB_USEDEP}] )
1224 - gme? ( >=media-libs/game-music-emu-0.6.0[${MULTILIB_USEDEP}] )
1225 - gmp? ( >=dev-libs/gmp-6:0=[${MULTILIB_USEDEP}] )
1226 - gsm? ( >=media-sound/gsm-1.0.13-r1[${MULTILIB_USEDEP}] )
1227 - iconv? ( >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] )
1228 - iec61883? (
1229 - >=media-libs/libiec61883-1.2.0-r1[${MULTILIB_USEDEP}]
1230 - >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}]
1231 - >=sys-libs/libavc1394-0.5.4-r1[${MULTILIB_USEDEP}]
1232 - )
1233 - ieee1394? (
1234 - >=media-libs/libdc1394-2.2.1[${MULTILIB_USEDEP}]
1235 - >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}]
1236 - )
1237 - jack? ( virtual/jack[${MULTILIB_USEDEP}] )
1238 - jpeg2k? ( >=media-libs/openjpeg-2:2[${MULTILIB_USEDEP}] )
1239 - libaom? ( >=media-libs/libaom-1.0.0-r1[${MULTILIB_USEDEP}] )
1240 - libass? ( >=media-libs/libass-0.10.2:=[${MULTILIB_USEDEP}] )
1241 - libcaca? ( >=media-libs/libcaca-0.99_beta18-r1[${MULTILIB_USEDEP}] )
1242 - libdrm? ( x11-libs/libdrm[${MULTILIB_USEDEP}] )
1243 - libilbc? ( >=media-libs/libilbc-2[${MULTILIB_USEDEP}] )
1244 - libsoxr? ( >=media-libs/soxr-0.1.0[${MULTILIB_USEDEP}] )
1245 - libv4l? ( >=media-libs/libv4l-0.9.5[${MULTILIB_USEDEP}] )
1246 - libxml2? ( dev-libs/libxml2:=[${MULTILIB_USEDEP}] )
1247 - lv2? ( media-libs/lv2[${MULTILIB_USEDEP}] media-libs/lilv[${MULTILIB_USEDEP}] )
1248 - lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] )
1249 - mmal? ( media-libs/raspberrypi-userland )
1250 - modplug? ( >=media-libs/libmodplug-0.8.8.4-r1[${MULTILIB_USEDEP}] )
1251 - openal? ( >=media-libs/openal-1.15.1[${MULTILIB_USEDEP}] )
1252 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
1253 - opengl? ( >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}] )
1254 - opus? ( >=media-libs/opus-1.0.2-r2[${MULTILIB_USEDEP}] )
1255 - pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${MULTILIB_USEDEP}] )
1256 - librtmp? ( >=media-video/rtmpdump-2.4_p20131018[${MULTILIB_USEDEP}] )
1257 - rubberband? ( >=media-libs/rubberband-1.8.1-r1[${MULTILIB_USEDEP}] )
1258 - samba? ( >=net-fs/samba-3.6.23-r1[client,${MULTILIB_USEDEP}] )
1259 - sdl? ( media-libs/libsdl2[sound,video,${MULTILIB_USEDEP}] )
1260 - speex? ( >=media-libs/speex-1.2_rc1-r1[${MULTILIB_USEDEP}] )
1261 - srt? ( >=net-libs/srt-1.3.0[${MULTILIB_USEDEP}] )
1262 - ssh? ( >=net-libs/libssh-0.5.5[${MULTILIB_USEDEP}] )
1263 - svg? ( gnome-base/librsvg:2=[${MULTILIB_USEDEP}] )
1264 - truetype? ( >=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}] )
1265 - vaapi? ( >=x11-libs/libva-1.2.1-r1[${MULTILIB_USEDEP}] )
1266 - video_cards_nvidia? ( >=media-libs/nv-codec-headers-8.1.24.2[${MULTILIB_USEDEP}] )
1267 - vdpau? ( >=x11-libs/libvdpau-0.7[${MULTILIB_USEDEP}] )
1268 - vorbis? (
1269 - >=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}]
1270 - >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
1271 - )
1272 - vpx? ( >=media-libs/libvpx-1.4.0:=[${MULTILIB_USEDEP}] )
1273 - X? (
1274 - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
1275 - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
1276 - >=x11-libs/libXv-1.0.10[${MULTILIB_USEDEP}]
1277 - )
1278 - xcb? ( >=x11-libs/libxcb-1.4[${MULTILIB_USEDEP}] )
1279 - zeromq? ( >=net-libs/zeromq-4.1.6 )
1280 - zimg? ( >=media-libs/zimg-2.7.4:=[${MULTILIB_USEDEP}] )
1281 - zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
1282 - zvbi? ( >=media-libs/zvbi-0.2.35[${MULTILIB_USEDEP}] )
1283 - !media-video/qt-faststart
1284 - postproc? ( !media-libs/libpostproc )
1285 -"
1286 -
1287 -# Crypto & co provider magic
1288 -# - libressl is a useflag meaning it should always favor libressl over openssl
1289 -# - libressl and openssl provide more features to ffmpeg than gnutls
1290 -#
1291 -# The ordering is thus: libressl > openssl > gnutls
1292 -RDEPEND="${RDEPEND}
1293 - libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] )
1294 - !libressl? (
1295 - openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
1296 - !openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) )
1297 - )
1298 -"
1299 -
1300 -DEPEND="${RDEPEND}
1301 - >=sys-devel/make-3.81
1302 - doc? ( sys-apps/texinfo )
1303 - >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
1304 - ladspa? ( >=media-libs/ladspa-sdk-1.13-r2[${MULTILIB_USEDEP}] )
1305 - cpu_flags_x86_mmx? ( || ( >=dev-lang/nasm-2.13 >=dev-lang/yasm-1.3 ) )
1306 - test? ( net-misc/wget sys-devel/bc )
1307 - v4l? ( sys-kernel/linux-headers )
1308 -"
1309 -
1310 -# Code requiring FFmpeg to be built under gpl license
1311 -GPL_REQUIRED_USE="
1312 - postproc? ( gpl )
1313 - frei0r? ( gpl )
1314 - cdio? ( gpl )
1315 - samba? ( gpl )
1316 - encode? (
1317 - x264? ( gpl )
1318 - x265? ( gpl )
1319 - xvid? ( gpl )
1320 - X? ( !xcb? ( gpl ) )
1321 - )
1322 -"
1323 -REQUIRED_USE="
1324 - libv4l? ( v4l )
1325 - fftools_cws2fws? ( zlib )
1326 - test? ( encode )
1327 - ${GPL_REQUIRED_USE}
1328 - ${CPU_REQUIRED_USE}"
1329 -RESTRICT="
1330 - gpl? ( openssl? ( bindist ) fdk? ( bindist ) libressl? ( bindist ) )
1331 -"
1332 -
1333 -S=${WORKDIR}/${P/_/-}
1334 -
1335 -PATCHES=(
1336 - "${FILESDIR}"/chromium-r1.patch
1337 -)
1338 -
1339 -MULTILIB_WRAPPED_HEADERS=(
1340 - /usr/include/libavutil/avconfig.h
1341 -)
1342 -
1343 -build_separate_libffmpeg() {
1344 - use opencl
1345 -}
1346 -
1347 -src_prepare() {
1348 - if [[ "${PV%_p*}" != "${PV}" ]] ; then # Snapshot
1349 - export revision=git-N-${FFMPEG_REVISION}
1350 - fi
1351 - default
1352 - echo 'include $(SRC_PATH)/ffbuild/libffmpeg.mak' >> Makefile || die
1353 -}
1354 -
1355 -multilib_src_configure() {
1356 - local myconf=( ${EXTRA_FFMPEG_CONF} )
1357 -
1358 - local ffuse=( "${FFMPEG_FLAG_MAP[@]}" )
1359 - use openssl || use libressl && use gpl && myconf+=( --enable-nonfree )
1360 - use samba && myconf+=( --enable-version3 )
1361 -
1362 - # Encoders
1363 - if use encode ; then
1364 - ffuse+=( "${FFMPEG_ENCODER_FLAG_MAP[@]}" )
1365 -
1366 - # Licensing.
1367 - if use amrenc ; then
1368 - myconf+=( --enable-version3 )
1369 - fi
1370 - else
1371 - myconf+=( --disable-encoders )
1372 - fi
1373 -
1374 - # Indevs
1375 - use v4l || myconf+=( --disable-indev=v4l2 --disable-outdev=v4l2 )
1376 - for i in alsa oss jack ; do
1377 - use ${i} || myconf+=( --disable-indev=${i} )
1378 - done
1379 -
1380 - # Outdevs
1381 - for i in alsa oss ; do
1382 - use ${i} || myconf+=( --disable-outdev=${i} )
1383 - done
1384 -
1385 - # Decoders
1386 - use amr && myconf+=( --enable-version3 )
1387 - use gmp && myconf+=( --enable-version3 )
1388 - use fdk && use gpl && myconf+=( --enable-nonfree )
1389 -
1390 - for i in "${ffuse[@]#+}" ; do
1391 - myconf+=( $(use_enable ${i%:*} ${i#*:}) )
1392 - done
1393 -
1394 - # Incompatible features: openssl or libressl and gnutls
1395 - if use libressl ; then
1396 - myconf+=( --disable-gnutls --disable-openssl )
1397 - elif use openssl ; then
1398 - myconf+=( --disable-gnutls )
1399 - fi
1400 -
1401 - # (temporarily) disable non-multilib deps
1402 - if ! multilib_is_native_abi; then
1403 - for i in frei0r libzmq ; do
1404 - myconf+=( --disable-${i} )
1405 - done
1406 - fi
1407 -
1408 - # CPU features
1409 - for i in "${CPU_FEATURES_MAP[@]}" ; do
1410 - use ${i%:*} || myconf+=( --disable-${i#*:} )
1411 - done
1412 -
1413 - if use pic ; then
1414 - myconf+=( --enable-pic )
1415 - # disable asm code if PIC is required
1416 - # as the provided asm decidedly is not PIC for x86.
1417 - [[ ${ABI} == x86 ]] && myconf+=( --disable-asm )
1418 - fi
1419 - [[ ${ABI} == x32 ]] && myconf+=( --disable-asm ) #427004
1420 -
1421 - # Try to get cpu type based on CFLAGS.
1422 - # Bug #172723
1423 - # We need to do this so that features of that CPU will be better used
1424 - # If they contain an unknown CPU it will not hurt since ffmpeg's configure
1425 - # will just ignore it.
1426 - for i in $(get-flag mcpu) $(get-flag march) ; do
1427 - [[ ${i} = native ]] && i="host" # bug #273421
1428 - myconf+=( --cpu=${i} )
1429 - break
1430 - done
1431 -
1432 - # LTO support, bug #566282
1433 - is-flagq "-flto*" && myconf+=( "--enable-lto" )
1434 -
1435 - # Mandatory configuration
1436 - myconf=(
1437 - --enable-avfilter
1438 - --enable-avresample
1439 - --disable-stripping
1440 - # This is only for hardcoded cflags; those are used in configure checks that may
1441 - # interfere with proper detections, bug #671746 and bug #645778
1442 - # We use optflags, so that overrides them anyway.
1443 - --disable-optimizations
1444 - --disable-libcelt # bug #664158
1445 - "${myconf[@]}"
1446 - )
1447 -
1448 - # cross compile support
1449 - if tc-is-cross-compiler ; then
1450 - myconf+=( --enable-cross-compile --arch=$(tc-arch-kernel) --cross-prefix=${CHOST}- --host-cc="$(tc-getBUILD_CC)" )
1451 - case ${CHOST} in
1452 - *freebsd*)
1453 - myconf+=( --target-os=freebsd )
1454 - ;;
1455 - *mingw32*)
1456 - myconf+=( --target-os=mingw32 )
1457 - ;;
1458 - *linux*)
1459 - myconf+=( --target-os=linux )
1460 - ;;
1461 - esac
1462 - fi
1463 -
1464 - # doc
1465 - myconf+=(
1466 - $(multilib_native_use_enable doc)
1467 - $(multilib_native_use_enable doc htmlpages)
1468 - $(multilib_native_enable manpages)
1469 - )
1470 -
1471 - set -- "${S}/configure" \
1472 - --prefix="${EPREFIX}/usr" \
1473 - --libdir="${EPREFIX}/usr/$(get_libdir)" \
1474 - --shlibdir="${EPREFIX}/usr/$(get_libdir)" \
1475 - --docdir="${EPREFIX}/usr/share/doc/${PF}/html" \
1476 - --mandir="${EPREFIX}/usr/share/man" \
1477 - --enable-shared \
1478 - --cc="$(tc-getCC)" \
1479 - --cxx="$(tc-getCXX)" \
1480 - --ar="$(tc-getAR)" \
1481 - --optflags="${CFLAGS}" \
1482 - $(use_enable static-libs static) \
1483 - "${myconf[@]}"
1484 - echo "${@}"
1485 - "${@}" || die
1486 -
1487 - if multilib_is_native_abi && use chromium && build_separate_libffmpeg; then
1488 - einfo "Configuring for Chromium"
1489 - mkdir -p ../chromium || die
1490 - pushd ../chromium >/dev/null || die
1491 - set -- "${@}" \
1492 - --disable-shared \
1493 - --enable-static \
1494 - --enable-pic \
1495 - --disable-opencl
1496 - echo "${@}"
1497 - "${@}" || die
1498 - popd >/dev/null || die
1499 - fi
1500 -}
1501 -
1502 -multilib_src_compile() {
1503 - emake V=1
1504 -
1505 - if multilib_is_native_abi; then
1506 - for i in "${FFTOOLS[@]}" ; do
1507 - if use fftools_${i} ; then
1508 - emake V=1 tools/${i}$(get_exeext)
1509 - fi
1510 - done
1511 -
1512 - if use chromium; then
1513 - if build_separate_libffmpeg; then
1514 - einfo "Compiling for Chromium"
1515 - pushd ../chromium >/dev/null || die
1516 - emake V=1 libffmpeg
1517 - popd >/dev/null || die
1518 - else
1519 - emake V=1 libffmpeg
1520 - fi
1521 - fi
1522 - fi
1523 -}
1524 -
1525 -multilib_src_install() {
1526 - emake V=1 DESTDIR="${D}" install install-doc
1527 -
1528 - if multilib_is_native_abi; then
1529 - for i in "${FFTOOLS[@]}" ; do
1530 - if use fftools_${i} ; then
1531 - dobin tools/${i}$(get_exeext)
1532 - fi
1533 - done
1534 -
1535 - if use chromium; then
1536 - if build_separate_libffmpeg; then
1537 - einfo "Installing for Chromium"
1538 - pushd ../chromium >/dev/null || die
1539 - emake V=1 DESTDIR="${D}" install-libffmpeg
1540 - popd >/dev/null || die
1541 - else
1542 - emake V=1 DESTDIR="${D}" install-libffmpeg
1543 - fi
1544 - fi
1545 - fi
1546 -}
1547 -
1548 -multilib_src_install_all() {
1549 - dodoc Changelog README.md CREDITS doc/*.txt doc/APIchanges
1550 - [ -f "RELEASE_NOTES" ] && dodoc "RELEASE_NOTES"
1551 -}
1552 -
1553 -multilib_src_test() {
1554 - LD_LIBRARY_PATH="${BUILD_DIR}/libpostproc:${BUILD_DIR}/libswscale:${BUILD_DIR}/libswresample:${BUILD_DIR}/libavcodec:${BUILD_DIR}/libavdevice:${BUILD_DIR}/libavfilter:${BUILD_DIR}/libavformat:${BUILD_DIR}/libavutil:${BUILD_DIR}/libavresample" \
1555 - emake V=1 fate
1556 -}
1557
1558 diff --git a/media-video/ffmpeg/ffmpeg-4.1.2.ebuild b/media-video/ffmpeg/ffmpeg-4.1.2.ebuild
1559 deleted file mode 100644
1560 index 12b71fa688b..00000000000
1561 --- a/media-video/ffmpeg/ffmpeg-4.1.2.ebuild
1562 +++ /dev/null
1563 @@ -1,528 +0,0 @@
1564 -# Copyright 1999-2019 Gentoo Authors
1565 -# Distributed under the terms of the GNU General Public License v2
1566 -
1567 -EAPI=6
1568 -
1569 -# Subslot: libavutil major.libavcodec major.libavformat major
1570 -# Since FFmpeg ships several libraries, subslot is kind of limited here.
1571 -# Most consumers will use those three libraries, if a "less used" library
1572 -# changes its soname, consumers will have to be rebuilt the old way
1573 -# (preserve-libs).
1574 -# If, for example, a package does not link to libavformat and only libavformat
1575 -# changes its ABI then this package will be rebuilt needlessly. Hence, such a
1576 -# package is free _not_ to := depend on FFmpeg but I would strongly encourage
1577 -# doing so since such a case is unlikely.
1578 -FFMPEG_SUBSLOT=56.58.58
1579 -
1580 -SCM=""
1581 -if [ "${PV#9999}" != "${PV}" ] ; then
1582 - SCM="git-r3"
1583 - EGIT_MIN_CLONE_TYPE="single"
1584 - EGIT_REPO_URI="https://git.ffmpeg.org/ffmpeg.git"
1585 -fi
1586 -
1587 -inherit eutils flag-o-matic multilib multilib-minimal toolchain-funcs ${SCM}
1588 -
1589 -DESCRIPTION="Complete solution to record, convert and stream audio and video. Includes libavcodec"
1590 -HOMEPAGE="https://ffmpeg.org/"
1591 -if [ "${PV#9999}" != "${PV}" ] ; then
1592 - SRC_URI=""
1593 -elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot
1594 - SRC_URI="mirror://gentoo/${P}.tar.bz2"
1595 -else # Release
1596 - SRC_URI="https://ffmpeg.org/releases/${P/_/-}.tar.bz2"
1597 -fi
1598 -FFMPEG_REVISION="${PV#*_p}"
1599 -
1600 -SLOT="0/${FFMPEG_SUBSLOT}"
1601 -LICENSE="
1602 - !gpl? ( LGPL-2.1 )
1603 - gpl? ( GPL-2 )
1604 - amr? (
1605 - gpl? ( GPL-3 )
1606 - !gpl? ( LGPL-3 )
1607 - )
1608 - gmp? (
1609 - gpl? ( GPL-3 )
1610 - !gpl? ( LGPL-3 )
1611 - )
1612 - encode? (
1613 - amrenc? (
1614 - gpl? ( GPL-3 )
1615 - !gpl? ( LGPL-3 )
1616 - )
1617 - )
1618 - samba? ( GPL-3 )
1619 -"
1620 -if [ "${PV#9999}" = "${PV}" ] ; then
1621 - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
1622 -fi
1623 -
1624 -# Options to use as use_enable in the foo[:bar] form.
1625 -# This will feed configure with $(use_enable foo bar)
1626 -# or $(use_enable foo foo) if no :bar is set.
1627 -# foo is added to IUSE.
1628 -FFMPEG_FLAG_MAP=(
1629 - +bzip2:bzlib cpudetection:runtime-cpudetect debug gcrypt gnutls gmp
1630 - +gpl +hardcoded-tables +iconv libressl:libtls libxml2 lzma +network opencl
1631 - openssl +postproc samba:libsmbclient sdl:ffplay sdl:sdl2 vaapi vdpau
1632 - X:xlib xcb:libxcb xcb:libxcb-shm xcb:libxcb-xfixes +zlib
1633 - # libavdevice options
1634 - cdio:libcdio iec61883:libiec61883 ieee1394:libdc1394 libcaca openal
1635 - opengl
1636 - # indevs
1637 - libv4l:libv4l2 pulseaudio:libpulse libdrm jack:libjack
1638 - # decoders
1639 - amr:libopencore-amrwb amr:libopencore-amrnb codec2:libcodec2 fdk:libfdk-aac
1640 - jpeg2k:libopenjpeg bluray:libbluray gme:libgme gsm:libgsm
1641 - mmal modplug:libmodplug opus:libopus libilbc librtmp ssh:libssh
1642 - speex:libspeex srt:libsrt svg:librsvg video_cards_nvidia:ffnvcodec
1643 - vorbis:libvorbis vpx:libvpx zvbi:libzvbi
1644 - # libavfilter options
1645 - appkit
1646 - bs2b:libbs2b chromaprint flite:libflite frei0r
1647 - fribidi:libfribidi fontconfig ladspa libass lv2 truetype:libfreetype
1648 - rubberband:librubberband zeromq:libzmq zimg:libzimg
1649 - # libswresample options
1650 - libsoxr
1651 - # Threads; we only support pthread for now but ffmpeg supports more
1652 - +threads:pthreads
1653 -)
1654 -
1655 -# Same as above but for encoders, i.e. they do something only with USE=encode.
1656 -FFMPEG_ENCODER_FLAG_MAP=(
1657 - amrenc:libvo-amrwbenc mp3:libmp3lame
1658 - kvazaar:libkvazaar libaom
1659 - openh264:libopenh264 snappy:libsnappy theora:libtheora twolame:libtwolame
1660 - wavpack:libwavpack webp:libwebp x264:libx264 x265:libx265 xvid:libxvid
1661 -)
1662 -
1663 -IUSE="
1664 - alsa chromium doc +encode oss pic static-libs test v4l
1665 - ${FFMPEG_FLAG_MAP[@]%:*}
1666 - ${FFMPEG_ENCODER_FLAG_MAP[@]%:*}
1667 -"
1668 -
1669 -# Strings for CPU features in the useflag[:configure_option] form
1670 -# if :configure_option isn't set, it will use 'useflag' as configure option
1671 -ARM_CPU_FEATURES=(
1672 - cpu_flags_arm_thumb:armv5te
1673 - cpu_flags_arm_v6:armv6
1674 - cpu_flags_arm_thumb2:armv6t2
1675 - cpu_flags_arm_neon:neon
1676 - cpu_flags_arm_vfp:vfp
1677 - cpu_flags_arm_vfpv3:vfpv3
1678 - cpu_flags_arm_v8:armv8
1679 -)
1680 -ARM_CPU_REQUIRED_USE="
1681 - arm64? ( cpu_flags_arm_v8 )
1682 - cpu_flags_arm_v8? ( cpu_flags_arm_vfpv3 cpu_flags_arm_neon )
1683 - cpu_flags_arm_neon? ( cpu_flags_arm_thumb2 cpu_flags_arm_vfp )
1684 - cpu_flags_arm_vfpv3? ( cpu_flags_arm_vfp )
1685 - cpu_flags_arm_thumb2? ( cpu_flags_arm_v6 )
1686 - cpu_flags_arm_v6? ( cpu_flags_arm_thumb )
1687 -"
1688 -MIPS_CPU_FEATURES=( mipsdspr1:mipsdsp mipsdspr2 mipsfpu )
1689 -PPC_CPU_FEATURES=( altivec )
1690 -X86_CPU_FEATURES_RAW=( 3dnow:amd3dnow 3dnowext:amd3dnowext aes:aesni avx:avx avx2:avx2 fma3:fma3 fma4:fma4 mmx:mmx mmxext:mmxext sse:sse sse2:sse2 sse3:sse3 ssse3:ssse3 sse4_1:sse4 sse4_2:sse42 xop:xop )
1691 -X86_CPU_FEATURES=( ${X86_CPU_FEATURES_RAW[@]/#/cpu_flags_x86_} )
1692 -X86_CPU_REQUIRED_USE="
1693 - cpu_flags_x86_avx2? ( cpu_flags_x86_avx )
1694 - cpu_flags_x86_fma4? ( cpu_flags_x86_avx )
1695 - cpu_flags_x86_fma3? ( cpu_flags_x86_avx )
1696 - cpu_flags_x86_xop? ( cpu_flags_x86_avx )
1697 - cpu_flags_x86_avx? ( cpu_flags_x86_sse4_2 )
1698 - cpu_flags_x86_aes? ( cpu_flags_x86_sse4_2 )
1699 - cpu_flags_x86_sse4_2? ( cpu_flags_x86_sse4_1 )
1700 - cpu_flags_x86_sse4_1? ( cpu_flags_x86_ssse3 )
1701 - cpu_flags_x86_ssse3? ( cpu_flags_x86_sse3 )
1702 - cpu_flags_x86_sse3? ( cpu_flags_x86_sse2 )
1703 - cpu_flags_x86_sse2? ( cpu_flags_x86_sse )
1704 - cpu_flags_x86_sse? ( cpu_flags_x86_mmxext )
1705 - cpu_flags_x86_mmxext? ( cpu_flags_x86_mmx )
1706 - cpu_flags_x86_3dnowext? ( cpu_flags_x86_3dnow )
1707 - cpu_flags_x86_3dnow? ( cpu_flags_x86_mmx )
1708 -"
1709 -
1710 -CPU_FEATURES_MAP=(
1711 - ${ARM_CPU_FEATURES[@]}
1712 - ${MIPS_CPU_FEATURES[@]}
1713 - ${PPC_CPU_FEATURES[@]}
1714 - ${X86_CPU_FEATURES[@]}
1715 -)
1716 -IUSE="${IUSE}
1717 - ${CPU_FEATURES_MAP[@]%:*}"
1718 -
1719 -CPU_REQUIRED_USE="
1720 - ${ARM_CPU_REQUIRED_USE}
1721 - ${X86_CPU_REQUIRED_USE}
1722 -"
1723 -
1724 -FFTOOLS=( aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt graph2dot ismindex pktdumper qt-faststart sidxindex trasher )
1725 -IUSE="${IUSE} ${FFTOOLS[@]/#/+fftools_}"
1726 -
1727 -RDEPEND="
1728 - alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] )
1729 - amr? ( >=media-libs/opencore-amr-0.1.3-r1[${MULTILIB_USEDEP}] )
1730 - bluray? ( >=media-libs/libbluray-0.3.0-r1:=[${MULTILIB_USEDEP}] )
1731 - bs2b? ( >=media-libs/libbs2b-3.1.0-r1[${MULTILIB_USEDEP}] )
1732 - bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] )
1733 - cdio? ( >=dev-libs/libcdio-paranoia-0.90_p1-r1[${MULTILIB_USEDEP}] )
1734 - chromaprint? ( >=media-libs/chromaprint-1.2-r1[${MULTILIB_USEDEP}] )
1735 - codec2? ( media-libs/codec2[${MULTILIB_USEDEP}] )
1736 - encode? (
1737 - amrenc? ( >=media-libs/vo-amrwbenc-0.1.2-r1[${MULTILIB_USEDEP}] )
1738 - kvazaar? ( >=media-libs/kvazaar-1.2.0[${MULTILIB_USEDEP}] )
1739 - mp3? ( >=media-sound/lame-3.99.5-r1[${MULTILIB_USEDEP}] )
1740 - openh264? ( >=media-libs/openh264-1.4.0-r1[${MULTILIB_USEDEP}] )
1741 - snappy? ( >=app-arch/snappy-1.1.2-r1:=[${MULTILIB_USEDEP}] )
1742 - theora? (
1743 - >=media-libs/libtheora-1.1.1[encode,${MULTILIB_USEDEP}]
1744 - >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
1745 - )
1746 - twolame? ( >=media-sound/twolame-0.3.13-r1[${MULTILIB_USEDEP}] )
1747 - wavpack? ( >=media-sound/wavpack-4.60.1-r1[${MULTILIB_USEDEP}] )
1748 - webp? ( >=media-libs/libwebp-0.3.0:=[${MULTILIB_USEDEP}] )
1749 - x264? ( >=media-libs/x264-0.0.20130506:=[${MULTILIB_USEDEP}] )
1750 - x265? ( >=media-libs/x265-1.6:=[${MULTILIB_USEDEP}] )
1751 - xvid? ( >=media-libs/xvid-1.3.2-r1[${MULTILIB_USEDEP}] )
1752 - )
1753 - fdk? ( >=media-libs/fdk-aac-0.1.3:=[${MULTILIB_USEDEP}] )
1754 - flite? ( >=app-accessibility/flite-1.4-r4[${MULTILIB_USEDEP}] )
1755 - fontconfig? ( >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}] )
1756 - frei0r? ( media-plugins/frei0r-plugins )
1757 - fribidi? ( >=dev-libs/fribidi-0.19.6[${MULTILIB_USEDEP}] )
1758 - gcrypt? ( >=dev-libs/libgcrypt-1.6:0=[${MULTILIB_USEDEP}] )
1759 - gme? ( >=media-libs/game-music-emu-0.6.0[${MULTILIB_USEDEP}] )
1760 - gmp? ( >=dev-libs/gmp-6:0=[${MULTILIB_USEDEP}] )
1761 - gsm? ( >=media-sound/gsm-1.0.13-r1[${MULTILIB_USEDEP}] )
1762 - iconv? ( >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] )
1763 - iec61883? (
1764 - >=media-libs/libiec61883-1.2.0-r1[${MULTILIB_USEDEP}]
1765 - >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}]
1766 - >=sys-libs/libavc1394-0.5.4-r1[${MULTILIB_USEDEP}]
1767 - )
1768 - ieee1394? (
1769 - >=media-libs/libdc1394-2.2.1[${MULTILIB_USEDEP}]
1770 - >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}]
1771 - )
1772 - jack? ( virtual/jack[${MULTILIB_USEDEP}] )
1773 - jpeg2k? ( >=media-libs/openjpeg-2:2[${MULTILIB_USEDEP}] )
1774 - libaom? ( >=media-libs/libaom-1.0.0-r1[${MULTILIB_USEDEP}] )
1775 - libass? ( >=media-libs/libass-0.10.2:=[${MULTILIB_USEDEP}] )
1776 - libcaca? ( >=media-libs/libcaca-0.99_beta18-r1[${MULTILIB_USEDEP}] )
1777 - libdrm? ( x11-libs/libdrm[${MULTILIB_USEDEP}] )
1778 - libilbc? ( >=media-libs/libilbc-2[${MULTILIB_USEDEP}] )
1779 - libsoxr? ( >=media-libs/soxr-0.1.0[${MULTILIB_USEDEP}] )
1780 - libv4l? ( >=media-libs/libv4l-0.9.5[${MULTILIB_USEDEP}] )
1781 - libxml2? ( dev-libs/libxml2:=[${MULTILIB_USEDEP}] )
1782 - lv2? ( media-libs/lv2[${MULTILIB_USEDEP}] media-libs/lilv[${MULTILIB_USEDEP}] )
1783 - lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] )
1784 - mmal? ( media-libs/raspberrypi-userland )
1785 - modplug? ( >=media-libs/libmodplug-0.8.8.4-r1[${MULTILIB_USEDEP}] )
1786 - openal? ( >=media-libs/openal-1.15.1[${MULTILIB_USEDEP}] )
1787 - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
1788 - opengl? ( >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}] )
1789 - opus? ( >=media-libs/opus-1.0.2-r2[${MULTILIB_USEDEP}] )
1790 - pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${MULTILIB_USEDEP}] )
1791 - librtmp? ( >=media-video/rtmpdump-2.4_p20131018[${MULTILIB_USEDEP}] )
1792 - rubberband? ( >=media-libs/rubberband-1.8.1-r1[${MULTILIB_USEDEP}] )
1793 - samba? ( >=net-fs/samba-3.6.23-r1[client,${MULTILIB_USEDEP}] )
1794 - sdl? ( media-libs/libsdl2[sound,video,${MULTILIB_USEDEP}] )
1795 - speex? ( >=media-libs/speex-1.2_rc1-r1[${MULTILIB_USEDEP}] )
1796 - srt? ( >=net-libs/srt-1.3.0[${MULTILIB_USEDEP}] )
1797 - ssh? ( >=net-libs/libssh-0.5.5[${MULTILIB_USEDEP}] )
1798 - svg? ( gnome-base/librsvg:2=[${MULTILIB_USEDEP}] )
1799 - truetype? ( >=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}] )
1800 - vaapi? ( >=x11-libs/libva-1.2.1-r1[${MULTILIB_USEDEP}] )
1801 - video_cards_nvidia? ( >=media-libs/nv-codec-headers-8.1.24.2[${MULTILIB_USEDEP}] )
1802 - vdpau? ( >=x11-libs/libvdpau-0.7[${MULTILIB_USEDEP}] )
1803 - vorbis? (
1804 - >=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}]
1805 - >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
1806 - )
1807 - vpx? ( >=media-libs/libvpx-1.4.0:=[${MULTILIB_USEDEP}] )
1808 - X? (
1809 - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
1810 - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
1811 - >=x11-libs/libXv-1.0.10[${MULTILIB_USEDEP}]
1812 - )
1813 - xcb? ( >=x11-libs/libxcb-1.4[${MULTILIB_USEDEP}] )
1814 - zeromq? ( >=net-libs/zeromq-4.1.6 )
1815 - zimg? ( >=media-libs/zimg-2.7.4:=[${MULTILIB_USEDEP}] )
1816 - zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
1817 - zvbi? ( >=media-libs/zvbi-0.2.35[${MULTILIB_USEDEP}] )
1818 - !media-video/qt-faststart
1819 - postproc? ( !media-libs/libpostproc )
1820 -"
1821 -
1822 -# Crypto & co provider magic
1823 -# - libressl is a useflag meaning it should always favor libressl over openssl
1824 -# - libressl and openssl provide more features to ffmpeg than gnutls
1825 -#
1826 -# The ordering is thus: libressl > openssl > gnutls
1827 -RDEPEND="${RDEPEND}
1828 - libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] )
1829 - !libressl? (
1830 - openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
1831 - !openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) )
1832 - )
1833 -"
1834 -
1835 -DEPEND="${RDEPEND}
1836 - >=sys-devel/make-3.81
1837 - doc? ( sys-apps/texinfo )
1838 - >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
1839 - ladspa? ( >=media-libs/ladspa-sdk-1.13-r2[${MULTILIB_USEDEP}] )
1840 - cpu_flags_x86_mmx? ( || ( >=dev-lang/nasm-2.13 >=dev-lang/yasm-1.3 ) )
1841 - test? ( net-misc/wget sys-devel/bc )
1842 - v4l? ( sys-kernel/linux-headers )
1843 -"
1844 -
1845 -# Code requiring FFmpeg to be built under gpl license
1846 -GPL_REQUIRED_USE="
1847 - postproc? ( gpl )
1848 - frei0r? ( gpl )
1849 - cdio? ( gpl )
1850 - samba? ( gpl )
1851 - encode? (
1852 - x264? ( gpl )
1853 - x265? ( gpl )
1854 - xvid? ( gpl )
1855 - X? ( !xcb? ( gpl ) )
1856 - )
1857 -"
1858 -REQUIRED_USE="
1859 - libv4l? ( v4l )
1860 - fftools_cws2fws? ( zlib )
1861 - test? ( encode )
1862 - ${GPL_REQUIRED_USE}
1863 - ${CPU_REQUIRED_USE}"
1864 -RESTRICT="
1865 - gpl? ( openssl? ( bindist ) fdk? ( bindist ) libressl? ( bindist ) )
1866 -"
1867 -
1868 -S=${WORKDIR}/${P/_/-}
1869 -
1870 -PATCHES=(
1871 - "${FILESDIR}"/chromium-r1.patch
1872 -)
1873 -
1874 -MULTILIB_WRAPPED_HEADERS=(
1875 - /usr/include/libavutil/avconfig.h
1876 -)
1877 -
1878 -build_separate_libffmpeg() {
1879 - use opencl
1880 -}
1881 -
1882 -src_prepare() {
1883 - if [[ "${PV%_p*}" != "${PV}" ]] ; then # Snapshot
1884 - export revision=git-N-${FFMPEG_REVISION}
1885 - fi
1886 - default
1887 - echo 'include $(SRC_PATH)/ffbuild/libffmpeg.mak' >> Makefile || die
1888 -}
1889 -
1890 -multilib_src_configure() {
1891 - local myconf=( ${EXTRA_FFMPEG_CONF} )
1892 -
1893 - local ffuse=( "${FFMPEG_FLAG_MAP[@]}" )
1894 - use openssl || use libressl && use gpl && myconf+=( --enable-nonfree )
1895 - use samba && myconf+=( --enable-version3 )
1896 -
1897 - # Encoders
1898 - if use encode ; then
1899 - ffuse+=( "${FFMPEG_ENCODER_FLAG_MAP[@]}" )
1900 -
1901 - # Licensing.
1902 - if use amrenc ; then
1903 - myconf+=( --enable-version3 )
1904 - fi
1905 - else
1906 - myconf+=( --disable-encoders )
1907 - fi
1908 -
1909 - # Indevs
1910 - use v4l || myconf+=( --disable-indev=v4l2 --disable-outdev=v4l2 )
1911 - for i in alsa oss jack ; do
1912 - use ${i} || myconf+=( --disable-indev=${i} )
1913 - done
1914 -
1915 - # Outdevs
1916 - for i in alsa oss ; do
1917 - use ${i} || myconf+=( --disable-outdev=${i} )
1918 - done
1919 -
1920 - # Decoders
1921 - use amr && myconf+=( --enable-version3 )
1922 - use gmp && myconf+=( --enable-version3 )
1923 - use fdk && use gpl && myconf+=( --enable-nonfree )
1924 -
1925 - for i in "${ffuse[@]#+}" ; do
1926 - myconf+=( $(use_enable ${i%:*} ${i#*:}) )
1927 - done
1928 -
1929 - # Incompatible features: openssl or libressl and gnutls
1930 - if use libressl ; then
1931 - myconf+=( --disable-gnutls --disable-openssl )
1932 - elif use openssl ; then
1933 - myconf+=( --disable-gnutls )
1934 - fi
1935 -
1936 - # (temporarily) disable non-multilib deps
1937 - if ! multilib_is_native_abi; then
1938 - for i in frei0r libzmq ; do
1939 - myconf+=( --disable-${i} )
1940 - done
1941 - fi
1942 -
1943 - # CPU features
1944 - for i in "${CPU_FEATURES_MAP[@]}" ; do
1945 - use ${i%:*} || myconf+=( --disable-${i#*:} )
1946 - done
1947 -
1948 - if use pic ; then
1949 - myconf+=( --enable-pic )
1950 - # disable asm code if PIC is required
1951 - # as the provided asm decidedly is not PIC for x86.
1952 - [[ ${ABI} == x86 ]] && myconf+=( --disable-asm )
1953 - fi
1954 - [[ ${ABI} == x32 ]] && myconf+=( --disable-asm ) #427004
1955 -
1956 - # Try to get cpu type based on CFLAGS.
1957 - # Bug #172723
1958 - # We need to do this so that features of that CPU will be better used
1959 - # If they contain an unknown CPU it will not hurt since ffmpeg's configure
1960 - # will just ignore it.
1961 - for i in $(get-flag mcpu) $(get-flag march) ; do
1962 - [[ ${i} = native ]] && i="host" # bug #273421
1963 - myconf+=( --cpu=${i} )
1964 - break
1965 - done
1966 -
1967 - # LTO support, bug #566282
1968 - is-flagq "-flto*" && myconf+=( "--enable-lto" )
1969 -
1970 - # Mandatory configuration
1971 - myconf=(
1972 - --enable-avfilter
1973 - --enable-avresample
1974 - --disable-stripping
1975 - # This is only for hardcoded cflags; those are used in configure checks that may
1976 - # interfere with proper detections, bug #671746 and bug #645778
1977 - # We use optflags, so that overrides them anyway.
1978 - --disable-optimizations
1979 - --disable-libcelt # bug #664158
1980 - "${myconf[@]}"
1981 - )
1982 -
1983 - # cross compile support
1984 - if tc-is-cross-compiler ; then
1985 - myconf+=( --enable-cross-compile --arch=$(tc-arch-kernel) --cross-prefix=${CHOST}- --host-cc="$(tc-getBUILD_CC)" )
1986 - case ${CHOST} in
1987 - *freebsd*)
1988 - myconf+=( --target-os=freebsd )
1989 - ;;
1990 - *mingw32*)
1991 - myconf+=( --target-os=mingw32 )
1992 - ;;
1993 - *linux*)
1994 - myconf+=( --target-os=linux )
1995 - ;;
1996 - esac
1997 - fi
1998 -
1999 - # doc
2000 - myconf+=(
2001 - $(multilib_native_use_enable doc)
2002 - $(multilib_native_use_enable doc htmlpages)
2003 - $(multilib_native_enable manpages)
2004 - )
2005 -
2006 - set -- "${S}/configure" \
2007 - --prefix="${EPREFIX}/usr" \
2008 - --libdir="${EPREFIX}/usr/$(get_libdir)" \
2009 - --shlibdir="${EPREFIX}/usr/$(get_libdir)" \
2010 - --docdir="${EPREFIX}/usr/share/doc/${PF}/html" \
2011 - --mandir="${EPREFIX}/usr/share/man" \
2012 - --enable-shared \
2013 - --cc="$(tc-getCC)" \
2014 - --cxx="$(tc-getCXX)" \
2015 - --ar="$(tc-getAR)" \
2016 - --optflags="${CFLAGS}" \
2017 - $(use_enable static-libs static) \
2018 - "${myconf[@]}"
2019 - echo "${@}"
2020 - "${@}" || die
2021 -
2022 - if multilib_is_native_abi && use chromium && build_separate_libffmpeg; then
2023 - einfo "Configuring for Chromium"
2024 - mkdir -p ../chromium || die
2025 - pushd ../chromium >/dev/null || die
2026 - set -- "${@}" \
2027 - --disable-shared \
2028 - --enable-static \
2029 - --enable-pic \
2030 - --disable-opencl
2031 - echo "${@}"
2032 - "${@}" || die
2033 - popd >/dev/null || die
2034 - fi
2035 -}
2036 -
2037 -multilib_src_compile() {
2038 - emake V=1
2039 -
2040 - if multilib_is_native_abi; then
2041 - for i in "${FFTOOLS[@]}" ; do
2042 - if use fftools_${i} ; then
2043 - emake V=1 tools/${i}$(get_exeext)
2044 - fi
2045 - done
2046 -
2047 - if use chromium; then
2048 - if build_separate_libffmpeg; then
2049 - einfo "Compiling for Chromium"
2050 - pushd ../chromium >/dev/null || die
2051 - emake V=1 libffmpeg
2052 - popd >/dev/null || die
2053 - else
2054 - emake V=1 libffmpeg
2055 - fi
2056 - fi
2057 - fi
2058 -}
2059 -
2060 -multilib_src_install() {
2061 - emake V=1 DESTDIR="${D}" install install-doc
2062 -
2063 - if multilib_is_native_abi; then
2064 - for i in "${FFTOOLS[@]}" ; do
2065 - if use fftools_${i} ; then
2066 - dobin tools/${i}$(get_exeext)
2067 - fi
2068 - done
2069 -
2070 - if use chromium; then
2071 - if build_separate_libffmpeg; then
2072 - einfo "Installing for Chromium"
2073 - pushd ../chromium >/dev/null || die
2074 - emake V=1 DESTDIR="${D}" install-libffmpeg
2075 - popd >/dev/null || die
2076 - else
2077 - emake V=1 DESTDIR="${D}" install-libffmpeg
2078 - fi
2079 - fi
2080 - fi
2081 -}
2082 -
2083 -multilib_src_install_all() {
2084 - dodoc Changelog README.md CREDITS doc/*.txt doc/APIchanges
2085 - [ -f "RELEASE_NOTES" ] && dodoc "RELEASE_NOTES"
2086 -}
2087 -
2088 -multilib_src_test() {
2089 - LD_LIBRARY_PATH="${BUILD_DIR}/libpostproc:${BUILD_DIR}/libswscale:${BUILD_DIR}/libswresample:${BUILD_DIR}/libavcodec:${BUILD_DIR}/libavdevice:${BUILD_DIR}/libavfilter:${BUILD_DIR}/libavformat:${BUILD_DIR}/libavutil:${BUILD_DIR}/libavresample" \
2090 - emake V=1 fate
2091 -}