[PATCH] multimedia/mp4v2: Fix build with clang
Yuri Pankov
yuri.pankov at gmail.com
Sun Jan 15 18:34:17 UTC 2012
>Submitter-Id: current-users
>Originator: Yuri Pankov
>Organization:
>Confidential: no
>Synopsis: [PATCH] multimedia/mp4v2: Fix build with clang
>Severity: non-critical
>Priority: low
>Category: ports
>Class: change-request
>Release: FreeBSD 10.0-CURRENT amd64
>Environment:
System: FreeBSD spica.xvoid.org 10.0-CURRENT FreeBSD 10.0-CURRENT #1 r230138: Sun Jan 15 20:47:14 MSK
>Description:
Fix build with clang (taken from mp4v2 svn).
Added file(s):
- files/patch-src__bmff__typebmff.cpp
- files/patch-src__itmf__type.cpp
Port maintainer (multimedia at FreeBSD.org) is cc'd.
Generated with FreeBSD Port Tools 0.99
>How-To-Repeat:
>Fix:
--- mp4v2-1.9.1.patch begins here ---
Index: files/patch-src__bmff__typebmff.cpp
===================================================================
RCS file: files/patch-src__bmff__typebmff.cpp
diff -N files/patch-src__bmff__typebmff.cpp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ files/patch-src__bmff__typebmff.cpp 15 Jan 2012 18:32:57 -0000
@@ -0,0 +1,35 @@
+--- ./src/bmff/typebmff.cpp.orig 2009-07-14 03:07:10.000000000 +0400
++++ ./src/bmff/typebmff.cpp 2012-01-15 22:14:12.057757646 +0400
+@@ -23,19 +23,12 @@
+
+ #include "impl.h"
+
+-// VStudio idiocy prevents defining template instanced static data
+-// in a namespace. Workaround it by defining in global scope.
+-// Other platforms will continue to put things in the proper namespace.
+-#if defined( _MSC_VER )
+-using namespace mp4v2::impl::bmff;
+-#else
+-namespace mp4v2 { namespace impl { namespace bmff {
+-#endif
++namespace mp4v2 { namespace impl {
+
+ ///////////////////////////////////////////////////////////////////////////////
+
+ template <>
+-const EnumLanguageCode::Entry EnumLanguageCode::data[] = {
++const bmff::EnumLanguageCode::Entry bmff::EnumLanguageCode::data[] = {
+ { mp4v2::impl::bmff::ILC_AAR, "aar", "Afar" },
+ { mp4v2::impl::bmff::ILC_ABK, "abk", "Abkhazian" },
+ { mp4v2::impl::bmff::ILC_ACE, "ace", "Achinese" },
+@@ -526,9 +519,7 @@
+
+ ///////////////////////////////////////////////////////////////////////////////
+
+-#if defined( _MSC_VER )
+-namespace mp4v2 { namespace impl { namespace bmff {
+-#endif
++namespace bmff {
+
+ ///////////////////////////////////////////////////////////////////////////////
+
Index: files/patch-src__itmf__type.cpp
===================================================================
RCS file: files/patch-src__itmf__type.cpp
diff -N files/patch-src__itmf__type.cpp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ files/patch-src__itmf__type.cpp 15 Jan 2012 18:32:57 -0000
@@ -0,0 +1,80 @@
+--- ./src/itmf/type.cpp.orig 2009-07-14 03:07:08.000000000 +0400
++++ ./src/itmf/type.cpp 2012-01-15 22:14:12.054748862 +0400
+@@ -24,19 +24,12 @@
+
+ #include "impl.h"
+
+-// VStudio idiocy prevents defining template instanced static data
+-// in a namespace. Workaround it by defining in global scope.
+-// Other platforms will continue to put things in the proper namespace.
+-#if defined( _MSC_VER )
+-using namespace mp4v2::impl::itmf;
+-#else
+-namespace mp4v2 { namespace impl { namespace itmf {
+-#endif
++namespace mp4v2 { namespace impl {
+
+ ///////////////////////////////////////////////////////////////////////////////
+
+ template <>
+-const EnumBasicType::Entry EnumBasicType::data[] = {
++const itmf::EnumBasicType::Entry itmf::EnumBasicType::data[] = {
+ { mp4v2::impl::itmf::BT_IMPLICIT, "implicit", "implicit" },
+ { mp4v2::impl::itmf::BT_UTF8, "utf8", "UTF-8" },
+ { mp4v2::impl::itmf::BT_UTF16, "utf16", "UTF-16" },
+@@ -64,7 +57,7 @@
+ ///////////////////////////////////////////////////////////////////////////////
+
+ template <>
+-const EnumGenreType::Entry EnumGenreType::data[] = {
++const itmf::EnumGenreType::Entry itmf::EnumGenreType::data[] = {
+ { mp4v2::impl::itmf::GENRE_BLUES, "blues", "Blues" },
+ { mp4v2::impl::itmf::GENRE_CLASSIC_ROCK, "classicrock", "Classic Rock" },
+ { mp4v2::impl::itmf::GENRE_COUNTRY, "country", "Country" },
+@@ -200,7 +193,7 @@
+ ///////////////////////////////////////////////////////////////////////////////
+
+ template <>
+-const EnumStikType::Entry EnumStikType::data[] = {
++const itmf::EnumStikType::Entry itmf::EnumStikType::data[] = {
+ { mp4v2::impl::itmf::STIK_OLD_MOVIE, "oldmovie", "Movie" },
+ { mp4v2::impl::itmf::STIK_NORMAL, "normal", "Normal" },
+ { mp4v2::impl::itmf::STIK_AUDIOBOOK, "audiobook", "Audio Book" },
+@@ -216,7 +209,7 @@
+ ///////////////////////////////////////////////////////////////////////////////
+
+ template <>
+-const EnumAccountType::Entry EnumAccountType::data[] = {
++const itmf::EnumAccountType::Entry itmf::EnumAccountType::data[] = {
+ { mp4v2::impl::itmf::AT_ITUNES, "itunes", "iTunes" },
+ { mp4v2::impl::itmf::AT_AOL, "aol", "AOL" },
+
+@@ -226,7 +219,7 @@
+ ///////////////////////////////////////////////////////////////////////////////
+
+ template <>
+-const EnumCountryCode::Entry EnumCountryCode::data[] = {
++const itmf::EnumCountryCode::Entry itmf::EnumCountryCode::data[] = {
+ { mp4v2::impl::itmf::CC_USA, "usa", "United States" },
+ { mp4v2::impl::itmf::CC_USA, "fra", "France" },
+ { mp4v2::impl::itmf::CC_DEU, "ger", "Germany" },
+@@ -256,7 +249,7 @@
+ ///////////////////////////////////////////////////////////////////////////////
+
+ template <>
+-const EnumContentRating::Entry EnumContentRating::data[] = {
++const itmf::EnumContentRating::Entry itmf::EnumContentRating::data[] = {
+ { mp4v2::impl::itmf::CR_NONE, "none", "None" },
+ { mp4v2::impl::itmf::CR_CLEAN, "clean", "Clean" },
+ { mp4v2::impl::itmf::CR_EXPLICIT, "explicit", "Explicit" },
+@@ -266,9 +259,7 @@
+
+ ///////////////////////////////////////////////////////////////////////////////
+
+-#if defined( _MSC_VER )
+-namespace mp4v2 { namespace impl { namespace itmf {
+-#endif
++namespace itmf {
+
+ ///////////////////////////////////////////////////////////////////////////////
+
--- mp4v2-1.9.1.patch ends here ---
More information about the freebsd-multimedia
mailing list