commit:     a09ba8ba17ff0c374918d4a7dc6b63ff20a10abe
Author:     Piotr Karbowski <slashbeast <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 10 18:56:22 2023 +0000
Commit:     Piotr Karbowski <slashbeast <AT> gentoo <DOT> org>
CommitDate: Mon Jul 10 18:57:04 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a09ba8ba

media-video/makemkv: 1.17.4-r1 revbump with ffmpeg-6 support.

Closes: https://bugs.gentoo.org/909307
Signed-off-by: Piotr Karbowski <slashbeast <AT> gentoo.org>

 media-video/makemkv/files/makemkv-ffmpeg-6.patch |  13 +++
 media-video/makemkv/makemkv-1.17.4-r1.ebuild     | 128 +++++++++++++++++++++++
 2 files changed, 141 insertions(+)

diff --git a/media-video/makemkv/files/makemkv-ffmpeg-6.patch 
b/media-video/makemkv/files/makemkv-ffmpeg-6.patch
new file mode 100644
index 000000000000..684d8186bab5
--- /dev/null
+++ b/media-video/makemkv/files/makemkv-ffmpeg-6.patch
@@ -0,0 +1,13 @@
+diff --git a/libffabi/src/ffabi.c b/libffabi/src/ffabi.c
+index 5dda9e1..2b29b87 100644
+--- a/libffabi/src/ffabi.c
++++ b/libffabi/src/ffabi.c
+@@ -478,7 +478,7 @@ FFM_AudioEncodeContext* __cdecl 
ffm_audio_encode_init(void* logctx,const char* n
+ #else
+     ctx->frame = av_frame_alloc();
+     if (av_sample_fmt_is_planar(ctx->avctx->sample_fmt)) {
+-        ctx->frame_extended_data = av_mallocz_array(ctx->avctx->channels,
++        ctx->frame_extended_data = av_calloc(ctx->avctx->channels,
+             sizeof(*ctx->frame_extended_data));
+         if (!ctx->frame_extended_data) {
+             ffm_audio_encode_close(ctx);

diff --git a/media-video/makemkv/makemkv-1.17.4-r1.ebuild 
b/media-video/makemkv/makemkv-1.17.4-r1.ebuild
new file mode 100644
index 000000000000..05a97bd1d4f3
--- /dev/null
+++ b/media-video/makemkv/makemkv-1.17.4-r1.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic linux-info xdg
+
+MY_P=makemkv-oss-${PV}
+MY_PB=makemkv-bin-${PV}
+
+DESCRIPTION="Tool for ripping and streaming Blu-ray, HD-DVD and DVD discs"
+HOMEPAGE="http://www.makemkv.com/";
+SRC_URI="http://www.makemkv.com/download/${MY_P}.tar.gz
+       http://www.makemkv.com/download/${MY_PB}.tar.gz";
+
+LICENSE="GPL-2 LGPL-2.1 MPL-1.1 MakeMKV-EULA openssl"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86"
+IUSE="+gui +java"
+RESTRICT="bindist mirror"
+
+QA_PREBUILT="usr/bin/makemkvcon usr/bin/mmdtsdec"
+
+DEPEND="
+       dev-libs/expat
+       dev-libs/openssl:0=[-bindist(-)]
+       >=media-video/ffmpeg-1.0.0:0=
+       sys-libs/glibc
+       sys-libs/zlib
+       gui? (
+               dev-qt/qtcore:5
+               dev-qt/qtdbus:5
+               dev-qt/qtgui:5
+               dev-qt/qtwidgets:5
+       )
+"
+RDEPEND="
+       ${DEPEND}
+       java? ( >=virtual/jre-1.8 )
+"
+BDEPEND="
+       virtual/pkgconfig
+       gui? ( dev-qt/qtcore:5 )
+"
+
+CONFIG_CHECK="~CHR_DEV_SG"
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-path.patch
+       "${FILESDIR}"/${PN}-ffmpeg-6.patch
+)
+
+src_prepare() {
+       default
+
+       if ! use java; then
+               rm -v "${WORKDIR}/${MY_PB}"/src/share/blues.* || die
+       fi
+}
+
+src_configure() {
+       # See bug #439380.
+       replace-flags -O* -Os
+
+       econf \
+               --enable-debug \
+               --disable-noec \
+               $(use_enable gui) \
+               $(use_enable gui qt5)
+}
+
+src_install() {
+       local myarch
+       case "${ARCH}" in
+               arm) myarch=armel ;;
+               x86) myarch=i386 ;;
+               *) myarch=${ARCH} ;;
+       esac
+
+       default
+
+       # add missing symlinks for QA
+       dosym libdriveio.so.0 /usr/$(get_libdir)/libdriveio.so.0.${PV}
+       dosym libdriveio.so.0 /usr/$(get_libdir)/libdriveio.so
+       dosym libmakemkv.so.1 /usr/$(get_libdir)/libmakemkv.so.1.${PV}
+       dosym libmakemkv.so.1 /usr/$(get_libdir)/libmakemkv.so
+       dosym libmmbd.so.0    /usr/$(get_libdir)/libmmbd.so
+       dosym libmmbd.so.0    /usr/$(get_libdir)/libmmbd.so.0.${PV}
+
+       cd "${WORKDIR}"/${MY_PB} || die
+
+       # install prebuilt bin
+       dobin bin/"${myarch}"/makemkvcon
+
+       # additional tool is actually part of makemkvcon
+       dosym makemkvcon /usr/bin/sdftool
+
+       # install profiles and locales
+       insinto /usr/share/MakeMKV
+       doins src/share/*
+
+       # install unofficial man page
+       doman "${FILESDIR}"/makemkvcon.1
+}
+
+pkg_postinst() {
+       xdg_pkg_postinst
+
+       elog "While MakeMKV is in beta mode, upstream has provided a license"
+       elog "to use if you do not want to purchase one."
+       elog ""
+       elog "See this forum thread for more information, including the key:"
+       elog "https://www.makemkv.com/forum/viewtopic.php?f=5&t=1053";
+       elog ""
+       elog "Note that beta license may have an expiration date and you will"
+       elog "need to check for newer licenses/releases. "
+       elog ""
+       elog "We previously said to copy default.mmcp.xml to ~/.MakeMKV/. This"
+       elog "is no longer necessary and you should delete it from there to"
+       elog "avoid warning messages."
+       elog ""
+       elog "MakeMKV can also act as a drop-in replacement for libaacs and"
+       elog "libbdplus, allowing transparent decryption of a wider range of"
+       elog "titles under players like VLC and mplayer. To enable this, set"
+       elog "the following variables when launching the player:"
+       elog "LIBAACS_PATH=libmmbd LIBBDPLUS_PATH=libmmbd"
+}

Reply via email to