[MacPorts] #47578: mkvtoolnix: upgrade to 7.8.0
#47578: mkvtoolnix: upgrade to 7.8.0 ---------------------+-------------------------------- Reporter: mojca@… | Owner: macports-tickets@… Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: Keywords: | Port: mkvtoolnix ---------------------+-------------------------------- I'm attaching a patch for upgrading `mkvtoolnix` to 7.8.0. I would appreciate if someone on 10.9 or later could test it. (We should probably replace the ruby patches with some `reinplace`.) I wasn't even able to build it with gcc because of {{{ In file included from src/common/utf8_codecvt_facet.cpp:22:0: src/common/../../lib/boost/utf8_codecvt_facet/utf8_codecvt_facet.cpp:174:5: error: 'int mtx::utf8_codecvt_facet::do_length' is not a static member of 'struct mtx::utf8_codecvt_facet' BOOST_CODECVT_DO_LENGTH_CONST std::mbstate_t &, ^ compilation terminated due to -Wfatal-errors. }}} I'll try a `libc++` MP installation next. Please also see #40231. It's not entirely clear to me what's still needed to close that ticket (migrating `libstdc++` users to `libc++` or building against a different instance of `boost` and `icu` is a different issue from fixing `clang` build issues per se). -- Ticket URL: <https://trac.macports.org/ticket/47578> MacPorts <https://www.macports.org/> Ports system for OS X
#47578: mkvtoolnix: upgrade to 7.8.0 -------------------------+-------------------------------- Reporter: mojca@… | Owner: macports-tickets@… Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: mkvtoolnix | -------------------------+-------------------------------- Comment (by ryandesign@…): Replying to [ticket:47578 mojca@…]:
I'm attaching a patch for upgrading `mkvtoolnix` to 7.8.0. I would appreciate if someone on 10.9 or later could test it.
It fails on 10.10: {{{ In file included from src/common/utf8_codecvt_facet.cpp:22: src/common/../../lib/boost/utf8_codecvt_facet/utf8_codecvt_facet.cpp:174:5: fatal error: unknown type name 'BOOST_CODECVT_DO_LENGTH_CONST' BOOST_CODECVT_DO_LENGTH_CONST std::mbstate_t &, ^ 1 error generated. }}} I don't see any occurrences of `BOOST_CODECVT_DO_LENGTH_CONST` in the boost port. Maybe this was removed from boost at some point. -- Ticket URL: <https://trac.macports.org/ticket/47578#comment:1> MacPorts <https://www.macports.org/> Ports system for OS X
#47578: mkvtoolnix: upgrade to 7.8.0 -------------------------+-------------------------------- Reporter: mojca@… | Owner: macports-tickets@… Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: mkvtoolnix | -------------------------+-------------------------------- Comment (by ryandesign@…): `BOOST_CODECVT_DO_LENGTH_CONST` was defined in utf8_codecvt_facet.hpp in boost 1.57.0 but this macro was [https://github.com/boostorg/detail/commit/1fef8494fec86d23e557007343036c3d8a... eliminated] for boost 1.58.0. -- Ticket URL: <https://trac.macports.org/ticket/47578#comment:2> MacPorts <https://www.macports.org/> Ports system for OS X
#47578: mkvtoolnix: upgrade to 7.8.0 -------------------------+-------------------------------- Reporter: mojca@… | Owner: macports-tickets@… Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: mkvtoolnix | -------------------------+-------------------------------- Comment (by ryandesign@…): Here is the [https://github.com/mbunkus/mkvtoolnix/issues/1172 upstream bug report] and the rather larger than expected [https://github.com/mbunkus/mkvtoolnix/commit/df0df0f83b2dceb390945c9393621f1... commit that fixed it] in which they (surprisingly!) decided to include a copy of the old utf8_codecvt_facet.hpp in the mkvtoolnix codebase rather than adapt to the new way. -- Ticket URL: <https://trac.macports.org/ticket/47578#comment:3> MacPorts <https://www.macports.org/> Ports system for OS X
#47578: mkvtoolnix: upgrade to 7.8.0 -------------------------+-------------------------------- Reporter: mojca@… | Owner: macports-tickets@… Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: mkvtoolnix | -------------------------+-------------------------------- Comment (by ryandesign@…): Having incorporated a cleaned-up version of that patch without the extraneous whitespace changes into the port, it then fails with missing libmatroska symbols: {{{ Undefined symbols for architecture x86_64: "libmatroska::KaxCodecDelay::ClassInfos", referenced from: kax_reader_c::read_headers_tracks(mm_io_c*, libebml::EbmlElement*, long long) in libmtxinput.a(r_matroska.o) generic_packetizer_c::set_codec_delay(basic_timecode_c<long long> const&) in libmtxmerge.a(generic_packetizer.o) generic_packetizer_c::set_headers() in libmtxmerge.a(generic_packetizer.o) "libmatroska::KaxSeekPreRoll::ClassInfos", referenced from: kax_reader_c::read_headers_tracks(mm_io_c*, libebml::EbmlElement*, long long) in libmtxinput.a(r_matroska.o) generic_packetizer_c::set_track_seek_pre_roll(basic_timecode_c<long long> const&) in libmtxmerge.a(generic_packetizer.o) generic_packetizer_c::set_headers() in libmtxmerge.a(generic_packetizer.o) "libmatroska::KaxDiscardPadding::ClassInfos", referenced from: cluster_helper_c::render() in libmtxmerge.a(cluster_helper.o) kax_reader_c::process_block_group_common(libmatroska::KaxBlockGroup*, packet_t*) in libmtxinput.a(r_matroska.o) ld: symbol(s) not found for architecture x86_64 }}} I'll see if updating libmatroska will help. -- Ticket URL: <https://trac.macports.org/ticket/47578#comment:4> MacPorts <https://www.macports.org/> Ports system for OS X
#47578: mkvtoolnix: upgrade to 7.8.0 -------------------------+-------------------------- Reporter: mojca@… | Owner: ryandesign@… Type: update | Status: assigned Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: haspatch Port: mkvtoolnix | -------------------------+-------------------------- Changes (by ryandesign@…): * status: new => assigned * keywords: => haspatch * owner: macports-tickets@… => ryandesign@… Comment: Yes, these symbols were added in libmatroska 1.4.1; we had 1.4.0 in MacPorts. Updated libmatroska to 1.4.1 in r135607. Reported this issue to the developers of mkvtoolnix in https://github.com/mbunkus/mkvtoolnix/issues/1177. I will still update libmatroska to 1.4.2 before updating mkvtoolnix, but libmatroska 1.4.2 uses a different build system so I need to investigate that first. -- Ticket URL: <https://trac.macports.org/ticket/47578#comment:5> MacPorts <https://www.macports.org/> Ports system for OS X
#47578: mkvtoolnix: upgrade to 7.8.0 -------------------------+-------------------------- Reporter: mojca@… | Owner: ryandesign@… Type: update | Status: closed Priority: Normal | Milestone: Component: ports | Version: Resolution: fixed | Keywords: haspatch Port: mkvtoolnix | -------------------------+-------------------------- Changes (by ryandesign@…): * status: assigned => closed * cc: ryandesign@… (removed) * resolution: => fixed Comment: Fortunately the build system has moved from manually-created Makefiles to autotools. libmatroska's dependency libebml has been similarly changed. Updated libebml to 1.3.1 in r135609. Updated libmatroska to 1.4.2 in r135612. Updated mkvtoolnix to 7.8.0 in r135614. -- Ticket URL: <https://trac.macports.org/ticket/47578#comment:6> MacPorts <https://www.macports.org/> Ports system for OS X
participants (1)
-
MacPorts