diff --git a/srcpkgs/mkvtoolnix/patches/8383780e4ad9bc3e475f06e9485486b8b7d993d3.patch b/srcpkgs/mkvtoolnix/patches/8383780e4ad9bc3e475f06e9485486b8b7d993d3.patch new file mode 100644 index 00000000000..eae629818cf --- /dev/null +++ b/srcpkgs/mkvtoolnix/patches/8383780e4ad9bc3e475f06e9485486b8b7d993d3.patch @@ -0,0 +1,75 @@ +From 8383780e4ad9bc3e475f06e9485486b8b7d993d3 Mon Sep 17 00:00:00 2001 +From: Moritz Bunkus +Date: Sat, 15 Dec 2018 19:20:49 +0100 +Subject: [PATCH] fix compilation with Boost 1.69.0 + +In 1.69.0 the `boost::tribool` class's `operator bool` was made +explicit. This means that using a `boost::tribool` as the return value +in a function returning a `bool` requires an explicit cast. + +Fixes #2460. +--- + NEWS.md | 5 +++++ + src/common/debugging.h | 2 +- + src/input/r_matroska.cpp | 2 +- + src/output/p_avc_es.cpp | 2 +- + 4 files changed, 8 insertions(+), 3 deletions(-) + +diff --git a/NEWS.md b/NEWS.md +index dcc24e3e9..94e1ddcec 100644 +--- NEWS.md ++++ NEWS.md +@@ -5,6 +5,11 @@ + * MKVToolNix GUI: multiplexer: the predefined split sizes and durations can + now be customized in the preferences. + ++## Bug fixes ++ ++* source code: fixed compilation with Boost 1.69.0 after API-breaking change ++ to the `boost::tribool` class. Fixes #2460. ++ + + # Version 29.0.0 "Like It Or Not" 2018-12-01 + +diff --git a/src/common/debugging.h b/src/common/debugging.h +index 629f07fde..b898e2b72 100644 +--- src/common/debugging.h ++++ src/common/debugging.h +@@ -57,7 +57,7 @@ class debugging_option_c { + if (boost::logic::indeterminate(m_requested)) + m_requested = debugging_c::requested(m_option); + +- return m_requested; ++ return static_cast(m_requested); + } + }; + +diff --git a/src/input/r_matroska.cpp b/src/input/r_matroska.cpp +index 0617d79db..2918b2ea1 100644 +--- src/input/r_matroska.cpp ++++ src/input/r_matroska.cpp +@@ -1684,7 +1684,7 @@ kax_reader_c::set_packetizer_headers(kax_track_t *t) { + PTZR(t->ptzr)->set_track_forced_flag(true); + + if (boost::logic::indeterminate(PTZR(t->ptzr)->m_ti.m_enabled_track)) +- PTZR(t->ptzr)->set_track_enabled_flag(t->enabled_track); ++ PTZR(t->ptzr)->set_track_enabled_flag(static_cast(t->enabled_track)); + + if ((0 != t->track_uid) && !PTZR(t->ptzr)->set_uid(t->track_uid)) + mxwarn(fmt::format(Y("matroska_reader: Could not keep the track UID {0} because it is already allocated for the new file.\n"), t->track_uid)); +diff --git a/src/output/p_avc_es.cpp b/src/output/p_avc_es.cpp +index becdf81d6..ede163dc3 100644 +--- src/output/p_avc_es.cpp ++++ src/output/p_avc_es.cpp +@@ -46,7 +46,7 @@ avc_es_video_packetizer_c(generic_reader_c *p_reader, + set_codec_id(MKV_V_MPEG4_AVC); + + m_parser.set_keep_ar_info(false); +- m_parser.set_fix_bitstream_frame_rate(m_ti.m_fix_bitstream_frame_rate); ++ m_parser.set_fix_bitstream_frame_rate(static_cast(m_ti.m_fix_bitstream_frame_rate)); + + // If no external timestamp file has been specified then mkvmerge + // might have created a factory due to the --default-duration +-- +2.18.1 + diff --git a/srcpkgs/mkvtoolnix/template b/srcpkgs/mkvtoolnix/template index 09ec456c8b7..076c78f0247 100644 --- a/srcpkgs/mkvtoolnix/template +++ b/srcpkgs/mkvtoolnix/template @@ -1,7 +1,7 @@ # Template file for 'mkvtoolnix' pkgname=mkvtoolnix version=29.0.0 -revision=1 +revision=2 build_style=gnu-configure configure_args="--with-docbook-xsl-root=/usr/share/xsl/docbook --enable-qt" hostmakedepends="autoconf docbook-xsl libxslt pkg-config ruby"