summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-05-18 02:07:08 +0000
committerSam James <sam@gentoo.org>2022-05-18 02:07:45 +0000
commite20ef76c972a6bfbb900f5d8c36239013b288cd2 (patch)
treefbf6db12ca8116f10876b59e0ef16a8bb991c1af /media-video
parentsci-libs/nlopt: new upstream v2.7.1. (diff)
downloadgentoo-e20ef76c972a6bfbb900f5d8c36239013b288cd2.tar.gz
gentoo-e20ef76c972a6bfbb900f5d8c36239013b288cd2.tar.bz2
gentoo-e20ef76c972a6bfbb900f5d8c36239013b288cd2.zip
media-video/mkvtoolnix: add 67.0.0
Quoting same comments I put in the patch: """ 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> """ Closes: https://bugs.gentoo.org/844097 Signed-off-by: Duane Robertson <duane@duanerobertson.com> Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-video')
-rw-r--r--media-video/mkvtoolnix/Manifest1
-rw-r--r--media-video/mkvtoolnix/files/mkvtoolnix-67.0.0-no-uic-qtwidgets.patch76
-rw-r--r--media-video/mkvtoolnix/mkvtoolnix-67.0.0.ebuild126
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
+}