1 |
commit: e20ef76c972a6bfbb900f5d8c36239013b288cd2 |
2 |
Author: Sam James <sam <AT> gentoo <DOT> org> |
3 |
AuthorDate: Wed May 18 02:07:08 2022 +0000 |
4 |
Commit: Sam James <sam <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed May 18 02:07:45 2022 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e20ef76c |
7 |
|
8 |
media-video/mkvtoolnix: add 67.0.0 |
9 |
|
10 |
Quoting same comments I put in the patch: |
11 |
""" |
12 |
We should only check for UIC (provided by qtwidgets) if we're building the GUI. |
13 |
|
14 |
Qt (just qtcore) itself is *always* needed to build mkvtoolnix (it's used |
15 |
for e.g. MIME type detection since 59.0.0), but the rest of Qt |
16 |
(like qtwidgets) is only needed for the GUI build. |
17 |
|
18 |
The build system incorrectly unconditionally checks for UIC. We fix it here |
19 |
to only check for it when doing a GUI build. |
20 |
|
21 |
First hunk (ac/qt5.m4, removing UIC check): Signed-off-by: Duane Robertson duane <AT> duanerobertson.com |
22 |
Second hunk (rest, adding UIC check conditional on enable_gui): Signed-off-by: Sam James <sam <AT> gentoo.org> |
23 |
""" |
24 |
|
25 |
Closes: https://bugs.gentoo.org/844097 |
26 |
Signed-off-by: Duane Robertson <duane <AT> duanerobertson.com> |
27 |
Signed-off-by: Sam James <sam <AT> gentoo.org> |
28 |
|
29 |
media-video/mkvtoolnix/Manifest | 1 + |
30 |
.../files/mkvtoolnix-67.0.0-no-uic-qtwidgets.patch | 76 +++++++++++++ |
31 |
media-video/mkvtoolnix/mkvtoolnix-67.0.0.ebuild | 126 +++++++++++++++++++++ |
32 |
3 files changed, 203 insertions(+) |
33 |
|
34 |
diff --git a/media-video/mkvtoolnix/Manifest b/media-video/mkvtoolnix/Manifest |
35 |
index 55b203cc0880..696b51f30dc3 100644 |
36 |
--- a/media-video/mkvtoolnix/Manifest |
37 |
+++ b/media-video/mkvtoolnix/Manifest |
38 |
@@ -2,3 +2,4 @@ DIST mkvtoolnix-57.0.0.tar.xz 7635780 BLAKE2B e0253dc0f48b0c98ee30590560daecbb7c |
39 |
DIST mkvtoolnix-60.0.0.tar.xz 7657960 BLAKE2B 094c13ac7e73e79f3cc7eae0768625482c4808a4323239a93de34d1406583bfe676d71855dd1f7eae9a8a0ff0a7badf50c04c71f9d2fbb4afd9ff5f05b9353ea SHA512 90bbb95c3a7a91bd47f76aaec9459a1f6f26a381ff03db1047c0fdb41cb87bdd96160c448152357a2b306adbd26f478112ac5d5e8215ee37331a15fc89fa43c3 |
40 |
DIST mkvtoolnix-61.0.0.tar.xz 7662500 BLAKE2B de9d73658fe779b34b21fded8e6676b76fed5ce5ecd598aeff12e8c4f120353f63413f260bacc30c0a102a4eb6d4b907feaabdd84d80d20469a3ae8341bce5f1 SHA512 9f35b5af8784eb4b92b437f41b5df677aa7fc859827eaef4d0e2d8531ad9908331f70a852c7e6e965a5f8cec47b38c6c91b8fbdbcaee0edca54f8cbb000ba582 |
41 |
DIST mkvtoolnix-64.0.0.tar.xz 7700012 BLAKE2B f0c64786fdc3d05915650a08ca398dc7f5356b9a9ce9cb108fb40a4394a7518dd45143717fde7af1dccd3e7e43d343f81d69633c78f1201670924257529baede SHA512 252fdf0a9497d34f2a407ca0d3e584d1cd5a2f566b793a3a6b9af8473855d89e55ce79a8b4aff71d5a25f7a15ca991f84a3c4441168553af9feffdfe75e19844 |
42 |
+DIST mkvtoolnix-67.0.0.tar.xz 7791720 BLAKE2B 815172f1e120d90ec33cbc6dac1bb3aad793edc0b629f0bab9400a0732d3b692f983d7eca82c61c453ccd245dea948d0950bcb357e3104d2012554871e09c80c SHA512 eed390cb305b5fcaddf11d68a9021f9ddc22a62d1eb95f4c0a34161a7662dd62495c87193a2d951f0fe30fb9a6b5b93f06ed7fedc24ed674da531f2c2317c997 |
43 |
|
44 |
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 |
45 |
new file mode 100644 |
46 |
index 000000000000..a5f5fd2009b8 |
47 |
--- /dev/null |
48 |
+++ b/media-video/mkvtoolnix/files/mkvtoolnix-67.0.0-no-uic-qtwidgets.patch |
49 |
@@ -0,0 +1,76 @@ |
50 |
+https://bugs.gentoo.org/844097 |
51 |
+ |
52 |
+We should only check for UIC (provided by qtwidgets) if we're building the GUI. |
53 |
+ |
54 |
+Qt (just qtcore) itself is *always* needed to build mkvtoolnix (it's used |
55 |
+for e.g. MIME type detection since 59.0.0), but the rest of Qt |
56 |
+(like qtwidgets) is only needed for the GUI build. |
57 |
+ |
58 |
+The build system incorrectly unconditionally checks for UIC. We fix it here |
59 |
+to only check for it when doing a GUI build. |
60 |
+ |
61 |
+First hunk (ac/qt5.m4, removing UIC check): Signed-off-by: Duane Robertson duane@××××××××××××××.com |
62 |
+Second hunk (rest, adding UIC check conditional on enable_gui): Signed-off-by: Sam James <sam@g.o> |
63 |
+--- a/ac/qt5.m4 |
64 |
++++ b/ac/qt5.m4 |
65 |
+@@ -51,7 +51,6 @@ check_qt5() { |
66 |
+ AC_PATH_PROG(LCONVERT, lconvert,, [$qt_searchpath]) |
67 |
+ AC_PATH_PROG(MOC, moc,, [$qt_searchpath]) |
68 |
+ AC_PATH_PROG(RCC, rcc,, [$qt_searchpath]) |
69 |
+- AC_PATH_PROG(UIC, uic,, [$qt_searchpath]) |
70 |
+ |
71 |
+ if test x"$MOC" = x; then |
72 |
+ AC_MSG_CHECKING(for Qt 5) |
73 |
+@@ -62,11 +61,6 @@ check_qt5() { |
74 |
+ AC_MSG_CHECKING(for Qt 5) |
75 |
+ AC_MSG_RESULT(no: could not find the rcc executable) |
76 |
+ return |
77 |
+- |
78 |
+- elif test x"$UIC" = x; then |
79 |
+- AC_MSG_CHECKING(for Qt 5) |
80 |
+- AC_MSG_RESULT(no: could not find the uic executable) |
81 |
+- return |
82 |
+ fi |
83 |
+ |
84 |
+ |
85 |
+ |
86 |
+--- a/ac/qt_common.m4 |
87 |
++++ b/ac/qt_common.m4 |
88 |
+@@ -5,6 +5,37 @@ fi |
89 |
+ if test x"$enable_gui" = xyes; then |
90 |
+ BUILD_GUI=yes |
91 |
+ |
92 |
++ # Copied from ac/qt6.m4. |
93 |
++ qmake_properties="`mktemp`" |
94 |
++ |
95 |
++ "$QMAKE" -query > "$qmake_properties" |
96 |
++ |
97 |
++ qmake_ver="`$ac_cv_path_EGREP '^QT_VERSION:' "$qmake_properties" | sed 's/^QT_VERSION://'`" |
98 |
++ |
99 |
++ AC_MSG_CHECKING(for qmake's version) |
100 |
++ if test -z "qmake_ver"; then |
101 |
++ AC_MSG_RESULT(unknown; please contact the author) |
102 |
++ return |
103 |
++ elif ! check_version $qt_min_ver $qmake_ver; then |
104 |
++ AC_MSG_RESULT(too old: $qmake_ver, neet at least $qt_mIN-ver) |
105 |
++ return |
106 |
++ else |
107 |
++ AC_MSG_RESULT($qmake_ver) |
108 |
++ fi |
109 |
++ |
110 |
++ qt_bindir="`$ac_cv_path_EGREP '^QT_INSTALL_BINS:' "$qmake_properties" | sed 's/^QT_INSTALL_BINS://'`" |
111 |
++ qt_libexecdir="`$ac_cv_path_EGREP '^QT_INSTALL_LIBEXECS:' "$qmake_properties" | sed 's/^QT_INSTALL_LIBEXECS://'`" |
112 |
++ qt_searchpath="$qt_libexecdir:$qt_bindir:$PATH" |
113 |
++ |
114 |
++ rm -f "$qmake_properties" |
115 |
++ |
116 |
++ AC_PATH_PROG(UIC, uic,, [$qt_searchpath]) |
117 |
++ if test x"$UIC" = x; then |
118 |
++ AC_MSG_CHECKING(for Qt 5 UIC (qtwidgets)) |
119 |
++ AC_MSG_RESULT(no: could not find the uic executable) |
120 |
++ exit 1 |
121 |
++ fi |
122 |
++ |
123 |
+ if test x"$have_qt6" = "xyes" ; then |
124 |
+ opt_features_yes="$opt_features_yes\n * MKVToolNix GUI (with Qt 6)" |
125 |
+ else |
126 |
|
127 |
diff --git a/media-video/mkvtoolnix/mkvtoolnix-67.0.0.ebuild b/media-video/mkvtoolnix/mkvtoolnix-67.0.0.ebuild |
128 |
new file mode 100644 |
129 |
index 000000000000..e228b9bbe6b3 |
130 |
--- /dev/null |
131 |
+++ b/media-video/mkvtoolnix/mkvtoolnix-67.0.0.ebuild |
132 |
@@ -0,0 +1,126 @@ |
133 |
+# Copyright 1999-2022 Gentoo Authors |
134 |
+# Distributed under the terms of the GNU General Public License v2 |
135 |
+ |
136 |
+EAPI=8 |
137 |
+ |
138 |
+inherit autotools flag-o-matic multiprocessing qmake-utils xdg |
139 |
+ |
140 |
+if [[ ${PV} == *9999 ]] ; then |
141 |
+ EGIT_REPO_URI="https://gitlab.com/mbunkus/mkvtoolnix.git" |
142 |
+ EGIT_SUBMODULES=() |
143 |
+ inherit git-r3 |
144 |
+else |
145 |
+ SRC_URI="https://mkvtoolnix.download/sources/${P}.tar.xz" |
146 |
+ KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" |
147 |
+fi |
148 |
+ |
149 |
+DESCRIPTION="Tools to create, alter, and inspect Matroska files" |
150 |
+HOMEPAGE="https://mkvtoolnix.download/ https://gitlab.com/mbunkus/mkvtoolnix" |
151 |
+ |
152 |
+LICENSE="GPL-2" |
153 |
+SLOT="0" |
154 |
+IUSE="dbus debug dvd gui nls pch test" |
155 |
+RESTRICT="!test? ( test )" |
156 |
+ |
157 |
+# check NEWS.md for build system changes entries for boost/libebml/libmatroska |
158 |
+# version requirement updates and other packaging info |
159 |
+RDEPEND=" |
160 |
+ >=dev-libs/boost-1.66:= |
161 |
+ dev-libs/gmp:= |
162 |
+ >=dev-libs/libebml-1.4.2:= |
163 |
+ >=dev-libs/libfmt-8.0.1:= |
164 |
+ >=dev-libs/pugixml-1.11:= |
165 |
+ media-libs/flac:= |
166 |
+ >=media-libs/libmatroska-1.6.3:= |
167 |
+ media-libs/libogg:= |
168 |
+ media-libs/libvorbis:= |
169 |
+ sys-libs/zlib |
170 |
+ dvd? ( media-libs/libdvdread:= ) |
171 |
+ dev-qt/qtcore:5 |
172 |
+ gui? ( |
173 |
+ dev-qt/qtgui:5 |
174 |
+ dev-qt/qtnetwork:5 |
175 |
+ dev-qt/qtwidgets:5 |
176 |
+ dev-qt/qtconcurrent:5 |
177 |
+ dev-qt/qtmultimedia:5 |
178 |
+ ) |
179 |
+ app-text/cmark:0= |
180 |
+ dbus? ( dev-qt/qtdbus:5 ) |
181 |
+" |
182 |
+DEPEND="${RDEPEND} |
183 |
+ >=dev-cpp/nlohmann_json-3.9.1 |
184 |
+ >=dev-libs/utfcpp-3.1.2 |
185 |
+ test? ( dev-cpp/gtest ) |
186 |
+" |
187 |
+BDEPEND=" |
188 |
+ app-text/docbook-xsl-stylesheets |
189 |
+ dev-libs/libxslt |
190 |
+ dev-ruby/rake |
191 |
+ virtual/pkgconfig |
192 |
+ nls? ( |
193 |
+ sys-devel/gettext |
194 |
+ app-text/po4a |
195 |
+ ) |
196 |
+" |
197 |
+ |
198 |
+PATCHES=( |
199 |
+ "${FILESDIR}"/mkvtoolnix-58.0.0-qt5dbus.patch |
200 |
+ "${FILESDIR}"/mkvtoolnix-67.0.0-no-uic-qtwidgets.patch |
201 |
+) |
202 |
+ |
203 |
+src_prepare() { |
204 |
+ default |
205 |
+ |
206 |
+ if [[ ${PV} == *9999 ]]; then |
207 |
+ ./autogen.sh || die |
208 |
+ fi |
209 |
+ |
210 |
+ # bug #692018 |
211 |
+ sed -i -e 's/pandoc/diSaBlEd/' ac/pandoc.m4 || die |
212 |
+ |
213 |
+ eautoreconf |
214 |
+ |
215 |
+ # remove bundled libs |
216 |
+ rm -r lib/{fmt,libebml,libmatroska,nlohmann-json,pugixml,utf8-cpp} || die |
217 |
+} |
218 |
+ |
219 |
+src_configure() { |
220 |
+ # bug #692322, use system dev-libs/utfcpp |
221 |
+ append-cppflags -I"${ESYSROOT}"/usr/include/utf8cpp |
222 |
+ |
223 |
+ local myeconfargs=( |
224 |
+ $(use_enable debug) |
225 |
+ $(usex pch "" --disable-precompiled-headers) |
226 |
+ $(use_enable dbus) |
227 |
+ $(use_enable gui) |
228 |
+ --disable-qt6 |
229 |
+ --enable-qt5 |
230 |
+ --with-qmake="$(qt5_get_bindir)"/qmake |
231 |
+ $(use_with dvd dvdread) |
232 |
+ $(use_with nls gettext) |
233 |
+ $(usex nls "" --with-po4a-translate=false) |
234 |
+ --disable-update-check |
235 |
+ --disable-optimization |
236 |
+ --with-boost="${ESYSROOT}"/usr |
237 |
+ --with-boost-libdir="${ESYSROOT}"/usr/$(get_libdir) |
238 |
+ ) |
239 |
+ |
240 |
+ econf "${myeconfargs[@]}" |
241 |
+} |
242 |
+ |
243 |
+src_compile() { |
244 |
+ rake V=1 -j$(makeopts_jobs) || die |
245 |
+} |
246 |
+ |
247 |
+src_test() { |
248 |
+ rake V=1 -j$(makeopts_jobs) tests:unit || die |
249 |
+ rake V=1 -j$(makeopts_jobs) tests:run_unit || die |
250 |
+} |
251 |
+ |
252 |
+src_install() { |
253 |
+ DESTDIR="${D}" rake -j$(makeopts_jobs) install || die |
254 |
+ |
255 |
+ einstalldocs |
256 |
+ dodoc NEWS.md |
257 |
+ doman doc/man/*.1 |
258 |
+} |