summaryrefslogtreecommitdiff
path: root/media-video
diff options
context:
space:
mode:
Diffstat (limited to 'media-video')
-rw-r--r--media-video/Manifest.gzbin27924 -> 27771 bytes
-rw-r--r--media-video/aegisub/Manifest2
-rw-r--r--media-video/aegisub/aegisub-9999.ebuild13
-rw-r--r--media-video/blinkenthemes/Manifest2
-rw-r--r--media-video/blinkenthemes/blinkenthemes-0.10-r1.ebuild2
-rw-r--r--media-video/dcpomatic/Manifest8
-rw-r--r--media-video/dcpomatic/dcpomatic-2.12.4.ebuild116
-rw-r--r--media-video/dcpomatic/dcpomatic-9999.ebuild117
-rw-r--r--media-video/dcpomatic/files/dcpomatic-2.10.2-respect-cxxflags.patch13
-rw-r--r--media-video/dcpomatic/files/dcpomatic-2.8.0-desktop.patch32
-rw-r--r--media-video/dcpomatic/files/dcpomatic-2.8.0-no-ldconfig.patch12
-rw-r--r--media-video/dcpomatic/files/dcpomatic-2.8.0-wxGTK3.patch13
-rw-r--r--media-video/dcpomatic/metadata.xml15
-rw-r--r--media-video/ffmpeg/Manifest12
-rw-r--r--media-video/ffmpeg/ffmpeg-3.4.5.ebuild2
-rw-r--r--media-video/ffmpeg/ffmpeg-3.4.6.ebuild488
-rw-r--r--media-video/ffmpeg/ffmpeg-4.1.2.ebuild528
-rw-r--r--media-video/ffmpeg/ffmpeg-4.1.3.ebuild528
-rw-r--r--media-video/ffmpeg/ffmpeg-9999.ebuild7
-rw-r--r--media-video/ffmpeg/metadata.xml1
-rw-r--r--media-video/gaupol/Manifest2
-rw-r--r--media-video/gaupol/gaupol-1.5.ebuild2
-rw-r--r--media-video/gnome-mpv/Manifest2
-rw-r--r--media-video/gnome-mpv/gnome-mpv-0.16.ebuild2
-rw-r--r--media-video/mjpegtools/Manifest2
-rw-r--r--media-video/mjpegtools/mjpegtools-2.1.0-r4.ebuild4
-rw-r--r--media-video/mkvtoolnix/Manifest6
-rw-r--r--media-video/mkvtoolnix/mkvtoolnix-31.0.0.ebuild2
-rw-r--r--media-video/mkvtoolnix/mkvtoolnix-32.0.0.ebuild130
-rw-r--r--media-video/mkvtoolnix/mkvtoolnix-9999.ebuild8
-rw-r--r--media-video/mplayer/Manifest4
-rw-r--r--media-video/mplayer/mplayer-1.3.0-r5.ebuild19
-rw-r--r--media-video/mplayer/mplayer-9999.ebuild19
-rw-r--r--media-video/parole/Manifest2
-rw-r--r--media-video/parole/parole-1.0.2.ebuild64
-rw-r--r--media-video/pitivi/Manifest3
-rw-r--r--media-video/pitivi/files/pitivi-0.999-optional-tests.patch18
-rw-r--r--media-video/pitivi/pitivi-0.999.ebuild96
-rw-r--r--media-video/projectx/Manifest8
-rw-r--r--media-video/projectx/files/build-0.91.0.10.xml77
-rw-r--r--media-video/projectx/files/projectx-0.91.0.10-bl2.patch15
-rw-r--r--media-video/projectx/files/projectx-0.91.0.10-idctfast.patch37
-rw-r--r--media-video/projectx/files/projectx-0.91.0.10-stdout-corrupt.patch11
-rw-r--r--media-video/projectx/files/projectx-0.91.0.10-xdg.patch44
-rw-r--r--media-video/projectx/projectx-0.91.0.10-r1.ebuild4
-rw-r--r--media-video/projectx/projectx-0.91.0.10-r2.ebuild134
-rw-r--r--media-video/ttcut/Manifest1
-rw-r--r--media-video/ttcut/ttcut-0.19.6_p1-r1.ebuild48
48 files changed, 2285 insertions, 390 deletions
diff --git a/media-video/Manifest.gz b/media-video/Manifest.gz
index f649efe720ed..722228ea90d3 100644
--- a/media-video/Manifest.gz
+++ b/media-video/Manifest.gz
Binary files differ
diff --git a/media-video/aegisub/Manifest b/media-video/aegisub/Manifest
index 904196781387..c8f51c107430 100644
--- a/media-video/aegisub/Manifest
+++ b/media-video/aegisub/Manifest
@@ -5,5 +5,5 @@ AUX 3.2.2_p20160518/aegisub-3.2.2_p20160518-respect-compiler-flags.patch 2186 BL
AUX 3.2.2_p20160518/aegisub-3.2.2_p20160518-support-system-gtest.patch 2483 BLAKE2B 6bff0828e0678e269dc129be03f9bf1135933abefdb9190de5fe6afd214b9caa8b4283f65f30853b3ae118c5ade021a174fa164cee606b635f6587deabf47581 SHA512 802ee218e2c005760a8260271791df0891ef6392bec4fbbb5936df5a84db888b0b6f36055d0760c4929cb442adcc1433a363fa93eae6c163f296166028684daf
DIST aegisub-3.2.2_p20160518.tar.gz 7438734 BLAKE2B 3a57e5d6fafac2ca95d64d60e8d68b48177aaa0c5fd1438d0b0a133757ef95443c16324fb7effb41506f2b1eb70aab9d34845a91beef0ef81a3658444e24be07 SHA512 8d8775ba0a12735a9756b9abfd65c89519dae4e21afcaedbd18985d1c1021975b1ae909b3bef1121b707c626e1711d56f1823f3b4746eab49e8386536a5e84e6
EBUILD aegisub-3.2.2_p20160518-r2.ebuild 3526 BLAKE2B a38d02662aa047b7f9d505391a25be856d50267c9d917a9df7342b1afaec5122f22a4649d0ac8adfb2259eb0c01bbab1681c138280db191782711d4bd32436ef SHA512 b657555a4f49c09b9c06570dd9927a136b1341ef8ae5cd209ec73ce45a62e33fcd15fbf90b8a870f6a68f071b3e322e03fcd17f8fdfc04b1579a64b19bfea0cb
-EBUILD aegisub-9999.ebuild 3041 BLAKE2B 4c9adee1e3a308b1e7470d6badc8f9af87f68a7ca09d589328a591634f4286123d972c2a8a61859881cdedebcb73dd81a22c74fa5410caac102a2327cf7684b0 SHA512 d2231b788ff67fd79db1c8a353cd87d5e9959f496b80b88cd7ec89f380756b3defe3f0c69a703828b00d63020276fbe749618a555912724c65077914bafe0a9d
+EBUILD aegisub-9999.ebuild 2867 BLAKE2B 9eeddc22c8774b94d0365b8f0b628f4cde96847f90d1373e26cedd4ae74662b04407858b71d2de9f44b67f444651513ae95b13743eb5c2157e6f9daa00f4af96 SHA512 afce1fa2d15e8a63bff8551e88338aa5d01093aa61ccd84105f2c0200dcefeeeadd0a4535d9e176ab39043d842e272abecaff2d7113f77f9f36354788e3c021e
MISC metadata.xml 489 BLAKE2B b26abe2056ef0465a81ea8f9928c6d05053595b5650aff750251173ddce6f5248a30331104710c1b05cafe9641c072764c45f66935b25857785bc833af31174a SHA512 450c45be100ed72d7f0b69fe596862137ea2f421597e99129325bf2f58940600a62e1502ee4d6c7cbbab17b4cbd99da8c481ceb6fec2709452c17d8cb7aaae48
diff --git a/media-video/aegisub/aegisub-9999.ebuild b/media-video/aegisub/aegisub-9999.ebuild
index 3d4464c989fa..fcbfb2a2dc80 100644
--- a/media-video/aegisub/aegisub-9999.ebuild
+++ b/media-video/aegisub/aegisub-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -17,7 +17,8 @@ EGIT_SUBMODULES=()
LICENSE="BSD MIT"
SLOT="0"
KEYWORDS=""
-IUSE="+alsa debug +fftw openal oss portaudio pulseaudio spell test +uchardet"
+IUSE="+alsa debug +fftw openal oss portaudio pulseaudio spell +uchardet"
+RESTRICT="test"
# aegisub bundles luabins (https://github.com/agladysh/luabins).
# Unfortunately, luabins upstream is practically dead since 2010.
@@ -46,11 +47,6 @@ DEPEND="${RDEPEND}
dev-util/intltool
sys-devel/gettext
virtual/pkgconfig
- test? (
- ~dev-cpp/gtest-1.7.0
- dev-lua/busted
- dev-lua/luarocks
- )
"
REQUIRED_USE="|| ( alsa openal oss portaudio pulseaudio )"
@@ -58,7 +54,6 @@ REQUIRED_USE="|| ( alsa openal oss portaudio pulseaudio )"
PATCHES=(
"${FILESDIR}/3.2.2_p20160518/${PN}-3.2.2_p20160518-fix-system-luajit-build.patch"
"${FILESDIR}/3.2.2_p20160518/${PN}-3.2.2_p20160518-respect-compiler-flags.patch"
- "${FILESDIR}/3.2.2_p20160518/${PN}-3.2.2_p20160518-support-system-gtest.patch"
)
src_prepare() {
@@ -103,7 +98,7 @@ src_configure() {
}
src_compile() {
- emake WITH_SYSTEM_GTEST=$(usex test)
+ emake
}
src_test() {
diff --git a/media-video/blinkenthemes/Manifest b/media-video/blinkenthemes/Manifest
index a525e4f4f091..1cec205522d3 100644
--- a/media-video/blinkenthemes/Manifest
+++ b/media-video/blinkenthemes/Manifest
@@ -1,4 +1,4 @@
DIST blinkenthemes-0.10.tar.gz 4059605 BLAKE2B fe56ec9522cbcaa78c45e92461d462739d28bdb96aa9d82ce58b79410e779169ade4d9f8f1c2ca2a333a827edbd2c650301db86a3313bb82fb01597148dc23f4 SHA512 e7bcc2b41046f78750d32ec2f3b37e6f2e16b4bc35a40bc09a8a9ba0a63e54192796cd69491c0517e0ac612d496f0d04ef79a5508da61a2090943bfc94938cf1
-EBUILD blinkenthemes-0.10-r1.ebuild 362 BLAKE2B 9caa4ccecefb0f39b7676cfcdd4336900205259f121e889a6dffdc6c1f2a601fc20b0c28018e7acf683c1a84307c78bc0069dc2fb7e9153f6980a409652499db SHA512 1076aee8a80f9763c1fc84138345c9bb83a70935372c0954c94c1dff60ac21b442cb88c73a8805978d5ce8303ff8730972d2e1ab44f40d0994e2dbc438231c24
+EBUILD blinkenthemes-0.10-r1.ebuild 361 BLAKE2B 2b23d0cd570aac266b1209f29fa4fd9e403c055e4064da730db4b4c6f0bd96ea8cb5a51700e4a1219a9e7abd8c2ff0c4d3cebac9343b6f4817896a58cd972548 SHA512 69b4ddd4ab49b3fe35a995297a57d1a8dc4c59ebd237ec9f14cd3b2e98745501077cde922ac3d6de9fe3b4e06d823acd2ce55dc757c13904ecfa4a9be6a43705
EBUILD blinkenthemes-0.10.ebuild 538 BLAKE2B 4affa1e04bfa0cc909c018052301743122ab4a5fbbaf9c2d9c371f6f206214ef4109c92742b61b5529575130c56174e97dd6332f5ab2591944ac70f815078718 SHA512 0d9dc4d889ffeb2c8143808c2e30a713f7a8d802dd9576e426e021d9610142414febf1ffaab3a8a38206cd0361dc3245a26c5db7b9b2ff6e4cf087acac59fcd4
MISC metadata.xml 667 BLAKE2B 7505bd3a3b7203d57d974f9edb438ed42617233a590044f983161622f4107eb8cb340c350fd750a128145f1374f89f03bff6e10cec2b6056a30297df8f9ca902 SHA512 11c102eb6ccdb806940c82ca69345ac9acfa113002e5b7ce14426a1107d0a678d8bb444c2f7fda9d25f4b78a35fe022d970471b344e19d0b806ec7bfb454a021
diff --git a/media-video/blinkenthemes/blinkenthemes-0.10-r1.ebuild b/media-video/blinkenthemes/blinkenthemes-0.10-r1.ebuild
index 2e1eb5ace209..f4672192e6b6 100644
--- a/media-video/blinkenthemes/blinkenthemes-0.10-r1.ebuild
+++ b/media-video/blinkenthemes/blinkenthemes-0.10-r1.ebuild
@@ -9,7 +9,7 @@ SRC_URI="http://blinkenlights.de/dist/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 ~x86"
+KEYWORDS="amd64 x86"
DEPEND="media-libs/blib"
BDEPEND="virtual/pkgconfig"
diff --git a/media-video/dcpomatic/Manifest b/media-video/dcpomatic/Manifest
deleted file mode 100644
index 816cee2d2cb1..000000000000
--- a/media-video/dcpomatic/Manifest
+++ /dev/null
@@ -1,8 +0,0 @@
-AUX dcpomatic-2.10.2-respect-cxxflags.patch 485 BLAKE2B cc638635801f8a27c6c7e5589d18d4befca9d72d2deff405b3115f850fdf0c02a1f3e348cdc9dbb52f7d588c267857e30544442b2d4b49b5a779886cce881505 SHA512 2766294bb2168af647086e1a905f1114fd41e8be84f1577ef3ca3e3e831def8347e1d7ec22c0e432c5e3697e76f63d55480b72422921f6a4d39d205061274625
-AUX dcpomatic-2.8.0-desktop.patch 1081 BLAKE2B 71e55abdccc9f6b071c1cd01c4dad8275e22fb8d1eb9b660a17d15eb6f68baf6cd5032f190795789efe4176ba6164b1419683ddeb507b41afd345c5c39a30589 SHA512 f7fcd1e038dda2b056a03462d601180e6105a89dee0ff6c143958678622a14fb307e375a6a645c12acbe8041a106234af3dc462bbcbdd74a35ce44159ba0b651
-AUX dcpomatic-2.8.0-no-ldconfig.patch 241 BLAKE2B b6f2c202efbac7f746b9be8b31896fd4766e338557b92b90b1b197e31f5712498aed322fd5c79d3f9e57f12faeb634a5139db74d281a0f90beed1bd8eb3b220c SHA512 6fac6ec3cacbf40a1f86bd9a5d58a847a1b7bac63acd52a10c1c0cb334e40693d945dfd7e2593d8fde27a853006ac5021bda09208d19f71d613091ca4a7ace01
-AUX dcpomatic-2.8.0-wxGTK3.patch 506 BLAKE2B 7ed80077e3e0f493f5f39526eecd61ac754427152d8c9c97e536f5c2f8eb89b490d1f54b571a507a943690b6eb6b7df0b209c212d31328987709fdd5fff2732d SHA512 127694c416d4f0d50e4e793c2b4f5d4f4a19c92bf10f56602247e1aeefe7ce638745a8434723d8973e5c6a6f8bc9af5bca1a1d7113c459c6fd59f20f1b4d94d9
-DIST dcpomatic-2.12.4.tar.bz2 177868575 BLAKE2B 5ace00aad6bfd44790841da380b45aa28577b058e11d2f7b6ef9d8611cf4c370054735ded599da210764fa1eed45d49bc1fb111862167998f2479251dc8cd308 SHA512 e7d16c603c7c1ae8ee489279b28a22ced74794c7974a67fb2f8ff1403f3f6041223b3c89eaf4f1ad1a56fb41dc0090c9176ded36e8fa2a8dbedba49a57d2ba82
-EBUILD dcpomatic-2.12.4.ebuild 2829 BLAKE2B ff8b93cd217e7ee8739b61d7c04f317a66e86099f33e19d78caffceefdf985f6167da35d72d14cd588b3e14c6bb7eb2af93757724e080f43306e194d61ff37ec SHA512 56ddd265247e9b095648aebd9d402424839b210bfb029a2ddea298731e966d67caff626840f4fd00f909fb36374b09bdb07b86dd72de84f756a14ef8d6e0aae3
-EBUILD dcpomatic-9999.ebuild 2829 BLAKE2B 8e7fb2e0d6d6e56525d05ea2658e1b14347d317408488156450b99abf4f7d5d4298eb2a33fe1860d3d54a2e631495bea78ec8c6b95d0dc925fa58a6b37321ea0 SHA512 504339fec5b4c9ea4a17044175f4e1b7a55733a38ed17086cf7a281fe36036cfa14ab49c4318aefbe8dad3d0ad669b8c5ec62d0935c37d102bfbdbb62ca3f391
-MISC metadata.xml 825 BLAKE2B bc4f168f5e2ef9efb6a2918929f3943fbbf1b7924f6515d136d660fec6a0bf4219111015bdb876857fbab7792da92b285f290b1c137562a01c38d00d2ea976cf SHA512 f9412a388e2f3af8be5c501db7105861dd9ec2670b461e99e7c0401846fb9cbe9fd0aeaff343212e8a83631f348182b0371079bf8a29914c68c02bdc4901ee95
diff --git a/media-video/dcpomatic/dcpomatic-2.12.4.ebuild b/media-video/dcpomatic/dcpomatic-2.12.4.ebuild
deleted file mode 100644
index 8c107aa068f0..000000000000
--- a/media-video/dcpomatic/dcpomatic-2.12.4.ebuild
+++ /dev/null
@@ -1,116 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 python3_{3,4,5,6} )
-PYTHON_REQ_USE="threads(+)"
-inherit python-any-r1 waf-utils wxwidgets gnome2-utils
-
-DESCRIPTION="create Digital Cinema Packages (DCPs) from videos, images and sound files"
-HOMEPAGE="https://dcpomatic.com/"
-SRC_URI="https://dcpomatic.com/dl.php?id=source&version=${PV} -> ${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="+alsa +gtk jack pulseaudio"
-
-REQUIRED_USE="^^ ( alsa jack pulseaudio )"
-
-RDEPEND="dev-cpp/cairomm
- dev-cpp/glibmm:2
- dev-cpp/libxmlpp:2.6
- dev-cpp/pangomm:1.4
- dev-libs/boost
- dev-libs/glib:2
- dev-libs/icu
- dev-libs/libcxml
- dev-libs/libzip
- dev-libs/openssl:0
- || ( media-gfx/graphicsmagick media-gfx/imagemagick )
- media-libs/fontconfig:1.0
- >media-libs/libdcp-1.4.4:1.0
- media-libs/libsamplerate
- media-libs/libsndfile
- >=media-libs/libsub-1.2.1:1.0
- media-libs/rtaudio[alsa?,jack?,pulseaudio?]
- >=media-video/ffmpeg-3:=
- net-libs/libssh
- net-misc/curl
- gtk? ( x11-libs/gtk+:2
- x11-libs/wxGTK:3.0 )"
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
- dev-util/waf
- virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.8.0-wxGTK3.patch
- "${FILESDIR}"/${PN}-2.8.0-no-ldconfig.patch
- "${FILESDIR}"/${PN}-2.8.0-desktop.patch
- "${FILESDIR}"/${PN}-2.10.2-respect-cxxflags.patch
- )
-
-src_prepare() {
- rm -v waf
- export WAF_BINARY=${EROOT}usr/bin/waf
- if [ -z "${PYTHONPATH}" ] ; then
- export PYTHONPATH="${S}"
- else
- export PYTHONPATH="${S}:${PYTHONPATH}"
- fi
-
- ewarn "Some tests failing due missing files/certs are disabled."
- sed \
- -e '/4k_test.cc/d' \
- -e '/audio_analysis_test.cc/d' \
- -e '/audio_decoder_test.cc/d' \
- -e '/audio_processor_test.cc/d' \
- -e '/black_fill_test.cc/d' \
- -e '/client_server_test.cc/d' \
- -e '/dcp_subtitle_test.cc/d' \
- -e '/ffmpeg_decoder_sequential_test.cc/d' \
- -e '/file_naming_test.cc/d' \
- -e '/import_dcp_test.cc/d' \
- -e '/interrupt_encoder_test.cc/d' \
- -e '/j2k_bandwidth_test.cc/d' \
- -e '/recover_test.cc/d' \
- -e '/reels_test.cc/d' \
- -e '/render_subtitles_test.cc/d' \
- -e '/repeat_frame_test.cc/d' \
- -e '/scaling_test.cc/d' \
- -e '/skip_frame_test.cc/d' \
- -e '/srt_subtitle_test.cc/d' \
- -e '/ssa_subtitle_test.cc/d' \
- -e '/vf_test.cc/d' \
- -e '/video_mxf_content_test.cc/d' \
- -e '/film_metadata_test.cc/d' \
- -i test/wscript || die
-
- if use alsa ; then
- sed -e "s|RtAudio::LINUX_PULSE|RtAudio::LINUX_ALSA|"\
- -i src/wx/wx_util.h || die
- elif use jack ; then
- sed -e "s|RtAudio::LINUX_PULSE|RtAudio::UNIX_JACK|"\
- -i src/wx/wx_util.h || die
- fi
-
- default
-}
-
-src_configure() {
- waf-utils_src_configure $(usex gtk "" "--disable-gui")
-}
-
-src_test() {
- ./run/tests || die
-}
-
-pkg_postinst() {
- gnome2_icon_cache_update
-}
-
-pkg_postrm() {
- gnome2_icon_cache_update
-}
diff --git a/media-video/dcpomatic/dcpomatic-9999.ebuild b/media-video/dcpomatic/dcpomatic-9999.ebuild
deleted file mode 100644
index 0ae91e62c082..000000000000
--- a/media-video/dcpomatic/dcpomatic-9999.ebuild
+++ /dev/null
@@ -1,117 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 python3_{3,4,5,6} )
-PYTHON_REQ_USE="threads(+)"
-inherit git-r3 python-any-r1 waf-utils wxwidgets gnome2-utils
-
-DESCRIPTION="create Digital Cinema Packages (DCPs) from videos, images and sound files"
-HOMEPAGE="http://dcpomatic.com/"
-EGIT_REPO_URI="https://github.com/cth103/${PN}.git"
-EGIT_SUBMODULES=()
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS=""
-IUSE="+alsa +gtk jack pulseaudio"
-
-REQUIRED_USE="^^ ( alsa jack pulseaudio )"
-
-RDEPEND="dev-cpp/cairomm
- dev-cpp/glibmm:2
- dev-cpp/libxmlpp:2.6
- dev-cpp/pangomm:1.4
- dev-libs/boost
- dev-libs/glib:2
- dev-libs/icu
- >dev-libs/libcxml-1.15.4
- dev-libs/libzip
- dev-libs/openssl:0
- || ( media-gfx/graphicsmagick media-gfx/imagemagick )
- media-libs/fontconfig:1.0
- >media-libs/libdcp-1.4.4:1.0
- media-libs/libsamplerate
- media-libs/libsndfile
- >=media-libs/libsub-1.2.1:1.0
- media-libs/rtaudio[alsa?,jack?,pulseaudio?]
- >=media-video/ffmpeg-3:=
- net-libs/libssh
- net-misc/curl
- gtk? ( x11-libs/gtk+:2
- x11-libs/wxGTK:3.0 )"
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
- dev-util/waf
- virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.8.0-wxGTK3.patch
- "${FILESDIR}"/${PN}-2.8.0-no-ldconfig.patch
- "${FILESDIR}"/${PN}-2.8.0-desktop.patch
- "${FILESDIR}"/${PN}-2.10.2-respect-cxxflags.patch
- )
-
-src_prepare() {
- rm -v waf
- export WAF_BINARY=${EROOT}usr/bin/waf
- if [ -z "${PYTHONPATH}" ] ; then
- export PYTHONPATH="${S}"
- else
- export PYTHONPATH="${S}:${PYTHONPATH}"
- fi
-
- ewarn "Some tests failing due missing files/certs are disabled."
- sed \
- -e '/4k_test.cc/d' \
- -e '/audio_analysis_test.cc/d' \
- -e '/audio_decoder_test.cc/d' \
- -e '/audio_processor_test.cc/d' \
- -e '/black_fill_test.cc/d' \
- -e '/client_server_test.cc/d' \
- -e '/dcp_subtitle_test.cc/d' \
- -e '/ffmpeg_decoder_sequential_test.cc/d' \
- -e '/file_naming_test.cc/d' \
- -e '/import_dcp_test.cc/d' \
- -e '/interrupt_encoder_test.cc/d' \
- -e '/j2k_bandwidth_test.cc/d' \
- -e '/recover_test.cc/d' \
- -e '/reels_test.cc/d' \
- -e '/render_subtitles_test.cc/d' \
- -e '/repeat_frame_test.cc/d' \
- -e '/scaling_test.cc/d' \
- -e '/skip_frame_test.cc/d' \
- -e '/srt_subtitle_test.cc/d' \
- -e '/ssa_subtitle_test.cc/d' \
- -e '/vf_test.cc/d' \
- -e '/video_mxf_content_test.cc/d' \
- -e '/film_metadata_test.cc/d' \
- -i test/wscript || die
-
- if use alsa ; then
- sed -e "s|RtAudio::LINUX_PULSE|RtAudio::LINUX_ALSA|"\
- -i src/wx/wx_util.h || die
- elif use jack ; then
- sed -e "s|RtAudio::LINUX_PULSE|RtAudio::UNIX_JACK|"\
- -i src/wx/wx_util.h || die
- fi
-
- default
-}
-
-src_configure() {
- waf-utils_src_configure $(usex gtk "" "--disable-gui")
-}
-
-src_test() {
- ./run/tests || die
-}
-
-pkg_postinst() {
- gnome2_icon_cache_update
-}
-
-pkg_postrm() {
- gnome2_icon_cache_update
-}
diff --git a/media-video/dcpomatic/files/dcpomatic-2.10.2-respect-cxxflags.patch b/media-video/dcpomatic/files/dcpomatic-2.10.2-respect-cxxflags.patch
deleted file mode 100644
index 330dfd0609f3..000000000000
--- a/media-video/dcpomatic/files/dcpomatic-2.10.2-respect-cxxflags.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- dcpomatic-2.10.2/wscript
-+++ dcpomatic-2.10.2/wscript
-@@ -89,9 +89,7 @@
- have_c11 = int(gcc[0]) >= 4 and int(gcc[1]) >= 8 and int(gcc[2]) >= 1
-
- if conf.options.enable_debug:
-- conf.env.append_value('CXXFLAGS', ['-g', '-DDCPOMATIC_DEBUG', '-fno-omit-frame-pointer'])
-- else:
-- conf.env.append_value('CXXFLAGS', '-O2')
-+ conf.env.append_value('CXXFLAGS', ['-DDCPOMATIC_DEBUG', '-fno-omit-frame-pointer'])
-
- #
- # Windows/Linux/OS X specific
diff --git a/media-video/dcpomatic/files/dcpomatic-2.8.0-desktop.patch b/media-video/dcpomatic/files/dcpomatic-2.8.0-desktop.patch
deleted file mode 100644
index 615a998e2a7f..000000000000
--- a/media-video/dcpomatic/files/dcpomatic-2.8.0-desktop.patch
+++ /dev/null
@@ -1,32 +0,0 @@
---- dcpomatic-2.8.0/platform/linux/dcpomatic.desktop.in
-+++ dcpomatic-2.8.0/platform/linux/dcpomatic.desktop.in
-@@ -7,4 +7,4 @@
- Name=DCP-o-matic 2
- Icon=dcpomatic2
- Comment=DCP generator
--Categories=AudioVideo;Video
-+Categories=AudioVideo;Video;
---- dcpomatic-2.8.0/platform/linux/dcpomatic_server.desktop.in
-+++ dcpomatic-2.8.0/platform/linux/dcpomatic_server.desktop.in
-@@ -7,4 +7,4 @@
- Name=DCP-o-matic 2 Encode Server
- Icon=dcpomatic2_server
- Comment=DCP generator
--Categories=AudioVideo;Video
-+Categories=AudioVideo;Video;
---- dcpomatic-2.8.0/platform/linux/dcpomatic_kdm.desktop.in
-+++ dcpomatic-2.8.0/platform/linux/dcpomatic_kdm.desktop.in
-@@ -7,4 +7,4 @@
- Name=DCP-o-matic 2 KDM Creator
- Icon=dcpomatic2_kdm
- Comment=DCP generator
--Categories=AudioVideo;Video
-+Categories=AudioVideo;Video;
---- dcpomatic-2.8.0/platform/linux/dcpomatic_batch.desktop.in
-+++ dcpomatic-2.8.0/platform/linux/dcpomatic_batch.desktop.in
-@@ -7,4 +7,4 @@
- Name=DCP-o-matic 2 Batch Converter
- Icon=dcpomatic2_batch
- Comment=DCP generator
--Categories=AudioVideo;Video
-+Categories=AudioVideo;Video;
diff --git a/media-video/dcpomatic/files/dcpomatic-2.8.0-no-ldconfig.patch b/media-video/dcpomatic/files/dcpomatic-2.8.0-no-ldconfig.patch
deleted file mode 100644
index 106e2395e738..000000000000
--- a/media-video/dcpomatic/files/dcpomatic-2.8.0-no-ldconfig.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- dcpomatic-2.8.0/wscript
-+++ dcpomatic-2.8.0/wscript
-@@ -503,8 +503,7 @@
- sys.exit(-1)
-
- def post(ctx):
-- if ctx.cmd == 'install':
-- ctx.exec_command('/sbin/ldconfig')
-+ pass
-
- def pot(bld):
- bld.recurse('src')
diff --git a/media-video/dcpomatic/files/dcpomatic-2.8.0-wxGTK3.patch b/media-video/dcpomatic/files/dcpomatic-2.8.0-wxGTK3.patch
deleted file mode 100644
index 9d85ad583317..000000000000
--- a/media-video/dcpomatic/files/dcpomatic-2.8.0-wxGTK3.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- dcpomatic-2.8.0/src/wx/wscript
-+++ dcpomatic-2.8.0/src/wx/wscript
-@@ -103,8 +103,8 @@
-
- def configure(conf):
- try:
-- wx_config = 'wx-config-3.0-gtk2'
-- conf.check_cfg(msg='Checking for wxWidgets using wx-config-3.0-gtk2',
-+ wx_config = 'wx-config-3.0'
-+ conf.check_cfg(msg='Checking for wxWidgets using wx-config-3.0',
- package='',
- path=wx_config,
- args='--cppflags --cxxflags --libs std,richtext',
diff --git a/media-video/dcpomatic/metadata.xml b/media-video/dcpomatic/metadata.xml
deleted file mode 100644
index 192510bcea57..000000000000
--- a/media-video/dcpomatic/metadata.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<!-- maintainer-needed -->
-<longdescription lang="en">
-DCP-o-matic is a free, open-source program to create Digital Cinema Packages (DCPs) from videos, images, sound and subtitle files. You can use it to make content for playback on DCI-compliant cinema projectors.
-
-It can take files in many different formats, including MP4, Apple ProRes, MOV, AVI, VOB (from DVDs), M2TS (from Blu-Ray), WMV, MKV, JPEG, PNG, TIFF and lots of others.
-</longdescription>
-<use>
- <flag name="alsa">Utilize alsa output of media-libs/rtaudio.</flag>
- <flag name="jack">Utilize jack output of media-libs/rtaudio.</flag>
- <flag name="pulseaudio">Utilize pulseaudio output of media-libs/rtaudio.</flag>
-</use>
-</pkgmetadata>
diff --git a/media-video/ffmpeg/Manifest b/media-video/ffmpeg/Manifest
index b48b8a376f51..15fa900241c4 100644
--- a/media-video/ffmpeg/Manifest
+++ b/media-video/ffmpeg/Manifest
@@ -9,13 +9,19 @@ DIST ffmpeg-3.3.4.tar.bz2 9944256 BLAKE2B 72d42a16396882b30641fb057bb597f8e98ecf
DIST ffmpeg-3.3.6.tar.bz2 9943322 BLAKE2B 2526fdf9580045131426e554a9bf44fdc6567c12213ea4d5b78aa27f14513f14e07f38b8380183686fa1a62440fe4108eaecddca96f4dec3c74c410b1f90ee03 SHA512 1305760fa981bcb43c8fcb5dd1bf7dd8d3f405a124975f062062b741d49e12386e4d3eec3de6a032fc93cd7f6086d939275a669a9997ffa400f70c20f7eb3d23
DIST ffmpeg-3.3.8.tar.bz2 9953307 BLAKE2B edd3c2ce9730494455a05ec9d81b6c2ceb0ebf526124f95a530214cdb113ffe91aa13b80a66501aefa4f571c5b8f2eedb97f8086370d08e3b4e2a98d517eb92b SHA512 a793f6d0a06ff5244a580d9e54e1252d3ac88e2513dad4d137081103327ae4440ebe9b0d60a13f93536cb6b35097982ea76acc4056bfa31683063eef5c211ede
DIST ffmpeg-3.4.5.tar.bz2 10183082 BLAKE2B f72157baefcd6a0ca8f389309bbe947ad21996e0f2eb3c46c6bfc90f1ebbb14bfd007d001e46ea51efef5db5f9fcee24b1a90b6862136aeebecdc95bb61b23a5 SHA512 e12707d47404a9ce02790b77d2852fc1a1573c8108e980c7355fa48ba891d1649464d4fe4d08394ecd6d871f651ac4388486b7654cb54a7aaeedaf05c55513ec
+DIST ffmpeg-3.4.6.tar.bz2 10190001 BLAKE2B 4c7842900171cf871f8524f08f435797b1a168faa11877100fe74c3ecd4a2c2e004a5110dc23bda818f69b0a484f63d8f34c7904c4827c88894d877cdd70c6fe SHA512 0228751b288096e368f9049854936930b7c1fd89aac31a5382f5de78d3282b4e86a6f562c79833d1635222f0ad56b2e5401a150574714e1b7e0ab4f5d8939812
DIST ffmpeg-4.1.1.tar.bz2 10686360 BLAKE2B 47f4716d7e184d7318eb1a99ab1cdc188009464e973162e583f7ca4ae79fa3b103f9d5329c8993b72d20667e42e5a749123709a4640f07762568300b5c3c897f SHA512 0241c44e1dffd0d890a3d30a1b2387ea167d578bb39ba0c804fb417e132d343a9e43da9247b205e18b893d8cf75d8528e9971569be67ac380b88618ef0a75ed4
+DIST ffmpeg-4.1.2.tar.bz2 10687366 BLAKE2B c69cc693078f40610c4414f01ed20f89a85db398b3177d8d79a6f58f2d48b6a8049a2bc622933e0ae0a2889f635c25ccf1c5856cb86a4d98bb0bc2308188ae86 SHA512 6c3bf20d46772a80299c9d385919a745e4022c0a9b3c438c0504d3c94bb8d472f2c9026105330fa7c50c2f23f511eb853f32e4387f73c0b7b0d0761c20cb8b31
+DIST ffmpeg-4.1.3.tar.bz2 10689073 BLAKE2B 8486e21c8df116af802bb7f9208e702ec1feaa4f292f14021e0b6bfb3957b13ddacfa87db361e677ae0583cc2bd1d402a66b0c8507cbed79a001c9b8462100bf SHA512 d0f8b3ee7b55e67b1c7ad9610a7b19a15acfc35dc843683502e536ebcc2e8678b55325532c0039b764cc978e95f83afb48bd24304abaee26f26d3247a8310bfe
EBUILD ffmpeg-3.2.6.ebuild 14779 BLAKE2B b79fb9e74ed3eaf3d84bb14823cd305dde3f14d5cd5bcf236bfac6443daa4d6c678ad2aea23559021af33afc0488c3fa845c4da52e1c27988a3f504a10475b3f SHA512 31fbf5b2294c6ba34960298347bb7c9523070bead6215b2f17ea7f7cf0b46878d14e22f1888959a4586550630e2f3b3e81ce7feae1270aad12a5cf5e297e51c1
EBUILD ffmpeg-3.2.7.ebuild 14784 BLAKE2B 709df5de9f58af7d57a01a4a90f5eb3eacc132a6dbed7d7f86a74c984774ad119febd904cede6b77f9ef4b05ae48538b6d18a1b50e5c7406a07dcfe567370a52 SHA512 e9b1439ffbdb2299ddffccf9a6fd43a5ee4a99e39c461a82393ae71226623c042e7a73c093a9c4d70b175aba7fd0eccd3926fb9a9d8de24afd97ac44f189ea9f
EBUILD ffmpeg-3.3.4.ebuild 15808 BLAKE2B c64f1cd480d0bf2e8834073571f40eef01093b6384003653d3da534534f4a23fa1e5315de5e05dc808b1743dedc587439b4959ae843feee252f848b826308d9a SHA512 a29e5beb75cdacb1ce07b34910b419013c7dc8b906c5927aff6492338e02ec9d8ec0813e2d2aabce4d0aca70e027001c8aa50be23e9cfabc1f6aa860975e1b4b
EBUILD ffmpeg-3.3.6.ebuild 15809 BLAKE2B b78701e736d5b1a8c029bbbec3c5ce40356223c35e78e160cb93a3e30732441abe1a14ab5940d302556abffde9d798de3ad160a98cd274334d467b0e9ba5de80 SHA512 b71dfc45bf7e29e8a5e70402c1dccfe2148223e60a1270a58918c3c3486472193e269e81cd8a1074a792b12b3d24d7a8733f62e3ef5002689d46ce9ce588f605
EBUILD ffmpeg-3.3.8.ebuild 15815 BLAKE2B 2bce668121996c1bbdf472dcede998450fa4b53b36dfa25ef62b1eaa988cb6b7f8ab216ef29ebefae026ee06b9d4ad001ecb90076efb61e1c6bbaff9b09dce1f SHA512 8650a978d1283d35f37b549e937f9c04cdc860540f7e7ee1871c07b21c13c3c165322075dd00ffbbeaf629d2c79b445b0fd715ae88fba3e59b0fd217b4c3dc72
-EBUILD ffmpeg-3.4.5.ebuild 15585 BLAKE2B 654672fdf106446d113b6ccad72340c969ef3afeb203c5b645d8a29368ccdbfd816488354657ac7bc3b4c1e711c819739e510432af8e6a418270ed51199f576a SHA512 4c000319b3229fbb0e28c6719fe990000800d839a3bca199516f393b97acd1ac0c70f38291b82bfad82d5f5561fed972bb5edd6ec3fa65900a3ceeedad369f85
+EBUILD ffmpeg-3.4.5.ebuild 15584 BLAKE2B 0949d33f57777bb561a2a68ef10d0eb310b694995432f5e3cbce4cb7b9a646546b884de49a496bd65c67ff56f60100a0d103e424362c024114919debf12387a6 SHA512 737b223d3b0c56cf3feece287b61dfa6bec3ed0f88a946b3a95d11e9da9295f49b4fb9eebc094b630e6a72ced03339e64bbfd3eeead8c5fc2e0446585d01eef3
+EBUILD ffmpeg-3.4.6.ebuild 15589 BLAKE2B 2f4b10cbdcd8459aaa5e01e5bed2ee0830b964fd4f027a20047918211f7117a69688d11bd52ffc1b1197172245eb5b549b57bf8a0009bb456f7703fa69b03ca0 SHA512 2a45a83eac4d7f2cd78242f33bc29f33a18f75d8b1fa0c7f405eeb49286764583547f3d3623d34a88a988a799b317d5f5d640b12aa1cdbad1b5aa6dd43782f0c
EBUILD ffmpeg-4.1.1.ebuild 17072 BLAKE2B 4e3d25a7b01920c2e89740ef5847b3f99aa283e8926efcb641687ce9064f69aac5a25132f1295fd0c1dd1dff0f532d12acda72acaf09671549adb8d626266229 SHA512 3e2f5362b30dc2dc9a14356887304af89768774efb3025c4af7276da03ee75ae0a0ed85afd43c0a04b59c687aee901eba4db868720d130b0e282d25324e77977
-EBUILD ffmpeg-9999.ebuild 17133 BLAKE2B 665a24c4ebff82ce44d4743a62f7c18e59af4cdccbb964984ed2e1679ae7ae0ac0d606db6cb13e279532a3761965ede242a807026a269c4ad6a82604fcd4cf5d SHA512 d56bb09cf5367ecc7b26d2ae28b89829c1883b696bc6d4b4c933301b121902b926f60cffe7af34868546da66761058352c6efa296be51ff34baab8625113a931
-MISC metadata.xml 5912 BLAKE2B 42331876f9be4dd19b3850c473d2f9b669c33944e482bdb50bf23263b39ad59a68456b4e74514c74f0c88c19d299393d9391e9cde1ec903624c948ff4d03ff38 SHA512 e9309b4c548b829a9827503de6db9b04c1428f157aaadab3b167a46ae4cb26f9715ae852ec41e0e9744365ee9cf4d2c08284c82c1b2cd46ac7baae51fe76e482
+EBUILD ffmpeg-4.1.2.ebuild 17072 BLAKE2B 4e3d25a7b01920c2e89740ef5847b3f99aa283e8926efcb641687ce9064f69aac5a25132f1295fd0c1dd1dff0f532d12acda72acaf09671549adb8d626266229 SHA512 3e2f5362b30dc2dc9a14356887304af89768774efb3025c4af7276da03ee75ae0a0ed85afd43c0a04b59c687aee901eba4db868720d130b0e282d25324e77977
+EBUILD ffmpeg-4.1.3.ebuild 17072 BLAKE2B 4e3d25a7b01920c2e89740ef5847b3f99aa283e8926efcb641687ce9064f69aac5a25132f1295fd0c1dd1dff0f532d12acda72acaf09671549adb8d626266229 SHA512 3e2f5362b30dc2dc9a14356887304af89768774efb3025c4af7276da03ee75ae0a0ed85afd43c0a04b59c687aee901eba4db868720d130b0e282d25324e77977
+EBUILD ffmpeg-9999.ebuild 17208 BLAKE2B 0c9c9bbbdf2238d995008d6ac8f6a357993abd976958738747edca1e966caabf6dd5816a70c9da34072157fe08b3fad6b04bf2cc65cfe5a548144d968a116938 SHA512 b6e99a8d554b18afc5719468f80d46b5d6a1f3e71ec1c68beb17797f3c7ef301418afdbf9f365db554617564b290d3596e1ad0e355b4b08da47f76c747ad9aec
+MISC metadata.xml 5992 BLAKE2B 640b4b6e9904cc8653cd5c7788cbd5b0b48579e7a87fdd58b98e5ad88d3e34f05aa181a89830aabca4f9262c1ce9e07ed1b1c323352d40b1da6800b5e0e41fe7 SHA512 542bf49855f46b3391a9061b3c5e8c025ea5fb67af6046f0aa2bd6fb5cdf17bff92d5c2fea181f7e2f7dffb84452f8876ed8ef744b41b7828d0188ce57b184ae
diff --git a/media-video/ffmpeg/ffmpeg-3.4.5.ebuild b/media-video/ffmpeg/ffmpeg-3.4.5.ebuild
index 591ccca00aea..a62f2e1e25dc 100644
--- a/media-video/ffmpeg/ffmpeg-3.4.5.ebuild
+++ b/media-video/ffmpeg/ffmpeg-3.4.5.ebuild
@@ -54,7 +54,7 @@ LICENSE="
samba? ( GPL-3 )
"
if [ "${PV#9999}" = "${PV}" ] ; then
- 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"
+ 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"
fi
# Options to use as use_enable in the foo[:bar] form.
diff --git a/media-video/ffmpeg/ffmpeg-3.4.6.ebuild b/media-video/ffmpeg/ffmpeg-3.4.6.ebuild
new file mode 100644
index 000000000000..b24f198a07a3
--- /dev/null
+++ b/media-video/ffmpeg/ffmpeg-3.4.6.ebuild
@@ -0,0 +1,488 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# Subslot: libavutil major.libavcodec major.libavformat major
+# Since FFmpeg ships several libraries, subslot is kind of limited here.
+# Most consumers will use those three libraries, if a "less used" library
+# changes its soname, consumers will have to be rebuilt the old way
+# (preserve-libs).
+# If, for example, a package does not link to libavformat and only libavformat
+# changes its ABI then this package will be rebuilt needlessly. Hence, such a
+# package is free _not_ to := depend on FFmpeg but I would strongly encourage
+# doing so since such a case is unlikely.
+FFMPEG_SUBSLOT=55.57.57
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_REPO_URI="git://source.ffmpeg.org/ffmpeg.git"
+fi
+
+inherit eutils flag-o-matic multilib multilib-minimal toolchain-funcs ${SCM}
+
+DESCRIPTION="Complete solution to record, convert and stream audio and video. Includes libavcodec"
+HOMEPAGE="http://ffmpeg.org/"
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SRC_URI=""
+elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot
+ SRC_URI="mirror://gentoo/${P}.tar.bz2"
+else # Release
+ SRC_URI="http://ffmpeg.org/releases/${P/_/-}.tar.bz2"
+fi
+FFMPEG_REVISION="${PV#*_p}"
+
+SLOT="0/${FFMPEG_SUBSLOT}"
+LICENSE="
+ !gpl? ( LGPL-2.1 )
+ gpl? ( GPL-2 )
+ amr? (
+ gpl? ( GPL-3 )
+ !gpl? ( LGPL-3 )
+ )
+ gmp? (
+ gpl? ( GPL-3 )
+ !gpl? ( LGPL-3 )
+ )
+ encode? (
+ amrenc? (
+ gpl? ( GPL-3 )
+ !gpl? ( LGPL-3 )
+ )
+ )
+ samba? ( GPL-3 )
+"
+if [ "${PV#9999}" = "${PV}" ] ; then
+ 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"
+fi
+
+# Options to use as use_enable in the foo[:bar] form.
+# This will feed configure with $(use_enable foo bar)
+# or $(use_enable foo foo) if no :bar is set.
+# foo is added to IUSE.
+FFMPEG_FLAG_MAP=(
+ +bzip2:bzlib cpudetection:runtime-cpudetect debug gcrypt gnutls gmp
+ +gpl +hardcoded-tables +iconv lzma +network opencl openssl +postproc
+ samba:libsmbclient sdl:ffplay sdl:sdl2 vaapi vdpau X:xlib xcb:libxcb
+ xcb:libxcb-shm xcb:libxcb-xfixes +zlib
+ # libavdevice options
+ cdio:libcdio iec61883:libiec61883 ieee1394:libdc1394 libcaca openal
+ opengl
+ # indevs
+ libv4l:libv4l2 pulseaudio:libpulse libdrm
+ # decoders
+ amr:libopencore-amrwb amr:libopencore-amrnb fdk:libfdk-aac
+ jpeg2k:libopenjpeg bluray:libbluray gme:libgme gsm:libgsm
+ mmal modplug:libmodplug opus:libopus libilbc librtmp ssh:libssh
+ speex:libspeex svg:librsvg vorbis:libvorbis
+ vpx:libvpx zvbi:libzvbi
+ # libavfilter options
+ appkit
+ bs2b:libbs2b chromaprint flite:libflite frei0r
+ fribidi:libfribidi fontconfig ladspa libass truetype:libfreetype
+ rubberband:librubberband zeromq:libzmq zimg:libzimg
+ # libswresample options
+ libsoxr
+ # Threads; we only support pthread for now but ffmpeg supports more
+ +threads:pthreads
+)
+
+# Same as above but for encoders, i.e. they do something only with USE=encode.
+FFMPEG_ENCODER_FLAG_MAP=(
+ amrenc:libvo-amrwbenc mp3:libmp3lame
+ kvazaar:libkvazaar nvenc:nvenc
+ openh264:libopenh264 snappy:libsnappy theora:libtheora twolame:libtwolame
+ wavpack:libwavpack webp:libwebp x264:libx264 x265:libx265 xvid:libxvid
+)
+
+IUSE="
+ alsa chromium doc +encode jack oss pic static-libs test v4l
+ ${FFMPEG_FLAG_MAP[@]%:*}
+ ${FFMPEG_ENCODER_FLAG_MAP[@]%:*}
+"
+
+# Strings for CPU features in the useflag[:configure_option] form
+# if :configure_option isn't set, it will use 'useflag' as configure option
+ARM_CPU_FEATURES=(
+ cpu_flags_arm_thumb:armv5te
+ cpu_flags_arm_v6:armv6
+ cpu_flags_arm_thumb2:armv6t2
+ cpu_flags_arm_neon:neon
+ cpu_flags_arm_vfp:vfp
+ cpu_flags_arm_vfpv3:vfpv3
+ cpu_flags_arm_v8:armv8
+)
+ARM_CPU_REQUIRED_USE="
+ arm64? ( cpu_flags_arm_v8 )
+ cpu_flags_arm_v8? ( cpu_flags_arm_vfpv3 cpu_flags_arm_neon )
+ cpu_flags_arm_neon? ( cpu_flags_arm_thumb2 cpu_flags_arm_vfp )
+ cpu_flags_arm_vfpv3? ( cpu_flags_arm_vfp )
+ cpu_flags_arm_thumb2? ( cpu_flags_arm_v6 )
+ cpu_flags_arm_v6? ( cpu_flags_arm_thumb )
+"
+MIPS_CPU_FEATURES=( mipsdspr1:mipsdsp mipsdspr2 mipsfpu )
+PPC_CPU_FEATURES=( altivec )
+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 )
+X86_CPU_FEATURES=( ${X86_CPU_FEATURES_RAW[@]/#/cpu_flags_x86_} )
+X86_CPU_REQUIRED_USE="
+ cpu_flags_x86_avx2? ( cpu_flags_x86_avx )
+ cpu_flags_x86_fma4? ( cpu_flags_x86_avx )
+ cpu_flags_x86_fma3? ( cpu_flags_x86_avx )
+ cpu_flags_x86_xop? ( cpu_flags_x86_avx )
+ cpu_flags_x86_avx? ( cpu_flags_x86_sse4_2 )
+ cpu_flags_x86_aes? ( cpu_flags_x86_sse4_2 )
+ cpu_flags_x86_sse4_2? ( cpu_flags_x86_sse4_1 )
+ cpu_flags_x86_sse4_1? ( cpu_flags_x86_ssse3 )
+ cpu_flags_x86_ssse3? ( cpu_flags_x86_sse3 )
+ cpu_flags_x86_sse3? ( cpu_flags_x86_sse2 )
+ cpu_flags_x86_sse2? ( cpu_flags_x86_sse )
+ cpu_flags_x86_sse? ( cpu_flags_x86_mmxext )
+ cpu_flags_x86_mmxext? ( cpu_flags_x86_mmx )
+ cpu_flags_x86_3dnowext? ( cpu_flags_x86_3dnow )
+ cpu_flags_x86_3dnow? ( cpu_flags_x86_mmx )
+"
+
+CPU_FEATURES_MAP=(
+ ${ARM_CPU_FEATURES[@]}
+ ${MIPS_CPU_FEATURES[@]}
+ ${PPC_CPU_FEATURES[@]}
+ ${X86_CPU_FEATURES[@]}
+)
+IUSE="${IUSE}
+ ${CPU_FEATURES_MAP[@]%:*}"
+
+CPU_REQUIRED_USE="
+ ${ARM_CPU_REQUIRED_USE}
+ ${X86_CPU_REQUIRED_USE}
+"
+
+FFTOOLS=( aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt graph2dot ismindex pktdumper qt-faststart sidxindex trasher )
+IUSE="${IUSE} ${FFTOOLS[@]/#/+fftools_}"
+
+RDEPEND="
+ alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] )
+ amr? ( >=media-libs/opencore-amr-0.1.3-r1[${MULTILIB_USEDEP}] )
+ bluray? ( >=media-libs/libbluray-0.3.0-r1:=[${MULTILIB_USEDEP}] )
+ bs2b? ( >=media-libs/libbs2b-3.1.0-r1[${MULTILIB_USEDEP}] )
+ bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] )
+ cdio? ( >=dev-libs/libcdio-paranoia-0.90_p1-r1[${MULTILIB_USEDEP}] )
+ chromaprint? ( >=media-libs/chromaprint-1.2-r1[${MULTILIB_USEDEP}] )
+ encode? (
+ amrenc? ( >=media-libs/vo-amrwbenc-0.1.2-r1[${MULTILIB_USEDEP}] )
+ kvazaar? ( media-libs/kvazaar[${MULTILIB_USEDEP}] )
+ mp3? ( >=media-sound/lame-3.99.5-r1[${MULTILIB_USEDEP}] )
+ nvenc? ( media-video/nvidia_video_sdk )
+ openh264? ( >=media-libs/openh264-1.4.0-r1[${MULTILIB_USEDEP}] )
+ snappy? ( >=app-arch/snappy-1.1.2-r1:=[${MULTILIB_USEDEP}] )
+ theora? (
+ >=media-libs/libtheora-1.1.1[encode,${MULTILIB_USEDEP}]
+ >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
+ )
+ twolame? ( >=media-sound/twolame-0.3.13-r1[${MULTILIB_USEDEP}] )
+ wavpack? ( >=media-sound/wavpack-4.60.1-r1[${MULTILIB_USEDEP}] )
+ webp? ( >=media-libs/libwebp-0.3.0:=[${MULTILIB_USEDEP}] )
+ x264? ( >=media-libs/x264-0.0.20130506:=[${MULTILIB_USEDEP}] )
+ x265? ( >=media-libs/x265-1.6:=[${MULTILIB_USEDEP}] )
+ xvid? ( >=media-libs/xvid-1.3.2-r1[${MULTILIB_USEDEP}] )
+ )
+ fdk? ( >=media-libs/fdk-aac-0.1.3:=[${MULTILIB_USEDEP}] )
+ flite? ( >=app-accessibility/flite-1.4-r4[${MULTILIB_USEDEP}] )
+ fontconfig? ( >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}] )
+ frei0r? ( media-plugins/frei0r-plugins )
+ fribidi? ( >=dev-libs/fribidi-0.19.6[${MULTILIB_USEDEP}] )
+ gcrypt? ( >=dev-libs/libgcrypt-1.6:0=[${MULTILIB_USEDEP}] )
+ gme? ( >=media-libs/game-music-emu-0.6.0[${MULTILIB_USEDEP}] )
+ gmp? ( >=dev-libs/gmp-6:0=[${MULTILIB_USEDEP}] )
+ gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] )
+ gsm? ( >=media-sound/gsm-1.0.13-r1[${MULTILIB_USEDEP}] )
+ iconv? ( >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] )
+ iec61883? (
+ >=media-libs/libiec61883-1.2.0-r1[${MULTILIB_USEDEP}]
+ >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}]
+ >=sys-libs/libavc1394-0.5.4-r1[${MULTILIB_USEDEP}]
+ )
+ ieee1394? (
+ >=media-libs/libdc1394-2.2.1[${MULTILIB_USEDEP}]
+ >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}]
+ )
+ jack? ( virtual/jack[${MULTILIB_USEDEP}] )
+ jpeg2k? ( >=media-libs/openjpeg-2:2[${MULTILIB_USEDEP}] )
+ libass? ( >=media-libs/libass-0.10.2:=[${MULTILIB_USEDEP}] )
+ libcaca? ( >=media-libs/libcaca-0.99_beta18-r1[${MULTILIB_USEDEP}] )
+ libdrm? ( x11-libs/libdrm[${MULTILIB_USEDEP}] )
+ libilbc? ( >=media-libs/libilbc-2[${MULTILIB_USEDEP}] )
+ libsoxr? ( >=media-libs/soxr-0.1.0[${MULTILIB_USEDEP}] )
+ libv4l? ( >=media-libs/libv4l-0.9.5[${MULTILIB_USEDEP}] )
+ lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] )
+ mmal? ( media-libs/raspberrypi-userland )
+ modplug? ( >=media-libs/libmodplug-0.8.8.4-r1[${MULTILIB_USEDEP}] )
+ openal? ( >=media-libs/openal-1.15.1[${MULTILIB_USEDEP}] )
+ opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+ opengl? ( >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}] )
+ openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
+ opus? ( >=media-libs/opus-1.0.2-r2[${MULTILIB_USEDEP}] )
+ pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${MULTILIB_USEDEP}] )
+ librtmp? ( >=media-video/rtmpdump-2.4_p20131018[${MULTILIB_USEDEP}] )
+ rubberband? ( >=media-libs/rubberband-1.8.1-r1[${MULTILIB_USEDEP}] )
+ samba? ( >=net-fs/samba-3.6.23-r1[client,${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[sound,video,${MULTILIB_USEDEP}] )
+ speex? ( >=media-libs/speex-1.2_rc1-r1[${MULTILIB_USEDEP}] )
+ ssh? ( >=net-libs/libssh-0.5.5[${MULTILIB_USEDEP}] )
+ svg? ( gnome-base/librsvg:2=[${MULTILIB_USEDEP}] )
+ truetype? ( >=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}] )
+ vaapi? ( >=x11-libs/libva-1.2.1-r1[${MULTILIB_USEDEP}] )
+ vdpau? ( >=x11-libs/libvdpau-0.7[${MULTILIB_USEDEP}] )
+ vorbis? (
+ >=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}]
+ >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
+ )
+ vpx? ( >=media-libs/libvpx-1.4.0:=[${MULTILIB_USEDEP}] )
+ X? (
+ >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXv-1.0.10[${MULTILIB_USEDEP}]
+ )
+ xcb? ( >=x11-libs/libxcb-1.4[${MULTILIB_USEDEP}] )
+ zeromq? ( >=net-libs/zeromq-4.1.6 )
+ zimg? ( >=media-libs/zimg-2.4:=[${MULTILIB_USEDEP}] )
+ zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
+ zvbi? ( >=media-libs/zvbi-0.2.35[${MULTILIB_USEDEP}] )
+ !media-video/qt-faststart
+ postproc? ( !media-libs/libpostproc )
+"
+
+DEPEND="${RDEPEND}
+ >=sys-devel/make-3.81
+ doc? ( sys-apps/texinfo )
+ >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
+ ladspa? ( >=media-libs/ladspa-sdk-1.13-r2[${MULTILIB_USEDEP}] )
+ cpu_flags_x86_mmx? ( || ( >=dev-lang/nasm-2.13 >=dev-lang/yasm-1.3 ) )
+ test? ( net-misc/wget sys-devel/bc )
+ v4l? ( sys-kernel/linux-headers )
+"
+
+# Code requiring FFmpeg to be built under gpl license
+GPL_REQUIRED_USE="
+ postproc? ( gpl )
+ frei0r? ( gpl )
+ cdio? ( gpl )
+ samba? ( gpl )
+ encode? (
+ x264? ( gpl )
+ x265? ( gpl )
+ xvid? ( gpl )
+ X? ( !xcb? ( gpl ) )
+ )
+"
+REQUIRED_USE="
+ libv4l? ( v4l )
+ fftools_cws2fws? ( zlib )
+ test? ( encode )
+ ${GPL_REQUIRED_USE}
+ ${CPU_REQUIRED_USE}"
+RESTRICT="
+ gpl? ( openssl? ( bindist ) fdk? ( bindist ) )
+"
+
+S=${WORKDIR}/${P/_/-}
+
+PATCHES=(
+ "${FILESDIR}"/chromium.patch
+)
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/libavutil/avconfig.h
+)
+
+src_prepare() {
+ if [[ "${PV%_p*}" != "${PV}" ]] ; then # Snapshot
+ export revision=git-N-${FFMPEG_REVISION}
+ fi
+ default
+ echo 'include $(SRC_PATH)/ffbuild/libffmpeg.mak' >> Makefile || die
+}
+
+multilib_src_configure() {
+ local myconf=( ${EXTRA_FFMPEG_CONF} )
+
+ local ffuse=( "${FFMPEG_FLAG_MAP[@]}" )
+ use openssl && use gpl && myconf+=( --enable-nonfree )
+ use samba && myconf+=( --enable-version3 )
+
+ # Encoders
+ if use encode ; then
+ ffuse+=( "${FFMPEG_ENCODER_FLAG_MAP[@]}" )
+
+ # Licensing.
+ if use amrenc ; then
+ myconf+=( --enable-version3 )
+ fi
+ else
+ myconf+=( --disable-encoders )
+ fi
+
+ # Indevs
+ use v4l || myconf+=( --disable-indev=v4l2 --disable-outdev=v4l2 )
+ for i in alsa oss jack ; do
+ use ${i} || myconf+=( --disable-indev=${i} )
+ done
+
+ # Outdevs
+ for i in alsa oss sdl ; do
+ use ${i} || myconf+=( --disable-outdev=${i} )
+ done
+
+ # Decoders
+ use amr && myconf+=( --enable-version3 )
+ use gmp && myconf+=( --enable-version3 )
+ use fdk && use gpl && myconf+=( --enable-nonfree )
+
+ for i in "${ffuse[@]#+}" ; do
+ myconf+=( $(use_enable ${i%:*} ${i#*:}) )
+ done
+
+ # (temporarily) disable non-multilib deps
+ if ! multilib_is_native_abi; then
+ for i in frei0r libzmq ; do
+ myconf+=( --disable-${i} )
+ done
+ fi
+
+ # CPU features
+ for i in "${CPU_FEATURES_MAP[@]}" ; do
+ use ${i%:*} || myconf+=( --disable-${i#*:} )
+ done
+
+ if use pic ; then
+ myconf+=( --enable-pic )
+ # disable asm code if PIC is required
+ # as the provided asm decidedly is not PIC for x86.
+ [[ ${ABI} == x86 ]] && myconf+=( --disable-asm )
+ fi
+ [[ ${ABI} == x32 ]] && myconf+=( --disable-asm ) #427004
+
+ # Try to get cpu type based on CFLAGS.
+ # Bug #172723
+ # We need to do this so that features of that CPU will be better used
+ # If they contain an unknown CPU it will not hurt since ffmpeg's configure
+ # will just ignore it.
+ for i in $(get-flag mcpu) $(get-flag march) ; do
+ [[ ${i} = native ]] && i="host" # bug #273421
+ myconf+=( --cpu=${i} )
+ break
+ done
+
+ # LTO support, bug #566282
+ is-flagq "-flto*" && myconf+=( "--enable-lto" )
+
+ # Mandatory configuration
+ myconf=(
+ --enable-avfilter
+ --enable-avresample
+ --disable-stripping
+ --disable-libcelt # bug #664158
+ "${myconf[@]}"
+ )
+
+ # cross compile support
+ if tc-is-cross-compiler ; then
+ myconf+=( --enable-cross-compile --arch=$(tc-arch-kernel) --cross-prefix=${CHOST}- --host-cc="$(tc-getBUILD_CC)" )
+ case ${CHOST} in
+ *freebsd*)
+ myconf+=( --target-os=freebsd )
+ ;;
+ *mingw32*)
+ myconf+=( --target-os=mingw32 )
+ ;;
+ *linux*)
+ myconf+=( --target-os=linux )
+ ;;
+ esac
+ fi
+
+ # doc
+ myconf+=(
+ $(multilib_native_use_enable doc)
+ $(multilib_native_use_enable doc htmlpages)
+ $(multilib_native_enable manpages)
+ )
+
+ set -- "${S}/configure" \
+ --prefix="${EPREFIX}/usr" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --shlibdir="${EPREFIX}/usr/$(get_libdir)" \
+ --docdir="${EPREFIX}/usr/share/doc/${PF}/html" \
+ --mandir="${EPREFIX}/usr/share/man" \
+ --enable-shared \
+ --cc="$(tc-getCC)" \
+ --cxx="$(tc-getCXX)" \
+ --ar="$(tc-getAR)" \
+ --optflags="${CFLAGS}" \
+ $(use_enable static-libs static) \
+ "${myconf[@]}"
+ echo "${@}"
+ "${@}" || die
+
+ if multilib_is_native_abi && use chromium; then
+ einfo "Configuring for Chromium"
+ mkdir -p ../chromium || die
+ pushd ../chromium >/dev/null || die
+ set -- "${@}" \
+ --disable-shared \
+ --enable-static \
+ --enable-pic \
+ --extra-cflags="-DFF_API_CONVERGENCE_DURATION=0"
+ echo "${@}"
+ "${@}" || die
+ popd >/dev/null || die
+ fi
+}
+
+multilib_src_compile() {
+ emake V=1
+
+ if multilib_is_native_abi; then
+ for i in "${FFTOOLS[@]}" ; do
+ if use fftools_${i} ; then
+ emake V=1 tools/${i}$(get_exeext)
+ fi
+ done
+
+ if use chromium; then
+ einfo "Compiling for Chromium"
+ pushd ../chromium >/dev/null || die
+ emake V=1 libffmpeg
+ popd >/dev/null || die
+ fi
+ fi
+}
+
+multilib_src_install() {
+ emake V=1 DESTDIR="${D}" install install-doc
+
+ if multilib_is_native_abi; then
+ for i in "${FFTOOLS[@]}" ; do
+ if use fftools_${i} ; then
+ dobin tools/${i}$(get_exeext)
+ fi
+ done
+
+ if use chromium; then
+ einfo "Installing for Chromium"
+ pushd ../chromium >/dev/null || die
+ emake V=1 DESTDIR="${D}" install-libffmpeg
+ popd >/dev/null || die
+ fi
+ fi
+}
+
+multilib_src_install_all() {
+ dodoc Changelog README.md CREDITS doc/*.txt doc/APIchanges
+ [ -f "RELEASE_NOTES" ] && dodoc "RELEASE_NOTES"
+}
+
+multilib_src_test() {
+ 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" \
+ emake V=1 fate
+}
diff --git a/media-video/ffmpeg/ffmpeg-4.1.2.ebuild b/media-video/ffmpeg/ffmpeg-4.1.2.ebuild
new file mode 100644
index 000000000000..12b71fa688bb
--- /dev/null
+++ b/media-video/ffmpeg/ffmpeg-4.1.2.ebuild
@@ -0,0 +1,528 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# Subslot: libavutil major.libavcodec major.libavformat major
+# Since FFmpeg ships several libraries, subslot is kind of limited here.
+# Most consumers will use those three libraries, if a "less used" library
+# changes its soname, consumers will have to be rebuilt the old way
+# (preserve-libs).
+# If, for example, a package does not link to libavformat and only libavformat
+# changes its ABI then this package will be rebuilt needlessly. Hence, such a
+# package is free _not_ to := depend on FFmpeg but I would strongly encourage
+# doing so since such a case is unlikely.
+FFMPEG_SUBSLOT=56.58.58
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_MIN_CLONE_TYPE="single"
+ EGIT_REPO_URI="https://git.ffmpeg.org/ffmpeg.git"
+fi
+
+inherit eutils flag-o-matic multilib multilib-minimal toolchain-funcs ${SCM}
+
+DESCRIPTION="Complete solution to record, convert and stream audio and video. Includes libavcodec"
+HOMEPAGE="https://ffmpeg.org/"
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SRC_URI=""
+elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot
+ SRC_URI="mirror://gentoo/${P}.tar.bz2"
+else # Release
+ SRC_URI="https://ffmpeg.org/releases/${P/_/-}.tar.bz2"
+fi
+FFMPEG_REVISION="${PV#*_p}"
+
+SLOT="0/${FFMPEG_SUBSLOT}"
+LICENSE="
+ !gpl? ( LGPL-2.1 )
+ gpl? ( GPL-2 )
+ amr? (
+ gpl? ( GPL-3 )
+ !gpl? ( LGPL-3 )
+ )
+ gmp? (
+ gpl? ( GPL-3 )
+ !gpl? ( LGPL-3 )
+ )
+ encode? (
+ amrenc? (
+ gpl? ( GPL-3 )
+ !gpl? ( LGPL-3 )
+ )
+ )
+ samba? ( GPL-3 )
+"
+if [ "${PV#9999}" = "${PV}" ] ; then
+ 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"
+fi
+
+# Options to use as use_enable in the foo[:bar] form.
+# This will feed configure with $(use_enable foo bar)
+# or $(use_enable foo foo) if no :bar is set.
+# foo is added to IUSE.
+FFMPEG_FLAG_MAP=(
+ +bzip2:bzlib cpudetection:runtime-cpudetect debug gcrypt gnutls gmp
+ +gpl +hardcoded-tables +iconv libressl:libtls libxml2 lzma +network opencl
+ openssl +postproc samba:libsmbclient sdl:ffplay sdl:sdl2 vaapi vdpau
+ X:xlib xcb:libxcb xcb:libxcb-shm xcb:libxcb-xfixes +zlib
+ # libavdevice options
+ cdio:libcdio iec61883:libiec61883 ieee1394:libdc1394 libcaca openal
+ opengl
+ # indevs
+ libv4l:libv4l2 pulseaudio:libpulse libdrm jack:libjack
+ # decoders
+ amr:libopencore-amrwb amr:libopencore-amrnb codec2:libcodec2 fdk:libfdk-aac
+ jpeg2k:libopenjpeg bluray:libbluray gme:libgme gsm:libgsm
+ mmal modplug:libmodplug opus:libopus libilbc librtmp ssh:libssh
+ speex:libspeex srt:libsrt svg:librsvg video_cards_nvidia:ffnvcodec
+ vorbis:libvorbis vpx:libvpx zvbi:libzvbi
+ # libavfilter options
+ appkit
+ bs2b:libbs2b chromaprint flite:libflite frei0r
+ fribidi:libfribidi fontconfig ladspa libass lv2 truetype:libfreetype
+ rubberband:librubberband zeromq:libzmq zimg:libzimg
+ # libswresample options
+ libsoxr
+ # Threads; we only support pthread for now but ffmpeg supports more
+ +threads:pthreads
+)
+
+# Same as above but for encoders, i.e. they do something only with USE=encode.
+FFMPEG_ENCODER_FLAG_MAP=(
+ amrenc:libvo-amrwbenc mp3:libmp3lame
+ kvazaar:libkvazaar libaom
+ openh264:libopenh264 snappy:libsnappy theora:libtheora twolame:libtwolame
+ wavpack:libwavpack webp:libwebp x264:libx264 x265:libx265 xvid:libxvid
+)
+
+IUSE="
+ alsa chromium doc +encode oss pic static-libs test v4l
+ ${FFMPEG_FLAG_MAP[@]%:*}
+ ${FFMPEG_ENCODER_FLAG_MAP[@]%:*}
+"
+
+# Strings for CPU features in the useflag[:configure_option] form
+# if :configure_option isn't set, it will use 'useflag' as configure option
+ARM_CPU_FEATURES=(
+ cpu_flags_arm_thumb:armv5te
+ cpu_flags_arm_v6:armv6
+ cpu_flags_arm_thumb2:armv6t2
+ cpu_flags_arm_neon:neon
+ cpu_flags_arm_vfp:vfp
+ cpu_flags_arm_vfpv3:vfpv3
+ cpu_flags_arm_v8:armv8
+)
+ARM_CPU_REQUIRED_USE="
+ arm64? ( cpu_flags_arm_v8 )
+ cpu_flags_arm_v8? ( cpu_flags_arm_vfpv3 cpu_flags_arm_neon )
+ cpu_flags_arm_neon? ( cpu_flags_arm_thumb2 cpu_flags_arm_vfp )
+ cpu_flags_arm_vfpv3? ( cpu_flags_arm_vfp )
+ cpu_flags_arm_thumb2? ( cpu_flags_arm_v6 )
+ cpu_flags_arm_v6? ( cpu_flags_arm_thumb )
+"
+MIPS_CPU_FEATURES=( mipsdspr1:mipsdsp mipsdspr2 mipsfpu )
+PPC_CPU_FEATURES=( altivec )
+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 )
+X86_CPU_FEATURES=( ${X86_CPU_FEATURES_RAW[@]/#/cpu_flags_x86_} )
+X86_CPU_REQUIRED_USE="
+ cpu_flags_x86_avx2? ( cpu_flags_x86_avx )
+ cpu_flags_x86_fma4? ( cpu_flags_x86_avx )
+ cpu_flags_x86_fma3? ( cpu_flags_x86_avx )
+ cpu_flags_x86_xop? ( cpu_flags_x86_avx )
+ cpu_flags_x86_avx? ( cpu_flags_x86_sse4_2 )
+ cpu_flags_x86_aes? ( cpu_flags_x86_sse4_2 )
+ cpu_flags_x86_sse4_2? ( cpu_flags_x86_sse4_1 )
+ cpu_flags_x86_sse4_1? ( cpu_flags_x86_ssse3 )
+ cpu_flags_x86_ssse3? ( cpu_flags_x86_sse3 )
+ cpu_flags_x86_sse3? ( cpu_flags_x86_sse2 )
+ cpu_flags_x86_sse2? ( cpu_flags_x86_sse )
+ cpu_flags_x86_sse? ( cpu_flags_x86_mmxext )
+ cpu_flags_x86_mmxext? ( cpu_flags_x86_mmx )
+ cpu_flags_x86_3dnowext? ( cpu_flags_x86_3dnow )
+ cpu_flags_x86_3dnow? ( cpu_flags_x86_mmx )
+"
+
+CPU_FEATURES_MAP=(
+ ${ARM_CPU_FEATURES[@]}
+ ${MIPS_CPU_FEATURES[@]}
+ ${PPC_CPU_FEATURES[@]}
+ ${X86_CPU_FEATURES[@]}
+)
+IUSE="${IUSE}
+ ${CPU_FEATURES_MAP[@]%:*}"
+
+CPU_REQUIRED_USE="
+ ${ARM_CPU_REQUIRED_USE}
+ ${X86_CPU_REQUIRED_USE}
+"
+
+FFTOOLS=( aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt graph2dot ismindex pktdumper qt-faststart sidxindex trasher )
+IUSE="${IUSE} ${FFTOOLS[@]/#/+fftools_}"
+
+RDEPEND="
+ alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] )
+ amr? ( >=media-libs/opencore-amr-0.1.3-r1[${MULTILIB_USEDEP}] )
+ bluray? ( >=media-libs/libbluray-0.3.0-r1:=[${MULTILIB_USEDEP}] )
+ bs2b? ( >=media-libs/libbs2b-3.1.0-r1[${MULTILIB_USEDEP}] )
+ bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] )
+ cdio? ( >=dev-libs/libcdio-paranoia-0.90_p1-r1[${MULTILIB_USEDEP}] )
+ chromaprint? ( >=media-libs/chromaprint-1.2-r1[${MULTILIB_USEDEP}] )
+ codec2? ( media-libs/codec2[${MULTILIB_USEDEP}] )
+ encode? (
+ amrenc? ( >=media-libs/vo-amrwbenc-0.1.2-r1[${MULTILIB_USEDEP}] )
+ kvazaar? ( >=media-libs/kvazaar-1.2.0[${MULTILIB_USEDEP}] )
+ mp3? ( >=media-sound/lame-3.99.5-r1[${MULTILIB_USEDEP}] )
+ openh264? ( >=media-libs/openh264-1.4.0-r1[${MULTILIB_USEDEP}] )
+ snappy? ( >=app-arch/snappy-1.1.2-r1:=[${MULTILIB_USEDEP}] )
+ theora? (
+ >=media-libs/libtheora-1.1.1[encode,${MULTILIB_USEDEP}]
+ >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
+ )
+ twolame? ( >=media-sound/twolame-0.3.13-r1[${MULTILIB_USEDEP}] )
+ wavpack? ( >=media-sound/wavpack-4.60.1-r1[${MULTILIB_USEDEP}] )
+ webp? ( >=media-libs/libwebp-0.3.0:=[${MULTILIB_USEDEP}] )
+ x264? ( >=media-libs/x264-0.0.20130506:=[${MULTILIB_USEDEP}] )
+ x265? ( >=media-libs/x265-1.6:=[${MULTILIB_USEDEP}] )
+ xvid? ( >=media-libs/xvid-1.3.2-r1[${MULTILIB_USEDEP}] )
+ )
+ fdk? ( >=media-libs/fdk-aac-0.1.3:=[${MULTILIB_USEDEP}] )
+ flite? ( >=app-accessibility/flite-1.4-r4[${MULTILIB_USEDEP}] )
+ fontconfig? ( >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}] )
+ frei0r? ( media-plugins/frei0r-plugins )
+ fribidi? ( >=dev-libs/fribidi-0.19.6[${MULTILIB_USEDEP}] )
+ gcrypt? ( >=dev-libs/libgcrypt-1.6:0=[${MULTILIB_USEDEP}] )
+ gme? ( >=media-libs/game-music-emu-0.6.0[${MULTILIB_USEDEP}] )
+ gmp? ( >=dev-libs/gmp-6:0=[${MULTILIB_USEDEP}] )
+ gsm? ( >=media-sound/gsm-1.0.13-r1[${MULTILIB_USEDEP}] )
+ iconv? ( >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] )
+ iec61883? (
+ >=media-libs/libiec61883-1.2.0-r1[${MULTILIB_USEDEP}]
+ >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}]
+ >=sys-libs/libavc1394-0.5.4-r1[${MULTILIB_USEDEP}]
+ )
+ ieee1394? (
+ >=media-libs/libdc1394-2.2.1[${MULTILIB_USEDEP}]
+ >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}]
+ )
+ jack? ( virtual/jack[${MULTILIB_USEDEP}] )
+ jpeg2k? ( >=media-libs/openjpeg-2:2[${MULTILIB_USEDEP}] )
+ libaom? ( >=media-libs/libaom-1.0.0-r1[${MULTILIB_USEDEP}] )
+ libass? ( >=media-libs/libass-0.10.2:=[${MULTILIB_USEDEP}] )
+ libcaca? ( >=media-libs/libcaca-0.99_beta18-r1[${MULTILIB_USEDEP}] )
+ libdrm? ( x11-libs/libdrm[${MULTILIB_USEDEP}] )
+ libilbc? ( >=media-libs/libilbc-2[${MULTILIB_USEDEP}] )
+ libsoxr? ( >=media-libs/soxr-0.1.0[${MULTILIB_USEDEP}] )
+ libv4l? ( >=media-libs/libv4l-0.9.5[${MULTILIB_USEDEP}] )
+ libxml2? ( dev-libs/libxml2:=[${MULTILIB_USEDEP}] )
+ lv2? ( media-libs/lv2[${MULTILIB_USEDEP}] media-libs/lilv[${MULTILIB_USEDEP}] )
+ lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] )
+ mmal? ( media-libs/raspberrypi-userland )
+ modplug? ( >=media-libs/libmodplug-0.8.8.4-r1[${MULTILIB_USEDEP}] )
+ openal? ( >=media-libs/openal-1.15.1[${MULTILIB_USEDEP}] )
+ opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+ opengl? ( >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}] )
+ opus? ( >=media-libs/opus-1.0.2-r2[${MULTILIB_USEDEP}] )
+ pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${MULTILIB_USEDEP}] )
+ librtmp? ( >=media-video/rtmpdump-2.4_p20131018[${MULTILIB_USEDEP}] )
+ rubberband? ( >=media-libs/rubberband-1.8.1-r1[${MULTILIB_USEDEP}] )
+ samba? ( >=net-fs/samba-3.6.23-r1[client,${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[sound,video,${MULTILIB_USEDEP}] )
+ speex? ( >=media-libs/speex-1.2_rc1-r1[${MULTILIB_USEDEP}] )
+ srt? ( >=net-libs/srt-1.3.0[${MULTILIB_USEDEP}] )
+ ssh? ( >=net-libs/libssh-0.5.5[${MULTILIB_USEDEP}] )
+ svg? ( gnome-base/librsvg:2=[${MULTILIB_USEDEP}] )
+ truetype? ( >=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}] )
+ vaapi? ( >=x11-libs/libva-1.2.1-r1[${MULTILIB_USEDEP}] )
+ video_cards_nvidia? ( >=media-libs/nv-codec-headers-8.1.24.2[${MULTILIB_USEDEP}] )
+ vdpau? ( >=x11-libs/libvdpau-0.7[${MULTILIB_USEDEP}] )
+ vorbis? (
+ >=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}]
+ >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
+ )
+ vpx? ( >=media-libs/libvpx-1.4.0:=[${MULTILIB_USEDEP}] )
+ X? (
+ >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXv-1.0.10[${MULTILIB_USEDEP}]
+ )
+ xcb? ( >=x11-libs/libxcb-1.4[${MULTILIB_USEDEP}] )
+ zeromq? ( >=net-libs/zeromq-4.1.6 )
+ zimg? ( >=media-libs/zimg-2.7.4:=[${MULTILIB_USEDEP}] )
+ zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
+ zvbi? ( >=media-libs/zvbi-0.2.35[${MULTILIB_USEDEP}] )
+ !media-video/qt-faststart
+ postproc? ( !media-libs/libpostproc )
+"
+
+# Crypto & co provider magic
+# - libressl is a useflag meaning it should always favor libressl over openssl
+# - libressl and openssl provide more features to ffmpeg than gnutls
+#
+# The ordering is thus: libressl > openssl > gnutls
+RDEPEND="${RDEPEND}
+ libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] )
+ !libressl? (
+ openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
+ !openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) )
+ )
+"
+
+DEPEND="${RDEPEND}
+ >=sys-devel/make-3.81
+ doc? ( sys-apps/texinfo )
+ >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
+ ladspa? ( >=media-libs/ladspa-sdk-1.13-r2[${MULTILIB_USEDEP}] )
+ cpu_flags_x86_mmx? ( || ( >=dev-lang/nasm-2.13 >=dev-lang/yasm-1.3 ) )
+ test? ( net-misc/wget sys-devel/bc )
+ v4l? ( sys-kernel/linux-headers )
+"
+
+# Code requiring FFmpeg to be built under gpl license
+GPL_REQUIRED_USE="
+ postproc? ( gpl )
+ frei0r? ( gpl )
+ cdio? ( gpl )
+ samba? ( gpl )
+ encode? (
+ x264? ( gpl )
+ x265? ( gpl )
+ xvid? ( gpl )
+ X? ( !xcb? ( gpl ) )
+ )
+"
+REQUIRED_USE="
+ libv4l? ( v4l )
+ fftools_cws2fws? ( zlib )
+ test? ( encode )
+ ${GPL_REQUIRED_USE}
+ ${CPU_REQUIRED_USE}"
+RESTRICT="
+ gpl? ( openssl? ( bindist ) fdk? ( bindist ) libressl? ( bindist ) )
+"
+
+S=${WORKDIR}/${P/_/-}
+
+PATCHES=(
+ "${FILESDIR}"/chromium-r1.patch
+)
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/libavutil/avconfig.h
+)
+
+build_separate_libffmpeg() {
+ use opencl
+}
+
+src_prepare() {
+ if [[ "${PV%_p*}" != "${PV}" ]] ; then # Snapshot
+ export revision=git-N-${FFMPEG_REVISION}
+ fi
+ default
+ echo 'include $(SRC_PATH)/ffbuild/libffmpeg.mak' >> Makefile || die
+}
+
+multilib_src_configure() {
+ local myconf=( ${EXTRA_FFMPEG_CONF} )
+
+ local ffuse=( "${FFMPEG_FLAG_MAP[@]}" )
+ use openssl || use libressl && use gpl && myconf+=( --enable-nonfree )
+ use samba && myconf+=( --enable-version3 )
+
+ # Encoders
+ if use encode ; then
+ ffuse+=( "${FFMPEG_ENCODER_FLAG_MAP[@]}" )
+
+ # Licensing.
+ if use amrenc ; then
+ myconf+=( --enable-version3 )
+ fi
+ else
+ myconf+=( --disable-encoders )
+ fi
+
+ # Indevs
+ use v4l || myconf+=( --disable-indev=v4l2 --disable-outdev=v4l2 )
+ for i in alsa oss jack ; do
+ use ${i} || myconf+=( --disable-indev=${i} )
+ done
+
+ # Outdevs
+ for i in alsa oss ; do
+ use ${i} || myconf+=( --disable-outdev=${i} )
+ done
+
+ # Decoders
+ use amr && myconf+=( --enable-version3 )
+ use gmp && myconf+=( --enable-version3 )
+ use fdk && use gpl && myconf+=( --enable-nonfree )
+
+ for i in "${ffuse[@]#+}" ; do
+ myconf+=( $(use_enable ${i%:*} ${i#*:}) )
+ done
+
+ # Incompatible features: openssl or libressl and gnutls
+ if use libressl ; then
+ myconf+=( --disable-gnutls --disable-openssl )
+ elif use openssl ; then
+ myconf+=( --disable-gnutls )
+ fi
+
+ # (temporarily) disable non-multilib deps
+ if ! multilib_is_native_abi; then
+ for i in frei0r libzmq ; do
+ myconf+=( --disable-${i} )
+ done
+ fi
+
+ # CPU features
+ for i in "${CPU_FEATURES_MAP[@]}" ; do
+ use ${i%:*} || myconf+=( --disable-${i#*:} )
+ done
+
+ if use pic ; then
+ myconf+=( --enable-pic )
+ # disable asm code if PIC is required
+ # as the provided asm decidedly is not PIC for x86.
+ [[ ${ABI} == x86 ]] && myconf+=( --disable-asm )
+ fi
+ [[ ${ABI} == x32 ]] && myconf+=( --disable-asm ) #427004
+
+ # Try to get cpu type based on CFLAGS.
+ # Bug #172723
+ # We need to do this so that features of that CPU will be better used
+ # If they contain an unknown CPU it will not hurt since ffmpeg's configure
+ # will just ignore it.
+ for i in $(get-flag mcpu) $(get-flag march) ; do
+ [[ ${i} = native ]] && i="host" # bug #273421
+ myconf+=( --cpu=${i} )
+ break
+ done
+
+ # LTO support, bug #566282
+ is-flagq "-flto*" && myconf+=( "--enable-lto" )
+
+ # Mandatory configuration
+ myconf=(
+ --enable-avfilter
+ --enable-avresample
+ --disable-stripping
+ # This is only for hardcoded cflags; those are used in configure checks that may
+ # interfere with proper detections, bug #671746 and bug #645778
+ # We use optflags, so that overrides them anyway.
+ --disable-optimizations
+ --disable-libcelt # bug #664158
+ "${myconf[@]}"
+ )
+
+ # cross compile support
+ if tc-is-cross-compiler ; then
+ myconf+=( --enable-cross-compile --arch=$(tc-arch-kernel) --cross-prefix=${CHOST}- --host-cc="$(tc-getBUILD_CC)" )
+ case ${CHOST} in
+ *freebsd*)
+ myconf+=( --target-os=freebsd )
+ ;;
+ *mingw32*)
+ myconf+=( --target-os=mingw32 )
+ ;;
+ *linux*)
+ myconf+=( --target-os=linux )
+ ;;
+ esac
+ fi
+
+ # doc
+ myconf+=(
+ $(multilib_native_use_enable doc)
+ $(multilib_native_use_enable doc htmlpages)
+ $(multilib_native_enable manpages)
+ )
+
+ set -- "${S}/configure" \
+ --prefix="${EPREFIX}/usr" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --shlibdir="${EPREFIX}/usr/$(get_libdir)" \
+ --docdir="${EPREFIX}/usr/share/doc/${PF}/html" \
+ --mandir="${EPREFIX}/usr/share/man" \
+ --enable-shared \
+ --cc="$(tc-getCC)" \
+ --cxx="$(tc-getCXX)" \
+ --ar="$(tc-getAR)" \
+ --optflags="${CFLAGS}" \
+ $(use_enable static-libs static) \
+ "${myconf[@]}"
+ echo "${@}"
+ "${@}" || die
+
+ if multilib_is_native_abi && use chromium && build_separate_libffmpeg; then
+ einfo "Configuring for Chromium"
+ mkdir -p ../chromium || die
+ pushd ../chromium >/dev/null || die
+ set -- "${@}" \
+ --disable-shared \
+ --enable-static \
+ --enable-pic \
+ --disable-opencl
+ echo "${@}"
+ "${@}" || die
+ popd >/dev/null || die
+ fi
+}
+
+multilib_src_compile() {
+ emake V=1
+
+ if multilib_is_native_abi; then
+ for i in "${FFTOOLS[@]}" ; do
+ if use fftools_${i} ; then
+ emake V=1 tools/${i}$(get_exeext)
+ fi
+ done
+
+ if use chromium; then
+ if build_separate_libffmpeg; then
+ einfo "Compiling for Chromium"
+ pushd ../chromium >/dev/null || die
+ emake V=1 libffmpeg
+ popd >/dev/null || die
+ else
+ emake V=1 libffmpeg
+ fi
+ fi
+ fi
+}
+
+multilib_src_install() {
+ emake V=1 DESTDIR="${D}" install install-doc
+
+ if multilib_is_native_abi; then
+ for i in "${FFTOOLS[@]}" ; do
+ if use fftools_${i} ; then
+ dobin tools/${i}$(get_exeext)
+ fi
+ done
+
+ if use chromium; then
+ if build_separate_libffmpeg; then
+ einfo "Installing for Chromium"
+ pushd ../chromium >/dev/null || die
+ emake V=1 DESTDIR="${D}" install-libffmpeg
+ popd >/dev/null || die
+ else
+ emake V=1 DESTDIR="${D}" install-libffmpeg
+ fi
+ fi
+ fi
+}
+
+multilib_src_install_all() {
+ dodoc Changelog README.md CREDITS doc/*.txt doc/APIchanges
+ [ -f "RELEASE_NOTES" ] && dodoc "RELEASE_NOTES"
+}
+
+multilib_src_test() {
+ 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" \
+ emake V=1 fate
+}
diff --git a/media-video/ffmpeg/ffmpeg-4.1.3.ebuild b/media-video/ffmpeg/ffmpeg-4.1.3.ebuild
new file mode 100644
index 000000000000..12b71fa688bb
--- /dev/null
+++ b/media-video/ffmpeg/ffmpeg-4.1.3.ebuild
@@ -0,0 +1,528 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# Subslot: libavutil major.libavcodec major.libavformat major
+# Since FFmpeg ships several libraries, subslot is kind of limited here.
+# Most consumers will use those three libraries, if a "less used" library
+# changes its soname, consumers will have to be rebuilt the old way
+# (preserve-libs).
+# If, for example, a package does not link to libavformat and only libavformat
+# changes its ABI then this package will be rebuilt needlessly. Hence, such a
+# package is free _not_ to := depend on FFmpeg but I would strongly encourage
+# doing so since such a case is unlikely.
+FFMPEG_SUBSLOT=56.58.58
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_MIN_CLONE_TYPE="single"
+ EGIT_REPO_URI="https://git.ffmpeg.org/ffmpeg.git"
+fi
+
+inherit eutils flag-o-matic multilib multilib-minimal toolchain-funcs ${SCM}
+
+DESCRIPTION="Complete solution to record, convert and stream audio and video. Includes libavcodec"
+HOMEPAGE="https://ffmpeg.org/"
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SRC_URI=""
+elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot
+ SRC_URI="mirror://gentoo/${P}.tar.bz2"
+else # Release
+ SRC_URI="https://ffmpeg.org/releases/${P/_/-}.tar.bz2"
+fi
+FFMPEG_REVISION="${PV#*_p}"
+
+SLOT="0/${FFMPEG_SUBSLOT}"
+LICENSE="
+ !gpl? ( LGPL-2.1 )
+ gpl? ( GPL-2 )
+ amr? (
+ gpl? ( GPL-3 )
+ !gpl? ( LGPL-3 )
+ )
+ gmp? (
+ gpl? ( GPL-3 )
+ !gpl? ( LGPL-3 )
+ )
+ encode? (
+ amrenc? (
+ gpl? ( GPL-3 )
+ !gpl? ( LGPL-3 )
+ )
+ )
+ samba? ( GPL-3 )
+"
+if [ "${PV#9999}" = "${PV}" ] ; then
+ 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"
+fi
+
+# Options to use as use_enable in the foo[:bar] form.
+# This will feed configure with $(use_enable foo bar)
+# or $(use_enable foo foo) if no :bar is set.
+# foo is added to IUSE.
+FFMPEG_FLAG_MAP=(
+ +bzip2:bzlib cpudetection:runtime-cpudetect debug gcrypt gnutls gmp
+ +gpl +hardcoded-tables +iconv libressl:libtls libxml2 lzma +network opencl
+ openssl +postproc samba:libsmbclient sdl:ffplay sdl:sdl2 vaapi vdpau
+ X:xlib xcb:libxcb xcb:libxcb-shm xcb:libxcb-xfixes +zlib
+ # libavdevice options
+ cdio:libcdio iec61883:libiec61883 ieee1394:libdc1394 libcaca openal
+ opengl
+ # indevs
+ libv4l:libv4l2 pulseaudio:libpulse libdrm jack:libjack
+ # decoders
+ amr:libopencore-amrwb amr:libopencore-amrnb codec2:libcodec2 fdk:libfdk-aac
+ jpeg2k:libopenjpeg bluray:libbluray gme:libgme gsm:libgsm
+ mmal modplug:libmodplug opus:libopus libilbc librtmp ssh:libssh
+ speex:libspeex srt:libsrt svg:librsvg video_cards_nvidia:ffnvcodec
+ vorbis:libvorbis vpx:libvpx zvbi:libzvbi
+ # libavfilter options
+ appkit
+ bs2b:libbs2b chromaprint flite:libflite frei0r
+ fribidi:libfribidi fontconfig ladspa libass lv2 truetype:libfreetype
+ rubberband:librubberband zeromq:libzmq zimg:libzimg
+ # libswresample options
+ libsoxr
+ # Threads; we only support pthread for now but ffmpeg supports more
+ +threads:pthreads
+)
+
+# Same as above but for encoders, i.e. they do something only with USE=encode.
+FFMPEG_ENCODER_FLAG_MAP=(
+ amrenc:libvo-amrwbenc mp3:libmp3lame
+ kvazaar:libkvazaar libaom
+ openh264:libopenh264 snappy:libsnappy theora:libtheora twolame:libtwolame
+ wavpack:libwavpack webp:libwebp x264:libx264 x265:libx265 xvid:libxvid
+)
+
+IUSE="
+ alsa chromium doc +encode oss pic static-libs test v4l
+ ${FFMPEG_FLAG_MAP[@]%:*}
+ ${FFMPEG_ENCODER_FLAG_MAP[@]%:*}
+"
+
+# Strings for CPU features in the useflag[:configure_option] form
+# if :configure_option isn't set, it will use 'useflag' as configure option
+ARM_CPU_FEATURES=(
+ cpu_flags_arm_thumb:armv5te
+ cpu_flags_arm_v6:armv6
+ cpu_flags_arm_thumb2:armv6t2
+ cpu_flags_arm_neon:neon
+ cpu_flags_arm_vfp:vfp
+ cpu_flags_arm_vfpv3:vfpv3
+ cpu_flags_arm_v8:armv8
+)
+ARM_CPU_REQUIRED_USE="
+ arm64? ( cpu_flags_arm_v8 )
+ cpu_flags_arm_v8? ( cpu_flags_arm_vfpv3 cpu_flags_arm_neon )
+ cpu_flags_arm_neon? ( cpu_flags_arm_thumb2 cpu_flags_arm_vfp )
+ cpu_flags_arm_vfpv3? ( cpu_flags_arm_vfp )
+ cpu_flags_arm_thumb2? ( cpu_flags_arm_v6 )
+ cpu_flags_arm_v6? ( cpu_flags_arm_thumb )
+"
+MIPS_CPU_FEATURES=( mipsdspr1:mipsdsp mipsdspr2 mipsfpu )
+PPC_CPU_FEATURES=( altivec )
+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 )
+X86_CPU_FEATURES=( ${X86_CPU_FEATURES_RAW[@]/#/cpu_flags_x86_} )
+X86_CPU_REQUIRED_USE="
+ cpu_flags_x86_avx2? ( cpu_flags_x86_avx )
+ cpu_flags_x86_fma4? ( cpu_flags_x86_avx )
+ cpu_flags_x86_fma3? ( cpu_flags_x86_avx )
+ cpu_flags_x86_xop? ( cpu_flags_x86_avx )
+ cpu_flags_x86_avx? ( cpu_flags_x86_sse4_2 )
+ cpu_flags_x86_aes? ( cpu_flags_x86_sse4_2 )
+ cpu_flags_x86_sse4_2? ( cpu_flags_x86_sse4_1 )
+ cpu_flags_x86_sse4_1? ( cpu_flags_x86_ssse3 )
+ cpu_flags_x86_ssse3? ( cpu_flags_x86_sse3 )
+ cpu_flags_x86_sse3? ( cpu_flags_x86_sse2 )
+ cpu_flags_x86_sse2? ( cpu_flags_x86_sse )
+ cpu_flags_x86_sse? ( cpu_flags_x86_mmxext )
+ cpu_flags_x86_mmxext? ( cpu_flags_x86_mmx )
+ cpu_flags_x86_3dnowext? ( cpu_flags_x86_3dnow )
+ cpu_flags_x86_3dnow? ( cpu_flags_x86_mmx )
+"
+
+CPU_FEATURES_MAP=(
+ ${ARM_CPU_FEATURES[@]}
+ ${MIPS_CPU_FEATURES[@]}
+ ${PPC_CPU_FEATURES[@]}
+ ${X86_CPU_FEATURES[@]}
+)
+IUSE="${IUSE}
+ ${CPU_FEATURES_MAP[@]%:*}"
+
+CPU_REQUIRED_USE="
+ ${ARM_CPU_REQUIRED_USE}
+ ${X86_CPU_REQUIRED_USE}
+"
+
+FFTOOLS=( aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt graph2dot ismindex pktdumper qt-faststart sidxindex trasher )
+IUSE="${IUSE} ${FFTOOLS[@]/#/+fftools_}"
+
+RDEPEND="
+ alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] )
+ amr? ( >=media-libs/opencore-amr-0.1.3-r1[${MULTILIB_USEDEP}] )
+ bluray? ( >=media-libs/libbluray-0.3.0-r1:=[${MULTILIB_USEDEP}] )
+ bs2b? ( >=media-libs/libbs2b-3.1.0-r1[${MULTILIB_USEDEP}] )
+ bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] )
+ cdio? ( >=dev-libs/libcdio-paranoia-0.90_p1-r1[${MULTILIB_USEDEP}] )
+ chromaprint? ( >=media-libs/chromaprint-1.2-r1[${MULTILIB_USEDEP}] )
+ codec2? ( media-libs/codec2[${MULTILIB_USEDEP}] )
+ encode? (
+ amrenc? ( >=media-libs/vo-amrwbenc-0.1.2-r1[${MULTILIB_USEDEP}] )
+ kvazaar? ( >=media-libs/kvazaar-1.2.0[${MULTILIB_USEDEP}] )
+ mp3? ( >=media-sound/lame-3.99.5-r1[${MULTILIB_USEDEP}] )
+ openh264? ( >=media-libs/openh264-1.4.0-r1[${MULTILIB_USEDEP}] )
+ snappy? ( >=app-arch/snappy-1.1.2-r1:=[${MULTILIB_USEDEP}] )
+ theora? (
+ >=media-libs/libtheora-1.1.1[encode,${MULTILIB_USEDEP}]
+ >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
+ )
+ twolame? ( >=media-sound/twolame-0.3.13-r1[${MULTILIB_USEDEP}] )
+ wavpack? ( >=media-sound/wavpack-4.60.1-r1[${MULTILIB_USEDEP}] )
+ webp? ( >=media-libs/libwebp-0.3.0:=[${MULTILIB_USEDEP}] )
+ x264? ( >=media-libs/x264-0.0.20130506:=[${MULTILIB_USEDEP}] )
+ x265? ( >=media-libs/x265-1.6:=[${MULTILIB_USEDEP}] )
+ xvid? ( >=media-libs/xvid-1.3.2-r1[${MULTILIB_USEDEP}] )
+ )
+ fdk? ( >=media-libs/fdk-aac-0.1.3:=[${MULTILIB_USEDEP}] )
+ flite? ( >=app-accessibility/flite-1.4-r4[${MULTILIB_USEDEP}] )
+ fontconfig? ( >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}] )
+ frei0r? ( media-plugins/frei0r-plugins )
+ fribidi? ( >=dev-libs/fribidi-0.19.6[${MULTILIB_USEDEP}] )
+ gcrypt? ( >=dev-libs/libgcrypt-1.6:0=[${MULTILIB_USEDEP}] )
+ gme? ( >=media-libs/game-music-emu-0.6.0[${MULTILIB_USEDEP}] )
+ gmp? ( >=dev-libs/gmp-6:0=[${MULTILIB_USEDEP}] )
+ gsm? ( >=media-sound/gsm-1.0.13-r1[${MULTILIB_USEDEP}] )
+ iconv? ( >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] )
+ iec61883? (
+ >=media-libs/libiec61883-1.2.0-r1[${MULTILIB_USEDEP}]
+ >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}]
+ >=sys-libs/libavc1394-0.5.4-r1[${MULTILIB_USEDEP}]
+ )
+ ieee1394? (
+ >=media-libs/libdc1394-2.2.1[${MULTILIB_USEDEP}]
+ >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}]
+ )
+ jack? ( virtual/jack[${MULTILIB_USEDEP}] )
+ jpeg2k? ( >=media-libs/openjpeg-2:2[${MULTILIB_USEDEP}] )
+ libaom? ( >=media-libs/libaom-1.0.0-r1[${MULTILIB_USEDEP}] )
+ libass? ( >=media-libs/libass-0.10.2:=[${MULTILIB_USEDEP}] )
+ libcaca? ( >=media-libs/libcaca-0.99_beta18-r1[${MULTILIB_USEDEP}] )
+ libdrm? ( x11-libs/libdrm[${MULTILIB_USEDEP}] )
+ libilbc? ( >=media-libs/libilbc-2[${MULTILIB_USEDEP}] )
+ libsoxr? ( >=media-libs/soxr-0.1.0[${MULTILIB_USEDEP}] )
+ libv4l? ( >=media-libs/libv4l-0.9.5[${MULTILIB_USEDEP}] )
+ libxml2? ( dev-libs/libxml2:=[${MULTILIB_USEDEP}] )
+ lv2? ( media-libs/lv2[${MULTILIB_USEDEP}] media-libs/lilv[${MULTILIB_USEDEP}] )
+ lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] )
+ mmal? ( media-libs/raspberrypi-userland )
+ modplug? ( >=media-libs/libmodplug-0.8.8.4-r1[${MULTILIB_USEDEP}] )
+ openal? ( >=media-libs/openal-1.15.1[${MULTILIB_USEDEP}] )
+ opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+ opengl? ( >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}] )
+ opus? ( >=media-libs/opus-1.0.2-r2[${MULTILIB_USEDEP}] )
+ pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${MULTILIB_USEDEP}] )
+ librtmp? ( >=media-video/rtmpdump-2.4_p20131018[${MULTILIB_USEDEP}] )
+ rubberband? ( >=media-libs/rubberband-1.8.1-r1[${MULTILIB_USEDEP}] )
+ samba? ( >=net-fs/samba-3.6.23-r1[client,${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[sound,video,${MULTILIB_USEDEP}] )
+ speex? ( >=media-libs/speex-1.2_rc1-r1[${MULTILIB_USEDEP}] )
+ srt? ( >=net-libs/srt-1.3.0[${MULTILIB_USEDEP}] )
+ ssh? ( >=net-libs/libssh-0.5.5[${MULTILIB_USEDEP}] )
+ svg? ( gnome-base/librsvg:2=[${MULTILIB_USEDEP}] )
+ truetype? ( >=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}] )
+ vaapi? ( >=x11-libs/libva-1.2.1-r1[${MULTILIB_USEDEP}] )
+ video_cards_nvidia? ( >=media-libs/nv-codec-headers-8.1.24.2[${MULTILIB_USEDEP}] )
+ vdpau? ( >=x11-libs/libvdpau-0.7[${MULTILIB_USEDEP}] )
+ vorbis? (
+ >=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}]
+ >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
+ )
+ vpx? ( >=media-libs/libvpx-1.4.0:=[${MULTILIB_USEDEP}] )
+ X? (
+ >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXv-1.0.10[${MULTILIB_USEDEP}]
+ )
+ xcb? ( >=x11-libs/libxcb-1.4[${MULTILIB_USEDEP}] )
+ zeromq? ( >=net-libs/zeromq-4.1.6 )
+ zimg? ( >=media-libs/zimg-2.7.4:=[${MULTILIB_USEDEP}] )
+ zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
+ zvbi? ( >=media-libs/zvbi-0.2.35[${MULTILIB_USEDEP}] )
+ !media-video/qt-faststart
+ postproc? ( !media-libs/libpostproc )
+"
+
+# Crypto & co provider magic
+# - libressl is a useflag meaning it should always favor libressl over openssl
+# - libressl and openssl provide more features to ffmpeg than gnutls
+#
+# The ordering is thus: libressl > openssl > gnutls
+RDEPEND="${RDEPEND}
+ libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] )
+ !libressl? (
+ openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
+ !openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) )
+ )
+"
+
+DEPEND="${RDEPEND}
+ >=sys-devel/make-3.81
+ doc? ( sys-apps/texinfo )
+ >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
+ ladspa? ( >=media-libs/ladspa-sdk-1.13-r2[${MULTILIB_USEDEP}] )
+ cpu_flags_x86_mmx? ( || ( >=dev-lang/nasm-2.13 >=dev-lang/yasm-1.3 ) )
+ test? ( net-misc/wget sys-devel/bc )
+ v4l? ( sys-kernel/linux-headers )
+"
+
+# Code requiring FFmpeg to be built under gpl license
+GPL_REQUIRED_USE="
+ postproc? ( gpl )
+ frei0r? ( gpl )
+ cdio? ( gpl )
+ samba? ( gpl )
+ encode? (
+ x264? ( gpl )
+ x265? ( gpl )
+ xvid? ( gpl )
+ X? ( !xcb? ( gpl ) )
+ )
+"
+REQUIRED_USE="
+ libv4l? ( v4l )
+ fftools_cws2fws? ( zlib )
+ test? ( encode )
+ ${GPL_REQUIRED_USE}
+ ${CPU_REQUIRED_USE}"
+RESTRICT="
+ gpl? ( openssl? ( bindist ) fdk? ( bindist ) libressl? ( bindist ) )
+"
+
+S=${WORKDIR}/${P/_/-}
+
+PATCHES=(
+ "${FILESDIR}"/chromium-r1.patch
+)
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/libavutil/avconfig.h
+)
+
+build_separate_libffmpeg() {
+ use opencl
+}
+
+src_prepare() {
+ if [[ "${PV%_p*}" != "${PV}" ]] ; then # Snapshot
+ export revision=git-N-${FFMPEG_REVISION}
+ fi
+ default
+ echo 'include $(SRC_PATH)/ffbuild/libffmpeg.mak' >> Makefile || die
+}
+
+multilib_src_configure() {
+ local myconf=( ${EXTRA_FFMPEG_CONF} )
+
+ local ffuse=( "${FFMPEG_FLAG_MAP[@]}" )
+ use openssl || use libressl && use gpl && myconf+=( --enable-nonfree )
+ use samba && myconf+=( --enable-version3 )
+
+ # Encoders
+ if use encode ; then
+ ffuse+=( "${FFMPEG_ENCODER_FLAG_MAP[@]}" )
+
+ # Licensing.
+ if use amrenc ; then
+ myconf+=( --enable-version3 )
+ fi
+ else
+ myconf+=( --disable-encoders )
+ fi
+
+ # Indevs
+ use v4l || myconf+=( --disable-indev=v4l2 --disable-outdev=v4l2 )
+ for i in alsa oss jack ; do
+ use ${i} || myconf+=( --disable-indev=${i} )
+ done
+
+ # Outdevs
+ for i in alsa oss ; do
+ use ${i} || myconf+=( --disable-outdev=${i} )
+ done
+
+ # Decoders
+ use amr && myconf+=( --enable-version3 )
+ use gmp && myconf+=( --enable-version3 )
+ use fdk && use gpl && myconf+=( --enable-nonfree )
+
+ for i in "${ffuse[@]#+}" ; do
+ myconf+=( $(use_enable ${i%:*} ${i#*:}) )
+ done
+
+ # Incompatible features: openssl or libressl and gnutls
+ if use libressl ; then
+ myconf+=( --disable-gnutls --disable-openssl )
+ elif use openssl ; then
+ myconf+=( --disable-gnutls )
+ fi
+
+ # (temporarily) disable non-multilib deps
+ if ! multilib_is_native_abi; then
+ for i in frei0r libzmq ; do
+ myconf+=( --disable-${i} )
+ done
+ fi
+
+ # CPU features
+ for i in "${CPU_FEATURES_MAP[@]}" ; do
+ use ${i%:*} || myconf+=( --disable-${i#*:} )
+ done
+
+ if use pic ; then
+ myconf+=( --enable-pic )
+ # disable asm code if PIC is required
+ # as the provided asm decidedly is not PIC for x86.
+ [[ ${ABI} == x86 ]] && myconf+=( --disable-asm )
+ fi
+ [[ ${ABI} == x32 ]] && myconf+=( --disable-asm ) #427004
+
+ # Try to get cpu type based on CFLAGS.
+ # Bug #172723
+ # We need to do this so that features of that CPU will be better used
+ # If they contain an unknown CPU it will not hurt since ffmpeg's configure
+ # will just ignore it.
+ for i in $(get-flag mcpu) $(get-flag march) ; do
+ [[ ${i} = native ]] && i="host" # bug #273421
+ myconf+=( --cpu=${i} )
+ break
+ done
+
+ # LTO support, bug #566282
+ is-flagq "-flto*" && myconf+=( "--enable-lto" )
+
+ # Mandatory configuration
+ myconf=(
+ --enable-avfilter
+ --enable-avresample
+ --disable-stripping
+ # This is only for hardcoded cflags; those are used in configure checks that may
+ # interfere with proper detections, bug #671746 and bug #645778
+ # We use optflags, so that overrides them anyway.
+ --disable-optimizations
+ --disable-libcelt # bug #664158
+ "${myconf[@]}"
+ )
+
+ # cross compile support
+ if tc-is-cross-compiler ; then
+ myconf+=( --enable-cross-compile --arch=$(tc-arch-kernel) --cross-prefix=${CHOST}- --host-cc="$(tc-getBUILD_CC)" )
+ case ${CHOST} in
+ *freebsd*)
+ myconf+=( --target-os=freebsd )
+ ;;
+ *mingw32*)
+ myconf+=( --target-os=mingw32 )
+ ;;
+ *linux*)
+ myconf+=( --target-os=linux )
+ ;;
+ esac
+ fi
+
+ # doc
+ myconf+=(
+ $(multilib_native_use_enable doc)
+ $(multilib_native_use_enable doc htmlpages)
+ $(multilib_native_enable manpages)
+ )
+
+ set -- "${S}/configure" \
+ --prefix="${EPREFIX}/usr" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --shlibdir="${EPREFIX}/usr/$(get_libdir)" \
+ --docdir="${EPREFIX}/usr/share/doc/${PF}/html" \
+ --mandir="${EPREFIX}/usr/share/man" \
+ --enable-shared \
+ --cc="$(tc-getCC)" \
+ --cxx="$(tc-getCXX)" \
+ --ar="$(tc-getAR)" \
+ --optflags="${CFLAGS}" \
+ $(use_enable static-libs static) \
+ "${myconf[@]}"
+ echo "${@}"
+ "${@}" || die
+
+ if multilib_is_native_abi && use chromium && build_separate_libffmpeg; then
+ einfo "Configuring for Chromium"
+ mkdir -p ../chromium || die
+ pushd ../chromium >/dev/null || die
+ set -- "${@}" \
+ --disable-shared \
+ --enable-static \
+ --enable-pic \
+ --disable-opencl
+ echo "${@}"
+ "${@}" || die
+ popd >/dev/null || die
+ fi
+}
+
+multilib_src_compile() {
+ emake V=1
+
+ if multilib_is_native_abi; then
+ for i in "${FFTOOLS[@]}" ; do
+ if use fftools_${i} ; then
+ emake V=1 tools/${i}$(get_exeext)
+ fi
+ done
+
+ if use chromium; then
+ if build_separate_libffmpeg; then
+ einfo "Compiling for Chromium"
+ pushd ../chromium >/dev/null || die
+ emake V=1 libffmpeg
+ popd >/dev/null || die
+ else
+ emake V=1 libffmpeg
+ fi
+ fi
+ fi
+}
+
+multilib_src_install() {
+ emake V=1 DESTDIR="${D}" install install-doc
+
+ if multilib_is_native_abi; then
+ for i in "${FFTOOLS[@]}" ; do
+ if use fftools_${i} ; then
+ dobin tools/${i}$(get_exeext)
+ fi
+ done
+
+ if use chromium; then
+ if build_separate_libffmpeg; then
+ einfo "Installing for Chromium"
+ pushd ../chromium >/dev/null || die
+ emake V=1 DESTDIR="${D}" install-libffmpeg
+ popd >/dev/null || die
+ else
+ emake V=1 DESTDIR="${D}" install-libffmpeg
+ fi
+ fi
+ fi
+}
+
+multilib_src_install_all() {
+ dodoc Changelog README.md CREDITS doc/*.txt doc/APIchanges
+ [ -f "RELEASE_NOTES" ] && dodoc "RELEASE_NOTES"
+}
+
+multilib_src_test() {
+ 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" \
+ emake V=1 fate
+}
diff --git a/media-video/ffmpeg/ffmpeg-9999.ebuild b/media-video/ffmpeg/ffmpeg-9999.ebuild
index 612d0d3fd708..7c83f6a4c05e 100644
--- a/media-video/ffmpeg/ffmpeg-9999.ebuild
+++ b/media-video/ffmpeg/ffmpeg-9999.ebuild
@@ -73,7 +73,7 @@ FFMPEG_FLAG_MAP=(
# indevs
libv4l:libv4l2 pulseaudio:libpulse libdrm jack:libjack
# decoders
- amr:libopencore-amrwb amr:libopencore-amrnb codec2:libcodec2 fdk:libfdk-aac
+ amr:libopencore-amrwb amr:libopencore-amrnb codec2:libcodec2 dav1d:libdav1d fdk:libfdk-aac
jpeg2k:libopenjpeg bluray:libbluray gme:libgme gsm:libgsm
mmal modplug:libmodplug opus:libopus libilbc librtmp ssh:libssh
speex:libspeex srt:libsrt svg:librsvg video_cards_nvidia:ffnvcodec
@@ -170,6 +170,7 @@ RDEPEND="
cdio? ( >=dev-libs/libcdio-paranoia-0.90_p1-r1[${MULTILIB_USEDEP}] )
chromaprint? ( >=media-libs/chromaprint-1.2-r1[${MULTILIB_USEDEP}] )
codec2? ( media-libs/codec2[${MULTILIB_USEDEP}] )
+ dav1d? ( >=media-libs/dav1d-0.2.1:0=[${MULTILIB_USEDEP}] )
encode? (
amrenc? ( >=media-libs/vo-amrwbenc-0.1.2-r1[${MULTILIB_USEDEP}] )
kvazaar? ( >=media-libs/kvazaar-1.2.0[${MULTILIB_USEDEP}] )
@@ -213,6 +214,7 @@ RDEPEND="
libcaca? ( >=media-libs/libcaca-0.99_beta18-r1[${MULTILIB_USEDEP}] )
libdrm? ( x11-libs/libdrm[${MULTILIB_USEDEP}] )
libilbc? ( >=media-libs/libilbc-2[${MULTILIB_USEDEP}] )
+ librtmp? ( >=media-video/rtmpdump-2.4_p20131018[${MULTILIB_USEDEP}] )
libsoxr? ( >=media-libs/soxr-0.1.0[${MULTILIB_USEDEP}] )
libv4l? ( >=media-libs/libv4l-0.9.5[${MULTILIB_USEDEP}] )
libxml2? ( dev-libs/libxml2:=[${MULTILIB_USEDEP}] )
@@ -225,7 +227,6 @@ RDEPEND="
opengl? ( >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}] )
opus? ( >=media-libs/opus-1.0.2-r2[${MULTILIB_USEDEP}] )
pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${MULTILIB_USEDEP}] )
- librtmp? ( >=media-video/rtmpdump-2.4_p20131018[${MULTILIB_USEDEP}] )
rubberband? ( >=media-libs/rubberband-1.8.1-r1[${MULTILIB_USEDEP}] )
samba? ( >=net-fs/samba-3.6.23-r1[client,${MULTILIB_USEDEP}] )
sdl? ( media-libs/libsdl2[sound,video,${MULTILIB_USEDEP}] )
@@ -235,7 +236,7 @@ RDEPEND="
svg? ( gnome-base/librsvg:2=[${MULTILIB_USEDEP}] )
truetype? ( >=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}] )
vaapi? ( >=x11-libs/libva-1.2.1-r1[${MULTILIB_USEDEP}] )
- video_cards_nvidia? ( >=media-libs/nv-codec-headers-8.1.24.2[${MULTILIB_USEDEP}] )
+ video_cards_nvidia? ( >=media-libs/nv-codec-headers-9.0.18.0[${MULTILIB_USEDEP}] )
vdpau? ( >=x11-libs/libvdpau-0.7[${MULTILIB_USEDEP}] )
vidstab? ( >=media-libs/vidstab-1.1.0[${MULTILIB_USEDEP}] )
vorbis? (
diff --git a/media-video/ffmpeg/metadata.xml b/media-video/ffmpeg/metadata.xml
index b2b0c975a987..b2f6fd8bc470 100644
--- a/media-video/ffmpeg/metadata.xml
+++ b/media-video/ffmpeg/metadata.xml
@@ -19,6 +19,7 @@
<flag name="chromium">Builds libffmpeg.so to enable media playback in Chromium-based browsers like Opera and Vivaldi.</flag>
<flag name="codec2">Enables codec2 low bit rate speech codec support via <pkg>media-libs/codec2</pkg>.</flag>
<flag name="cpudetection">Enables runtime CPU detection (useful for bindist, compatibility on other CPUs)</flag>
+ <flag name="dav1d">Enables AV1 decoding via<pkg>media-libs/dav1d</pkg>.</flag>
<flag name="ebur128">Enables EBU R128 loudness normalization filter via <pkg>media-libs/libebur128</pkg></flag>
<flag name="fdk">Use external fdk-aac library for AAC encoding</flag>
<flag name="flite">Adds a text-to-speech filter based on <pkg>app-accessibility/flite</pkg>.</flag>
diff --git a/media-video/gaupol/Manifest b/media-video/gaupol/Manifest
index e987452bfc9e..49087320326c 100644
--- a/media-video/gaupol/Manifest
+++ b/media-video/gaupol/Manifest
@@ -3,5 +3,5 @@ DIST gaupol-1.4.tar.gz 524369 BLAKE2B 6f27ce3328339fc2f6248bb58d80965a5a26fed220
DIST gaupol-1.5.tar.gz 537279 BLAKE2B 1ba8644b49832ee80e61bf304b7978275064acbe2e5e733a991b280f947c4064f0d4f385055e580bd3aa2d9ee2291d64fd1ee4bd8a1ba4f8eaaaaf9a137085ff SHA512 48f3eda460c2fb3e4bdaf52c42645599f0d5ce8eae05f7a2a9c608192a27a8b86b83830584216dc73105968f544aeab30e171b2c176d9a3f5047e93510413b85
EBUILD gaupol-1.4.1.ebuild 1386 BLAKE2B 5ec40c5e0af3db14aa3453d7fe586ea0b346ecde6cc73f8d5f812279b23db7ca72915b386c78c719ca057f2f6a4a445c2673be4711d6d3ccfad6b26fc563b14b SHA512 b34e09c2ca5f21cdf6227d9ec0cc9836d004367686753d33ad4c0d7415a9456cf5325b0c3710e9da142640ca3c0a040037d69772bf878f0577ee7441fcfc2b3f
EBUILD gaupol-1.4.ebuild 1424 BLAKE2B 95b4045fa111616491df258bee5542338e04209b7083fae27901b50255eaefe75be5c94cbe7d976e2b57365ed5f6d6a9287da586bd9971155a0d4cb88d73761f SHA512 1a74311606a5dfe5c8b827fa8ac01d258fbbdc2d9b635433c90a088ceb10994cfc3bdc229073fa5e47200ba3bb1726a4c6bcb385ac0366f93d4ab23452b54dcc
-EBUILD gaupol-1.5.ebuild 1393 BLAKE2B 376bb109d6226149774fa7225046e6912f0504e0fc2fd27d5b9f5e2fb43dc5eb088d7fb56781ed89e0b750d8538007b4951217fb4a551ad47a83776762a7e3e6 SHA512 853000878c8bf4e8f3eb95f44e3becc716d2f684aff605751f2f921b585ca6d2fcb2e2503173d207bb302d7d8b4fbd6d510bcd26f5152bf7c5558f791f1a9c33
+EBUILD gaupol-1.5.ebuild 1392 BLAKE2B b1939fb0d1c6914d7de488436db8c16831cf2b6e44eaf56d2d7a4ae90f1abe006aa1575e3206317d627382608112ecda5a2d64209df87a35a9e5477a3aca0155 SHA512 b046c111deaf3a4d7e4df0444a0874603f473ceb9ca3672c956921d0fce33e373bea309e1c271229ec66c6660778d8e851e84fd6b10dac3f0195e058f0a143cd
MISC metadata.xml 508 BLAKE2B 979a43569103cfe36a47d56ed16c15b7775d0a36d031d488ac064152b8d59115dc656e28a5eced25da13d9a3925be24114a760862bf043b88a89c70b8dc053e8 SHA512 1af2a5a287075a0668850c229a5c9dcbef51bbe64467516e37b870459266021d528435dbd5274e0d5abf7cf0fe2d4b8fb08f6cc470418c3b64e4da6b93dcc147
diff --git a/media-video/gaupol/gaupol-1.5.ebuild b/media-video/gaupol/gaupol-1.5.ebuild
index eee42ccc6b2c..06098269cd4d 100644
--- a/media-video/gaupol/gaupol-1.5.ebuild
+++ b/media-video/gaupol/gaupol-1.5.ebuild
@@ -13,7 +13,7 @@ SRC_URI="https://github.com/otsaloma/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="~amd64 ~arm64 x86"
IUSE="spell test"
RDEPEND="
diff --git a/media-video/gnome-mpv/Manifest b/media-video/gnome-mpv/Manifest
index 24f1947e72bd..7548df22aa34 100644
--- a/media-video/gnome-mpv/Manifest
+++ b/media-video/gnome-mpv/Manifest
@@ -3,5 +3,5 @@ DIST gnome-mpv-0.15.tar.xz 314960 BLAKE2B 9a12d090ae743fc723f83154bf212a84d7544f
DIST gnome-mpv-0.16.tar.xz 320676 BLAKE2B ea92b94096b2bc13dd48ac54acec7aa19f23ffd53f40a90dd52fa7e9221a82bfc6159eb204eec98a1073d9ccd14ab4a4b8b380714098120deafaa4c3183d64f3 SHA512 b730cba7388e9c64014a17b7aa2bdeab344a80bcff46ed2f47566ef02f24e2b5b07ed3fbae65443dc7ae58b70bd03e065a4da6ab8860fb506bdaad8bbccc0fce
EBUILD gnome-mpv-0.14.ebuild 712 BLAKE2B a41fd5844f2b88245de1e974286570ce8aadbc45e92bb0af5c94e404dafd544d7e86259e729a55e24fdf3e7a5606481f457611fb196bcb7674a85c6b9fcf9313 SHA512 6859f4194cc12387ffcaa097f8e3e8a2ae11ce4b760f141f8ca42936655f23e35eaa4ec7d5e66e82c592fa01d50802f4484c7a060411a937580a57775d5563b2
EBUILD gnome-mpv-0.15.ebuild 846 BLAKE2B d2c962cade1beded76926eaaf5a4a022eadcd88591d11efbea7109b00324af9bb23e6d8a88e92d97480b6f82ba610fa8a27d10294db51ff5b212407211fa3a77 SHA512 4997e87ba5b4427b83b7f3c136fa5379ebc92730d69756e20718e903a54defc9747253881790dc435b6d13c8d12c9e2476cac2ee741f08cc9a15305407772e20
-EBUILD gnome-mpv-0.16.ebuild 733 BLAKE2B e8fb15f9502d59ac547c1693205cb39cd9301ae096b6c3980b1b211a1733f8d64e49f8010281d7f5c338942bcffdb12051090c4ea2a8f9b2e82c808c4f9d5364 SHA512 54e5fae56c354b918e0ce4d4ddc1451cc80050fdee78cd6e95d3740fc800b8f3432de0dd3f79c79b3a39aa3ea1ba2f844bc2ef0a8ebea2302e18951ec373e37a
+EBUILD gnome-mpv-0.16.ebuild 732 BLAKE2B 878351a69845c4f0a1549d105de27159190386cbbefe43089768676d4f4b351174dd1eb573748a5bfcf26f4653fc3cd3c0894ae06304e1e6566ad3bc6a646155 SHA512 cd4fcde6d67624779e1c819e032c017ceb86678be6a0d3cf8100e026114e36b11259eaaa1a9d795310ecd4badc93d399b9456352166ff37e68e1f0ce11d50281
MISC metadata.xml 240 BLAKE2B 9fdc2353993b08138d11aacc71a6026e52430fe7b4b4d0a195dd03a5334b6c18dba7a88279e18c6b97cfbd1e0c818f5310b5d1419e77b3ede373c62321f4c2e6 SHA512 3b569f3b00bb1b30eb7c5f2e3c372f3b87d96cb333d36857973c85d8b5da1f480918ad7f3b1ed9cdbe7db6bcd1db35b454d34559a430c28008b5a1dccc65776b
diff --git a/media-video/gnome-mpv/gnome-mpv-0.16.ebuild b/media-video/gnome-mpv/gnome-mpv-0.16.ebuild
index 51627b53cbe5..ab9a3c03e455 100644
--- a/media-video/gnome-mpv/gnome-mpv-0.16.ebuild
+++ b/media-video/gnome-mpv/gnome-mpv-0.16.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/gnome-mpv/gnome-mpv/releases/download/v${PV}/${P}.ta
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
RDEPEND=">=dev-libs/glib-2.44
>=x11-libs/gtk+-3.22.23:3
diff --git a/media-video/mjpegtools/Manifest b/media-video/mjpegtools/Manifest
index 6bdd74c21ed1..8b09d7b962b2 100644
--- a/media-video/mjpegtools/Manifest
+++ b/media-video/mjpegtools/Manifest
@@ -3,5 +3,5 @@ AUX mjpegtools-2.1.0-pic.patch 2298 BLAKE2B 9babd547b6c631845964e7ab6cb929d0b704
AUX mjpegtools-2.1.0-sdl-cflags.patch 387 BLAKE2B ad8065afdf164335e77adf972b21c6fd7108dba3f21a56006eede02a650f7f0728950c36f9e73dbedd9713eb69f8dab010c547c472c02abd8642dc518cc43621 SHA512 67b43ab22d1358755a6e109b8eaf21b14058c6a4f4dc511e27162c4205274eacbe4fb9016a5c8a3938ca071f6d4f1898801ed3ab0571b011aab170771a1b7602
DIST mjpegtools-2.1.0.tar.gz 1844336 BLAKE2B 90ae51c81e18708132f26c1fb002128193168366542cadc15060ad52f664a5f90770b3039ada2a1777eab5fec9743fb24c65083de913ebd72b23dd55f6b25741 SHA512 10d3288f47d7cc4de87fa63f65e0fd4bd0a9af95db77155eecccecae7a7e60ebab83eaec44cf7a2c3d9e627f0cc086eda208abee1a7a74cbf3f85e87bb979ac5
EBUILD mjpegtools-2.1.0-r3.ebuild 2873 BLAKE2B a40d80911829ee07b60582fb4c964469d522d123d41f16644fc43f3da5e231c60bcf767291663b66a36c6dd600e07e4fd61f17d842673749d9d0c2d4b9471398 SHA512 bc1c60e424c841aaad9538a3bdb038341e560cf98ae2b4f93443c4e2e9cdc8b9325efda3980b34495279f3a0cbb9af1db863422ffdd0d496d9ffafce42d2dd36
-EBUILD mjpegtools-2.1.0-r4.ebuild 2894 BLAKE2B 085bc7df6a9f467219d244ec936098ace0fc87f6d582d54829f55129f552beca18a39ba6ac3d37a4bd24027e570f0df8845faf2293b8cb3fdd5e6fd028efc259 SHA512 9f01a428d20a8489bc79def3bde84494df0687495a0473ca300b9bede8e0d409a4f574c0bc70a24ca5a32ede4947a1f99c50e9bd50910b194bf2f19a302280da
+EBUILD mjpegtools-2.1.0-r4.ebuild 2888 BLAKE2B d6af8d9d61375ce5b5b7b726002c7cc8abb2ceca5dade17073808628df7549b39ffb808b3b26019794564558820ed72b22a6de41d121e47ac60ddb5c0ccf9766 SHA512 237eba0f0e42632199a95a46d9dac0c9aad6295b653a96ce1c81ed002074af38776faef3c6d5b68981bd8eb102921db6ab6dabb31788676850debdc6d7f50eba
MISC metadata.xml 537 BLAKE2B 9a038894ff7da6df6f8746be16e0a0f9e0586321eba052a95afd038d2625110d7dbcd2961ac8de8c14ab2fd74ccb2eb3881d64c8b96c97936e92173e2b62a67b SHA512 f3360892e77c064d2062bb963b91f031587ebed6a31b8ba2c698d969cf88998daec9ef910689f477e36921df60d2aa8bdfbe569dda701b0e375d75acfd31d79d
diff --git a/media-video/mjpegtools/mjpegtools-2.1.0-r4.ebuild b/media-video/mjpegtools/mjpegtools-2.1.0-r4.ebuild
index 3ac82456dab3..0b1c14cf658e 100644
--- a/media-video/mjpegtools/mjpegtools-2.1.0-r4.ebuild
+++ b/media-video/mjpegtools/mjpegtools-2.1.0-r4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,7 @@ SRC_URI="mirror://sourceforge/mjpeg/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="1"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ia64 ~mips ppc ppc64 sparc x86 ~amd64-fbsd"
IUSE="cpu_flags_x86_mmx dv gtk png quicktime sdl sdlgfx static-libs"
REQUIRED_USE="sdlgfx? ( sdl )"
diff --git a/media-video/mkvtoolnix/Manifest b/media-video/mkvtoolnix/Manifest
index bae591258aed..6eca2875afe3 100644
--- a/media-video/mkvtoolnix/Manifest
+++ b/media-video/mkvtoolnix/Manifest
@@ -1,8 +1,10 @@
DIST mkvtoolnix-29.0.0.tar.xz 7051380 BLAKE2B 8f5694abdbeb95c13e3a97740e3e81c02f1408116f1bdf96e8199bba0408e03278cac0bee0506b4b0aedc0a0417d61e13f31af716942faa9dbe61d16eb1d0761 SHA512 bfb5e31fdd43dbb1c3a54a9b82af414abd43f8edad1cc87e5118f8c1781185470152163fda828303c58db97df27c8037b7fa64e2077c69e3204d5080f0248dae
DIST mkvtoolnix-30.1.0.tar.xz 7274296 BLAKE2B 0b0c7a9954269d0c6f071bd808ddf18eaf2d004dc2d8cf209f7021624458a9a29a7f705ad08446bd769b3a4e73732a3b2a269385868041fd887eff1d92c07558 SHA512 0c29a7a246b7e7ddccbb7ec51d7dd45d06530e01d7f1c8fa901b1a94dc6c7d9db0890009f200c3bebee572e24c826f7c05a53c16e8d11cfac2c68a3d13b96a53
DIST mkvtoolnix-31.0.0.tar.xz 7282492 BLAKE2B 1c0d4a6de81ddb1953e3f7997ef62ffeeb9562cacaf5df33320cd8f2263d6303986c3a1a129e9b6ac986efd4a290046aba41e38ae1ed83e7eec00dab099a19fc SHA512 085bc7d5a2b2e692d584bef5f31aab8dc25883cc93d9f2b2c35ea6356d64536763b6e9f7cef2dbaf1b789e73c05cb5f9e76ce76c54f034aa9d46c30983d1a5b7
+DIST mkvtoolnix-32.0.0.tar.xz 7282928 BLAKE2B cf051474c3e4735f5c3fdda44bd9065539ea6333ad4683f61b1a7d8ecc6fab2e45bd0ae37f82acdbc11c01704c319356d2baa9fdfe1e8e48ffcf65b05f484836 SHA512 a209360fcad3164ebf127b7a54542b2b791318cef1ac8acbb24e64458bd9fe693ea6fa2b44b6e85504decab9668296637d9d4ce706effcf6a9f0d7bdea64793a
EBUILD mkvtoolnix-29.0.0.ebuild 2917 BLAKE2B 0a6f43f3976acee9843c486ecfc2901a585b56cdc5c1f3edfff86322e356c58cefb7ac41e42df32e2cb9cafb14d8bc5d3868f30363538a6464bab073d08225d3 SHA512 4604578ff5449024a7333a6d1613d1fa558d24009e4c1f73a05ece43413f76e62613f8436536815e0062778a73d5921646a3bf37429ac43fdb0167d6fabc243c
EBUILD mkvtoolnix-30.1.0.ebuild 2884 BLAKE2B b5e5337a678e01457f2fc967f077c757e3b73bffdbcfbad49cc4479c71e25e536232d2ad47ad68ca5e15c0cdd311a2ee9400eefdbe7320aa4a5906dcfc3e44a8 SHA512 751ea92e2107310d27ddad995305878da9a465318a6bbf8b3acb4940f008a54a1643661430a20c65b430963481c7097f3e6a5e6b7641222cae0ba19ffe9d30f4
-EBUILD mkvtoolnix-31.0.0.ebuild 2884 BLAKE2B b5e5337a678e01457f2fc967f077c757e3b73bffdbcfbad49cc4479c71e25e536232d2ad47ad68ca5e15c0cdd311a2ee9400eefdbe7320aa4a5906dcfc3e44a8 SHA512 751ea92e2107310d27ddad995305878da9a465318a6bbf8b3acb4940f008a54a1643661430a20c65b430963481c7097f3e6a5e6b7641222cae0ba19ffe9d30f4
-EBUILD mkvtoolnix-9999.ebuild 2918 BLAKE2B 75f39a5be50cfad1ef9c21cd11691aecc53071e2b9167f3f5f8b5b9eba6431ce876a56048abe7bd3818df8f8a25be5035f7c4dac55a7ec6536e43cbd2728d018 SHA512 3d2048d6b89efe936fafa3860e349c5faa0656837715cc0f6ac25d7404d0830445d79dc93ca824b54b6db8bc52cd0ee90f9f3262fe49cbebe5d2302d8f10be35
+EBUILD mkvtoolnix-31.0.0.ebuild 2887 BLAKE2B a5c9ef6509c2f9ddfd3c5ae4626a7354bfcc856df0873d5a4f651c15a00cfb636d996ce294ba114a10ed4b73a25f280bf7038024d91bf64ffbe99630060fdf58 SHA512 8ecd511e9d8754ba0972f6e9a910c842c905583958818e916bd3c2550837847e377013d6cf5732dfb9ccb6b29aff6ad7948d719e656a495bdebdc7ec785fcde9
+EBUILD mkvtoolnix-32.0.0.ebuild 2887 BLAKE2B 9b5de5cda6e7f841f9181db1b49f0a225813de08d3423a292093c32ff8932ab1dfc768560225b41b895acc31c47c743c1d712f9c6f0a83a562c9b296eb4d6376 SHA512 55c5d2ead89d902a1d7fe6e7dcd49448af5ba0dc3616c56ba6cb9fad8f6448d6bdc650edff8737f59ec6581fad38e9731292b8b767349c5c0d8da94a8ca39d3d
+EBUILD mkvtoolnix-9999.ebuild 2921 BLAKE2B 94cde7706e5e71c1d6da9a6ac26df789884b0707f90c6963ae98ea0e49fcd58f222ac46be1427104208e9a96530ee846ab183cb089b3735ecf71076cf34c91eb SHA512 a83e0f2ed548f9b021368c98306ee50dfd16174e081b87aa15988a18168522cc731d01e73b9181de3141fcdcae23a0b15d458af2608886cd4778cd8c0f150947
MISC metadata.xml 255 BLAKE2B 84855d12acedab301e8e709820ef74f658689209ce914cad2c71d11f4248a7d3356109d93573ed675698031eca1e0b6e0372a61c2a43a9f09840e295f94b74ef SHA512 92b56f4d9c86ad69341e67e8cc74db0bd068e45afdf2f3d3f9ea410fc5e64f3476143b656f2cb3d26b97ae01a967d71766952eba22e2278aab907c20b00ae0e9
diff --git a/media-video/mkvtoolnix/mkvtoolnix-31.0.0.ebuild b/media-video/mkvtoolnix/mkvtoolnix-31.0.0.ebuild
index 01b2b95c89bb..59cbce24aca9 100644
--- a/media-video/mkvtoolnix/mkvtoolnix-31.0.0.ebuild
+++ b/media-video/mkvtoolnix/mkvtoolnix-31.0.0.ebuild
@@ -40,7 +40,7 @@ RDEPEND="
dev-qt/qtwidgets:5
dev-qt/qtconcurrent:5
dev-qt/qtmultimedia:5
- app-text/cmark
+ app-text/cmark:0=
)
"
DEPEND="${RDEPEND}
diff --git a/media-video/mkvtoolnix/mkvtoolnix-32.0.0.ebuild b/media-video/mkvtoolnix/mkvtoolnix-32.0.0.ebuild
new file mode 100644
index 000000000000..8837542e21d4
--- /dev/null
+++ b/media-video/mkvtoolnix/mkvtoolnix-32.0.0.ebuild
@@ -0,0 +1,130 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit toolchain-funcs versionator multiprocessing xdg-utils qmake-utils gnome2-utils
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="https://gitlab.com/mbunkus/mkvtoolnix.git"
+ inherit git-r3
+else
+ SRC_URI="https://mkvtoolnix.download/sources/${P}.tar.xz"
+ KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+fi
+
+DESCRIPTION="Tools to create, alter, and inspect Matroska files"
+HOMEPAGE="https://mkvtoolnix.download/ https://gitlab.com/mbunkus/mkvtoolnix"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="debug nls pch test qt5"
+
+# check NEWS.md for build system changes entries for boost/libebml/libmatroska
+# version requirement updates and other packaging info
+RDEPEND="
+ dev-libs/libfmt:=
+ >=dev-libs/boost-1.49.0:=
+ >=dev-libs/libebml-1.3.7:=
+ dev-libs/pugixml
+ media-libs/flac
+ >=media-libs/libmatroska-1.5.0:=
+ media-libs/libogg
+ media-libs/libvorbis
+ sys-apps/file
+ sys-libs/zlib
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtdbus:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtconcurrent:5
+ dev-qt/qtmultimedia:5
+ app-text/cmark:0=
+ )
+"
+DEPEND="${RDEPEND}
+ dev-cpp/nlohmann_json
+ dev-libs/utfcpp
+ dev-ruby/rake
+ virtual/pkgconfig
+ dev-libs/libxslt
+ app-text/docbook-xsl-stylesheets
+ nls? (
+ sys-devel/gettext
+ app-text/po4a
+ )
+ test? ( dev-cpp/gtest )
+"
+
+DOCS="AUTHORS NEWS.md README.md"
+
+pkg_pretend() {
+ # https://bugs.gentoo.org/419257
+ local ver=4.6
+ local msg="You need at least GCC ${ver}.x for C++11 range-based 'for' and nullptr support."
+ if ! version_is_at_least ${ver} $(gcc-version); then
+ eerror ${msg}
+ die ${msg}
+ fi
+}
+
+src_prepare() {
+ default
+ [[ ${PV} == "9999" ]] && { ./autogen.sh || die; }
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable debug)
+ $(usex pch "" --disable-precompiled-headers)
+ $(use_enable qt5 qt)
+ $(use_with nls gettext)
+ $(usex nls "" --with-po4a-translate=false)
+ --disable-update-check
+ --disable-optimization
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}
+ --with-boost="${EPREFIX}"/usr
+ --with-boost-libdir="${EPREFIX}"/usr/$(get_libdir)
+ )
+
+ if use qt5 ; then
+ # ac/qt5.m4 finds default Qt version set by qtchooser, bug #532600
+ myeconfargs+=(
+ --with-moc=$(qt5_get_bindir)/moc
+ --with-uic=$(qt5_get_bindir)/uic
+ --with-rcc=$(qt5_get_bindir)/rcc
+ --with-qmake=$(qt5_get_bindir)/qmake
+ )
+ fi
+
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ rake V=1 -j$(makeopts_jobs) || die
+}
+
+src_test() {
+ rake V=1 -j$(makeopts_jobs) tests:unit || die
+ rake V=1 -j$(makeopts_jobs) tests:run_unit || die
+}
+
+src_install() {
+ DESTDIR="${D}" rake -j$(makeopts_jobs) install || die
+
+ einstalldocs
+ doman doc/man/*.1
+}
+
+pkg_postrm() {
+ xdg_mimeinfo_database_update
+ xdg_desktop_database_update
+ gnome2_icon_cache_update
+}
+
+pkg_postinst() {
+ xdg_mimeinfo_database_update
+ xdg_desktop_database_update
+ gnome2_icon_cache_update
+}
diff --git a/media-video/mkvtoolnix/mkvtoolnix-9999.ebuild b/media-video/mkvtoolnix/mkvtoolnix-9999.ebuild
index 3036925897dc..2bc8fa7624cf 100644
--- a/media-video/mkvtoolnix/mkvtoolnix-9999.ebuild
+++ b/media-video/mkvtoolnix/mkvtoolnix-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -24,10 +24,10 @@ IUSE="debug nls pch test qt5"
RDEPEND="
dev-libs/libfmt:=
>=dev-libs/boost-1.49.0:=
- >=dev-libs/libebml-1.3.5:=
+ >=dev-libs/libebml-1.3.7:=
dev-libs/pugixml
media-libs/flac
- >=media-libs/libmatroska-1.4.8:=
+ >=media-libs/libmatroska-1.5.0:=
media-libs/libogg
media-libs/libvorbis
sys-apps/file
@@ -40,7 +40,7 @@ RDEPEND="
dev-qt/qtwidgets:5
dev-qt/qtconcurrent:5
dev-qt/qtmultimedia:5
- app-text/cmark
+ app-text/cmark:0=
)
"
DEPEND="${RDEPEND}
diff --git a/media-video/mplayer/Manifest b/media-video/mplayer/Manifest
index 157407f78d19..6ef4e4c6ef4a 100644
--- a/media-video/mplayer/Manifest
+++ b/media-video/mplayer/Manifest
@@ -9,6 +9,6 @@ DIST MPlayer-1.3.0.tar.xz 13278984 BLAKE2B 4e2d67f6fda893f3b200bc92598c23410a2a3
DIST font-arial-cp1250.tar.bz2 249705 BLAKE2B eb4366a110d917dc975b8add168ab43b1e8a0db7342647f69f5421fc1170719015c97ffa770e89892cbb4cee8e5b2fb74a4772c8f6cbef9606ee12c3746d78c9 SHA512 4f77ff5ceb8ec6e5d9f8f34d8950a6a6276d1fd5a947772fcbdb6554988b1ea665c12b82f45164f91fb7bd08000cb4afc26fa35beb4c760464160e22b9b8c340
DIST font-arial-iso-8859-1.tar.bz2 234242 BLAKE2B 0671854e1a257d27b502affb59de681942a93990d3ac2575bbf1a6dd9eef026969f2f9ce4e9c11a68ea3d8aed48063f826a1e153f7468437a39791672c92a5d0 SHA512 a1d03b6f09c48f48b7733f3bc0402ceab239a9abf88b860d852ea9fe69b4da690208a79d6f29d30204f5b37becf10672e8e8c0bfef201846d80ec54df617d029
DIST font-arial-iso-8859-2.tar.bz2 222208 BLAKE2B 94b1a04672bf9b4b20a0e6981591e761f751bd637deddcb801855296c525bf3b5e8feb1cb11cef282c0269f2c963ded22846089076e7e6763f258b8a932af454 SHA512 5671e628303fd816f64a51ad10e2f4dd9c3dc1b34c379a2ecf489b83931db7af668aaa4e00e96a00cacd63ed98daeae6b6a4d5925edfb06fc98d3a923f70257d
-EBUILD mplayer-1.3.0-r5.ebuild 17117 BLAKE2B f9107395e9b1f6810b6c885e5a9f27ba6f1ee5a562e66f4f57b49260921ecfc2c7239cbc171b243d86c72583ca3842819ab1dd01288ceedd704f2681fa88cbbf SHA512 6ed47ef75d7a64f12108af9cfde00ff180c05511af5b5920c345a3c6efb5956a57aefef76ac84e24983b0c54eaceb2a09e53d09d2657edc94b3fc4b0dbcf3d7d
-EBUILD mplayer-9999.ebuild 16817 BLAKE2B 770e2b8169b87d1688fb5fea4e15a9baadf4668155aa5b3bf0d3720ba5307c1b938f0085a810f66098831b714f6171d69eb0bf7d3a8ace02a47720675c4e9b9a SHA512 155bccb39c5b5c5ccc7a2b2db6b27bd3d8f9e32ccdda3fa73f0e5fe906d4b0cade9610e19f09d2f0ddebb8f7b6a884c51559b584d853e8bf91796fb6b4b17765
+EBUILD mplayer-1.3.0-r5.ebuild 16978 BLAKE2B c5ce5f7355598be4c87cb8a59176ca51654236a68cb851a115eb3d3736b62b7f4c8718fc07d69cb606fcd42cd2beb4e4fe33bbd816115f3e30509121c7b797ee SHA512 076d0291f12002467066068e5722436c8bcbc29dbe88974e7495f819184b1abc0cf7bae538a6c6333f6d31cd74f899135096146d2303f5261efc5c62fd125496
+EBUILD mplayer-9999.ebuild 16678 BLAKE2B 01753aa6746ee12944db1e880b07ed95a96f0331e9d071bb6fa96499d4ae86049cc71cfed21e7155379a0cd834f172917e402731827b5ee15cfe9f280fd0ef79 SHA512 8771cdee24aafe1f65dedc6cfd0dfdba7dbd2b4d7a6087c175a30dbdcf6f52899506dde3dcd498361815acbbfff543f9f8659c5f8a029bad6a4298b60086ff17
MISC metadata.xml 2457 BLAKE2B c0d722886466f46e09a28b2384a6b8ccf15bb080b69b513500633a03a1fc784fe85a167824879c9dde6417bde4852c4ec1f30a444e4d520b7d47315cfa4cc91e SHA512 578de48a26eddf8d8eb522141df02d9c948d97e1334c94897cad5a4a9a386e8207c90e6d931e1d2defe20d34504c0d4f993746f1cc0907cea1ed2740d02b49d5
diff --git a/media-video/mplayer/mplayer-1.3.0-r5.ebuild b/media-video/mplayer/mplayer-1.3.0-r5.ebuild
index b7f1b8d3f164..b3c344f98b88 100644
--- a/media-video/mplayer/mplayer-1.3.0-r5.ebuild
+++ b/media-video/mplayer/mplayer-1.3.0-r5.ebuild
@@ -19,7 +19,7 @@ radio rar rtc rtmp samba selinux +shm sdl speex cpu_flags_x86_sse cpu_flags_x86_
tga theora tremor +truetype toolame twolame +unicode v4l vcd vdpau vidix
vorbis +X x264 xinerama +xscreensaver +xv xvid yuv4mpeg zoran"
-VIDEO_CARDS="mga tdfx"
+VIDEO_CARDS="mga"
for x in ${VIDEO_CARDS}; do
IUSE+=" video_cards_${x}"
done
@@ -425,18 +425,11 @@ src_configure() {
myconf+=" --disable-mga --disable-xmga"
fi
- if use video_cards_tdfx; then
- myconf+="
- $(use_enable video_cards_tdfx tdfxvid)
- $(use_enable fbcon tdfxfb)
- "
- else
- myconf+="
- --disable-3dfx
- --disable-tdfxvid
- --disable-tdfxfb
- "
- fi
+ myconf+="
+ --disable-3dfx
+ --disable-tdfxvid
+ --disable-tdfxfb
+ "
# sun card, disable by default, see bug #258729
myconf+=" --disable-xvr100"
diff --git a/media-video/mplayer/mplayer-9999.ebuild b/media-video/mplayer/mplayer-9999.ebuild
index 8d1ad1c2a300..62db816aa75e 100644
--- a/media-video/mplayer/mplayer-9999.ebuild
+++ b/media-video/mplayer/mplayer-9999.ebuild
@@ -19,7 +19,7 @@ radio rar rtc rtmp samba selinux +shm sdl speex cpu_flags_x86_sse cpu_flags_x86_
tga theora tremor +truetype toolame twolame +unicode v4l vcd vdpau vidix
vorbis +X x264 xinerama +xscreensaver +xv xvid yuv4mpeg zoran"
-VIDEO_CARDS="mga tdfx"
+VIDEO_CARDS="mga"
for x in ${VIDEO_CARDS}; do
IUSE+=" video_cards_${x}"
done
@@ -419,18 +419,11 @@ src_configure() {
myconf+=" --disable-mga --disable-xmga"
fi
- if use video_cards_tdfx; then
- myconf+="
- $(use_enable video_cards_tdfx tdfxvid)
- $(use_enable fbcon tdfxfb)
- "
- else
- myconf+="
- --disable-3dfx
- --disable-tdfxvid
- --disable-tdfxfb
- "
- fi
+ myconf+="
+ --disable-3dfx
+ --disable-tdfxvid
+ --disable-tdfxfb
+ "
# sun card, disable by default, see bug #258729
myconf+=" --disable-xvr100"
diff --git a/media-video/parole/Manifest b/media-video/parole/Manifest
index fd09032b73fe..9b8236d34c8d 100644
--- a/media-video/parole/Manifest
+++ b/media-video/parole/Manifest
@@ -1,5 +1,7 @@
DIST parole-1.0.0.tar.bz2 900499 BLAKE2B d6a1eb21846426781a712f33b7cf8f412b17b9a3e02b1ef15b6ff742687efc70a3e3f0ae8124ed2226a1cf00022c7ef0650c8e1c1b6e3279b111891e8c3e651e SHA512 0581fed93d2a09a3d9ec9cf1bb68a298ccd47676b22d0824495136ee9d785290b8465af8c12b5ecd34a46936f7433bf96dd559e6252a8f1af46c0e2f9256c864
DIST parole-1.0.1.tar.bz2 903754 BLAKE2B 2bd8a8892c04bc145d7ba0bc08c29ad1f9c4507cce533d554952553e46c408e9f293a19820790541d0a494052ac6024d415bfef4864fc09b8d851664688ace3e SHA512 026ece62e6a8175976e7ce218edbd6955a0cdb5074996adad5bed3e536f90108e4d1106f22edcb06d213fb09dd47b04f81bff94f4534710b61f0f53cb0395f72
+DIST parole-1.0.2.tar.bz2 915511 BLAKE2B e6fa116cae5c015a90b4a1d04df70f006ad59dfdb5d849b8ae8c3fdc0665e48790739c82bdb7c35c70f34548b9bee3dcac62f29e28562663d46b10a3a080f13d SHA512 d7e989af7f9dab14080e62bd656a2858d8536a056ba82b5d5ac7d26a7d898f478b74c1ba4371779624691b7f42b695580ad53cfb15da0a4dc209d7570c12a66d
EBUILD parole-1.0.0.ebuild 1423 BLAKE2B 2cf11db0e9ceb829b290ccf774f9fb9cf94a0af47f8d896e91cd5660d24f61f321fe4d9b5ee7381138efb739263ae71beae28a07352a700b5f8d781f6e882006 SHA512 f7a862aca1db2e6b234d5276f0fe6ea9febd3b7fef718e758558494dbfa3de1aa5302325431b8601702593ec857a7d8beea3ecb93f29e1716172ecf13f349b38
EBUILD parole-1.0.1.ebuild 1442 BLAKE2B 7c6e7f4209136a9b2215bae72574652e0c54047b7a65aff05708f41466799499a3b82a514b54e0ea929a2c0501c6e4afb6ef01259cc1b6e1856e46868cd1d880 SHA512 eebb71d36da7b352c74a3ab7c18159e13de9aef93775cff90b43ace73ab8d7bdbe2aad5621cb7f8fa935c5de7d00216496e13f619f5f21e2f53e3fdd13c69434
+EBUILD parole-1.0.2.ebuild 1444 BLAKE2B 928756a4fb9ad566657266178425bd2d92f983addea0ff360eba32d307514bba50410bf5471d3e3fa0b9fa6b5c33d9beb1a35638185f6955f9c888cd864992d1 SHA512 db929065e2c46e0a060c4e2647cf7b21674ffd42711f147fcc97db42f9edd0b41abf3737be08dc9fcb330c126241a9ccefa8488717129a3e4c4e7023dba49d4a
MISC metadata.xml 241 BLAKE2B 19a1f7371ba9451232b7795e806499d1de2aba44dc9864bf1c8c72f6074af18387f6091c891f84c402c70e52f8502bc7a9a937828d63991402d2f0d17b247782 SHA512 97a8057b496da7d18b75e0cec2f5de16f7f16187776c3d7134ade6b0be2539c5f0e8de7ce43c2a4fc342ca9c3dd83a74c194a506ad28221c260dfa8a4eadb1e8
diff --git a/media-video/parole/parole-1.0.2.ebuild b/media-video/parole/parole-1.0.2.ebuild
new file mode 100644
index 000000000000..f14dfea94f96
--- /dev/null
+++ b/media-video/parole/parole-1.0.2.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit gnome2-utils xdg-utils
+
+DESCRIPTION="A simple Xfce4 media player using GStreamer"
+HOMEPAGE="https://docs.xfce.org/apps/parole/start"
+SRC_URI="https://archive.xfce.org/src/apps/${PN}/${PV%.*}/${P}.tar.bz2"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~mips ~x86"
+IUSE="libnotify taglib"
+
+COMMON_DEPEND=">=dev-libs/dbus-glib-0.100:=
+ >=dev-libs/glib-2.32:2=
+ media-libs/gstreamer:1.0=
+ media-libs/gst-plugins-base:1.0=
+ sys-apps/dbus:0=
+ >=x11-libs/gtk+-3.20:3=
+ x11-libs/libX11:0=
+ >=xfce-base/libxfce4ui-4.11:0=[gtk3(+)]
+ >=xfce-base/libxfce4util-4.11:0=
+ >=xfce-base/xfconf-4.10:0=
+ libnotify? ( >=x11-libs/libnotify-0.7:0= )
+ taglib? ( >=media-libs/taglib-1.6:0= )"
+RDEPEND="${COMMON_DEPEND}
+ media-plugins/gst-plugins-meta:1.0"
+DEPEND="${COMMON_DEPEND}
+ dev-util/glib-utils
+ dev-util/intltool
+ sys-devel/gettext
+ virtual/pkgconfig
+ x11-base/xorg-proto"
+
+DOCS=( AUTHORS ChangeLog README THANKS TODO )
+
+src_configure() {
+ local myconf=(
+ # clutter backend does not work with new GTK+3 versions
+ --disable-clutter
+ $(use_enable taglib)
+ $(use_enable libnotify notify-plugin)
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ default
+ find "${D}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ gnome2_icon_cache_update
+}
diff --git a/media-video/pitivi/Manifest b/media-video/pitivi/Manifest
index f1837fe2a7ae..d1d5d9cc7d1d 100644
--- a/media-video/pitivi/Manifest
+++ b/media-video/pitivi/Manifest
@@ -1,7 +1,10 @@
AUX pitivi-0.97.1-optional-tests.patch 677 BLAKE2B b0f75f33948cdacb2b73678bc580d3f7ee8ae224e008b7d92629b0a7b7e6991a98cb09696748240c7314719559baf20d2eec4a9eead09571a57dfc06302a2418 SHA512 a56b8e67410301e83a5559481ded4c50fcc81b8ba148c936623d36e59c9a8db3b6215adfb25f48e75edc821b4d8befdb023da0c15dc8b998531bc7551946c5bd
AUX pitivi-0.98.1-optional-tests.patch 742 BLAKE2B c85f9002504f9314ae4a251d3ecbb8c2e4e70cb217e9328465015f2c3e06436d50a327c91cd5b686a2a765ceb46ec7fc0dfab998bfa96d985cf4855a4cd14919 SHA512 fce5ae7ac4fdd4c340b233529564e20da1dd965261cc2c79d3368ef83ac23931cdee6b492e59a628beaaa25362b81a604ec5bd7bb6270bdb72c15dabb83feac2
+AUX pitivi-0.999-optional-tests.patch 638 BLAKE2B 7d43b76384250b091908369ed274d93d3dde9365df1a6fb31d30bcb35c824cd9dfae8802346ee3019625a83cf4fcf9a249cecae9f670594b1d7f9b73c42f4efd SHA512 d564ab01b702bf30486c3fa947fa62ef9021b00816f3d2759ace16590e3b4ea3d6423ef4f41acc78bf857c2d54a4402fd8da8a4a14762067b26f25396a216e1f
DIST pitivi-0.97.1.tar.xz 5096672 BLAKE2B 010b7ef80e0b57f83fe4e7d201a2839f65e2c8b62019d4271cd0d6d49edb44a5083024abdf13e735f94d7e681a77ef45e1d876cf6e5c20e6cc1b1876da5b3a99 SHA512 be5fcf5148349f685f0ee23a82b36d90fe0b7ff6d1d8cdcaf73272b8e5c29ddfe1d6c21353eb95f2d786fe4922a93c747403e5e27141d815f5b46f846a1d95ba
DIST pitivi-0.98.1.tar.xz 5112280 BLAKE2B 9269163a5c964a6a2b3fd094262594a38bfff4dd052ea0f3673f2ac195f197eb9b888de673e62f884137d056fba2b853d11cf7300e2f81d71c6e49402350cc40 SHA512 b6530b1b5429c4379699d7492c31ec60ddc514c94a003fe240f7e390b6349093d2f4f72abb1edb4253bd938620c73dfb361abf21915d36ff3b75332e8612bcb3
+DIST pitivi-0.999.tar.xz 12296928 BLAKE2B 16736fef4f2d16c02b64f8eba56f8c9ddb26f49742ee577da4e4c47077f8d5d71ce653dba366a041ba523153532728c5eb37cb2b76e11e9c51827efb990bd99d SHA512 663db84a00634f0e83f0c1dd80a4f3a6603a50826905adb24fdd567c6e8bb58e20de04c7753fa04a36692cdcf5bbbcc9a87327fd3b56ebb70caffcff13835fc8
EBUILD pitivi-0.97.1.ebuild 2570 BLAKE2B 8602f794ab1d0c6c27142d13404f348a4bbaab4767046ead9c44280c932ca586e060a7ef4c9d5ffad14edc14f1572473cdcc7c5a15e79c945f71e2de2edf36d3 SHA512 736396c684b3f935a90adf744eb33887679a087f43dd95635f02c5e91151b370d9d0af47ae382f865357e10dd395fa994b5cb2caf1d767980cb3563e20107c9f
EBUILD pitivi-0.98.1.ebuild 2289 BLAKE2B 7e7dfd225d2e4873e3fab0aed4c92835027f628a883fbc02f4dc0ce076b72ec15c7ec51ccd691297d52ea11dd7089588fc32eb878e81ba432e3823c53c291d00 SHA512 e8b7e9f741c44db639f5f038bfb3a0a53bd01dd3e6ea2d67922660775c472ede74f508052ed19cd4b7fab0b3fcd9b2508255207e2b01837e42f9396f0c8283c5
+EBUILD pitivi-0.999.ebuild 2336 BLAKE2B a0e226f69b451d3438585a8a90343298ed19f88b4f7c5c42f214059cb77e6ad6882206cd82b00921c0aeb7c336a1cbe160c39b5487bdf89cb9345650c09d3c9e SHA512 d3c187147b56ef90b2e2a6d33cb02b0c5e2b54995f364d2bef7a2fb68e15f85c82aa9539ca66bc47f451cb7af28a5c88503a942985c87a3b4dd4efb106be7e26
MISC metadata.xml 379 BLAKE2B a4f21a8cd6e5f4b09d1a89e426610108ab92ba52ef432d1780d100e76e43dda198cee09f105aec83994d4d1fa701be6c33a5981253b6c38b8ec888da08b5975a SHA512 30023299fba3c7c3743e24223d36366e7b59b01540a874ff432b8431ab29b240fdcd4ac4066b228af5421b009cfe4f67fdb69f7d1030c0fa409a4d545ffd43d1
diff --git a/media-video/pitivi/files/pitivi-0.999-optional-tests.patch b/media-video/pitivi/files/pitivi-0.999-optional-tests.patch
new file mode 100644
index 000000000000..50a62188f8e3
--- /dev/null
+++ b/media-video/pitivi/files/pitivi-0.999-optional-tests.patch
@@ -0,0 +1,18 @@
+--- a/meson_options.txt~ 2018-08-29 15:33:20.000000000 +0200
++++ b/meson_options.txt 2019-03-31 13:14:19.542837289 +0200
+@@ -1,2 +1,3 @@
+ option('disable-help', type : 'boolean', value : false)
+ option('build-gst', type : 'boolean', value : false)
++option('enable-tests', type : 'boolean', value : false)
+--- a/meson.build~ 2018-08-29 15:33:20.000000000 +0200
++++ b/meson.build 2019-03-31 13:14:56.299216758 +0200
+@@ -84,5 +84,7 @@
+ if not get_option('disable-help')
+ subdir('help')
+ endif
+-subdir('tests')
+-subdir('tests/validate-tests')
++if get_option('enable-tests')
++ subdir('tests')
++ subdir('tests/validate-tests')
++endif
diff --git a/media-video/pitivi/pitivi-0.999.ebuild b/media-video/pitivi/pitivi-0.999.ebuild
new file mode 100644
index 000000000000..21cd869ecd39
--- /dev/null
+++ b/media-video/pitivi/pitivi-0.999.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python{3_5,3_6} )
+PYTHON_REQ_USE="sqlite"
+
+inherit gnome.org meson python-single-r1 virtualx
+
+DESCRIPTION="A non-linear video editor using the GStreamer multimedia framework"
+HOMEPAGE="http://www.pitivi.org"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="v4l test"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# XXX: recommends gst-plugins-libav and frei0r-plugins
+
+# Do not forget to check pitivi/check.py for dependencies!!!
+# pycanberra, libav, libnotify and liwnck are optional
+GST_VER="1.14.2"
+
+COMMON_DEPEND="
+ ${PYTHON_DEPS}
+ >=dev-python/pycairo-1.10[${PYTHON_USEDEP}]
+ >=x11-libs/cairo-1.10
+
+ >=media-libs/gstreamer-${GST_VER}:1.0[introspection]
+ >=media-plugins/gst-transcoder-1.8.2-r1
+"
+RDEPEND="${COMMON_DEPEND}
+ >=dev-libs/glib-2.30.0:2
+
+ >=dev-libs/gobject-introspection-1.34:=
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ >=dev-python/gst-python-1.4:1.0[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ >=dev-python/pygobject-3.8:3[${PYTHON_USEDEP}]
+
+ gnome-base/librsvg:=
+ >=media-libs/gsound-1.0
+
+ >=media-libs/gstreamer-editing-services-${GST_VER}:1.0[introspection]
+ >=media-libs/gst-plugins-base-${GST_VER}:1.0[introspection]
+ >=media-libs/gst-plugins-bad-${GST_VER}:1.0[gtk]
+ >=media-libs/gst-plugins-good-${GST_VER}:1.0
+ >=media-plugins/gst-plugins-libav-${GST_VER}:1.0
+ >=media-plugins/gst-plugins-gdkpixbuf-${GST_VER}:1.0
+
+ >=x11-libs/libnotify-0.7[introspection]
+ x11-libs/libwnck:3[introspection]
+ >=x11-libs/gtk+-3.20.0:3[introspection]
+
+ v4l? ( >=media-plugins/gst-plugins-v4l2-${GST_VER}:1.0 )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ app-text/yelp-tools
+ dev-python/setuptools
+ >=dev-util/intltool-0.35.5
+ dev-util/itstool
+ sys-devel/gettext
+ virtual/pkgconfig
+ test? ( dev-python/nose2[${PYTHON_USEDEP}] )
+"
+
+PATCHES=(
+ # Make tests optional, bug #594096
+ # https://gitlab.gnome.org/GNOME/pitivi/issues/2303
+ "${FILESDIR}"/${P}-optional-tests.patch
+)
+
+src_configure() {
+ local emesonargs=(
+ -Denable-tests=$(usex test true false)
+ )
+ meson_src_configure
+}
+
+src_compile() {
+ meson_src_compile
+}
+
+src_test() {
+ export PITIVI_TOP_LEVEL_DIR="${S}"
+ virtx meson_src_test
+}
+
+src_install() {
+ meson_src_install
+ python_fix_shebang "${D}"
+}
diff --git a/media-video/projectx/Manifest b/media-video/projectx/Manifest
index 50317a97f1c5..1fc1eb605a7c 100644
--- a/media-video/projectx/Manifest
+++ b/media-video/projectx/Manifest
@@ -1,12 +1,18 @@
AUX build-0.90.4.00_p33.xml 2026 BLAKE2B fd29c13f89695542d16908aae974b17faf52dd0a663954f54a94a8c8cf1c673ae26276a3f94e812461ac0b336db7c0f8a3fa87110b099eed210eca488535e644 SHA512 6fbe6fdb00f814c5fa72dc52542c3d9950ff4229939090161a208c0013ec0e2867ff6fc656249f2de68c58a26ef2bd059ffe767be1498318a8cb9eddadbb72ea
+AUX build-0.91.0.10.xml 2026 BLAKE2B fd29c13f89695542d16908aae974b17faf52dd0a663954f54a94a8c8cf1c673ae26276a3f94e812461ac0b336db7c0f8a3fa87110b099eed210eca488535e644 SHA512 6fbe6fdb00f814c5fa72dc52542c3d9950ff4229939090161a208c0013ec0e2867ff6fc656249f2de68c58a26ef2bd059ffe767be1498318a8cb9eddadbb72ea
AUX projectx-0.90.4.00_p33-bl2.patch 515 BLAKE2B d90acfe7f28fc6fe0d2c21ee2f5a40a41f37be4826c9d49ea731119e9eb7db4fa64ddcbd77c4093bf75b00b42654d1b7fa30226793bba356fa54a914bccfb797 SHA512 0538f36fed3bb26badea0e38d350717851395274d960b63469198c1ab6ac33e70eb517cbe5281017f8233237c7235eeff58842493476d536beb99727c623fde3
AUX projectx-0.90.4.00_p33-idctfast.patch 1069 BLAKE2B 0522d6934f4e0f44f180211ca1210f79d2dbac4b726ab92199e76aa1172949a48847260d7445071a2ac8441f901350ab96dc03da9109e281a70decd1ac22d30a SHA512 696241ab0589132a8286de50a384aff626275aad971429f6a7bef51d912cde31da03eb47f68a001479001cc31c33d1f1670a883900097f9c569e7f4fa4b395ae
AUX projectx-0.90.4.00_p33-stdout-corrupt.patch 358 BLAKE2B 8a7634c660e3d5a3405372af81479d890201ebdcae3fe08375736e4e19a9f7c38f1dccbec6f782f9b97fdfd74ec3a0790d669ebdde46776fba4a35eb56b7bc1e SHA512 b3d6a5c278929c6e6cd60c76a708b5df6cfa0f3772725ddcd6a9334aa5d91c3f2fefc9162381456f4594bd7ffdbf041177968feda82ca513dc9fbd53bc5b23ca
AUX projectx-0.90.4.00_p33-xdg.patch 1062 BLAKE2B 21b55ea40b37a975f53bd5b65cc3c95236c966901578254bac7471c3ac2181ead24dc3e369966ae6e10e0b8f93ecc714f3885983d929c079caaf34908f3970b2 SHA512 661c2577d83845464ae1669b401780ddc312857292e97c962f8fe52463d543b920e66b8ce779193b4ffa66a522f771d78861606ad1f7c915f4ce51fdbeefb3a0
+AUX projectx-0.91.0.10-bl2.patch 535 BLAKE2B aeeba4ee7d33c77c64563e48005260c68d5f3da6f126df4d2c0ea3be7276748be944cb80705110dcad0cb5410bfcb084add24ff01d98bc098b690a1012359412 SHA512 88f8602ed85760c5be7ff3db2ce4347cc13c0d440d97c1a878bbef9ba62f7bf5c763c901384615db92cc63755c6534f730b32d253bea18f913d92d6503884427
+AUX projectx-0.91.0.10-idctfast.patch 1089 BLAKE2B 9dbef016e8ce6ac93f8554fe0414191434ac9364ddb51dafb9505c125a887e72dcd38e58f6eecd8595f9b735f099592730debf7948f97927ca3930c30731fa62 SHA512 309beac4a582a3abe25a4f28acf2a69d55f3a7824a18d845a2c46cfb3a05bd1fba1021a01da396eb395a633cc999a96527d53654b2b8cf3c5f87add9ebc2e24d
+AUX projectx-0.91.0.10-stdout-corrupt.patch 378 BLAKE2B 7a92d7c16688e75e6d0510a93a02ac52fec7aec83ea768b70011d5dc8016c7f31cb4194bfd44f6696b6067c0c4fd179e03bf922d49358846b62c33914641128c SHA512 22f859c66d723f501002ca507a3a246716adf584d94d84fbb75b870b3418d93f073b6f46495232a9a9215007283e0acbe21871a4af74695dcbd0fc3a3ecbb2f3
+AUX projectx-0.91.0.10-xdg.patch 1082 BLAKE2B 331e818365afb4aa09a4c6cc4498a674100720cdb76248662d8786cbc14ebcc8cd98a828683b56fd4da44333dc6249bfec1ede3ee861d6719f752954d58d58db SHA512 f41700446a6ff32a95a95f1388aaefdeb9cb3e22a77841ef7ae42e85d0d267d8e4c4581dc0923f98d94de9aaacc7283583554693003c81018ee2a876e02beb58
DIST projectx-0.91.0.10.tar.xz 830104 BLAKE2B 511481dd2c391a6a26acfa0603f1c221d013d334593cf8ce6da0cf09505387424e58772705e17f9e90da546c43ce5aad313723aafd36063c5cd4a46d93634f86 SHA512 681dae4fd368a00a7ada37f8e64271c838a9c3737008b6fcd7f74679ca9fdf2cce140b0627a4c77a9a00baea76659bad0d2d710511b66026f9597ad153a2e725
DIST projectx-icon.png 1692 BLAKE2B 6da85b69961b81f64638b04860b467e8cf599287513d85157aa71e4575003b8ef6e96cbe4b0b40b54bb15b6ca74c14f4bf1855c80f1f6db89294567a77f9e151 SHA512 33d9e505140d2dd22d34f87ebff040530130bbb7d1e9958d7345f442bd3d6e17dff8d243e22f374217aed20139871e406e46ca6f03ca48eb338dc3630af2417a
DIST projectx-idctfast.tar.xz 12444 BLAKE2B e4b2a6ab235601dbdd1acf8a73a14fecb5da455670bad52598e0dbd8a7300305fad1b22b3d550dd046dcac68975af4b225e042f7c968ce9108f702d01586302f SHA512 85dd6dd0011c166aaefd47a47c4455dda68ba6da65c9eda5a996f7d078ce3900168714c0c72c6250f7b99181fda84c6d81e3afb392ace9c12c3c5690de01c1d8
DIST xdg-20100731.java.xz 648 BLAKE2B 8bd082c445d64051c65c66e8a22b61e582d04f1f650e3b15ee2f3400d47b10f137d245bd8a7633d96299e2c688f7bf836b59a4dd49ea3c181684a78fa55304c3 SHA512 8b5d8e695f3f052f889002dc93742da8ba9eada173cb10ad1db525e1ad89d1c8f44200d79dc02068ccf93fdbf2e8daa5bb359dae77bacbc89cb6d4895732774b
-EBUILD projectx-0.91.0.10-r1.ebuild 3251 BLAKE2B c5d61bbf276c7186dde2bf817f68f7fcc83c96218d397a5c4c5f31791f6a4a900fc3f959b6e4abd64df73384dd29abca7094b388def55b956a3a1cb2a2d75ac0 SHA512 fba239114105423fa1a9910121d1231d3e9c20f97d57f6a5ef356ebffdb92c3575768007a7030b75b648c861d8fe61c53cfde8d782a89d63fdfc8a2796fbe2f4
+EBUILD projectx-0.91.0.10-r1.ebuild 3245 BLAKE2B 34d050b55d561562d6d6b3c6fbe4beff8f1e4b657f8ce987144a6dca1df17fb40704e3d4cbfb557a0b60e5a1fd26ed5e8be98d0b874aceb1b0b824c12fe21f85 SHA512 c92fc0fc8983ccf588dea251f381e8f7df8c79905dd96f7f7e7bb3cb801d9d9a4eaf537e4afc66ab84a3a62e9ee17c9de9d8dbe3be3541047ce43f99321d3290
+EBUILD projectx-0.91.0.10-r2.ebuild 3280 BLAKE2B ee6a8b69281992f88cfe43d542c83ba095704ba6f949efa1ab308ebe6c470446332071e1c2a516c5cffc6cc32ef3a891e25bd0b18e2f62d5abd556f7438a73f6 SHA512 fcd8c4926920ae05663cf62f91da13d0390fb578f0ba7fcc6b8f3cf2fe821b5393a4efb0aedc28ecfe90aa2ad9c8683c6763abd01ecfa3d4a76e2dabdf87289d
EBUILD projectx-0.91.0.10.ebuild 3222 BLAKE2B 51c2e3239304bdde3556f24a10a3b4e5bedbdfe14950dd792879f8da972fde7dadd005e1b629eb322968b82971a2dec0a59bc19efcb1e3860081146b90e7515b SHA512 8ba93b3cb9bd02b79bb004dcb31741ca9b165650f5e9e3dcb704df4fca9c8f66b95f0bc307b54a0be6f417630579c6fb0ed89d14fb762433d5dd1481ebfc1009
MISC metadata.xml 742 BLAKE2B 5aacc52def6d49258139e9435aa1db4f2295a07e4491a921db142c262c84a3deaaf8b9b22d7bc68dcd00ee142cb4f9912463f4ab2fb79eae74ea461375b1467c SHA512 3a5546c1efbafa335ee5d05ff24c2b22f0f49d8944e242348bef9627ac5e72205d9bd3e697b3d89c7d0ef3e34d98fe19b58c021f41bcaff872c74373a6803341
diff --git a/media-video/projectx/files/build-0.91.0.10.xml b/media-video/projectx/files/build-0.91.0.10.xml
new file mode 100644
index 000000000000..f35638733b13
--- /dev/null
+++ b/media-video/projectx/files/build-0.91.0.10.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+
+<project name="projectx" default="jar">
+ <!-- some properties -->
+ <property name="src.dir" value="src" />
+ <property name="build.dir" value="build" />
+ <property name="docs.dir" value="apidocs" />
+ <property name="dist.dir" value="dist" />
+ <property name="lib.dir" value="lib" />
+ <property name="resources.dir" value="resources" />
+ <property name="project.jar" value="${dist.dir}/${ant.project.name}.jar" />
+ <property name="target.jdk" value="1.5" />
+
+ <!-- classpath -->
+ <path id="refcp">
+ <fileset dir="${lib.dir}">
+ <include name="**/*.jar" />
+ </fileset>
+ </path>
+
+ <!-- init -->
+ <target name="init">
+ <mkdir dir="${dist.dir}" />
+ <mkdir dir="${docs.dir}" />
+ <mkdir dir="${build.dir}" />
+ </target>
+
+ <!-- compile everything -->
+ <target name="compile" depends="init">
+ <javac srcdir="${src.dir}"
+ destdir="${build.dir}"
+ source="${target.jdk}"
+ target="${target.jdk}"
+ classpathref="refcp"
+ encoding="ISO-8859-1"/>
+ <copy todir="${build.dir}">
+ <fileset dir="${resources.dir}" />
+ </copy>
+ </target>
+
+ <!-- build the jar files -->
+ <target name="build" depends="compile">
+ <jar jarfile="${project.jar}" basedir="${build.dir}">
+ <manifest>
+ <attribute name="Main-Class" value="${manifest.mainclass}" />
+ </manifest>
+ </jar>
+ </target>
+
+ <!-- generate javadocs -->
+ <target name="javadoc" depends="init">
+ <javadoc sourcepath="${src.dir}"
+ packagenames="*"
+ destdir="${docs.dir}"
+ author="true"
+ version="true"
+ use="true"
+ charset="UTF-8"
+ encoding="ISO-8859-1"
+ windowtitle="${ant.project.name} API" />
+ </target>
+
+ <!-- clean up -->
+ <target name="clean">
+ <delete dir="${build.dir}" />
+ <delete dir="${docs.dir}" />
+ <delete dir="${dist.dir}" />
+ </target>
+
+ <!-- zip the sources -->
+ <target name="sourcezip">
+ <zip destfile="${dist.dir}/${ant.project.name}-src.zip">
+ <zipfileset dir="${src.dir}" />
+ </zip>
+ </target>
+
+</project>
diff --git a/media-video/projectx/files/projectx-0.91.0.10-bl2.patch b/media-video/projectx/files/projectx-0.91.0.10-bl2.patch
new file mode 100644
index 000000000000..3799c15e19cb
--- /dev/null
+++ b/media-video/projectx/files/projectx-0.91.0.10-bl2.patch
@@ -0,0 +1,15 @@
+--- Project-X/src/net/sourceforge/dvb/projectx/gui/Html.java 2006-11-25 22:28:52.000000000 +0100
++++ Project-X/src/net/sourceforge/dvb/projectx/gui/Html.java 2007-06-10 13:37:59.000000000 +0200
+@@ -159,9 +159,10 @@
+ {
+ try
+ {
+- BrowserLauncher.openURL(u.toString());
++ BrowserLauncher launcher = new BrowserLauncher();
++ launcher.openURLinBrowser(u.toString());
+ }
+- catch (IOException e)
++ catch (Exception e)
+ {
+ Common.setMessage(Resource.getString("msg.browser.launcher.error") + " " + e);
+ }
diff --git a/media-video/projectx/files/projectx-0.91.0.10-idctfast.patch b/media-video/projectx/files/projectx-0.91.0.10-idctfast.patch
new file mode 100644
index 000000000000..84b7893c835f
--- /dev/null
+++ b/media-video/projectx/files/projectx-0.91.0.10-idctfast.patch
@@ -0,0 +1,37 @@
+--- Project-X/src/net/sourceforge/dvb/projectx/video/MpvDecoder.java 2009-12-31 15:24:13.000000000 +0100
++++ Project-X/src/net/sourceforge/dvb/projectx/video/MpvDecoder.java 2010-07-31 14:32:19.945223425 +0200
+@@ -72,7 +72,7 @@
+
+ public class MpvDecoder extends Object {
+
+- private IDCTRefNative idct;
++ private IDCTFast idct;
+ private IDCTSseNative idctsse;
+
+ private int preview_horizontal_size = 512;
+@@ -134,13 +134,13 @@
+ {
+ Arrays.fill(pixels2, 0xFF505050);
+
+- idct = new IDCTRefNative();
++ idct = new IDCTFast();
+ idctsse = new IDCTSseNative();
+
+- if (IDCTRefNative.isLibraryLoaded())
++ if (IDCTFast.isLibraryLoaded())
+ idct.init();
+
+- if (IDCTRefNative.isLibraryLoaded() || IDCTSseNative.isLibraryLoaded())
++ if (IDCTFast.isLibraryLoaded() || IDCTSseNative.isLibraryLoaded())
+ acceleration = true;
+ }
+
+@@ -2407,7 +2407,7 @@
+ }
+ }
+
+- else if (IDCTRefNative.isLibraryLoaded() && isAccelerated())
++ else if (IDCTFast.isLibraryLoaded() && isAccelerated())
+ {
+ /* copy or add block data into picture */
+ for (comp=0; comp<block_count; comp++)
diff --git a/media-video/projectx/files/projectx-0.91.0.10-stdout-corrupt.patch b/media-video/projectx/files/projectx-0.91.0.10-stdout-corrupt.patch
new file mode 100644
index 000000000000..7ea802019793
--- /dev/null
+++ b/media-video/projectx/files/projectx-0.91.0.10-stdout-corrupt.patch
@@ -0,0 +1,11 @@
+--- Project-X/src/net/sourceforge/dvb/projectx/common/GuiInterface.java 2008-12-04 01:47:03.000000000 +0100
++++ Project-X/src/net/sourceforge/dvb/projectx/common/GuiInterface.java 2008-12-04 02:21:11.342918380 +0100
+@@ -190,7 +190,7 @@
+ impl.updateProgressBar(percent);
+
+ else
+- System.out.print("\r" + percent + " %");
++ System.out.print(percent + " %");
+ }
+
+ /**
diff --git a/media-video/projectx/files/projectx-0.91.0.10-xdg.patch b/media-video/projectx/files/projectx-0.91.0.10-xdg.patch
new file mode 100644
index 000000000000..fcb8b0e67e39
--- /dev/null
+++ b/media-video/projectx/files/projectx-0.91.0.10-xdg.patch
@@ -0,0 +1,44 @@
+--- Project-X/src/net/sourceforge/dvb/projectx/common/Settings.java 2008-02-18 19:34:48.000000000 +0100
++++ Project-X/src/net/sourceforge/dvb/projectx/common/Settings.java 2010-07-31 19:44:59.151224244 +0200
+@@ -46,6 +46,8 @@
+ import java.util.Set;
+ import java.util.TreeMap;
+
++import xdg.*;
++
+ import net.sourceforge.dvb.projectx.xinput.XInputDirectory;
+
+ /**
+@@ -56,7 +58,7 @@
+ public class Settings extends Object {
+
+ /** the default ini filename */
+- private static final String DEFAULT_INI = "X.ini";
++ private static final String DEFAULT_INI = "Project-X.ini";
+
+ /** the current ini filename */
+ private String inifile = "";
+@@ -75,7 +77,7 @@
+ */
+ public Settings()
+ {
+- this(Resource.workdir + Resource.filesep + DEFAULT_INI);
++ this(xdg.config_home() + Resource.filesep + DEFAULT_INI);
+ }
+
+ /**
+@@ -161,6 +163,7 @@
+ str = inifile;
+
+ try {
++ xdg.mkdirs_file(str);
+ PrintWriter w = new PrintWriter(new FileWriter(str));
+
+ String base_key = "# Project-X INI";
+@@ -714,4 +717,4 @@
+ return inifile;
+ }
+
+-}
+\ Kein Zeilenumbruch am Dateiende.
++}
diff --git a/media-video/projectx/projectx-0.91.0.10-r1.ebuild b/media-video/projectx/projectx-0.91.0.10-r1.ebuild
index 930ed27128ca..4b8c94a37d78 100644
--- a/media-video/projectx/projectx-0.91.0.10-r1.ebuild
+++ b/media-video/projectx/projectx-0.91.0.10-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -18,7 +18,7 @@ SRC_URI="https://dev.gentoo.org/~billie/distfiles/${P}.tar.xz
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~ppc64 ~x86"
+KEYWORDS="amd64 ppc64 x86"
IUSE="X cpu_flags_x86_mmx cpu_flags_x86_sse"
COMMON_DEP="dev-java/commons-net:0
diff --git a/media-video/projectx/projectx-0.91.0.10-r2.ebuild b/media-video/projectx/projectx-0.91.0.10-r2.ebuild
new file mode 100644
index 000000000000..664b3f10673d
--- /dev/null
+++ b/media-video/projectx/projectx-0.91.0.10-r2.ebuild
@@ -0,0 +1,134 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+JAVA_PKG_IUSE="doc source"
+
+inherit desktop eutils java-pkg-2 java-ant-2 toolchain-funcs xdg
+
+XDG_P="xdg-20100731"
+
+DESCRIPTION="Converts, splits and demuxes DVB and other MPEG recordings"
+HOMEPAGE="http://project-x.sourceforge.net/"
+SRC_URI="https://dev.gentoo.org/~billie/distfiles/${P}.tar.xz
+ https://dev.gentoo.org/~billie/distfiles/${PN}-idctfast.tar.xz
+ https://dev.gentoo.org/~billie/distfiles/${XDG_P}.java.xz
+ https://dev.gentoo.org/~billie/distfiles/${PN}-icon.png"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64 ~x86"
+IUSE="X cpu_flags_x86_mmx cpu_flags_x86_sse"
+
+COMMON_DEPEND="
+ dev-java/commons-net:0
+ X? ( dev-java/browserlauncher2:1.0 )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ >=virtual/jre-1.5
+"
+DEPEND="
+ ${COMMON_DEPEND}
+ >=virtual/jdk-1.5
+ app-arch/xz-utils
+ virtual/libiconv
+"
+
+S="${WORKDIR}/Project-X"
+
+mainclass() {
+ # read Main-Class from MANIFEST.MF
+ sed -n "s/^Main-Class: \([^ ]\+\).*/\1/p" "${S}/MANIFEST.MF" || die
+}
+
+src_prepare() {
+ default
+
+ xdg_environment_reset
+
+ local X
+
+ # apply stdout corruption patch (zzam@gentoo.org)
+ eapply "${FILESDIR}/${PN}-0.91.0.10-stdout-corrupt.patch"
+
+ # apply BrowserLauncher2 patch
+ use X && eapply "${FILESDIR}/${PN}-0.91.0.10-bl2.patch"
+ rm -rf src/edu || die
+
+ # apply IDCTFast patch
+ eapply "${FILESDIR}/${PN}-0.91.0.10-idctfast.patch"
+
+ # apply XDG patch
+ cp -f "${WORKDIR}/${XDG_P}.java" "${S}/src/xdg.java" || die
+ eapply "${FILESDIR}/${PN}-0.91.0.10-xdg.patch"
+
+ # copy build.xml
+ cp -f "${FILESDIR}/build-0.91.0.10.xml" build.xml || die
+
+ # patch executable and icon
+ sed -i -e "s:^\(Exec=\).*:\1${PN}_gui:g" \
+ -e "s:^\(Icon=\).*:\1${PN}:g" *.desktop || die
+
+ # convert CRLF to LF
+ edos2unix *.txt MANIFEST.MF
+
+ # convert docs to utf-8
+ if [ -x "$(type -p iconv)" ]; then
+ for X in zutun.txt; do
+ iconv -f LATIN1 -t UTF8 -o "${X}~" "${X}" && mv -f "${X}~" "${X}" || die
+ done
+ fi
+
+ # merge/remove resources depending on USE="X"
+ if use X; then
+ mv -f htmls resources/ || die
+ else
+ rm -rf src/net/sourceforge/dvb/projectx/gui || die
+ rm resources/*.gif || die
+ fi
+
+ # update library packages
+ cd lib || die
+ rm -f {commons-net,jakarta-oro}*.jar || die
+ java-pkg_jar-from commons-net
+ use X && java-pkg_jar-from browserlauncher2-1.0
+ java-pkg_ensure-no-bundled-jars
+}
+
+src_compile() {
+ local IDCT="idct-mjpeg" # default IDCT implementation
+ if use x86 || use amd64; then
+ use cpu_flags_x86_mmx && IDCT="idct-mjpeg-mmx"
+ use cpu_flags_x86_sse && IDCT="idct-mjpeg-sse"
+ fi
+
+ eant build $(use_doc) -Dmanifest.mainclass=$(mainclass)
+
+ cd lib/PORTABLE || die
+ emake CC=$(tc-getCC) IDCT="${IDCT}" LDFLAGS="${LDFLAGS}" \
+ CPLAT="${CFLAGS} -O3 -ffast-math -fPIC"
+}
+
+src_install() {
+ java-pkg_dojar dist/${PN}.jar
+ java-pkg_doso lib/PORTABLE/libidctfast.so
+
+ java-pkg_dolauncher ${PN}_cli --main $(mainclass) \
+ --java_args "-Djava.awt.headless=true -Xmx256m"
+
+ if use X; then
+ java-pkg_dolauncher ${PN}_gui --main $(mainclass) \
+ --java_args "-Xmx256m"
+ dosym ${PN}_gui /usr/bin/${PN}
+ newicon "${DISTDIR}/${PN}-icon.png" "${PN}.png"
+ domenu *.desktop
+ else
+ dosym ${PN}_cli /usr/bin/${PN}
+ fi
+
+ dodoc *.txt
+ use doc && java-pkg_dojavadoc apidocs
+ use source && java-pkg_dosrc src
+}
diff --git a/media-video/ttcut/Manifest b/media-video/ttcut/Manifest
index b67daaaca071..c4f01424055a 100644
--- a/media-video/ttcut/Manifest
+++ b/media-video/ttcut/Manifest
@@ -1,4 +1,5 @@
AUX ttcut.desktop 304 BLAKE2B 9f0f6c6de3beae152b280a280953ddc156373cd3bfeacb35f265648b8e1d0c92b001bb4456ac3e1208edf6730a2a75e90cd9d879aaee73eff0c9aa198ffa8430 SHA512 82f004f65755ea24ba6b379f18e15c5fe8736da0afe4854cc5ed3e8ceeb55b0b8b6c4f3def3e4a09c25b179a3415d0a47dfcd5d8b92cb34fb7270c6a24c714ad
DIST ttcut-0.19.6_p1.tar.gz 283304 BLAKE2B ee0d000a1cc091be1848746d3b32930ae5f59865d7fc04779be9aac4bc9621eaace88a6d9263c767671643d9ce381af2cf57fc5b87707903a5abe8a59eb6cb99 SHA512 9d104436145ef209db4eaca1566d718ccdf84636a391e3f47bd829a165741f57a6123942f37ba2eb361dd46716e78e36832cb9a459ca9ed0130a70af92287494
+EBUILD ttcut-0.19.6_p1-r1.ebuild 816 BLAKE2B e26d3df8f9001560562e652de8cf1afc54ff670fab9523314687a1da560ddb7cd247f9ddc4a440b343792d90213e0db3b24c185affddd2d887ea9270883138b7 SHA512 cf3681f3ee86c1dd160e8fe788b187dd1e1c55365f8d86a337f754ef6a3378f7f23269677d742b85db2d3377ffd511f35be2fe6fdfd83d0e780ee0ce47e7e2c9
EBUILD ttcut-0.19.6_p1.ebuild 782 BLAKE2B 6c9d641d9f772fd9c92dc882ee4c937a654186aa7e9de4a833a8e2715e7d9c2d4d190b25d3b58086e25ce4ec6b495cc3fbdb423dced50258d30857921ca42506 SHA512 0445af1b1ef8766ccdce3a338a7afcc0d9466fded39610e74b08b287b93a00d37be297be886ed4e7f78727c07d5ddfdb68547a58c8fea5ecdfdda9e20650e097
MISC metadata.xml 929 BLAKE2B d33a2f957a306c08d1d4b03d947b975db3f77bd726df50d60de1ab4803dc2abcadd0f19d8a48f19692cde36f094556172cd9adfb120c6b5d053870c713a767c3 SHA512 b22ede083a2bec13d32c88a9f503a7ceddd13892c521bd0532168d4d7fdf8537415f256fa7548240e19ca1c949ad3215c28f6533a0eaa5ee37fcfa7093fde0ca
diff --git a/media-video/ttcut/ttcut-0.19.6_p1-r1.ebuild b/media-video/ttcut/ttcut-0.19.6_p1-r1.ebuild
new file mode 100644
index 000000000000..2ca5c574c244
--- /dev/null
+++ b/media-video/ttcut/ttcut-0.19.6_p1-r1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit desktop qmake-utils xdg
+
+DESCRIPTION="Tool for cutting MPEG files especially for removing commercials"
+HOMEPAGE="https://github.com/templer/ttcut"
+SRC_URI="https://dev.gentoo.org/~billie/distfiles/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="
+ >=media-libs/libmpeg2-0.4.0
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtopengl:5
+ dev-qt/qtwidgets:5
+ virtual/glu
+ virtual/opengl
+"
+RDEPEND="
+ ${DEPEND}
+ media-video/mplayer
+ >=media-video/ffmpeg-1.0.8[encode]
+"
+
+S=${WORKDIR}/${PN}
+
+src_prepare() {
+ default
+
+ xdg_environment_reset
+
+ eqmake5 ttcut.pro
+}
+
+src_install() {
+ dobin ttcut
+
+ domenu "${FILESDIR}"/${PN}.desktop
+
+ dodoc AUTHORS BUGS CHANGELOG README.* TODO
+}