Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=abb46aea4897445622e4f9eaaed3db1d2bf42125

commit abb46aea4897445622e4f9eaaed3db1d2bf42125
Author: Devil505 <[email protected]>
Date:   Tue May 8 11:13:11 2012 +0200

tinyxml-2.6.2-1-i686
* new package

diff --git a/source/devel-extra/tinyxml/FrugalBuild 
b/source/devel-extra/tinyxml/FrugalBuild
new file mode 100644
index 0000000..4143922
--- /dev/null
+++ b/source/devel-extra/tinyxml/FrugalBuild
@@ -0,0 +1,45 @@
+# Compiling Time: 0.02 SBU
+# Maintainer: Devil505 <[email protected]>
+
+pkgname=tinyxml
+pkgver=2.6.2
+pkgrel=1
+pkgdesc="A simple, small, C++ XML parser that can be easily integrated into 
other programs."
+url='http://www.grinninglizard.com/tinyxml/'
+depends=('libstdc++')
+groups=('devel-extra')
+archs=('i686' 'x86_64')
+_F_sourceforge_sep="_"
+_F_sourceforge_pkgver="${pkgver//./_}"
+Finclude sourceforge
+source=($source \
+        entity.patch \
+        tinyxml-2.5.3-stl.patch)
+sha1sums=('cba3f50dd657cb1434674a03b21394df9913d764' \
+          '402831d1fab0fe7cac7ad761b530a54c0cf9cb58' \
+          '9931730c98809bf61865d90b91a007fa172b9ce4')
+
+
+build() {
+  Fcd $pkgname
+
+  Fpatchall
+
+  # Fix Makefile
+  sed -i \
+    -e '/^TINYXML_USE_STL/ s|=.*|=YES|' \
+    -e "s|^RELEASE_CFLAGS.*|& ${CXXFLAGS} -fPIC|" Makefile || Fdie
+
+  make
+  g++ -fPIC ${CXXFLAGS} -shared -o lib${pkgname}.so.0.$pkgver 
-Wl,-soname,lib${pkgname}.so.0 *.o || Fdie
+
+  Fmkdir usr/{lib,include}
+  Finstallrel 0755 lib${pkgname}.so.0.$pkgver usr/lib/
+  Finstallrel 0644 $pkgname.h tinystr.h usr/include
+  (cd "$Fdestdir"/usr/lib
+    ln -s lib${pkgname}.so.0.$pkgver lib${pkgname}.so.0
+    ln -s lib${pkgname}.so.0.$pkgver lib${pkgname}.so
+  ) || Fdie
+}
+
+# optimization OK
diff --git a/source/devel-extra/tinyxml/entity.patch 
b/source/devel-extra/tinyxml/entity.patch
new file mode 100644
index 0000000..66d89a6
--- /dev/null
+++ b/source/devel-extra/tinyxml/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.
+-                      // &#xA9;       -- 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&amp;#xa+bar</foo>");
++              std::string str;
++              str << xml;
++              XmlTest( "Entity escaping", "<foo>foo&amp;#xa+bar</foo>", 
str.c_str() );
++      }
++      #endif
++
+       /*  1417717 experiment
+       {
+               TiXmlDocument xml;
diff --git a/source/devel-extra/tinyxml/tinyxml-2.5.3-stl.patch 
b/source/devel-extra/tinyxml/tinyxml-2.5.3-stl.patch
new file mode 100644
index 0000000..7bcde59
--- /dev/null
+++ b/source/devel-extra/tinyxml/tinyxml-2.5.3-stl.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 )
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to