tinyxml: upgraded package to upstream
Upgraded dev-libs/tinyxml to version 2.6.2-r2 on amd64
tinyxml is included by our touch project library, which will be
compiled on host only.
reference CL: CL:*240776
BUG=None
TEST=emerge dev-libs/tinyxml on host.
Manual test to compile the library inside the directory
~/trunk/src/platform/experimental-touch-fw/modules/centroiding using
tinyxml.
Change-Id: I482cbcba63c5ebbd5ff55ab9f4058b7d45eba8cc
Reviewed-on: https://chromium-review.googlesource.com/319700
Commit-Ready: Tai-Hsu Lin <sheckylin@chromium.org>
Tested-by: Tai-Hsu Lin <sheckylin@chromium.org>
Reviewed-by: Tai-Hsu Lin <sheckylin@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
diff --git a/dev-libs/tinyxml/Manifest b/dev-libs/tinyxml/Manifest
new file mode 100644
index 0000000..ce9b438
--- /dev/null
+++ b/dev-libs/tinyxml/Manifest
@@ -0,0 +1 @@
+DIST tinyxml_2_6_2.tar.gz 210124 SHA256 15bdfdcec58a7da30adc87ac2b078e4417dbe5392f3afb719f9ba6d062645593 SHA512 133b5db06131a90ad0c2b39b0063f1c8e65e67288a7e5d67e1f7d9ba32af10dc5dfa0462f9723985ee27debe8f09a10a25d4b5a5aaff2ede979b1cebe8e59d56 WHIRLPOOL 6367930385d55a205e5a4a8034c7f62df2bdb33506fc184d73eeb86e3e78c61f802de255176e4b20e9070201fa495e96b37b2fc4d3f0ada24c399b15374542ea
diff --git a/dev-libs/tinyxml/files/Makefile-3 b/dev-libs/tinyxml/files/Makefile-3
new file mode 100644
index 0000000..40ad4fe
--- /dev/null
+++ b/dev-libs/tinyxml/files/Makefile-3
@@ -0,0 +1,44 @@
+AR ?= ar
+CXX ?= g++
+CXXFLAGS += -Wall
+RANLIB ?= ranlib
+LIBDIR ?= /usr/lib
+
+name = libtinyxml
+major = @MAJOR_V@
+minor = @MINOR_V@
+version = $(major).$(minor)
+
+src = tinyxml.cpp tinyxmlparser.cpp tinyxmlerror.cpp tinystr.cpp
+lo = $(addsuffix .lo,$(basename ${src}))
+o = $(addsuffix .o,$(basename ${src}))
+
+lib = so
+ifeq ($(shell uname),Darwin)
+ lib = dylib
+endif
+
+all: $(name).a $(name).$(lib)
+
+%.o: %.cpp
+ $(CXX) -c $(CXXFLAGS) $(CPPFLAGS) $< -o $@
+
+$(name).a: $(o)
+ $(AR) rc $(name).a $(o)
+ $(RANLIB) $(name).a
+
+%.lo: %.cpp
+ $(CXX) -c $(CXXFLAGS) $(CPPFLAGS) -fPIC $< -o $@
+
+$(name).so: $(lo)
+ $(CXX) $(LDFLAGS) -fPIC -shared $(lo) -Wl,-soname,$(name).so.$(major) -o $(name).so.$(version)
+ ln -s $(name).so.$(version) $(name).so.$(major)
+ ln -s $(name).so.$(version) $(name).so
+
+$(name).dylib: $(lo)
+ $(CXX) $(LDFLAGS) -fPIC -dynamiclib $(lo) -install_name $(LIBDIR)/$(name).$(major).dylib -o $(name).$(version).dylib
+ ln -s $(name).$(version).dylib $(name).$(major).dylib
+ ln -s $(name).$(version).dylib $(name).dylib
+
+clean:
+ -rm -f *.o *.lo *.so* *.a
diff --git a/dev-libs/tinyxml/files/tinyxml-2.6.1-entity.patch b/dev-libs/tinyxml/files/tinyxml-2.6.1-entity.patch
new file mode 100644
index 0000000..66d89a6
--- /dev/null
+++ b/dev-libs/tinyxml/files/tinyxml-2.6.1-entity.patch
@@ -0,0 +1,64 @@
+? entity.patch
+Index: tinyxml.cpp
+===================================================================
+RCS file: /cvsroot/tinyxml/tinyxml/tinyxml.cpp,v
+retrieving revision 1.105
+diff -u -r1.105 tinyxml.cpp
+--- tinyxml.cpp 5 Jun 2010 19:06:57 -0000 1.105
++++ tinyxml.cpp 19 Jul 2010 21:24:16 -0000
+@@ -57,30 +57,7 @@
+ {
+ unsigned char c = (unsigned char) str[i];
+
+- if ( c == '&'
+- && i < ( (int)str.length() - 2 )
+- && str[i+1] == '#'
+- && str[i+2] == 'x' )
+- {
+- // Hexadecimal character reference.
+- // Pass through unchanged.
+- // © -- copyright symbol, for example.
+- //
+- // The -1 is a bug fix from Rob Laveaux. It keeps
+- // an overflow from happening if there is no ';'.
+- // There are actually 2 ways to exit this loop -
+- // while fails (error case) and break (semicolon found).
+- // However, there is no mechanism (currently) for
+- // this function to return an error.
+- while ( i<(int)str.length()-1 )
+- {
+- outString->append( str.c_str() + i, 1 );
+- ++i;
+- if ( str[i] == ';' )
+- break;
+- }
+- }
+- else if ( c == '&' )
++ if ( c == '&' )
+ {
+ outString->append( entity[0].str, entity[0].strLength );
+ ++i;
+Index: xmltest.cpp
+===================================================================
+RCS file: /cvsroot/tinyxml/tinyxml/xmltest.cpp,v
+retrieving revision 1.89
+diff -u -r1.89 xmltest.cpp
+--- xmltest.cpp 5 Jun 2010 17:41:52 -0000 1.89
++++ xmltest.cpp 19 Jul 2010 21:24:16 -0000
+@@ -1340,6 +1340,16 @@
+ }*/
+ }
+
++ #ifdef TIXML_USE_STL
++ {
++ TiXmlDocument xml;
++ xml.Parse("<foo>foo&#xa+bar</foo>");
++ std::string str;
++ str << xml;
++ XmlTest( "Entity escaping", "<foo>foo&#xa+bar</foo>", str.c_str() );
++ }
++ #endif
++
+ /* 1417717 experiment
+ {
+ TiXmlDocument xml;
diff --git a/dev-libs/tinyxml/files/tinyxml-2.6.2-defineSTL.patch b/dev-libs/tinyxml/files/tinyxml-2.6.2-defineSTL.patch
new file mode 100644
index 0000000..7bcde59
--- /dev/null
+++ b/dev-libs/tinyxml/files/tinyxml-2.6.2-defineSTL.patch
@@ -0,0 +1,12 @@
+diff -up tinyxml/tinyxml.h~ tinyxml/tinyxml.h
+--- tinyxml/tinyxml.h~ 2007-11-30 22:39:36.000000000 +0100
++++ tinyxml/tinyxml.h 2007-11-30 22:39:36.000000000 +0100
+@@ -26,6 +26,8 @@ distribution.
+ #ifndef TINYXML_INCLUDED
+ #define TINYXML_INCLUDED
+
++#define TIXML_USE_STL 1
++
+ #ifdef _MSC_VER
+ #pragma warning( push )
+ #pragma warning( disable : 4530 )
diff --git a/dev-libs/tinyxml/metadata.xml b/dev-libs/tinyxml/metadata.xml
new file mode 100644
index 0000000..310db04
--- /dev/null
+++ b/dev-libs/tinyxml/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>voyageur@gentoo.org</email>
+ <name>Bernard Cafarelli</name>
+ </maintainer>
+ <use>
+ <flag name="stl">Compile with TIXML_USE_STL support</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">tinyxml</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/tinyxml/tinyxml-2.6.2-r2.ebuild b/dev-libs/tinyxml/tinyxml-2.6.2-r2.ebuild
new file mode 100644
index 0000000..b23ad98
--- /dev/null
+++ b/dev-libs/tinyxml/tinyxml-2.6.2-r2.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit flag-o-matic toolchain-funcs eutils multilib
+
+DESCRIPTION="a simple, small, C++ XML parser that can be easily integrating into other programs"
+HOMEPAGE="http://www.grinninglizard.com/tinyxml/index.html"
+SRC_URI="mirror://sourceforge/${PN}/${PN}_${PV//./_}.tar.gz"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="*"
+IUSE="debug doc static-libs +stl"
+
+RDEPEND=""
+DEPEND="doc? ( app-doc/doxygen )"
+
+S="${WORKDIR}/${PN}"
+
+src_prepare() {
+ local major_v minor_v
+ major_v=$(echo ${PV} | cut -d \. -f 1)
+ minor_v=$(echo ${PV} | cut -d \. -f 2-3)
+
+ sed -e "s:@MAJOR_V@:$major_v:" \
+ -e "s:@MINOR_V@:$minor_v:" \
+ "${FILESDIR}"/Makefile-3 > Makefile || die
+
+ epatch "${FILESDIR}"/${PN}-2.6.1-entity.patch
+
+ use debug && append-cppflags -DDEBUG
+ use stl && epatch "${FILESDIR}"/${P}-defineSTL.patch
+
+ if ! use static-libs; then
+ sed -e "/^all:/s/\$(name).a //" -i Makefile || die
+ fi
+
+ tc-export AR CXX RANLIB
+
+ [[ ${CHOST} == *-darwin* ]] && export LIBDIR="${EPREFIX}"/usr/$(get_libdir)
+}
+
+src_install() {
+ dolib.so *$(get_libname)*
+
+ insinto /usr/include
+ doins *.h
+
+ dodoc {changes,readme}.txt
+
+ use doc && dohtml -r docs/*
+}
diff --git a/metadata/md5-cache/dev-libs/tinyxml-2.6.2-r2 b/metadata/md5-cache/dev-libs/tinyxml-2.6.2-r2
new file mode 100644
index 0000000..ced6665
--- /dev/null
+++ b/metadata/md5-cache/dev-libs/tinyxml-2.6.2-r2
@@ -0,0 +1,12 @@
+DEFINED_PHASES=install prepare
+DEPEND=doc? ( app-doc/doxygen )
+DESCRIPTION=a simple, small, C++ XML parser that can be easily integrating into other programs
+EAPI=4
+HOMEPAGE=http://www.grinninglizard.com/tinyxml/index.html
+IUSE=debug doc static-libs +stl
+KEYWORDS=*
+LICENSE=ZLIB
+SLOT=0
+SRC_URI=mirror://sourceforge/tinyxml/tinyxml_2_6_2.tar.gz
+_eclasses_=eutils 06133990e861be0fe60c2b428fd025d9 flag-o-matic 5d5921a298e95441da2f85be419894c0 multilib 3bf24e6abb9b76d9f6c20600f0b716bf toolchain-funcs 48b38a216afb92db6314d6c3187abea3
+_md5_=2e2854cfe09016464658627fdd8fc693