diff options
author | Alfred Wingate <parona@protonmail.com> | 2024-03-21 12:17:28 +0200 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2024-04-01 08:17:33 +0100 |
commit | 8de73ec9de78a5fb682033e708171fe98c78aee2 (patch) | |
tree | 7c25173a3c4424c2d7b40c195dc49dd07d048708 /media-video/mkvtoolnix | |
parent | dev-util/bear: limit parallelism (diff) | |
download | gentoo-8de73ec9de78a5fb682033e708171fe98c78aee2.tar.gz gentoo-8de73ec9de78a5fb682033e708171fe98c78aee2.tar.bz2 gentoo-8de73ec9de78a5fb682033e708171fe98c78aee2.zip |
media-video/mkvtoolnix: add 83.0
Bug: https://bugs.gentoo.org/927380
Signed-off-by: Alfred Wingate <parona@protonmail.com>
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-video/mkvtoolnix')
-rw-r--r-- | media-video/mkvtoolnix/Manifest | 2 | ||||
-rw-r--r-- | media-video/mkvtoolnix/files/mkvtoolnix-83.0.0-fix-disable-gui.patch | 88 | ||||
-rw-r--r-- | media-video/mkvtoolnix/mkvtoolnix-83.0.ebuild | 139 |
3 files changed, 229 insertions, 0 deletions
diff --git a/media-video/mkvtoolnix/Manifest b/media-video/mkvtoolnix/Manifest index 3f890c6e5ab0..e9d8ebdda53e 100644 --- a/media-video/mkvtoolnix/Manifest +++ b/media-video/mkvtoolnix/Manifest @@ -3,3 +3,5 @@ DIST mkvtoolnix-81.0.tar.xz 11067288 BLAKE2B 64bf3cd1872e3b67c6932ed29527e1dff2f DIST mkvtoolnix-81.0.tar.xz.sig 833 BLAKE2B 37e63e92628d3dcb6e9c9129e09dbef1d1d4e80515a05a9a5684d5d542ef54b024e76f1fac50b242e32172ef24493123b6103ae79fa411eefea7704cd63070d5 SHA512 3975c0b217318fdd9eeed23694c0e25536c694fa6cef63560b48ed79db7827be41cbe9a2cd8d8c1d2555beb436a5191a5ad21f0e5e73f93f2ca1c09be13826cb DIST mkvtoolnix-82.0.tar.xz 11067168 BLAKE2B a910898b4097ee8115f3354653d65d913e28fc0271c2869a72d4b0f70a6a17848b28c33ae0aee4d88b42bb911bf6d825211c723c47f7c1eee0f5204705e12223 SHA512 fd384bfc4350e972f44e2b488fb066641cf7e73860f179d4423a548f870521ad8414f53a98f67ad8809f261657fe378c5bed96069620a73be511bcd31dfa933f DIST mkvtoolnix-82.0.tar.xz.sig 833 BLAKE2B 53c96149a41a46892cfeb43ca786cd8c166747e508f3fa2aceca9520652741f738adad5f6e8809f97c5086d678bcd15d4f95f1ca964df5465b450679eb18eb2a SHA512 abea27631ea4f08182e86f99f1a8e38769e0ebc5a5d66426da7024348e6d00c0044644c107a982d902142167805c4771d318cc4ec66e4d9cea115a92806e8e95 +DIST mkvtoolnix-83.0.tar.xz 11278152 BLAKE2B f57b398c747d90021f2a13e58df23655e898a0bb68ad7f050f7a3fe0018866570fb81780f2d68a8c9ed06b66882578b5a9144c3be1bb9b79bc5f79e13f06bde5 SHA512 e70236249f9f72c4ffeab8222c03cdf373a25643f1b106a1abb695184152be8bb22e3fb5dc67b48e6193d9ac37d0b9b2ea317a31214b92648ac75a82c99f9b5d +DIST mkvtoolnix-83.0.tar.xz.sig 833 BLAKE2B 3eddaa4941d84937a7b771bea66be52979437abb54cd178eb6d24b30628db3ee0ad72f23bea7419a7bc13cfd4f84d6d004b46ad63bad0eeeef8fd05f37bcaf4f SHA512 6d3ac46a40139fff67da61c77a802df243764d8c26c55e3b951d407fd3147bcf985f8a62c21b18c12fabe0afdc535a3449a6bfff3f15a5779b2aed1f94fe0ab7 diff --git a/media-video/mkvtoolnix/files/mkvtoolnix-83.0.0-fix-disable-gui.patch b/media-video/mkvtoolnix/files/mkvtoolnix-83.0.0-fix-disable-gui.patch new file mode 100644 index 000000000000..015a92fbd78f --- /dev/null +++ b/media-video/mkvtoolnix/files/mkvtoolnix-83.0.0-fix-disable-gui.patch @@ -0,0 +1,88 @@ +https://bugs.gentoo.org/927380 + +Allow non-gui builds to configure without gui dependencies. + +--- a/ac/qt6.m4 ++++ b/ac/qt6.m4 +@@ -113,13 +113,15 @@ HEADERS = configure.h + SOURCES = configure.cpp + EOT + +- "$QMAKE6" -makefile -nocache $QMAKE_SPEC configure.pro 2>&5 > /dev/null +- result2=$? ++ if test x"$enable_gui" = xyes; then ++ "$QMAKE6" -makefile -nocache $QMAKE_SPEC configure.pro 2>&5 > /dev/null ++ result2=$? + +- if test $result2 != 0; then +- cd "$old_wd" +- AC_MSG_RESULT(no: not all of the required Qt6 modules were found (needed: core gui widgets network concurrent svg multimedia)) +- return ++ if test $result2 != 0; then ++ cd "$old_wd" ++ AC_MSG_RESULT(no: not all of the required Qt6 modules were found (needed: core gui widgets network concurrent svg multimedia)) ++ return ++ fi + fi + + if test -f Makefile.Release; then +@@ -135,7 +137,7 @@ EOT + + cd "$old_wd" + +- if test $result != 0 -o $result2 != 0 -o $result3 != 0; then ++ if test $result != 0 -o $result3 != 0; then + AC_MSG_CHECKING(for Qt 6) + AC_MSG_RESULT(no: qmake6 couldn't be run for a dummy project) + +@@ -169,9 +171,15 @@ EOT + + qt_searchpath="$qt_libexecdir:$qt_bindir:$PATH" + +- QT_CFLAGS="`$ac_cv_path_EGREP '^DEFINES *=' "$qmake_dir/Makefile" | sed 's/^DEFINES *= *//'`" +- QT_CFLAGS="$QT_CFLAGS `$ac_cv_path_EGREP '^CXXFLAGS *=' "$qmake_dir/Makefile" | sed -e 's/^CXXFLAGS *= *//' -e 's/-pipe//g' -e 's/-O.//g' -e 's/ -f[[a-z]][[^ ]]*//g' -e 's/ -W[[^ ]]*//g' -e 's/-std=[[^ ]]*//g' -e 's/\$([[^)]]*)//g'`" +- QT_INCFLAGS="`$ac_cv_path_EGREP '^INCPATH *=' "$qmake_dir/Makefile" | sed -e 's/^INCPATH *= *//'`" ++ if test x"$enable_gui" = xyes; then ++ QT_CFLAGS="`$ac_cv_path_EGREP '^DEFINES *=' "$qmake_dir/Makefile" | sed 's/^DEFINES *= *//'`" ++ QT_CFLAGS="$QT_CFLAGS `$ac_cv_path_EGREP '^CXXFLAGS *=' "$qmake_dir/Makefile" | sed -e 's/^CXXFLAGS *= *//' -e 's/-pipe//g' -e 's/-O.//g' -e 's/ -f[[a-z]][[^ ]]*//g' -e 's/ -W[[^ ]]*//g' -e 's/-std=[[^ ]]*//g' -e 's/\$([[^)]]*)//g'`" ++ QT_INCFLAGS="`$ac_cv_path_EGREP '^INCPATH *=' "$qmake_dir/Makefile" | sed -e 's/^INCPATH *= *//'`" ++ else ++ QT_CFLAGS="`$ac_cv_path_EGREP '^DEFINES *=' "$qmake_dir/Makefile.non_gui" | sed 's/^DEFINES *= *//'`" ++ QT_CFLAGS="$QT_CFLAGS `$ac_cv_path_EGREP '^CXXFLAGS *=' "$qmake_dir/Makefile.non_gui" | sed -e 's/^CXXFLAGS *= *//' -e 's/-pipe//g' -e 's/-O.//g' -e 's/ -f[[a-z]][[^ ]]*//g' -e 's/ -W[[^ ]]*//g' -e 's/-std=[[^ ]]*//g' -e 's/\$([[^)]]*)//g'`" ++ QT_INCFLAGS="`$ac_cv_path_EGREP '^INCPATH *=' "$qmake_dir/Makefile.non_gui" | sed -e 's/^INCPATH *= *//'`" ++ fi + + # If under MinGW/MSYS2, fix relative include paths + if ! test -z "${MINGW_PREFIX}"; then +@@ -181,16 +189,18 @@ EOT + QT_INCFLAGS="`echo $QT_INCFLAGS | sed -e 's:-I[[^/]][[^ ]]*::g'`" + QT_CFLAGS="$QT_CFLAGS $QT_INCFLAGS" + QT_CFLAGS="`echo $QT_CFLAGS | sed -e 's/\$(EXPORT_ARCH_ARGS)//'`" +- QT_LIBS="`$ac_cv_path_EGREP '^LFLAGS *=' "$qmake_dir/Makefile" | sed -e 's/^LFLAGS *= *//' -e 's/-Wl,-O[[^ ]]*//g' -e 's/ -f[[a-z]][[^ ]]*//g'`" +- QT_LIBS="$QT_LIBS `$ac_cv_path_EGREP '^LIBS *=' "$qmake_dir/Makefile" | sed -e 's/^LIBS *= *//' -e 's/\$([[^)]]*)//g' -e 's:-L[[^/]][[^ ]]*::g'`" +- QT_LIBS="`echo $QT_LIBS | sed -e 's/\$(EXPORT_ARCH_ARGS)//'`" ++ if test x"$enable_gui" = xyes; then ++ QT_LIBS="`$ac_cv_path_EGREP '^LFLAGS *=' "$qmake_dir/Makefile" | sed -e 's/^LFLAGS *= *//' -e 's/-Wl,-O[[^ ]]*//g' -e 's/ -f[[a-z]][[^ ]]*//g'`" ++ QT_LIBS="$QT_LIBS `$ac_cv_path_EGREP '^LIBS *=' "$qmake_dir/Makefile" | sed -e 's/^LIBS *= *//' -e 's/\$([[^)]]*)//g' -e 's:-L[[^/]][[^ ]]*::g'`" ++ QT_LIBS="`echo $QT_LIBS | sed -e 's/\$(EXPORT_ARCH_ARGS)//'`" ++ fi + QT_LIBS_NON_GUI="`$ac_cv_path_EGREP '^LFLAGS *=' "$qmake_dir/Makefile.non_gui" | sed -e 's/^LFLAGS *= *//' -e 's/-Wl,-O[[^ ]]*//g' -e 's/ -f[[a-z]][[^ ]]*//g'`" + QT_LIBS_NON_GUI="$QT_LIBS_NON_GUI `$ac_cv_path_EGREP '^LIBS *=' "$qmake_dir/Makefile.non_gui" | sed -e 's/^LIBS *= *//' -e 's/\$([[^)]]*)//g' -e 's:-L[[^/]][[^ ]]*::g'`" + QT_LIBS_NON_GUI="`echo $QT_LIBS_NON_GUI | sed -e 's/\$(EXPORT_ARCH_ARGS)//' -e 's/-Wl,-subsystem,windows *//g'`" + + rm -rf "$qmake_dir" + +- if test x"$QT_CFLAGS" = x -o x"$QT_LIBS" = x -o x"$QT_LIBS_NON_GUI" = x; then ++ if test x"$QT_CFLAGS" = x -o [ x"$enable_gui" = xyes -a x"$QT_LIBS" = x ] -o x"$QT_LIBS_NON_GUI" = x; then + AC_MSG_CHECKING(for Qt 6) + AC_MSG_RESULT(no: could not extract one or more compiler flags from Makefile generated by qmake6) + return +@@ -223,7 +233,7 @@ EOT + ac_save_CXXFLAGS="$CXXFLAGS" + ac_save_LIBS="$LIBS" + CXXFLAGS="$STD_CXX $CXXFLAGS $QT_CFLAGS -fPIC" +- LIBS="$LDFLAGS $QT_LIBS" ++ LIBS="$LDFLAGS $QT_LIBS_NON_GUI" + unset ac_cv_qt_compilation + + AC_LINK_IFELSE([AC_LANG_PROGRAM([[ diff --git a/media-video/mkvtoolnix/mkvtoolnix-83.0.ebuild b/media-video/mkvtoolnix/mkvtoolnix-83.0.ebuild new file mode 100644 index 000000000000..393a62599642 --- /dev/null +++ b/media-video/mkvtoolnix/mkvtoolnix-83.0.ebuild @@ -0,0 +1,139 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic multiprocessing qmake-utils xdg + +if [[ ${PV} == *9999 ]] ; then + inherit git-r3 + + EGIT_REPO_URI="https://gitlab.com/mbunkus/mkvtoolnix.git" + EGIT_SUBMODULES=() +else + inherit verify-sig + + SRC_URI=" + https://mkvtoolnix.download/sources/${P}.tar.xz + verify-sig? ( https://mkvtoolnix.download/sources/${P}.tar.xz.sig ) + " + KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" + + VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/mkvtoolnix.asc" +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 dvd gui nls pch test" +RESTRICT="!test? ( test )" + +# check NEWS.md for build system changes entries for boost/libebml/libmatroska +# version requirement updates and other packaging info +RDEPEND=" + app-text/cmark:0= + dev-libs/boost:= + dev-libs/gmp:= + >=dev-libs/libebml-1.4.5:= + >=dev-libs/libfmt-8.0.1:= + >=dev-libs/pugixml-1.11 + >=dev-qt/qtbase-6.2:6[dbus] + media-libs/flac:= + >=media-libs/libmatroska-1.7.1:= + media-libs/libogg + media-libs/libvorbis + sys-libs/zlib + dvd? ( media-libs/libdvdread:= ) + gui? ( + >=dev-qt/qtbase-6.2:6[concurrent,gui,network,widgets] + >=dev-qt/qtmultimedia-6.2:6 + >=dev-qt/qtsvg-6.2:6 + ) +" +DEPEND="${RDEPEND} + >=dev-cpp/nlohmann_json-3.9.1 + >=dev-libs/utfcpp-3.1.2 + test? ( dev-cpp/gtest ) +" +BDEPEND=" + app-text/docbook-xsl-stylesheets + dev-libs/libxslt + dev-ruby/rake + virtual/pkgconfig + nls? ( + sys-devel/gettext + app-text/po4a + ) +" + +if [[ ${PV} != *9999 ]] ; then + BDEPEND+="verify-sig? ( sec-keys/openpgp-keys-mkvtoolnix )" +fi + +PATCHES=( + # https://bugs.gentoo.org/927380 + "${FILESDIR}"/mkvtoolnix-83.0.0-fix-disable-gui.patch +) + +src_prepare() { + default + + if [[ ${PV} == *9999 ]]; then + ./autogen.sh || die + fi + + # bug #692018 + sed -i -e 's/pandoc/diSaBlEd/' ac/pandoc.m4 || die + + eautoreconf + + # remove bundled libs + rm -r lib/{fmt,libebml,libmatroska,nlohmann-json,pugixml,utf8-cpp} || die +} + +src_configure() { + # bug #692322, use system dev-libs/utfcpp + append-cppflags -I"${ESYSROOT}"/usr/include/utf8cpp + + local myeconfargs=( + $(use_enable debug) + $(usex pch "" --disable-precompiled-headers) + $(use_enable gui) + $(use_with dvd dvdread) + $(use_with nls gettext) + #$(use_with nls po4a) + --disable-update-check + --disable-optimization + --with-boost="${ESYSROOT}"/usr + --with-boost-libdir="${ESYSROOT}"/usr/$(get_libdir) + + # Qt (of some version) is always needed, even for non-GUI builds, + # to do e.g. MIME detection. See e.g. bug #844097. + # But most of the Qt deps are conditional on a GUI build. + --with-qmake6="$(qt6_get_bindir)"/qmake + ) + + # Work around bug #904710. + use nls || export ac_cv_path_PO4A= + + 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 + dodoc NEWS.md + doman doc/man/*.1 +} |