[110028] trunk/dports/multimedia/mkvtoolnix

jeremyhu at macports.org jeremyhu at macports.org
Sat Aug 24 19:00:26 PDT 2013


Revision: 110028
          https://trac.macports.org/changeset/110028
Author:   jeremyhu at macports.org
Date:     2013-08-24 19:00:26 -0700 (Sat, 24 Aug 2013)
Log Message:
-----------
mkvtoolnix: Mavericks fix (from #40231)

Modified Paths:
--------------
    trunk/dports/multimedia/mkvtoolnix/Portfile

Added Paths:
-----------
    trunk/dports/multimedia/mkvtoolnix/files/patch-clang_errors.diff
    trunk/dports/multimedia/mkvtoolnix/files/patch-df750c2.diff

Removed Paths:
-------------
    trunk/dports/multimedia/mkvtoolnix/files/patch-src-common-logger.cpp

Modified: trunk/dports/multimedia/mkvtoolnix/Portfile
===================================================================
--- trunk/dports/multimedia/mkvtoolnix/Portfile	2013-08-25 01:25:35 UTC (rev 110027)
+++ trunk/dports/multimedia/mkvtoolnix/Portfile	2013-08-25 02:00:26 UTC (rev 110028)
@@ -41,21 +41,19 @@
                     port:ruby \
                     port:zlib
 
-# http://lists.freebsd.org/pipermail/freebsd-multimedia/2013-July/014157.html
-patchfiles          patch-src-common-logger.cpp
+patch.pre_args      -p1
+patchfiles          patch-clang_errors.diff
+# Remove when version > 6.3.0 is released
+patchfiles-append   patch-df750c2.diff
 
-# configure complains about gcc < 4.6 and clang
-compiler.whitelist macports-gcc-4.7 macports-gcc-4.8 macports-gcc-4.9
 
 platform darwin {
-    if {${os.major} >= 13} {
-        # This project needs to be updated to build with clang++ against libc++
-        depends_lib
-        depends_run
-        pre-fetch {
-            ui_error "$name does not build on Mavericks or later."
-            error "unsupported platform"
-        }
+    if {${os.major} < 13} {
+        # TODO: Need to link against static versions of boost and icu for this to work right
+        #       See: https://trac.macports.org/ticket/40231
+
+        # configure complains about gcc < 4.6 and clang
+        compiler.whitelist macports-gcc-4.7 macports-gcc-4.8 macports-gcc-4.9
     }
 }
 

Added: trunk/dports/multimedia/mkvtoolnix/files/patch-clang_errors.diff
===================================================================
--- trunk/dports/multimedia/mkvtoolnix/files/patch-clang_errors.diff	                        (rev 0)
+++ trunk/dports/multimedia/mkvtoolnix/files/patch-clang_errors.diff	2013-08-25 02:00:26 UTC (rev 110028)
@@ -0,0 +1,31 @@
+diff -pur mkvtoolnix-6.3.0.orig/src/common/command_line.cpp mkvtoolnix-6.3.0/src/common/command_line.cpp
+--- mkvtoolnix-6.3.0.orig/src/common/command_line.cpp	2013-08-24 18:35:22.000000000 -0400
++++ mkvtoolnix-6.3.0/src/common/command_line.cpp	2013-08-24 18:36:30.000000000 -0400
+@@ -285,6 +285,7 @@ handle_common_cli_args(std::vector<std::
+     } else if ((args[i] == "-h") || (args[i] == "-?") || (args[i] == "--help"))
+       usage();
+ 
++#if 0
+ #if defined(HAVE_CURL_EASY_H)
+     else if (args[i] == "--check-for-updates") {
+       mtx_release_version_t rel = get_latest_release_version();
+@@ -304,6 +305,7 @@ handle_common_cli_args(std::vector<std::
+       mxexit(rel.current_version < rel.latest_source ? 1 : 0);
+     }
+ #endif  // defined(HAVE_CURL_EASY_H)
++#endif
+ 
+     else
+       ++i;
+diff -pur mkvtoolnix-6.3.0.orig/src/common/version.cpp mkvtoolnix-6.3.0/src/common/version.cpp
+--- mkvtoolnix-6.3.0.orig/src/common/version.cpp	2013-08-24 18:35:22.000000000 -0400
++++ mkvtoolnix-6.3.0/src/common/version.cpp	2013-08-24 18:35:43.000000000 -0400
+@@ -220,7 +220,7 @@ get_latest_release_version() {
+     std::stringstream urls;
+     brng::for_each(release.urls, [&](std::pair<std::string, std::string> const &kv) { urls << " " << kv.first << ":" << kv.second; });
+     mxdebug(boost::format("update check: current %1% latest source %2% latest winpre %3% URLs%4%\n")
+-            % release.current_version.to_string() % release.latest_source.to_string() % release.latest_windows_build.to_string() % urls);
++            % release.current_version.to_string() % release.latest_source.to_string() % release.latest_windows_build.to_string() % urls.str());
+   }
+ 
+   return release;

Added: trunk/dports/multimedia/mkvtoolnix/files/patch-df750c2.diff
===================================================================
--- trunk/dports/multimedia/mkvtoolnix/files/patch-df750c2.diff	                        (rev 0)
+++ trunk/dports/multimedia/mkvtoolnix/files/patch-df750c2.diff	2013-08-25 02:00:26 UTC (rev 110028)
@@ -0,0 +1,41 @@
+From df750c28b6f7258dd4c3037e1132c81300b8cdfa Mon Sep 17 00:00:00 2001
+From: Moritz Bunkus <moritz at bunkus.org>
+Date: Sun, 14 Jul 2013 17:25:42 +0200
+Subject: [PATCH] Fix compilation with clang/libc++ on FreeBSD
+
+On FreeBSD the high_resolution_clock is an alias for the steady_clock
+-- which doesn't support converting into time_t. As we only need a
+precision of seconds for outputting timestamps using system_clock
+instead is enough.
+---
+ src/common/logger.cpp | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/common/logger.cpp b/src/common/logger.cpp
+index 7f6e5f2..04251d2 100644
+--- a/src/common/logger.cpp
++++ b/src/common/logger.cpp
+@@ -20,7 +20,7 @@
+ 
+ logger_cptr logger_c::s_default_logger;
+ 
+-static auto s_program_start_time = std::chrono::high_resolution_clock::now();
++static auto s_program_start_time = std::chrono::system_clock::now();
+ 
+ logger_c::logger_c(bfs::path const &file_name)
+   : m_file_name(file_name)
+@@ -41,9 +41,9 @@
+     mm_text_io_c out(new mm_file_io_c(m_file_name.string(), bfs::exists(m_file_name) ? MODE_WRITE : MODE_CREATE));
+     out.setFilePointer(0, seek_end);
+ 
+-    auto now  = std::chrono::high_resolution_clock::now();
++    auto now  = std::chrono::system_clock::now();
+     auto diff = now - s_program_start_time;
+-    auto tnow = std::chrono::high_resolution_clock::to_time_t(now);
++    auto tnow = std::chrono::system_clock::to_time_t(now);
+ 
+     // 2013-03-02 15:42:32
+     char timestamp[30];
+-- 
+1.8.1.6
+

Deleted: trunk/dports/multimedia/mkvtoolnix/files/patch-src-common-logger.cpp
===================================================================
--- trunk/dports/multimedia/mkvtoolnix/files/patch-src-common-logger.cpp	2013-08-25 01:25:35 UTC (rev 110027)
+++ trunk/dports/multimedia/mkvtoolnix/files/patch-src-common-logger.cpp	2013-08-25 02:00:26 UTC (rev 110028)
@@ -1,41 +0,0 @@
---- src/common/logger.cpp.orig	2013-06-27 23:02:44.000000000 +0300
-+++ src/common/logger.cpp	2013-07-14 10:13:25.026646733 +0300
-@@ -12,6 +12,7 @@
- 
- #include <chrono>
- #include <ctime>
-+#include <ciso646>
- 
- #include "common/logger.h"
- #include "common/fs_sys_helpers.h"
-@@ -20,7 +21,11 @@
- 
- logger_cptr logger_c::s_default_logger;
- 
-+#if defined( _LIBCPP_VERSION )
-+static auto s_program_start_time = std::chrono::system_clock::now();
-+#else
- static auto s_program_start_time = std::chrono::high_resolution_clock::now();
-+#endif
- 
- logger_c::logger_c(bfs::path const &file_name)
-   : m_file_name(file_name)
-@@ -41,9 +46,17 @@
-     mm_text_io_c out(new mm_file_io_c(m_file_name.string(), bfs::exists(m_file_name) ? MODE_WRITE : MODE_CREATE));
-     out.setFilePointer(0, seek_end);
- 
--    auto now  = std::chrono::high_resolution_clock::now();
-+    #if defined( _LIBCPP_VERSION )
-+    auto now  = std::chrono::system_clock::now();
-+    #else
-+    auto now  = std::chrono::high_resolution_clock::now();
-+    #endif
-     auto diff = now - s_program_start_time;
-+    #if defined( _LIBCPP_VERSION )
-+    auto tnow = std::chrono::system_clock::to_time_t(now);
-+    #else
-     auto tnow = std::chrono::high_resolution_clock::to_time_t(now);
-+    #endif
- 
-     // 2013-03-02 15:42:32
-     char timestamp[30];
\ No newline at end of file
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20130824/d8778135/attachment.html>


More information about the macports-changes mailing list