summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Beddek <telans@posteo.de>2021-10-24 20:12:46 +1300
committerSam James <sam@gentoo.org>2021-10-24 08:21:41 +0000
commit338778222bc95745d0675590f99ae12b434465d6 (patch)
treeb223bd0df36d63223aa0312b9fbfabc3265d7665 /media-video
parentmedia-video/handbrake: add myself as a maintainer (diff)
downloadgentoo-338778222bc95745d0675590f99ae12b434465d6.tar.gz
gentoo-338778222bc95745d0675590f99ae12b434465d6.tar.bz2
gentoo-338778222bc95745d0675590f99ae12b434465d6.zip
media-video/handbrake: rebase remove-faac patch
Signed-off-by: James Beddek <telans@posteo.de> Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-video')
-rw-r--r--media-video/handbrake/Manifest1
-rw-r--r--media-video/handbrake/files/handbrake-1.3.3-remove-faac-dependency.patch84
-rw-r--r--media-video/handbrake/files/handbrake-9999-remove-faac-dependency.patch32
-rw-r--r--media-video/handbrake/handbrake-1.3.3-r2.ebuild2
-rw-r--r--media-video/handbrake/handbrake-1.3.3-r3.ebuild2
-rw-r--r--media-video/handbrake/handbrake-1.4.2.ebuild159
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
+}