forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Closes: https://bugs.gentoo.org/792678 Signed-off-by: Sam James <[email protected]>
- Loading branch information
1 parent
d34f96c
commit 63c3ff1
Showing
2 changed files
with
132 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,131 @@ | ||
# Copyright 1999-2021 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=7 | ||
|
||
inherit autotools flag-o-matic toolchain-funcs 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 nls pch qt5 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.60:= | ||
>=dev-libs/libebml-1.4.0:= | ||
>=dev-libs/libfmt-6.1.0:= | ||
dev-libs/libpcre2:= | ||
dev-libs/pugixml:= | ||
media-libs/flac:= | ||
>=media-libs/libmatroska-1.6.3:= | ||
media-libs/libogg:= | ||
media-libs/libvorbis:= | ||
sys-apps/file | ||
sys-libs/zlib | ||
dvd? ( media-libs/libdvdread:= ) | ||
qt5? ( | ||
dev-qt/qtcore:5 | ||
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 | ||
dev-libs/utfcpp | ||
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-49.0.0-qt5dbus.patch | ||
"${FILESDIR}"/mkvtoolnix-56.1.0-optlevel.patch ) | ||
|
||
src_prepare() { | ||
xdg_src_prepare | ||
if [[ ${PV} == *9999 ]]; then | ||
./autogen.sh || die | ||
fi | ||
|
||
# https://bugs.gentoo.org/692018 | ||
sed -e 's/pandoc/diSaBlEd/' -i 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 qt5 qt) | ||
$(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) | ||
) | ||
|
||
if use qt5 ; then | ||
# ac/qt5.m4 finds default Qt version set by qtchooser, bug #532600 | ||
myeconfargs+=( | ||
--with-moc=$(qt5_get_bindir)/moc | ||
--with-uic=$(qt5_get_bindir)/uic | ||
--with-rcc=$(qt5_get_bindir)/rcc | ||
--with-qmake=$(qt5_get_bindir)/qmake | ||
) | ||
fi | ||
|
||
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 | ||
} |