[csw-devel] SF.net SVN: gar:[8708] csw/mgar/pkg
wahwah at users.sourceforge.net
wahwah at users.sourceforge.net
Sat Feb 20 23:07:17 CET 2010
Revision: 8708
http://gar.svn.sourceforge.net/gar/?rev=8708&view=rev
Author: wahwah
Date: 2010-02-20 22:07:17 +0000 (Sat, 20 Feb 2010)
Log Message:
-----------
protobuf: Initial commit, doesn't build yet.
Modified Paths:
--------------
csw/mgar/pkg/protobuf/trunk/Makefile
csw/mgar/pkg/protobuf/trunk/checksums
Added Paths:
-----------
csw/mgar/pkg/protobuf/
csw/mgar/pkg/protobuf/trunk/files/std-map-2.patch
csw/mgar/pkg/protobuf/trunk/files/std-map-in-google-protobuf-extension_set.cc.patch
csw/mgar/pkg/protobuf/trunk/files/stdint-and-ddi.patch
csw/mgar/pkg/protobuf/trunk/files/stdint-gcc.patch
Modified: csw/mgar/pkg/protobuf/trunk/Makefile
===================================================================
--- csw/mgar/pkg/template/trunk/Makefile 2010-02-13 12:42:13 UTC (rev 8535)
+++ csw/mgar/pkg/protobuf/trunk/Makefile 2010-02-20 22:07:17 UTC (rev 8708)
@@ -2,184 +2,26 @@
# Distributed under the terms of the GNU General Public License v2
# $Id$
-## This file contains comments to guide you through various GAR settings.
-## Please remove unnecessary comments before committing your code to the code
-## repository. The comments to remove are marked with double hashes.
-## If you want to remove them all in-place, use:
-## gsed -i -e '/^##/d' Makefile
-##
-## For more information about GAR variables, please see:
-## https://sourceforge.net/apps/trac/gar/wiki/GAR%20Variable%20Reference
-##
-GARNAME = mypkg
-GARVERSION = 1.0
-##
-## The category that your software fits in. This is not a descriptive field, but
-## influences the build process. Depending on the CATEGORIES setting, different
-## Makefiles are included from gar/categories/ in your trunk directory, which
-## adjust the build settings for the respective category.
-##
-## Possible settings are:
-## apps, cpan, devel, gnome, java, kde, lang, lib, meta, net, python, server,
-## utils, x11, xfce, xorg, xtra
+GARNAME = protobuf
+GARVERSION = 2.3.0
CATEGORIES = lib
-##
-## A one-line description of the package, which will appear in the pkginfo.
-DESCRIPTION = <please fill in>
-##
-## A longer description of the package. This is only for descriptive purposes
-## inside the Makefile and is not used elsewhere.
+DESCRIPTION = encoding structured data in an efficient yet extensible format
define BLURB
- <please fill in>
+ Protocol Buffers are a way of encoding structured data in an efficient yet
+ extensible format. Google uses Protocol Buffers for almost all of its
+ internal RPC protocols and file formats.
endef
-##
-## Upstream URL that should show up in the VENDOR field as well as on
-## http://opencsw.org/packages/<packagename>.
-SPKG_SOURCEURL =
-##
-## Whitespace-separated list of URLs to download the source package from.
-## There are presets: $(SF_MIRRORS), $(GNU_MIRRORS) and $(GOOGLE_MIRROR).
-MASTER_SITES =
-##
-## SF_PROJ is required if you set $(MASTER_SITES) to $(SF_MIRRORS) and the
-## Sourceforge project name differs from $(GARNAME). Specifies the Sourceforge
-## project name of the software you wish to download.
-## SF_PROJ =
-##
-## A list of space separated patch filenames from files/ that are to be applied
-## to the extracted software before the ./configure stage. Patches need to be
-## included in the DISTFILES variable as well.
-## PATCHFILES =
-##
-## Whitespace-separated list of files which comprise this build. mGAR will look
-## for the files in the $(FILEDIR) (trunk/files) directory and on the
-## $(MASTER_SITES).
+PACKAGING_PLATFORMS ?= solaris9-sparc solaris9-i386
+SPKG_SOURCEURL = http://code.google.com/p/protobuf/
+MASTER_SITES = $(GOOGLE_MIRROR)
DISTFILES = $(GARNAME)-$(GARVERSION).tar.gz
-##
-## We define upstream file regex so we can be notifed of new upstream software release
UFILES_REGEX = $(GARNAME)-(\d+(?:\.\d+)*).tar.gz
-##
-## Catalog name is the name to be used with pkg{-get,util} -i <pkgname>.
-## It is different from the system package name, which by convention is CSWpkgname.
-## CATALOGNAME =
-##
-## Set to 1 to mark the package as architecture-independent.
-## ARCHALL = 0
-##
-## A list of files / patterns that should be excluded from the package. Amends
-## the default list of excluded filenames $(MERGE_EXCLUDE_DEFAULT), which
-## contains things like libtool .la files and files with a leading ~.
-## EXTRA_MERGE_EXCLUDE_FILES =
-##
-## A list of space separated package names that should be marked as
-## incompatible with the current package. This will go into the depend file.
-## When a user has one of the incompatible packages installed and installs
-## your package, he will be prompted that the incompatible package must be
-## removed. He will however not be prevented to install your package without
-## removing the conflicting package first.
-## INCOMPATIBLE_PKGS =
-##
-## The name of the license file that should be included in your package. Defaults
-## to COPYING. See http://sourceforge.net/apps/trac/gar/wiki/CopyRightfor details
-## on including and displaying licenses.
-## LICENSE =
-##
-## A list of space separated package names that should be produced from your
-## Makefile. This is used when a software has different components that can be
-## packaged and used individually (think runtime libraries, client tools, server
-## files, development headers). You don't need to set this when you just want to
-## produce one package.
-##
-## When you set this variable to include more than one package, you also need to
-## set PKGFILES_CSWpkgname for each package (except for the first one in your
-## $(PACKAGES) list) to define which files go into each package. The first
-## package from $(PACKAGES) one will hold all files that are not matched by
-## PKGFILES_ for other packages.
-## PACKAGES =
-##
-## If specified, GAR feeds the almost-final package prototype file to
-## $(PROTOTYPE_FILTER) and reads the final package prototype file from it.
-## $(PROTOTYPE_FILTER) is usually a sed/awk/perl one-liner, which was mostly used
-## to prepare the prototype file for use with cswclassutils (see
-## $(SPKG_CLASSES)). Now that there are convenience variables for cswclassutils,
-## you will rarely have to use this. A still valid use case would be to change
-## the file permissions of a file to be set-UID.
-## See http://wiki.opencsw.org/cswclassutils-package for common usage information
-## PROTOTYPE_FILTER =
-##
-## cswclassutils settings
-##
-## A list of action classes. Possible values are:
-## none cswpreserveconf cswcpsampleconf cswpycompile cswusergroup cswinitsmf
-## cswinetd cswetcservices
-## The class 'cswinitsmf' must be the last class listed. When you use cswclassutils,
-## you need to add CSWcswclassutils to RUNTIME_DEP_PKGS.
-## SPKG_CLASSES = none
-## Simplified settings for classes:
-## PRESERVECONF =
-## SAMPLECONF =
-## INITSMF =
-## USERGROUP =
-## ETCSERVICES = <file containing an entry for /etc/services>
-## INETDCONF = <file containing an inetd.conf formatted entry>
-## A list of runtime package dependencies in the form of CSWfoo.
-## RUNTIME_DEP_PKGS =
-##
-## A list of packages necessary to build this package
-## BUILD_DEP_PKGS = $(RUNTIME_DEP_PKGS)
-##
-## When using non-empty $(PACKAGES):
-## RUNTIME_DEP_PKGS_CSWpkgname =
-## SPKG_DESC_CSWpkgname =
-## PKGFILES_CSWpkgname =
-## CATALOGNAME_CSWpkgname =
-##
-## A list of space separated directories where objects should be stripped in
-## addition to the bin/ and sbin/ directories.
-## STRIP_DIRS =
-##
-## Define a custom target for the configure phase. When you set this, the target
-## that will be used instead of configure: target, is named
-## configure-$(CONFIGURE_SCRIPTS) and you will need to define it in your Makefile
-## after including gar/gar.include.mk. If you want to skip the configure phase
-## completely (for example when your software doesn't need to be compiled) assign
-## this variable an empty value. The procedure works for configure, build,
-## install and test steps.
-## CONFIGURE_SCRIPTS =
-## BUILD_SCRIPTS =
-## INSTALL_SCRIPTS =
-## TEST_SCRIPTS =
-##
-## Compilation settings
-##
-## The build directory.
-## WORKSRC = $(WORKDIR)/$(GARNAME)-$(GARVERSION)
-##
-## BUILD_ARGS is passed as an argument to gmake during the build phase. Use this
-## for example, if you need to override Makefile variables.
-## BUILD_ARGS =
-##
-## Arguments passed to the ./configure script.
+PATCHFILES = stdint-and-ddi.patch
+PATCHFILES += std-map-in-google-protobuf-extension_set.cc.patch
+PATCHFILES += stdint-gcc.patch
+PATCHFILES += std-map-2.patch
+LICENSE = COPYING.txt
CONFIGURE_ARGS = $(DIRPATHS)
-##
-## BUILD64 =
-## CONFIGURE_ENV =
-## EXTRA_CFLAGS =
-## EXTRA_LDFLAGS =
-## EXTRA_INC =
-## EXTRA_LIB =
-## GARFLAVOR =
-## INSTALL_ARGS =
-## OPT_FLAGS_SOS = -xO3
-## OPT_FLAGS_GCC = -O2 -pipe
-##
-## The compiler to use. Defaults to SOS11, can be also: SOS12, GCC3, GCC4.
-## GARCOMPILER = SOS11
-##
-# Remove the following rules and uncomment the
-# include before building.
-all: .DEFAULT
-.DEFAULT:
- @true
-
-#include gar/category.mk
+GARCOMPILER = SOS12
+# GARCOMPILER = GNU
+include gar/category.mk
Modified: csw/mgar/pkg/protobuf/trunk/checksums
===================================================================
--- csw/mgar/pkg/template/trunk/checksums 2010-02-13 12:42:13 UTC (rev 8535)
+++ csw/mgar/pkg/protobuf/trunk/checksums 2010-02-20 22:07:17 UTC (rev 8708)
@@ -0,0 +1,5 @@
+65dba2c04923595b6f0a6a44d8106f0a protobuf-2.3.0.tar.gz
+ca4082250f24ec40fbce6993bcfb87cd std-map-2.patch
+603e491e286232a90cf9b378317db9f2 std-map-in-google-protobuf-extension_set.cc.patch
+2c16ccb4bd7120f71d557d2cb9841c42 stdint-and-ddi.patch
+d57e96bdf15bb207ba7df46d83b1a6bd stdint-gcc.patch
Added: csw/mgar/pkg/protobuf/trunk/files/std-map-2.patch
===================================================================
--- csw/mgar/pkg/protobuf/trunk/files/std-map-2.patch (rev 0)
+++ csw/mgar/pkg/protobuf/trunk/files/std-map-2.patch 2010-02-20 22:07:17 UTC (rev 8708)
@@ -0,0 +1,11 @@
+--- protobuf-2.3.0/src/google/protobuf/compiler/command_line_interface.h.orig 2010-02-20 19:04:19.471295716 +0100
++++ protobuf-2.3.0/src/google/protobuf/compiler/command_line_interface.h 2010-02-20 19:05:14.390216481 +0100
+@@ -55,6 +55,8 @@
+
+ namespace compiler {
+
++using std::map;
++
+ class CodeGenerator; // code_generator.h
+ class OutputDirectory; // code_generator.h
+ class DiskSourceTree; // importer.h
Added: csw/mgar/pkg/protobuf/trunk/files/std-map-in-google-protobuf-extension_set.cc.patch
===================================================================
--- csw/mgar/pkg/protobuf/trunk/files/std-map-in-google-protobuf-extension_set.cc.patch (rev 0)
+++ csw/mgar/pkg/protobuf/trunk/files/std-map-in-google-protobuf-extension_set.cc.patch 2010-02-20 22:07:17 UTC (rev 8708)
@@ -0,0 +1,243 @@
+From 69fe78fbe6c50a69eb57d20538e78d73d2abab4a Mon Sep 17 00:00:00 2001
+From: Maciej Blizinski <maciej at opencsw.org>
+Date: Sat, 20 Feb 2010 15:36:34 +0100
+Subject: [PATCH] std::map in google/protobuf/extension_set.cc
+
+---
+ src/google/protobuf/extension_set.cc | 52 +++++++++++++++++-----------------
+ 1 files changed, 26 insertions(+), 26 deletions(-)
+
+diff --git a/src/google/protobuf/extension_set.cc b/src/google/protobuf/extension_set.cc
+index 6084885..2cd66f6 100644
+--- a/src/google/protobuf/extension_set.cc
++++ b/src/google/protobuf/extension_set.cc
+@@ -162,7 +162,7 @@ void ExtensionSet::RegisterMessageExtension(const MessageLite* containing_type,
+ ExtensionSet::ExtensionSet() {}
+
+ ExtensionSet::~ExtensionSet() {
+- for (map<int, Extension>::iterator iter = extensions_.begin();
++ for (std::map<int, Extension>::iterator iter = extensions_.begin();
+ iter != extensions_.end(); ++iter) {
+ iter->second.Free();
+ }
+@@ -174,20 +174,20 @@ ExtensionSet::~ExtensionSet() {
+ // vector<const FieldDescriptor*>* output) const
+
+ bool ExtensionSet::Has(int number) const {
+- map<int, Extension>::const_iterator iter = extensions_.find(number);
++ std::map<int, Extension>::const_iterator iter = extensions_.find(number);
+ if (iter == extensions_.end()) return false;
+ GOOGLE_DCHECK(!iter->second.is_repeated);
+ return !iter->second.is_cleared;
+ }
+
+ int ExtensionSet::ExtensionSize(int number) const {
+- map<int, Extension>::const_iterator iter = extensions_.find(number);
++ std::map<int, Extension>::const_iterator iter = extensions_.find(number);
+ if (iter == extensions_.end()) return false;
+ return iter->second.GetSize();
+ }
+
+ void ExtensionSet::ClearExtension(int number) {
+- map<int, Extension>::iterator iter = extensions_.find(number);
++ std::map<int, Extension>::iterator iter = extensions_.find(number);
+ if (iter == extensions_.end()) return;
+ iter->second.Clear();
+ }
+@@ -215,7 +215,7 @@ enum Cardinality {
+ \
+ LOWERCASE ExtensionSet::Get##CAMELCASE(int number, \
+ LOWERCASE default_value) const { \
+- map<int, Extension>::const_iterator iter = extensions_.find(number); \
++ std::map<int, Extension>::const_iterator iter = extensions_.find(number); \
+ if (iter == extensions_.end() || iter->second.is_cleared) { \
+ return default_value; \
+ } else { \
+@@ -240,7 +240,7 @@ void ExtensionSet::Set##CAMELCASE(int number, FieldType type, \
+ } \
+ \
+ LOWERCASE ExtensionSet::GetRepeated##CAMELCASE(int number, int index) const { \
+- map<int, Extension>::const_iterator iter = extensions_.find(number); \
++ std::map<int, Extension>::const_iterator iter = extensions_.find(number); \
+ GOOGLE_CHECK(iter != extensions_.end()) << "Index out-of-bounds (field is empty)."; \
+ GOOGLE_DCHECK_TYPE(iter->second, REPEATED, UPPERCASE); \
+ return iter->second.repeated_##LOWERCASE##_value->Get(index); \
+@@ -248,7 +248,7 @@ LOWERCASE ExtensionSet::GetRepeated##CAMELCASE(int number, int index) const { \
+ \
+ void ExtensionSet::SetRepeated##CAMELCASE( \
+ int number, int index, LOWERCASE value) { \
+- map<int, Extension>::iterator iter = extensions_.find(number); \
++ std::map<int, Extension>::iterator iter = extensions_.find(number); \
+ GOOGLE_CHECK(iter != extensions_.end()) << "Index out-of-bounds (field is empty)."; \
+ GOOGLE_DCHECK_TYPE(iter->second, REPEATED, UPPERCASE); \
+ iter->second.repeated_##LOWERCASE##_value->Set(index, value); \
+@@ -285,7 +285,7 @@ PRIMITIVE_ACCESSORS( BOOL, bool, Bool)
+ // Enums
+
+ int ExtensionSet::GetEnum(int number, int default_value) const {
+- map<int, Extension>::const_iterator iter = extensions_.find(number);
++ std::map<int, Extension>::const_iterator iter = extensions_.find(number);
+ if (iter == extensions_.end() || iter->second.is_cleared) {
+ // Not present. Return the default value.
+ return default_value;
+@@ -310,14 +310,14 @@ void ExtensionSet::SetEnum(int number, FieldType type, int value,
+ }
+
+ int ExtensionSet::GetRepeatedEnum(int number, int index) const {
+- map<int, Extension>::const_iterator iter = extensions_.find(number);
++ std::map<int, Extension>::const_iterator iter = extensions_.find(number);
+ GOOGLE_CHECK(iter != extensions_.end()) << "Index out-of-bounds (field is empty).";
+ GOOGLE_DCHECK_TYPE(iter->second, REPEATED, ENUM);
+ return iter->second.repeated_enum_value->Get(index);
+ }
+
+ void ExtensionSet::SetRepeatedEnum(int number, int index, int value) {
+- map<int, Extension>::iterator iter = extensions_.find(number);
++ std::map<int, Extension>::iterator iter = extensions_.find(number);
+ GOOGLE_CHECK(iter != extensions_.end()) << "Index out-of-bounds (field is empty).";
+ GOOGLE_DCHECK_TYPE(iter->second, REPEATED, ENUM);
+ iter->second.repeated_enum_value->Set(index, value);
+@@ -345,7 +345,7 @@ void ExtensionSet::AddEnum(int number, FieldType type,
+
+ const string& ExtensionSet::GetString(int number,
+ const string& default_value) const {
+- map<int, Extension>::const_iterator iter = extensions_.find(number);
++ std::map<int, Extension>::const_iterator iter = extensions_.find(number);
+ if (iter == extensions_.end() || iter->second.is_cleared) {
+ // Not present. Return the default value.
+ return default_value;
+@@ -371,14 +371,14 @@ string* ExtensionSet::MutableString(int number, FieldType type,
+ }
+
+ const string& ExtensionSet::GetRepeatedString(int number, int index) const {
+- map<int, Extension>::const_iterator iter = extensions_.find(number);
++ std::map<int, Extension>::const_iterator iter = extensions_.find(number);
+ GOOGLE_CHECK(iter != extensions_.end()) << "Index out-of-bounds (field is empty).";
+ GOOGLE_DCHECK_TYPE(iter->second, REPEATED, STRING);
+ return iter->second.repeated_string_value->Get(index);
+ }
+
+ string* ExtensionSet::MutableRepeatedString(int number, int index) {
+- map<int, Extension>::iterator iter = extensions_.find(number);
++ std::map<int, Extension>::iterator iter = extensions_.find(number);
+ GOOGLE_CHECK(iter != extensions_.end()) << "Index out-of-bounds (field is empty).";
+ GOOGLE_DCHECK_TYPE(iter->second, REPEATED, STRING);
+ return iter->second.repeated_string_value->Mutable(index);
+@@ -404,7 +404,7 @@ string* ExtensionSet::AddString(int number, FieldType type,
+
+ const MessageLite& ExtensionSet::GetMessage(
+ int number, const MessageLite& default_value) const {
+- map<int, Extension>::const_iterator iter = extensions_.find(number);
++ std::map<int, Extension>::const_iterator iter = extensions_.find(number);
+ if (iter == extensions_.end()) {
+ // Not present. Return the default value.
+ return default_value;
+@@ -442,14 +442,14 @@ MessageLite* ExtensionSet::MutableMessage(int number, FieldType type,
+
+ const MessageLite& ExtensionSet::GetRepeatedMessage(
+ int number, int index) const {
+- map<int, Extension>::const_iterator iter = extensions_.find(number);
++ std::map<int, Extension>::const_iterator iter = extensions_.find(number);
+ GOOGLE_CHECK(iter != extensions_.end()) << "Index out-of-bounds (field is empty).";
+ GOOGLE_DCHECK_TYPE(iter->second, REPEATED, MESSAGE);
+ return iter->second.repeated_message_value->Get(index);
+ }
+
+ MessageLite* ExtensionSet::MutableRepeatedMessage(int number, int index) {
+- map<int, Extension>::iterator iter = extensions_.find(number);
++ std::map<int, Extension>::iterator iter = extensions_.find(number);
+ GOOGLE_CHECK(iter != extensions_.end()) << "Index out-of-bounds (field is empty).";
+ GOOGLE_DCHECK_TYPE(iter->second, REPEATED, MESSAGE);
+ return iter->second.repeated_message_value->Mutable(index);
+@@ -488,7 +488,7 @@ MessageLite* ExtensionSet::AddMessage(int number, FieldType type,
+ #undef GOOGLE_DCHECK_TYPE
+
+ void ExtensionSet::RemoveLast(int number) {
+- map<int, Extension>::iterator iter = extensions_.find(number);
++ std::map<int, Extension>::iterator iter = extensions_.find(number);
+ GOOGLE_CHECK(iter != extensions_.end()) << "Index out-of-bounds (field is empty).";
+
+ Extension* extension = &iter->second;
+@@ -529,7 +529,7 @@ void ExtensionSet::RemoveLast(int number) {
+ }
+
+ void ExtensionSet::SwapElements(int number, int index1, int index2) {
+- map<int, Extension>::iterator iter = extensions_.find(number);
++ std::map<int, Extension>::iterator iter = extensions_.find(number);
+ GOOGLE_CHECK(iter != extensions_.end()) << "Index out-of-bounds (field is empty).";
+
+ Extension* extension = &iter->second;
+@@ -572,14 +572,14 @@ void ExtensionSet::SwapElements(int number, int index1, int index2) {
+ // ===================================================================
+
+ void ExtensionSet::Clear() {
+- for (map<int, Extension>::iterator iter = extensions_.begin();
++ for (std::map<int, Extension>::iterator iter = extensions_.begin();
+ iter != extensions_.end(); ++iter) {
+ iter->second.Clear();
+ }
+ }
+
+ void ExtensionSet::MergeFrom(const ExtensionSet& other) {
+- for (map<int, Extension>::const_iterator iter = other.extensions_.begin();
++ for (std::map<int, Extension>::const_iterator iter = other.extensions_.begin();
+ iter != other.extensions_.end(); ++iter) {
+ const Extension& other_extension = iter->second;
+
+@@ -682,7 +682,7 @@ void ExtensionSet::Swap(ExtensionSet* x) {
+ bool ExtensionSet::IsInitialized() const {
+ // Extensions are never required. However, we need to check that all
+ // embedded messages are initialized.
+- for (map<int, Extension>::const_iterator iter = extensions_.begin();
++ for (std::map<int, Extension>::const_iterator iter = extensions_.begin();
+ iter != extensions_.end(); ++iter) {
+ const Extension& extension = iter->second;
+ if (cpp_type(extension.type) == WireFormatLite::CPPTYPE_MESSAGE) {
+@@ -1001,7 +1001,7 @@ bool ExtensionSet::ParseMessageSetItem(io::CodedInputStream* input,
+ void ExtensionSet::SerializeWithCachedSizes(
+ int start_field_number, int end_field_number,
+ io::CodedOutputStream* output) const {
+- map<int, Extension>::const_iterator iter;
++ std::map<int, Extension>::const_iterator iter;
+ for (iter = extensions_.lower_bound(start_field_number);
+ iter != extensions_.end() && iter->first < end_field_number;
+ ++iter) {
+@@ -1011,7 +1011,7 @@ void ExtensionSet::SerializeWithCachedSizes(
+
+ void ExtensionSet::SerializeMessageSetWithCachedSizes(
+ io::CodedOutputStream* output) const {
+- map<int, Extension>::const_iterator iter;
++ std::map<int, Extension>::const_iterator iter;
+ for (iter = extensions_.begin(); iter != extensions_.end(); ++iter) {
+ iter->second.SerializeMessageSetItemWithCachedSizes(iter->first, output);
+ }
+@@ -1020,7 +1020,7 @@ void ExtensionSet::SerializeMessageSetWithCachedSizes(
+ int ExtensionSet::ByteSize() const {
+ int total_size = 0;
+
+- for (map<int, Extension>::const_iterator iter = extensions_.begin();
++ for (std::map<int, Extension>::const_iterator iter = extensions_.begin();
+ iter != extensions_.end(); ++iter) {
+ total_size += iter->second.ByteSize(iter->first);
+ }
+@@ -1031,7 +1031,7 @@ int ExtensionSet::ByteSize() const {
+ int ExtensionSet::MessageSetByteSize() const {
+ int total_size = 0;
+
+- for (map<int, Extension>::const_iterator iter = extensions_.begin();
++ for (std::map<int, Extension>::const_iterator iter = extensions_.begin();
+ iter != extensions_.end(); ++iter) {
+ total_size += iter->second.MessageSetItemByteSize(iter->first);
+ }
+@@ -1045,7 +1045,7 @@ int ExtensionSet::MessageSetByteSize() const {
+ bool ExtensionSet::MaybeNewExtension(int number,
+ const FieldDescriptor* descriptor,
+ Extension** result) {
+- pair<map<int, Extension>::iterator, bool> insert_result =
++ pair<std::map<int, Extension>::iterator, bool> insert_result =
+ extensions_.insert(make_pair(number, Extension()));
+ *result = &insert_result.first->second;
+ (*result)->descriptor = descriptor;
+--
+1.6.6
+
Added: csw/mgar/pkg/protobuf/trunk/files/stdint-and-ddi.patch
===================================================================
--- csw/mgar/pkg/protobuf/trunk/files/stdint-and-ddi.patch (rev 0)
+++ csw/mgar/pkg/protobuf/trunk/files/stdint-and-ddi.patch 2010-02-20 22:07:17 UTC (rev 8708)
@@ -0,0 +1,22 @@
+diff --git a/src/google/protobuf/stubs/common.h b/src/google/protobuf/stubs/common.h
+index 551ee4a..d0ba7d5 100644
+--- a/src/google/protobuf/stubs/common.h
++++ b/src/google/protobuf/stubs/common.h
+@@ -40,13 +40,16 @@
+ #include <cstddef>
+ #include <string>
+ #include <string.h>
+-#if defined(__osf__)
++#if defined(__osf__) || defined(__SUNPRO_CC)
+ // Tru64 lacks stdint.h, but has inttypes.h which defines a superset of
+ // what stdint.h would define.
+ #include <inttypes.h>
+ #elif !defined(_MSC_VER)
+ #include <stdint.h>
+ #endif
++#if defined(__SUNPRO_CC)
++#include <sys/ddi.h>
++#endif
+
+ namespace std {}
+
Added: csw/mgar/pkg/protobuf/trunk/files/stdint-gcc.patch
===================================================================
--- csw/mgar/pkg/protobuf/trunk/files/stdint-gcc.patch (rev 0)
+++ csw/mgar/pkg/protobuf/trunk/files/stdint-gcc.patch 2010-02-20 22:07:17 UTC (rev 8708)
@@ -0,0 +1,19 @@
+--- protobuf-2.3.0/src/google/protobuf/stubs/common.h.orig 2010-02-20 19:43:54.828914057 +0100
++++ protobuf-2.3.0/src/google/protobuf/stubs/common.h 2010-02-20 19:44:12.015263840 +0100
+@@ -40,14 +40,14 @@
+ #include <cstddef>
+ #include <string>
+ #include <string.h>
+-#if defined(__osf__) || defined(__SUNPRO_CC)
++#if defined(__osf__) || defined(__SUNPRO_CC) || defined(__sun__)
+ // Tru64 lacks stdint.h, but has inttypes.h which defines a superset of
+ // what stdint.h would define.
+ #include <inttypes.h>
+ #elif !defined(_MSC_VER)
+ #include <stdint.h>
+ #endif
+-#if defined(__SUNPRO_CC)
++#if defined(__SUNPRO_CC) || defined(__sun__)
+ #include <sys/ddi.h>
+ #endif
+
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the devel
mailing list