[135614] trunk/dports/multimedia/mkvtoolnix

ryandesign at macports.org ryandesign at macports.org
Mon Apr 27 20:41:35 PDT 2015


Revision: 135614
          https://trac.macports.org/changeset/135614
Author:   ryandesign at macports.org
Date:     2015-04-27 20:41:35 -0700 (Mon, 27 Apr 2015)
Log Message:
-----------
mkvtoolnix: update to 7.8.0 (#47578)

Modified Paths:
--------------
    trunk/dports/multimedia/mkvtoolnix/Portfile
    trunk/dports/multimedia/mkvtoolnix/files/patch-clang_errors.diff

Added Paths:
-----------
    trunk/dports/multimedia/mkvtoolnix/files/patch-boost-1.58.diff
    trunk/dports/multimedia/mkvtoolnix/files/patch-src-mkvtoolnix-gui-job_widget-mux_job.cpp.diff

Modified: trunk/dports/multimedia/mkvtoolnix/Portfile
===================================================================
--- trunk/dports/multimedia/mkvtoolnix/Portfile	2015-04-28 03:34:11 UTC (rev 135613)
+++ trunk/dports/multimedia/mkvtoolnix/Portfile	2015-04-28 03:41:35 UTC (rev 135614)
@@ -5,10 +5,10 @@
 PortGroup           muniversal 1.0
 PortGroup           wxWidgets 1.0
 #PortGroup          github 1.0
-#github.setup       mbunkus mkvtoolnix 7.2.0 release-
+#github.setup       mbunkus mkvtoolnix 7.8.0 release-
 
 name                mkvtoolnix
-version             7.2.0
+version             7.8.0
 categories          multimedia
 maintainers         nomaintainer
 license             GPL-2+ LGPL-2.1+
@@ -22,8 +22,8 @@
 master_sites        ${homepage}sources/
 use_xz              yes
 
-checksums           rmd160  2307fa0c56d0cab05787926d5aa7f3007e5badda \
-                    sha256  613fc364e6afad2163bc1b65259e6d4b0a9327b9634b1cd366916ce1cf68f5ae
+checksums           rmd160  d4b0846ca28487b9112d0e35332808af300c5434 \
+                    sha256  4ea13a75db2170944e95e180aaab97e3f0d42c04d88a0d4baadacd554248fe54
 
 wxWidgets.use       wxWidgets-3.0
 
@@ -31,8 +31,6 @@
 set version_ruby_mp [join [split $version_ruby "."] ""]
 
 depends_build       port:pkgconfig \
-                    port:libebml \
-                    port:libmatroska \
                     port:ruby${version_ruby_mp}
 
 depends_lib         port:boost \
@@ -42,6 +40,8 @@
                     port:file \
                     port:flac \
                     port:gettext \
+                    port:libebml \
+                    port:libmatroska \
                     port:libogg \
                     port:libvorbis \
                     port:lzo2 \
@@ -52,6 +52,8 @@
 
 # patch-clang_errors.diff: https://trac.macports.org/ticket/40231
 patchfiles          patch-ruby.diff \
+                    patch-boost-1.58.diff \
+                    patch-src-mkvtoolnix-gui-job_widget-mux_job.cpp.diff \
                     patch-clang_errors.diff
 
 platform darwin {

Added: trunk/dports/multimedia/mkvtoolnix/files/patch-boost-1.58.diff
===================================================================
--- trunk/dports/multimedia/mkvtoolnix/files/patch-boost-1.58.diff	                        (rev 0)
+++ trunk/dports/multimedia/mkvtoolnix/files/patch-boost-1.58.diff	2015-04-28 03:41:35 UTC (rev 135614)
@@ -0,0 +1,315 @@
+Fix build with boost 1.58
+https://github.com/mbunkus/mkvtoolnix/issues/1172
+https://github.com/mbunkus/mkvtoolnix/commit/df0df0f83b2dceb390945c9393621f1c11c466d0
+--- lib/boost/utf8_codecvt_facet/utf8_codecvt_facet.cpp.orig	2015-03-27 08:26:26.000000000 -0500
++++ lib/boost/utf8_codecvt_facet/utf8_codecvt_facet.cpp	2015-04-27 18:03:26.000000000 -0500
+@@ -10,7 +10,7 @@
+ // Please see the comments in <boost/detail/utf8_codecvt_facet.hpp> to
+ // learn how this file should be used.
+ 
+-#include <boost/detail/utf8_codecvt_facet.hpp>
++#include "utf8_codecvt_facet.hpp"
+ 
+ #include <cstdlib> // for multi-byte converson routines
+ #include <cassert>
+@@ -171,14 +171,13 @@
+ // How many char objects can I process to get <= max_limit
+ // wchar_t objects?
+ int utf8_codecvt_facet::do_length(
+-    BOOST_CODECVT_DO_LENGTH_CONST std::mbstate_t &,
++    const std::mbstate_t &,
+     const char * from,
+     const char * from_end, 
+     std::size_t max_limit
+-#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600))
+-) const throw()
+-#else
+ ) const
++#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600))
++        throw()
+ #endif
+ { 
+     // RG - this code is confusing!  I need a better way to express it.
+@@ -217,9 +216,9 @@
+     else if (0xf8 <= lead_octet && lead_octet <= 0xfb) return 5;
+     else return 6;
+ }
+-BOOST_UTF8_END_NAMESPACE
+ 
+-namespace {
++namespace detail {
++
+ template<std::size_t s>
+ int get_cont_octet_out_count_impl(wchar_t word){
+     if (word < 0x80) {
+@@ -270,15 +269,14 @@
+ #endif
+ }
+ 
+-} // namespace anonymous
++} // namespace detail
+ 
+-BOOST_UTF8_BEGIN_NAMESPACE
+ // How many "continuing octets" will be needed for this word
+ // ==   total octets - 1.
+ int utf8_codecvt_facet::get_cont_octet_out_count(
+     wchar_t word
+ ) const {
+-    return get_cont_octet_out_count_impl<sizeof(wchar_t)>(word);
++    return detail::get_cont_octet_out_count_impl<sizeof(wchar_t)>(word);
+ }
+ BOOST_UTF8_END_NAMESPACE
+ 
+--- /dev/null
++++ lib/boost/utf8_codecvt_facet/utf8_codecvt_facet.hpp	2015-04-27 18:03:26.000000000 -0500
+@@ -0,0 +1,214 @@
++// Copyright (c) 2001 Ronald Garcia, Indiana University (garcia at osl.iu.edu)
++// Andrew Lumsdaine, Indiana University (lums at osl.iu.edu).
++// Distributed under the Boost Software License, Version 1.0. (See accompany-
++// ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
++
++#ifndef BOOST_UTF8_CODECVT_FACET_HPP
++#define BOOST_UTF8_CODECVT_FACET_HPP
++
++// MS compatible compilers support #pragma once
++#if defined(_MSC_VER) && (_MSC_VER >= 1020)
++# pragma once
++#endif
++
++/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
++// utf8_codecvt_facet.hpp
++
++// This header defines class utf8_codecvt_facet, derived from
++// std::codecvt<wchar_t, char>, which can be used to convert utf8 data in
++// files into wchar_t strings in the application.
++//
++// The header is NOT STANDALONE, and is not to be included by the USER.
++// There are at least two libraries which want to use this functionality, and
++// we want to avoid code duplication. It would be possible to create utf8
++// library, but:
++// - this requires review process first
++// - in the case, when linking the a library which uses utf8
++//   (say 'program_options'), user should also link to the utf8 library.
++//   This seems inconvenient, and asking a user to link to an unrevieved
++//   library is strange.
++// Until the above points are fixed, a library which wants to use utf8 must:
++// - include this header in one of it's headers or sources
++// - include the corresponding boost/detail/utf8_codecvt_facet.ipp file in one
++//   of its sources
++// - before including either file, the library must define
++//   - BOOST_UTF8_BEGIN_NAMESPACE to the namespace declaration that must be used
++//   - BOOST_UTF8_END_NAMESPACE to the code to close the previous namespace
++//     declaration.
++//   - BOOST_UTF8_DECL -- to the code which must be used for all 'exportable'
++//     symbols.
++//
++// For example, program_options library might contain:
++//    #define BOOST_UTF8_BEGIN_NAMESPACE <backslash character>
++//             namespace boost { namespace program_options {
++//    #define BOOST_UTF8_END_NAMESPACE }}
++//    #define BOOST_UTF8_DECL BOOST_PROGRAM_OPTIONS_DECL
++//    #include <boost/detail/utf8_codecvt_facet.ipp>
++//
++// Essentially, each library will have its own copy of utf8 code, in
++// different namespaces.
++
++// Note:(Robert Ramey).  I have made the following alterations in the original
++// code.
++// a) Rendered utf8_codecvt<wchar_t, char>  with using templates
++// b) Move longer functions outside class definition to prevent inlining
++// and make code smaller
++// c) added on a derived class to permit translation to/from current
++// locale to utf8
++
++//  See http://www.boost.org for updates, documentation, and revision history.
++
++// archives stored as text - note these ar templated on the basic
++// stream templates to accommodate wide (and other?) kind of characters
++//
++// note the fact that on libraries without wide characters, ostream is
++// is not a specialization of basic_ostream which in fact is not defined
++// in such cases.   So we can't use basic_ostream<OStream::char_type> but rather
++// use two template parameters
++//
++// utf8_codecvt_facet
++//   This is an implementation of a std::codecvt facet for translating
++//   from UTF-8 externally to UCS-4.  Note that this is not tied to
++//   any specific types in order to allow customization on platforms
++//   where wchar_t is not big enough.
++//
++// NOTES:  The current implementation jumps through some unpleasant hoops in
++// order to deal with signed character types.  As a std::codecvt_base::result,
++// it is necessary  for the ExternType to be convertible to unsigned  char.
++// I chose not to tie the extern_type explicitly to char. But if any combination
++// of types other than <wchar_t,char_t> is used, then std::codecvt must be
++// specialized on those types for this to work.
++
++#include <locale>
++#include <cwchar>   // for mbstate_t
++#include <cstddef>  // for std::size_t
++
++#include <boost/config.hpp>
++#include <boost/detail/workaround.hpp>
++
++#if defined(BOOST_NO_STDC_NAMESPACE)
++namespace std {
++    using ::mbstate_t;
++    using ::size_t;
++}
++#endif
++
++// maximum lenght of a multibyte string
++#define MB_LENGTH_MAX 8
++
++BOOST_UTF8_BEGIN_NAMESPACE
++
++//----------------------------------------------------------------------------//
++//                                                                            //
++//                          utf8_codecvt_facet                                //
++//                                                                            //
++//            See utf8_codecvt_facet.ipp for the implementation.              //
++//----------------------------------------------------------------------------//
++
++
++struct BOOST_UTF8_DECL utf8_codecvt_facet :
++    public std::codecvt<wchar_t, char, std::mbstate_t>
++{
++public:
++    explicit utf8_codecvt_facet(std::size_t no_locale_manage=0)
++        : std::codecvt<wchar_t, char, std::mbstate_t>(no_locale_manage)
++    {}
++protected:
++    virtual std::codecvt_base::result do_in(
++        std::mbstate_t& state,
++        const char * from,
++        const char * from_end,
++        const char * & from_next,
++        wchar_t * to,
++        wchar_t * to_end,
++        wchar_t*& to_next
++    ) const;
++
++    virtual std::codecvt_base::result do_out(
++        std::mbstate_t & state,
++        const wchar_t * from,
++        const wchar_t * from_end,
++        const wchar_t*  & from_next,
++        char * to,
++        char * to_end,
++        char * & to_next
++    ) const;
++
++    bool invalid_continuing_octet(unsigned char octet_1) const {
++        return (octet_1 < 0x80|| 0xbf< octet_1);
++    }
++
++    bool invalid_leading_octet(unsigned char octet_1)   const {
++        return (0x7f < octet_1 && octet_1 < 0xc0) ||
++            (octet_1 > 0xfd);
++    }
++
++    // continuing octets = octets except for the leading octet
++    static unsigned int get_cont_octet_count(unsigned char lead_octet) {
++        return get_octet_count(lead_octet) - 1;
++    }
++
++    static unsigned int get_octet_count(unsigned char lead_octet);
++
++    // How many "continuing octets" will be needed for this word
++    // ==   total octets - 1.
++    int get_cont_octet_out_count(wchar_t word) const ;
++
++    virtual bool do_always_noconv() const BOOST_NOEXCEPT_OR_NOTHROW {
++        return false;
++    }
++
++    // UTF-8 isn't really stateful since we rewind on partial conversions
++    virtual std::codecvt_base::result do_unshift(
++        std::mbstate_t&,
++        char * from,
++        char * /*to*/,
++        char * & next
++    ) const {
++        next = from;
++        return ok;
++    }
++
++    virtual int do_encoding() const BOOST_NOEXCEPT_OR_NOTHROW {
++        const int variable_byte_external_encoding=0;
++        return variable_byte_external_encoding;
++    }
++
++    // How many char objects can I process to get <= max_limit
++    // wchar_t objects?
++    virtual int do_length(
++        const std::mbstate_t &,
++        const char * from,
++        const char * from_end,
++        std::size_t max_limit
++    ) const
++#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600))
++    throw()
++#endif
++    ;
++    virtual int do_length(
++        std::mbstate_t & s,
++        const char * from,
++        const char * from_end,
++        std::size_t max_limit
++    ) const
++#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600))
++    throw()
++#endif
++    {
++        return do_length(
++            const_cast<const std::mbstate_t &>(s),
++            from,
++            from_end,
++            max_limit
++        );
++    }
++    // Largest possible value do_length(state,from,from_end,1) could return.
++    virtual int do_max_length() const BOOST_NOEXCEPT_OR_NOTHROW {
++        return 6; // largest UTF-8 encoding of a UCS-4 character
++    }
++};
++
++BOOST_UTF8_END_NAMESPACE
++
++#endif // BOOST_UTF8_CODECVT_FACET_HPP
+--- src/common/utf8_codecvt_facet.cpp.orig	2015-03-27 08:26:26.000000000 -0500
++++ src/common/utf8_codecvt_facet.cpp	2015-04-27 18:03:26.000000000 -0500
+@@ -11,13 +11,10 @@
+ # define BOOST_SYSTEM_NO_DEPRECATED
+ #endif
+ 
+-#define BOOST_FILESYSTEM_SOURCE
+-#include <boost/filesystem/config.hpp>
+-
+ #define BOOST_UTF8_BEGIN_NAMESPACE namespace mtx {
+ 
+ #define BOOST_UTF8_END_NAMESPACE }
+-#define BOOST_UTF8_DECL BOOST_FILESYSTEM_DECL
++#define BOOST_UTF8_DECL
+ 
+ #include "../../lib/boost/utf8_codecvt_facet/utf8_codecvt_facet.cpp"
+ 
+--- src/common/utf8_codecvt_facet.h.orig	2015-03-27 08:26:26.000000000 -0500
++++ src/common/utf8_codecvt_facet.h	2015-04-27 18:03:26.000000000 -0500
+@@ -7,14 +7,12 @@
+ #ifndef MTX_COMMON_UTF8_FILECVT_FACET_H
+ #define MTX_COMMON_UTF8_FILECVT_FACET_H
+ 
+-#include <boost/filesystem/config.hpp>
+-
+ #define BOOST_UTF8_BEGIN_NAMESPACE namespace mtx {
+ 
+ #define BOOST_UTF8_END_NAMESPACE }
+-#define BOOST_UTF8_DECL BOOST_FILESYSTEM_DECL
++#define BOOST_UTF8_DECL
+ 
+-#include <boost/detail/utf8_codecvt_facet.hpp>
++#include "../../lib/boost/utf8_codecvt_facet/utf8_codecvt_facet.hpp"
+ 
+ #undef BOOST_UTF8_BEGIN_NAMESPACE
+ #undef BOOST_UTF8_END_NAMESPACE

Modified: trunk/dports/multimedia/mkvtoolnix/files/patch-clang_errors.diff
===================================================================
--- trunk/dports/multimedia/mkvtoolnix/files/patch-clang_errors.diff	2015-04-28 03:34:11 UTC (rev 135613)
+++ trunk/dports/multimedia/mkvtoolnix/files/patch-clang_errors.diff	2015-04-28 03:41:35 UTC (rev 135614)
@@ -1,3 +1,4 @@
+Fix https://github.com/mbunkus/mkvtoolnix/issues/1175
 --- src/common/command_line.cpp.orig
 +++ src/common/command_line.cpp
 @@ -291,6 +291,7 @@ handle_common_cli_args(std::vector<std::string> &args,
@@ -16,6 +17,7 @@
  
      else
        ++i;
+Fix https://github.com/mbunkus/mkvtoolnix/issues/1176
 --- src/common/version.cpp.orig
 +++ src/common/version.cpp
 @@ -228,7 +228,7 @@ get_latest_release_version() {

Added: trunk/dports/multimedia/mkvtoolnix/files/patch-src-mkvtoolnix-gui-job_widget-mux_job.cpp.diff
===================================================================
--- trunk/dports/multimedia/mkvtoolnix/files/patch-src-mkvtoolnix-gui-job_widget-mux_job.cpp.diff	                        (rev 0)
+++ trunk/dports/multimedia/mkvtoolnix/files/patch-src-mkvtoolnix-gui-job_widget-mux_job.cpp.diff	2015-04-28 03:41:35 UTC (rev 135614)
@@ -0,0 +1,12 @@
+Include iostream
+https://github.com/mbunkus/mkvtoolnix/commit/df0df0f83b2dceb390945c9393621f1c11c466d0
+--- src/mkvtoolnix-gui/job_widget/mux_job.cpp.orig	2015-03-27 08:26:26.000000000 -0500
++++ src/mkvtoolnix-gui/job_widget/mux_job.cpp	2015-04-27 18:03:26.000000000 -0500
+@@ -1,5 +1,7 @@
+ #include "common/common_pch.h"
+ 
++#include <iostream>
++
+ #include <QRegularExpression>
+ #include <QSettings>
+ #include <QStringList>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20150427/c4636ea4/attachment-0001.html>


More information about the macports-changes mailing list