[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