# Contributor: Carlo Landmeter # Maintainer: global pkgname := 'tinyxml' global pkgver := '2.6.2' global _realver := '2_6_2' global pkgrel := '1' global pkgdesc := '"A simple, small, C++ XML parser'" global url := '"http://www.grinninglizard.com/tinyxml/'" global arch := '"all'" global license := '"zlib'" global depends := ''"" global depends_dev := ''"" global makedepends := $depends_dev global install := ''"" global subpackages := ""$pkgname-dev"" global source := ""http://downloads.sourceforge.net/$pkgname/$(pkgname)_$_realver.tar.gz tinyxml-2.6.2-defineSTL.patch tinyxml-2.6.1-entity.patch"" global _builddir := "$srcdir/$pkgname" proc prepare { var i = '' cd $_builddir for i in [$source] { matchstr $i { *.patch { msg $i; patch -p1 -i "$srcdir"/$i || return 1} } } sed -i -e '/^TINYXML_USE_STL/ s|=.*|=YES|' \ -e "s|^RELEASE_CFLAGS.*|& $(CXXFLAGS) -fPIC|" Makefile } proc build { cd $_builddir make || return 1 g++ -fPIC $(CXXFLAGS) -shared -o libtinyxml.so.0.$pkgver \ -Wl,-soname,libtinyxml.so.0 $[ls *.o | grep -v xmltest] } proc package { cd $_builddir install -d -m 0755 "$pkgdir"/usr/lib \ "$pkgdir"/usr/include install -m 0755 libtinyxml.so.0.2.6.2 \ "$pkgdir"/usr/lib/ install -m 0644 tinyxml.h tinystr.h \ "$pkgdir"/usr/include/ cd "$pkgdir"/usr/lib ln -s libtinyxml.so.0.2.6.2 libtinyxml.so ln -s libtinyxml.so.0.2.6.2 libtinyxml.so.0 } global sha512sums := '"133b5db06131a90ad0c2b39b0063f1c8e65e67288a7e5d67e1f7d9ba32af10dc5dfa0462f9723985ee27debe8f09a10a25d4b5a5aaff2ede979b1cebe8e59d56 tinyxml_2_6_2.tar.gz 52cd82ef9e8f1783b3d6042551342a8c592c447e1da352d5d017db4211144bc0a908ddbfe2a4641b3108fb8e02dc47f385a851f920532d94178314255904a6ef tinyxml-2.6.2-defineSTL.patch 47d582456c2e2ac51a186a4bd58ede4895586ed373b654b120b34bedc7c2e52ed291a3576a37420ea94a238a265d8e2d38de024e770144e465590718da245af3 tinyxml-2.6.1-entity.patch'" (CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(tinyxml)} spids:[6])] spids: [6] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(2.6.2)} spids:[9])] spids: [9] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_realver) op:Equal rhs:{(2_6_2)} spids:[12])] spids: [12] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(1)} spids:[15])] spids: [15] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("A simple, small, C++ XML parser"))} spids: [18] ) ] spids: [18] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ ("http://www.grinninglizard.com/tinyxml/"))} spids: [23] ) ] spids: [23] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[28])] spids: [28] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (zlib))} spids:[33])] spids: [33] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ )} spids:[38])] spids: [38] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:depends_dev) op:Equal rhs:{(DQ )} spids:[42])] spids: [42] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:makedepends) op: Equal rhs: {(DQ ($ VSub_Name "$depends_dev"))} spids: [46] ) ] spids: [46] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:install) op:Equal rhs:{(DQ )} spids:[51])] spids: [51] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: {(DQ ($ VSub_Name "$pkgname") (-dev))} spids: [55] ) ] spids: [55] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source) op: Equal rhs: { (DQ ("http://downloads.sourceforge.net/") ($ VSub_Name "$pkgname") (/) (${ VSub_Name pkgname) (_) ($ VSub_Name "$_realver") (".tar.gz\n") ("\ttinyxml-2.6.2-defineSTL.patch\n") ("\ttinyxml-2.6.1-entity.patch") ) } spids: [61] ) ] spids: [61] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_builddir) op: Equal rhs: {($ VSub_Name "$srcdir") (/) ($ VSub_Name "$pkgname")} spids: [77] ) ] spids: [77] ) (FuncDef name: prepare body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[92])] spids: [90] ) (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))}) (ForEach iter_name: i iter_words: [{($ VSub_Name "$source")}] do_arg_iter: False body: (DoGroup children: [ (Case to_match: {($ VSub_Name "$i")} arms: [ (case_arm pat_list: [{(Lit_Other "*") (.patch)}] action: [ (Sentence child: (C {(msg)} {($ VSub_Name "$i")}) terminator: ) (AndOr children: [ (C {(patch)} {(-p1)} {(-i)} {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$i")} ) (ControlFlow token: arg_word: {(1)} ) ] op_id: Op_DPipe ) ] spids: [121 123 147 -1] ) ] spids: [114 118 150] ) ] spids: [111 153] ) spids: [107 109] ) (C {(sed)} {(-i)} {(-e)} {(SQ <"/^TINYXML_USE_STL/ s|=.*|=YES|">)} {(-e)} {(DQ ("s|^RELEASE_CFLAGS.*|& ") (${ VSub_Name CXXFLAGS) (" -fPIC|"))} {(Makefile)} ) ] spids: [87] ) spids: [83 86] ) (FuncDef name: build body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))}) (AndOr children: [(C {(make)}) (ControlFlow token: arg_word:{(1)})] op_id: Op_DPipe ) (C {(g) (Lit_Other "+") (Lit_Other "+")} {(-fPIC)} {(${ VSub_Name CXXFLAGS)} {(-shared)} {(-o)} {(libtinyxml.so.0.) ($ VSub_Name "$pkgver")} {(-Wl) (Lit_Comma ",") (-soname) (Lit_Comma ",") (libtinyxml.so.0)} { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [(C {(ls)} {(Lit_Other "*") (.o)}) (C {(grep)} {(-v)} {(xmltest)})] negated: False ) ] ) left_token: spids: [231 244] ) } ) ] spids: [187] ) spids: [183 186] ) (FuncDef name: package body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))}) (C {(install)} {(-d)} {(-m)} {(0755)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/lib)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/include)} ) (C {(install)} {(-m)} {(0755)} {(libtinyxml.so.0.2.6.2)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/lib/)} ) (C {(install)} {(-m)} {(0644)} {(tinyxml.h)} {(tinystr.h)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/include/)} ) (C {(cd)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/lib)}) (C {(ln)} {(-s)} {(libtinyxml.so.0.2.6.2)} {(libtinyxml.so)}) (C {(ln)} {(-s)} {(libtinyxml.so.0.2.6.2)} {(libtinyxml.so.0)}) ] spids: [253] ) spids: [249 252] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha512sums) op: Equal rhs: { (DQ ( "133b5db06131a90ad0c2b39b0063f1c8e65e67288a7e5d67e1f7d9ba32af10dc5dfa0462f9723985ee27debe8f09a10a25d4b5a5aaff2ede979b1cebe8e59d56 tinyxml_2_6_2.tar.gz\n" ) ( "52cd82ef9e8f1783b3d6042551342a8c592c447e1da352d5d017db4211144bc0a908ddbfe2a4641b3108fb8e02dc47f385a851f920532d94178314255904a6ef tinyxml-2.6.2-defineSTL.patch\n" ) ( "47d582456c2e2ac51a186a4bd58ede4895586ed373b654b120b34bedc7c2e52ed291a3576a37420ea94a238a265d8e2d38de024e770144e465590718da245af3 tinyxml-2.6.1-entity.patch" ) ) } spids: [346] ) ] spids: [346] ) ] )