diff options
Diffstat (limited to 'media-video')
6 files changed, 264 insertions, 16 deletions
diff --git a/media-video/handbrake/Manifest b/media-video/handbrake/Manifest index abb9a1f61855..8dfc1a5454b3 100644 --- a/media-video/handbrake/Manifest +++ b/media-video/handbrake/Manifest @@ -1 +1,2 @@ DIST handbrake-1.3.3.tar.bz2 16804119 BLAKE2B c081029e77911dc722764b0bef04e156694f8da0caaa6aedaae13d5c1045dccfc8292a466a8df323b471ca2a9de821b94740e9826fc9e7a2877b1d59653a728a SHA512 a4cca4e45d39eb3d43441abe832e2b8398694917981fa994075e475b68297cae28039e3c75d06442194262a881b9e416e5ebd73d10f86214b95f54c35fd3088c +DIST handbrake-1.4.2.tar.bz2 15991593 BLAKE2B 966b54d35dd5544800208edc9045eaf26f3253aa470686b9ea29cdf69393af140829b21072133684661fd881eee7f97b90f9c7edfa87f187058dd1b14d1a748b SHA512 ba8ffe01cd813e9991716eabb2844e1ed414e3a2c547154b89588389e96846af9f2dd47f66d735101fdacd5be1928e34e4bab31e6a189779e77001ffdb0b427e diff --git a/media-video/handbrake/files/handbrake-1.3.3-remove-faac-dependency.patch b/media-video/handbrake/files/handbrake-1.3.3-remove-faac-dependency.patch new file mode 100644 index 000000000000..7e8ab99730a8 --- /dev/null +++ b/media-video/handbrake/files/handbrake-1.3.3-remove-faac-dependency.patch @@ -0,0 +1,84 @@ +--- a/libhb/common.c ++++ b/libhb/common.c +@@ -243,7 +243,6 @@ + { + // legacy encoders, back to HB 0.9.4 whenever possible (disabled) + { { "", "dts", NULL, HB_ACODEC_DCA_PASS, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 0, HB_GID_ACODEC_DTS_PASS, }, +- { { "AAC (faac)", "faac", NULL, 0, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 0, HB_GID_ACODEC_AAC, }, + { { "AAC (ffmpeg)", "ffaac", NULL, HB_ACODEC_FFAAC, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 0, HB_GID_ACODEC_AAC, }, + { { "AC3 (ffmpeg)", "ffac3", NULL, HB_ACODEC_AC3, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 0, HB_GID_ACODEC_AC3, }, + { { "MP3 (lame)", "lame", NULL, HB_ACODEC_LAME, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 0, HB_GID_ACODEC_MP3, }, +--- a/scripts/manicure.rb ++++ b/scripts/manicure.rb +@@ -349,7 +349,7 @@ + audioEncoders << "copy:dtshd" + when /AAC Pass/ + audioEncoders << "copy:aac" +- when "AAC (ffmpeg)", "AAC (avcodec)", "AAC (faac)" ++ when "AAC (ffmpeg)", "AAC (avcodec)" + audioEncoders << "av_aac" + when "AAC (FDK)" + audioEncoders << "fdk_aac" +@@ -466,7 +466,7 @@ + case hash["AudioEncoderFallback"] + when /AC3/ + audioEncoderFallback << "ac3" +- when "AAC (ffmpeg)", "AAC (avcodec)", "AAC (faac)" ++ when "AAC (ffmpeg)", "AAC (avcodec)" + audioEncoderFallback << "av_aac" + when "AAC (FDK)" + audioEncoderFallback << "fdk_aac" +@@ -753,7 +753,7 @@ + audioEncoders << "copy:dtshd" + when /AAC Pass/ + audioEncoders << "copy:aac" +- when "AAC (ffmpeg)", "AAC (avcodec)", "AAC (faac)" ++ when "AAC (ffmpeg)", "AAC (avcodec)" + audioEncoders << "av_aac" + when "AAC (FDK)" + audioEncoders << "fdk_aac" +@@ -870,7 +870,7 @@ + case hash["AudioEncoderFallback"] + when /AC3/ + audioEncoderFallback << "ac3" +- when "AAC (ffmpeg)", "AAC (avcodec)", "AAC (faac)" ++ when "AAC (ffmpeg)", "AAC (avcodec)" + audioEncoderFallback << "av_aac" + when "AAC (FDK)" + audioEncoderFallback << "fdk_aac" +@@ -1163,7 +1163,7 @@ + audioEncoders << "copy:dtshd" + when /AAC Pass/ + audioEncoders << "copy:aac" +- when "AAC (ffmpeg)", "AAC (avcodec)", "AAC (faac)" ++ when "AAC (ffmpeg)", "AAC (avcodec)" + audioEncoders << "av_aac" + when "AAC (FDK)" + audioEncoders << "fdk_aac" +@@ -1298,7 +1298,7 @@ + case hash["AudioEncoderFallback"] + when /AC3/ + audioEncoderFallback << "ac3" +- when "AAC (ffmpeg)", "AAC (avcodec)", "AAC (faac)" ++ when "AAC (ffmpeg)", "AAC (avcodec)" + audioEncoderFallback << "av_aac" + when "AAC (FDK)" + audioEncoderFallback << "fdk_aac" +@@ -1615,7 +1615,7 @@ + audioEncoders << "copy:dtshd" + when /AAC Pass/ + audioEncoders << "copy:aac" +- when "AAC (ffmpeg)", "AAC (avcodec)", "AAC (faac)" ++ when "AAC (ffmpeg)", "AAC (avcodec)" + audioEncoders << "av_aac" + when "AAC (FDK)" + audioEncoders << "fdk_aac" +@@ -1732,7 +1732,7 @@ + case hash["AudioEncoderFallback"] + when /AC3/ + audioEncoderFallback << "ac3" +- when "AAC (ffmpeg)", "AAC (avcodec)", "AAC (faac)" ++ when "AAC (ffmpeg)", "AAC (avcodec)" + audioEncoderFallback << "av_aac" + when "AAC (FDK)" + audioEncoderFallback << "fdk_aac" diff --git a/media-video/handbrake/files/handbrake-9999-remove-faac-dependency.patch b/media-video/handbrake/files/handbrake-9999-remove-faac-dependency.patch index 7e8ab99730a8..a75bb24bf5b3 100644 --- a/media-video/handbrake/files/handbrake-9999-remove-faac-dependency.patch +++ b/media-video/handbrake/files/handbrake-9999-remove-faac-dependency.patch @@ -1,16 +1,20 @@ +diff --git a/libhb/common.c b/libhb/common.c +index f43efdbb5..c917151b7 100644 --- a/libhb/common.c +++ b/libhb/common.c -@@ -243,7 +243,6 @@ +@@ -375,7 +375,6 @@ hb_encoder_internal_t hb_audio_encoders[] = { // legacy encoders, back to HB 0.9.4 whenever possible (disabled) - { { "", "dts", NULL, HB_ACODEC_DCA_PASS, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 0, HB_GID_ACODEC_DTS_PASS, }, -- { { "AAC (faac)", "faac", NULL, 0, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 0, HB_GID_ACODEC_AAC, }, - { { "AAC (ffmpeg)", "ffaac", NULL, HB_ACODEC_FFAAC, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 0, HB_GID_ACODEC_AAC, }, - { { "AC3 (ffmpeg)", "ffac3", NULL, HB_ACODEC_AC3, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 0, HB_GID_ACODEC_AC3, }, - { { "MP3 (lame)", "lame", NULL, HB_ACODEC_LAME, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 0, HB_GID_ACODEC_MP3, }, + { { "", "dts", NULL, HB_ACODEC_DCA_PASS, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 1, 0, HB_GID_ACODEC_DTS_PASS, }, +- { { "AAC (faac)", "faac", NULL, 0, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 1, 0, HB_GID_ACODEC_AAC, }, + { { "AAC (ffmpeg)", "ffaac", NULL, HB_ACODEC_FFAAC, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 1, 0, HB_GID_ACODEC_AAC, }, + { { "AC3 (ffmpeg)", "ffac3", NULL, HB_ACODEC_AC3, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 1, 0, HB_GID_ACODEC_AC3, }, + { { "MP3 (lame)", "lame", NULL, HB_ACODEC_LAME, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 1, 0, HB_GID_ACODEC_MP3, }, +diff --git a/scripts/manicure.rb b/scripts/manicure.rb +index fb4afa9ec..424288298 100755 --- a/scripts/manicure.rb +++ b/scripts/manicure.rb -@@ -349,7 +349,7 @@ +@@ -349,7 +349,7 @@ class Display audioEncoders << "copy:dtshd" when /AAC Pass/ audioEncoders << "copy:aac" @@ -19,7 +23,7 @@ audioEncoders << "av_aac" when "AAC (FDK)" audioEncoders << "fdk_aac" -@@ -466,7 +466,7 @@ +@@ -466,7 +466,7 @@ class Display case hash["AudioEncoderFallback"] when /AC3/ audioEncoderFallback << "ac3" @@ -28,7 +32,7 @@ audioEncoderFallback << "av_aac" when "AAC (FDK)" audioEncoderFallback << "fdk_aac" -@@ -753,7 +753,7 @@ +@@ -748,7 +748,7 @@ class Display audioEncoders << "copy:dtshd" when /AAC Pass/ audioEncoders << "copy:aac" @@ -37,7 +41,7 @@ audioEncoders << "av_aac" when "AAC (FDK)" audioEncoders << "fdk_aac" -@@ -870,7 +870,7 @@ +@@ -865,7 +865,7 @@ class Display case hash["AudioEncoderFallback"] when /AC3/ audioEncoderFallback << "ac3" @@ -46,7 +50,7 @@ audioEncoderFallback << "av_aac" when "AAC (FDK)" audioEncoderFallback << "fdk_aac" -@@ -1163,7 +1163,7 @@ +@@ -1148,7 +1148,7 @@ class Display audioEncoders << "copy:dtshd" when /AAC Pass/ audioEncoders << "copy:aac" @@ -55,7 +59,7 @@ audioEncoders << "av_aac" when "AAC (FDK)" audioEncoders << "fdk_aac" -@@ -1298,7 +1298,7 @@ +@@ -1283,7 +1283,7 @@ class Display case hash["AudioEncoderFallback"] when /AC3/ audioEncoderFallback << "ac3" @@ -64,7 +68,7 @@ audioEncoderFallback << "av_aac" when "AAC (FDK)" audioEncoderFallback << "fdk_aac" -@@ -1615,7 +1615,7 @@ +@@ -1600,7 +1600,7 @@ class Display audioEncoders << "copy:dtshd" when /AAC Pass/ audioEncoders << "copy:aac" @@ -73,7 +77,7 @@ audioEncoders << "av_aac" when "AAC (FDK)" audioEncoders << "fdk_aac" -@@ -1732,7 +1732,7 @@ +@@ -1717,7 +1717,7 @@ class Display case hash["AudioEncoderFallback"] when /AC3/ audioEncoderFallback << "ac3" diff --git a/media-video/handbrake/handbrake-1.3.3-r2.ebuild b/media-video/handbrake/handbrake-1.3.3-r2.ebuild index a0fb60145610..b7246e9a055c 100644 --- a/media-video/handbrake/handbrake-1.3.3-r2.ebuild +++ b/media-video/handbrake/handbrake-1.3.3-r2.ebuild @@ -81,7 +81,7 @@ PATCHES=( "${FILESDIR}/${PN}-9999-remove-dvdnav-dup.patch" # Remove faac dependency; TODO: figure out if we need to do this at all. - "${FILESDIR}/${PN}-9999-remove-faac-dependency.patch" + "${FILESDIR}/${P}-remove-faac-dependency.patch" # Use whichever python is set by portage "${FILESDIR}/${PN}-1.3.0-dont-search-for-python.patch" diff --git a/media-video/handbrake/handbrake-1.3.3-r3.ebuild b/media-video/handbrake/handbrake-1.3.3-r3.ebuild index a02d836a04b5..103a789e6342 100644 --- a/media-video/handbrake/handbrake-1.3.3-r3.ebuild +++ b/media-video/handbrake/handbrake-1.3.3-r3.ebuild @@ -81,7 +81,7 @@ PATCHES=( "${FILESDIR}/${PN}-9999-remove-dvdnav-dup.patch" # Remove faac dependency; TODO: figure out if we need to do this at all. - "${FILESDIR}/${PN}-9999-remove-faac-dependency.patch" + "${FILESDIR}/${P}-remove-faac-dependency.patch" # Use whichever python is set by portage "${FILESDIR}/${PN}-1.3.0-dont-search-for-python.patch" diff --git a/media-video/handbrake/handbrake-1.4.2.ebuild b/media-video/handbrake/handbrake-1.4.2.ebuild new file mode 100644 index 000000000000..80d947f27773 --- /dev/null +++ b/media-video/handbrake/handbrake-1.4.2.ebuild @@ -0,0 +1,159 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8,9} ) + +inherit autotools python-any-r1 xdg + +if [[ ${PV} = *9999* ]]; then + EGIT_REPO_URI="https://github.com/HandBrake/HandBrake.git" + inherit git-r3 +else + MY_P="HandBrake-${PV}" + SRC_URI="https://github.com/HandBrake/HandBrake/releases/download/${PV}/${MY_P}-source.tar.bz2 -> ${P}.tar.bz2" + S="${WORKDIR}/${MY_P}" + KEYWORDS="~amd64 ~x86" +fi + +DESCRIPTION="Open-source, GPL-licensed, multiplatform, multithreaded video transcoder" +HOMEPAGE="http://handbrake.fr/" + +LICENSE="GPL-2" +SLOT="0" +IUSE="+fdk gstreamer gtk libav-aac numa nvenc x265" + +REQUIRED_USE="^^ ( fdk libav-aac )" + +RDEPEND=" + app-arch/xz-utils + media-libs/speex + dev-libs/jansson:= + dev-libs/libxml2 + media-libs/a52dec + media-libs/libass:= + >=media-libs/libbluray-1.0 + >=media-libs/dav1d-0.5.1 + media-libs/libdvdnav + media-libs/libdvdread:= + media-libs/libsamplerate + media-libs/libtheora + media-libs/libvorbis + >=media-libs/libvpx-1.8 + nvenc? ( media-libs/nv-codec-headers ) + media-libs/opus + media-libs/x264:= + media-sound/lame + sys-libs/zlib + >=media-video/ffmpeg-4.2.1:0=[postproc,fdk?] + gstreamer? ( + media-libs/gstreamer:1.0 + media-libs/gst-plugins-base:1.0 + media-libs/gst-plugins-good:1.0 + media-libs/gst-plugins-bad:1.0 + media-libs/gst-plugins-ugly:1.0 + media-plugins/gst-plugins-a52dec:1.0 + media-plugins/gst-plugins-libav:1.0 + media-plugins/gst-plugins-x264:1.0 + media-plugins/gst-plugins-gdkpixbuf:1.0 + ) + gtk? ( + >=x11-libs/gtk+-3.10 + dev-libs/dbus-glib + dev-libs/glib:2 + dev-libs/libgudev:= + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/libnotify + x11-libs/pango + ) + fdk? ( media-libs/fdk-aac ) + x265? ( >=media-libs/x265-3.2:0=[10bit,12bit,numa?] ) +" +DEPEND=" + ${PYTHON_DEPS} + ${RDEPEND} + dev-lang/nasm + dev-util/intltool +" + +PATCHES=( + # Remove libdvdnav duplication and call it on the original instead. + # It may work this way; if not, we should try to mimic the duplication. + "${FILESDIR}/${PN}-9999-remove-dvdnav-dup.patch" + + # Remove faac dependency; TODO: figure out if we need to do this at all. + "${FILESDIR}/${PN}-9999-remove-faac-dependency.patch" + + # Use whichever python is set by portage + "${FILESDIR}/${PN}-1.3.0-dont-search-for-python.patch" + + # Fix x265 linkage... again again #730034 + "${FILESDIR}/${PN}-1.3.3-x265-link.patch" +) + +src_prepare() { + # Get rid of leftover bundled library build definitions, + sed -i 's:.*\(/contrib\|contrib/\).*::g' \ + "${S}"/make/include/main.defs \ + || die "Contrib removal failed." + + default + + cd "${S}/gtk" || die + # Don't run autogen.sh. + sed -i '/autogen.sh/d' module.rules || die "Removing autogen.sh call failed" + eautoreconf +} + +src_configure() { + # Libav was replaced in 1.2 with ffmpeg by default + # but I've elected to not make people change their use flags for AAC + # as its the same code anyway + ./configure \ + --force \ + --verbose \ + --prefix="${EPREFIX}/usr" \ + --disable-gtk-update-checks \ + --disable-flatpak \ + --disable-gtk4 \ + $(use_enable libav-aac ffmpeg-aac) \ + $(use_enable fdk fdk-aac) \ + $(usex !gtk --disable-gtk) \ + $(usex !gstreamer --disable-gst) \ + $(use_enable numa) \ + $(use_enable nvenc) \ + $(use_enable x265) || die "Configure failed." +} + +src_compile() { + emake -C build + + # TODO: Documentation building is currently broken, try to fix it. + # + # if use doc ; then + # emake -C build doc + # fi +} + +src_install() { + emake -C build DESTDIR="${D}" install + + dodoc README.markdown AUTHORS.markdown NEWS.markdown THANKS.markdown +} + +pkg_postinst() { + einfo "Gentoo builds of HandBrake are NOT SUPPORTED by upstream as they" + einfo "do not use the bundled (and often patched) upstream libraries." + einfo "" + einfo "Please do not raise bugs with upstream because of these ebuilds," + einfo "report bugs to Gentoo's bugzilla or Multimedia forum instead." + + einfo "For the CLI version of HandBrake, you can use \`HandBrakeCLI\`." + if use gtk ; then + einfo "For the GTK+ version of HandBrake, you can run \`ghb\`." + fi + + xdg_pkg_postinst +} |