Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 15 Jan 2012 22:34:15 +0400 (MSK)
From:      Yuri Pankov <yuri.pankov@gmail.com>
To:        FreeBSD-gnats-submit@freebsd.org
Cc:        multimedia@freebsd.org
Subject:   [PATCH] multimedia/mp4v2: Fix build with clang
Message-ID:  <201201151834.q0FIYF05077693@spica.xvoid.org>

next in thread | raw e-mail | index | archive | help

>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@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 ---




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201201151834.q0FIYF05077693>