diff options
| -rw-r--r-- | media-video/mkvtoolnix/Manifest | 1 | ||||
| -rw-r--r-- | media-video/mkvtoolnix/files/mkvtoolnix-67.0.0-no-uic-qtwidgets.patch | 76 | ||||
| -rw-r--r-- | media-video/mkvtoolnix/mkvtoolnix-67.0.0.ebuild | 126 |
3 files changed, 203 insertions, 0 deletions
diff --git a/media-video/mkvtoolnix/Manifest b/media-video/mkvtoolnix/Manifest index 55b203cc0880..696b51f30dc3 100644 --- a/media-video/mkvtoolnix/Manifest +++ b/media-video/mkvtoolnix/Manifest @@ -2,3 +2,4 @@ DIST mkvtoolnix-57.0.0.tar.xz 7635780 BLAKE2B e0253dc0f48b0c98ee30590560daecbb7c DIST mkvtoolnix-60.0.0.tar.xz 7657960 BLAKE2B 094c13ac7e73e79f3cc7eae0768625482c4808a4323239a93de34d1406583bfe676d71855dd1f7eae9a8a0ff0a7badf50c04c71f9d2fbb4afd9ff5f05b9353ea SHA512 90bbb95c3a7a91bd47f76aaec9459a1f6f26a381ff03db1047c0fdb41cb87bdd96160c448152357a2b306adbd26f478112ac5d5e8215ee37331a15fc89fa43c3 DIST mkvtoolnix-61.0.0.tar.xz 7662500 BLAKE2B de9d73658fe779b34b21fded8e6676b76fed5ce5ecd598aeff12e8c4f120353f63413f260bacc30c0a102a4eb6d4b907feaabdd84d80d20469a3ae8341bce5f1 SHA512 9f35b5af8784eb4b92b437f41b5df677aa7fc859827eaef4d0e2d8531ad9908331f70a852c7e6e965a5f8cec47b38c6c91b8fbdbcaee0edca54f8cbb000ba582 DIST mkvtoolnix-64.0.0.tar.xz 7700012 BLAKE2B f0c64786fdc3d05915650a08ca398dc7f5356b9a9ce9cb108fb40a4394a7518dd45143717fde7af1dccd3e7e43d343f81d69633c78f1201670924257529baede SHA512 252fdf0a9497d34f2a407ca0d3e584d1cd5a2f566b793a3a6b9af8473855d89e55ce79a8b4aff71d5a25f7a15ca991f84a3c4441168553af9feffdfe75e19844 +DIST mkvtoolnix-67.0.0.tar.xz 7791720 BLAKE2B 815172f1e120d90ec33cbc6dac1bb3aad793edc0b629f0bab9400a0732d3b692f983d7eca82c61c453ccd245dea948d0950bcb357e3104d2012554871e09c80c SHA512 eed390cb305b5fcaddf11d68a9021f9ddc22a62d1eb95f4c0a34161a7662dd62495c87193a2d951f0fe30fb9a6b5b93f06ed7fedc24ed674da531f2c2317c997 diff --git a/media-video/mkvtoolnix/files/mkvtoolnix-67.0.0-no-uic-qtwidgets.patch b/media-video/mkvtoolnix/files/mkvtoolnix-67.0.0-no-uic-qtwidgets.patch new file mode 100644 index 000000000000..a5f5fd2009b8 --- /dev/null +++ b/media-video/mkvtoolnix/files/mkvtoolnix-67.0.0-no-uic-qtwidgets.patch @@ -0,0 +1,76 @@ +https://bugs.gentoo.org/844097 + +We should only check for UIC (provided by qtwidgets) if we're building the GUI. + +Qt (just qtcore) itself is *always* needed to build mkvtoolnix (it's used +for e.g. MIME type detection since 59.0.0), but the rest of Qt +(like qtwidgets) is only needed for the GUI build. + +The build system incorrectly unconditionally checks for UIC. We fix it here +to only check for it when doing a GUI build. + +First hunk (ac/qt5.m4, removing UIC check): Signed-off-by: Duane Robertson duane@duanerobertson.com +Second hunk (rest, adding UIC check conditional on enable_gui): Signed-off-by: Sam James <sam@gentoo.org> +--- a/ac/qt5.m4 ++++ b/ac/qt5.m4 +@@ -51,7 +51,6 @@ check_qt5() { + AC_PATH_PROG(LCONVERT, lconvert,, [$qt_searchpath]) + AC_PATH_PROG(MOC, moc,, [$qt_searchpath]) + AC_PATH_PROG(RCC, rcc,, [$qt_searchpath]) +- AC_PATH_PROG(UIC, uic,, [$qt_searchpath]) + + if test x"$MOC" = x; then + AC_MSG_CHECKING(for Qt 5) +@@ -62,11 +61,6 @@ check_qt5() { + AC_MSG_CHECKING(for Qt 5) + AC_MSG_RESULT(no: could not find the rcc executable) + return +- +- elif test x"$UIC" = x; then +- AC_MSG_CHECKING(for Qt 5) +- AC_MSG_RESULT(no: could not find the uic executable) +- return + fi + + + +--- a/ac/qt_common.m4 ++++ b/ac/qt_common.m4 +@@ -5,6 +5,37 @@ fi + if test x"$enable_gui" = xyes; then + BUILD_GUI=yes + ++ # Copied from ac/qt6.m4. ++ qmake_properties="`mktemp`" ++ ++ "$QMAKE" -query > "$qmake_properties" ++ ++ qmake_ver="`$ac_cv_path_EGREP '^QT_VERSION:' "$qmake_properties" | sed 's/^QT_VERSION://'`" ++ ++ AC_MSG_CHECKING(for qmake's version) ++ if test -z "qmake_ver"; then ++ AC_MSG_RESULT(unknown; please contact the author) ++ return ++ elif ! check_version $qt_min_ver $qmake_ver; then ++ AC_MSG_RESULT(too old: $qmake_ver, neet at least $qt_mIN-ver) ++ return ++ else ++ AC_MSG_RESULT($qmake_ver) ++ fi ++ ++ qt_bindir="`$ac_cv_path_EGREP '^QT_INSTALL_BINS:' "$qmake_properties" | sed 's/^QT_INSTALL_BINS://'`" ++ qt_libexecdir="`$ac_cv_path_EGREP '^QT_INSTALL_LIBEXECS:' "$qmake_properties" | sed 's/^QT_INSTALL_LIBEXECS://'`" ++ qt_searchpath="$qt_libexecdir:$qt_bindir:$PATH" ++ ++ rm -f "$qmake_properties" ++ ++ AC_PATH_PROG(UIC, uic,, [$qt_searchpath]) ++ if test x"$UIC" = x; then ++ AC_MSG_CHECKING(for Qt 5 UIC (qtwidgets)) ++ AC_MSG_RESULT(no: could not find the uic executable) ++ exit 1 ++ fi ++ + if test x"$have_qt6" = "xyes" ; then + opt_features_yes="$opt_features_yes\n * MKVToolNix GUI (with Qt 6)" + else diff --git a/media-video/mkvtoolnix/mkvtoolnix-67.0.0.ebuild b/media-video/mkvtoolnix/mkvtoolnix-67.0.0.ebuild new file mode 100644 index 000000000000..e228b9bbe6b3 --- /dev/null +++ b/media-video/mkvtoolnix/mkvtoolnix-67.0.0.ebuild @@ -0,0 +1,126 @@ +# Copyright 1999-2022 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 + EGIT_REPO_URI="https://gitlab.com/mbunkus/mkvtoolnix.git" + EGIT_SUBMODULES=() + 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="dbus 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=" + >=dev-libs/boost-1.66:= + dev-libs/gmp:= + >=dev-libs/libebml-1.4.2:= + >=dev-libs/libfmt-8.0.1:= + >=dev-libs/pugixml-1.11:= + media-libs/flac:= + >=media-libs/libmatroska-1.6.3:= + media-libs/libogg:= + media-libs/libvorbis:= + sys-libs/zlib + dvd? ( media-libs/libdvdread:= ) + dev-qt/qtcore:5 + gui? ( + dev-qt/qtgui:5 + dev-qt/qtnetwork:5 + dev-qt/qtwidgets:5 + dev-qt/qtconcurrent:5 + dev-qt/qtmultimedia:5 + ) + app-text/cmark:0= + dbus? ( dev-qt/qtdbus:5 ) +" +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 + ) +" + +PATCHES=( + "${FILESDIR}"/mkvtoolnix-58.0.0-qt5dbus.patch + "${FILESDIR}"/mkvtoolnix-67.0.0-no-uic-qtwidgets.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 dbus) + $(use_enable gui) + --disable-qt6 + --enable-qt5 + --with-qmake="$(qt5_get_bindir)"/qmake + $(use_with dvd dvdread) + $(use_with nls gettext) + $(usex nls "" --with-po4a-translate=false) + --disable-update-check + --disable-optimization + --with-boost="${ESYSROOT}"/usr + --with-boost-libdir="${ESYSROOT}"/usr/$(get_libdir) + ) + + 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 +} |
