debian/0000775000000000000000000000000012274007162007171 5ustar debian/copyright0000664000000000000000000000544211400042770011123 0ustar Name: ctemplate Maintainer: Debian KDE Extras Team Source: http://code.google.com/p/google-ctemplate/ Copyright: 2006-2009, Google Inc. License: All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Files: contrib/highlighting.vim Copyright: 2006, Patrick Lacasse Files: contrib/tpl-mode.el Copyright: 2006, Tony Gentilcore Files: contrib/convert_to_95.pl Copyright: 2006, Google Inc. Files: debian/* Copyright: 2010, Mark Purcell License: GPL-2+ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. . You should have received a copy of the GNU General Public License along with this package; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA . On Debian systems, the full text of the GNU General Public License version 2 can be found in the file `/usr/share/common-licenses/GPL-2'. debian/libctemplate-dev.install0000664000000000000000000000024111371122735014000 0ustar usr/include/ctemplate/* usr/lib/lib*.so usr/lib/lib*.a usr/bin/* doc/*.html usr/share/doc/libctemplate-dev/html/ doc/*.css usr/share/doc/libctemplate-dev/html/ debian/changelog0000664000000000000000000000767212274007145011060 0ustar ctemplate (2.2-4ubuntu3) trusty; urgency=low * Also backport upstream SVN revision 130. * Don't build in parallel. -- Daniel T Chen Mon, 03 Feb 2014 16:45:06 -0500 ctemplate (2.2-4ubuntu2) trusty; urgency=low * Backport upstream SVN revisions 132, 135-138. * Forcibly clean up temporary test directories prior to build so that the tests don't bail. -- Daniel T Chen Mon, 03 Feb 2014 15:18:55 -0500 ctemplate (2.2-4ubuntu1) trusty; urgency=low * Use dh-autoreconf for newer arches, resolving FTBFS. -- Daniel T Chen Sat, 01 Feb 2014 20:29:39 -0500 ctemplate (2.2-4) unstable; urgency=low * dh --with autotools_dev "config.{sub,guess} AArch64" (Closes: #727349) * Update Vcs: fields * Standards_Version: 3.9.4 -- Mark Purcell Sat, 09 Nov 2013 14:12:53 +1100 ctemplate (2.2-3) unstable; urgency=low * Fix "g++-4.7 -std=c++0x issue" upstream r129.patch (Closes: #665360) -- Mark Purcell Wed, 20 Jun 2012 22:54:29 +1000 ctemplate (2.2-2) unstable; urgency=low * Upload to unstable - coordinated through debian-release -- Mark Purcell Sat, 19 May 2012 09:26:51 +1000 ctemplate (2.2-1) experimental; urgency=low * New upstream release - Fixes "ftbfs with GCC-4.7" (Closes: #667145) - Fixes "New Upsstream, Watch File" (Closes: #658404) - Fix "g++-4.7 -std=c++0x issue" (Closes: #665360) * --program-prefix=ctemplate- * NEW package libctemplate2 - match-soname -- Mark Purcell Sat, 19 May 2012 07:55:00 +1000 ctemplate (2.0-1) unstable; urgency=low * New upstream release -- Mark Purcell Sat, 18 Feb 2012 16:37:54 +1100 ctemplate (1.1-1) unstable; urgency=low * lca2012 release * New upstream release * fix debian/watch -- Mark Purcell Wed, 18 Jan 2012 15:52:34 +1100 ctemplate (1.0-1) unstable; urgency=low * New upstream release - Fixes "New Version: 1.0" (Closes: #642009) * Drop dbug592142-sparc.patch incorporated upstream 0.98 -- Mark Purcell Sun, 09 Oct 2011 20:39:41 +1100 ctemplate (0.97-4) unstable; urgency=low * Ack NMU. Thanks gregor. * Fixed description-synopsis-starts-with-article * debian/rules: export PTHREAD_CFLAGS=-lpthread - Fixes dpkg-shlibdeps: warning: symbol found in none of the libraries -- Mark Purcell Sun, 09 Oct 2011 19:34:10 +1100 ctemplate (0.97-3.1) unstable; urgency=low * Non-maintainer upload. * Fix "FTBFS: ./src/ctemplate/template_dictionary.h:73:11: error: 'ptrdiff_t' does not name a type": apply patch from Ubuntu / Matthias Klose: - Add missing includes to build with g++-4.6. Closes: #625002, LP: #771025. -- gregor herrmann Tue, 04 Oct 2011 17:24:25 +0200 ctemplate (0.97-3) unstable; urgency=low * Add sparc memory alignment patch from Jurij Smakov - Fixes "FTBFS on sparc: 10 of 20 tests failed" (Closes: #592142) -- Mark Purcell Tue, 10 Aug 2010 08:08:29 +1000 ctemplate (0.97-2) unstable; urgency=low * Include debian/* in copyright * Fix "Erroneus debian/watch file" Thks Angel (Closes: #583883) * Standards-Version: 3.9.1: - Switch to dh 7 - debian/rules add Vcs-* - source/format -> 3.0 (quilt) - Add libctemplate-dev.doc-base * debian/rules enable --parallel -- Mark Purcell Sat, 07 Aug 2010 11:35:18 +1000 ctemplate (0.97-1) unstable; urgency=low * New upstream release * Initial Upload to Debian (Closes: #580717) * Maintainer: Debian KDE Extras Team - Add myself to Uploaders: * Add Homepage: http://code.google.com/p/google-ctemplate/ * Update debian/watch -- Mark Purcell Sat, 08 May 2010 10:00:30 +1000 ctemplate (0.96-0ubuntu1) lucid; urgency=low * Initial release (LP: #507717) -- Florian Reinhard Thu, 14 Jan 2010 22:31:32 +0100 debian/libctemplate-dev.docs0000664000000000000000000000006411371122735013265 0ustar README contrib/highlighting.vim contrib/tpl-mode.el debian/patches/0000775000000000000000000000000012274006732010622 5ustar debian/patches/gcc-4.6.patch0000664000000000000000000000130111644266037012705 0ustar Description: Add missing includes to build with g++-4.6. Author: Matthias Klose Bug-Debian: http://bugs.debian.org/625002 Bug-Ubuntu: https://bugs.launchpad.net/bugs/771025 Index: ctemplate-1.0/src/ctemplate/template_dictionary.h.in =================================================================== --- ctemplate-1.0.orig/src/ctemplate/template_dictionary.h.in 2011-08-27 06:24:47.000000000 +1000 +++ ctemplate-1.0/src/ctemplate/template_dictionary.h.in 2011-10-09 20:37:16.000000000 +1100 @@ -51,6 +51,7 @@ #include // for NULL #include #include // for less<> +#include #include #include #include debian/patches/series0000664000000000000000000000007412274006724012041 0ustar r129.patch gcc-4.6.patch r132.diff r134to138.diff r130.diff debian/patches/r132.diff0000664000000000000000000001104212273775252012152 0ustar Index: src/base/arena-inl.h =================================================================== --- ./src/base/arena-inl.h (revision 131) +++ ./src/base/arena-inl.h (revision 132) @@ -207,13 +207,13 @@ // the arena concept. If it does pose a problem, flesh out the // ArrayGladiator class below. - void* operator new(const size_t size) { + void* operator new(size_t size) { void* ret = ::operator new(1 + size); static_cast(ret)[size] = 1; // mark as heap-allocated return ret; } // the ignored parameter keeps us from stepping on placement new - template void* operator new(const size_t size, const int ignored, + template void* operator new(size_t size, const int ignored, T* allocator) { if (allocator) { void* ret = allocator->AllocAligned(1 + size, @@ -224,7 +224,7 @@ return operator new(size); // this is the function above } } - void operator delete(void* memory, const size_t size) { + void operator delete(void* memory, size_t size) { if (static_cast(memory)[size]) { assert (1 == static_cast(memory)[size]); ::operator delete(memory); @@ -234,7 +234,7 @@ // the Boolean marker flag. } } - template void operator delete(void* memory, const size_t size, + template void operator delete(void* memory, size_t size, const int ign, T* allocator) { // This "placement delete" can only be called if the constructor // throws an exception. @@ -258,28 +258,28 @@ // virtual ~ArenaOnlyGladiator() { } // can't just return NULL here -- compiler gives a warning. :-| - void* operator new(const size_t /*size*/) { + void* operator new(size_t /*size*/) { assert(0); return reinterpret_cast(1); } - void* operator new[](const size_t /*size*/) { + void* operator new[](size_t /*size*/) { assert(0); return reinterpret_cast(1); } // the ignored parameter keeps us from stepping on placement new - template void* operator new(const size_t size, const int ignored, + template void* operator new(size_t size, const int ignored, T* allocator) { assert(allocator); return allocator->AllocAligned(size, BaseArena::kDefaultAlignment); } - template void* operator new[](const size_t size, + template void* operator new[](size_t size, const int ignored, T* allocator) { assert(allocator); return allocator->AllocAligned (size, BaseArena::kDefaultAlignment); } - void operator delete(void* /*memory*/, const size_t /*size*/) { } - template void operator delete(void* memory, const size_t size, + void operator delete(void* /*memory*/, size_t /*size*/) { } + template void operator delete(void* memory, size_t size, const int ign, T* allocator) { } void operator delete [](void* /*memory*/) { } template void operator delete(void* memory, @@ -295,7 +295,7 @@ class ArrayGladiator : public Gladiator { public: - void * operator new[] (const size_t size) { + void * operator new[] (size_t size) { const int sizeplus = size + kHeaderSize; void * const ret = ::operator new(sizeplus); *static_cast(ret) = NULL; // mark as heap-allocated @@ -303,7 +303,7 @@ return ret + kHeaderSize; } // the ignored parameter keeps us from stepping on placement new - template void * operator new[] (const size_t size, + template void * operator new[] (size_t size, const int ignored, T * allocator) { if (allocator) { const int sizeplus = size + kHeaderSize; @@ -319,7 +319,7 @@ void operator delete [] (void * memory) { memory -= kHeaderSize; Arena * const arena = *static_cast(memory); - const size_t sizeplus = *static_cast(memory + sizeof(arena)); + size_t sizeplus = *static_cast(memory + sizeof(arena)); if (arena) { arena->SlowFree(memory, sizeplus); } else { @@ -331,7 +331,7 @@ // This "placement delete" can only be called if the constructor // throws an exception. memory -= kHeaderSize; - const size_t sizeplus = *static_cast(memory + sizeof(Arena *)); + size_t sizeplus = *static_cast(memory + sizeof(Arena *)); if (allocator) { allocator->Free(memory, 1 + size); } else { debian/patches/r130.diff0000664000000000000000000000352312274006732012144 0ustar Index: ctemplate-2.2/Makefile.am =================================================================== --- ctemplate-2.2.orig/Makefile.am 2012-04-18 17:49:57.000000000 -0400 +++ ctemplate-2.2/Makefile.am 2014-02-03 16:44:55.674897745 -0500 @@ -154,6 +154,7 @@ # -version-info gets passed to libtool libctemplate_la_LDFLAGS = $(PTHREAD_CFLAGS) \ -export-symbols-regex $(CTEMPLATE_SYMBOLS) \ + -no-undefined \ -version-info @SO_VERSION@ libctemplate_la_LIBADD = $(PTHREAD_LIBS) @@ -169,6 +170,7 @@ libctemplate_nothreads_la_DEPENDENCIES = $(libctemplate_la_DEPENDENCIES) libctemplate_nothreads_la_CXXFLAGS = -DNDEBUG -DNO_THREADS $(AM_CXXFLAGS) libctemplate_nothreads_la_LDFLAGS = -export-symbols-regex $(CTEMPLATE_SYMBOLS) \ + -no-undefined \ -version-info @SO_VERSION@ # For our tests, we want versions of these libraries that include asserts. @@ -201,11 +203,13 @@ CTEMPLATE_TESTING_SYMBOLS = 'TemporaryRegisterTemplate|TemplateDictionaryPeer' libctemplate_testing_la_LDFLAGS = $(PTHREAD_CFLAGS) \ -export-symbols-regex $(CTEMPLATE_TESTING_SYMBOLS) \ + -no-undefined \ -version-info @SO_VERSION@ libctemplate_testing_la_LIBADD = $(PTHREAD_LIBS) libctemplate_testing_nothreads_la_SOURCES = $(libctemplate_testing_la_SOURCES) libctemplate_testing_nothreads_la_CXXFLAGS = $(AM_CXXFLAGS) -DNO_THREADS libctemplate_testing_nothreads_la_LDFLAGS = -export-symbols-regex $(CTEMPLATE_TESTING_SYMBOLS) \ + -no-undefined \ -version-info @SO_VERSION@ # This library depends on libctemplate, but it can use either libctemplate debian/patches/r134to138.diff0000664000000000000000000003324712273775366012774 0ustar Index: src/template_cache.cc =================================================================== --- ./src/template_cache.cc.orig 2012-04-18 17:49:56.000000000 -0400 +++ ./src/template_cache.cc 2014-02-03 15:18:24.313332075 -0500 @@ -44,6 +44,7 @@ #include // for pair<>, make_pair() #include // for vector<>::size_type, vector<>, etc #include "base/thread_annotations.h" // for GUARDED_BY +#include #include // for Template, TemplateState #include // for Strip, DO_NOT_STRIP #include // for PathJoin(), IsAbspath(), etc @@ -282,8 +283,8 @@ Strip strip, const TemplateCacheKey& template_cache_key) { // NOTE: A write-lock must be held on mutex_ when this method is called. - TemplateMap::iterator it = parsed_template_cache_->find(template_cache_key); - if (it == parsed_template_cache_->end()) { + CachedTemplate* it = find_ptr(*parsed_template_cache_, template_cache_key); + if (!it) { // If the cache is frozen and the template doesn't already exist in cache, // do not load the template, return NULL. if (is_frozen_) { @@ -294,22 +295,21 @@ // If validation succeeds then pass in resolved filename, mtime & // file length (from statbuf) to the constructor. const Template* tpl = new Template(filename, strip, this); - it = parsed_template_cache_->insert( - make_pair(template_cache_key, - CachedTemplate(tpl, CachedTemplate::FILE_BASED))).first; - assert(it != parsed_template_cache_->end()); + it = &(*parsed_template_cache_)[template_cache_key]; + *it = CachedTemplate(tpl, CachedTemplate::FILE_BASED); + assert(it); } - if (it->second.should_reload) { + if (it->should_reload) { // check if the template has changed on disk or if a new template with the // same name has been added earlier in the search path: const string resolved = FindTemplateFilename( - it->second.refcounted_tpl->tpl()->original_filename()); + it->refcounted_tpl->tpl()->original_filename()); FileStat statbuf; - if (it->second.template_type == CachedTemplate::FILE_BASED && - (resolved != it->second.refcounted_tpl->tpl()->template_file() || + if (it->template_type == CachedTemplate::FILE_BASED && + (resolved != it->refcounted_tpl->tpl()->template_file() || HasTemplateChangedOnDisk( - it->second.refcounted_tpl->tpl()->template_file(), - it->second.refcounted_tpl->tpl()->mtime(), + it->refcounted_tpl->tpl()->template_file(), + it->refcounted_tpl->tpl()->mtime(), &statbuf))) { // Create a new template, insert it into the cache under // template_cache_key, and DecRef() the old one to indicate @@ -317,36 +317,30 @@ const Template* tpl = new Template(filename, strip, this); // DecRef after creating the new template since DecRef may free up // the storage for filename, - it->second.refcounted_tpl->DecRef(); - it->second = CachedTemplate(tpl, CachedTemplate::FILE_BASED); + it->refcounted_tpl->DecRef(); + *it = CachedTemplate(tpl, CachedTemplate::FILE_BASED); } - it->second.should_reload = false; + it->should_reload = false; } // If the state is TS_ERROR, we leave the state as is, but return // NULL. We won't try to load the template file again until the // reload status is set to true by another call to ReloadAllIfChanged. - if (it->second.refcounted_tpl->tpl()->state() != TS_READY) { - return NULL; - } else { - return it->second.refcounted_tpl; - } + return it->refcounted_tpl->tpl()->state() == TS_READY ? it->refcounted_tpl : NULL; } bool TemplateCache::StringToTemplateCache(const TemplateString& key, const TemplateString& content, Strip strip) { - TemplateCacheKey template_cache_key = TemplateCacheKey(key.GetGlobalId(), - strip); + TemplateCacheKey template_cache_key = TemplateCacheKey(key.GetGlobalId(), strip); { ReaderMutexLock ml(mutex_); if (is_frozen_) { return false; } // If the key is already in the parsed-cache, we just return false. - TemplateMap::iterator it = parsed_template_cache_->find(template_cache_key); - if (it != parsed_template_cache_->end() && - it->second.refcounted_tpl->tpl()->state() != TS_ERROR) { + CachedTemplate* it = find_ptr(*parsed_template_cache_, template_cache_key); + if (it && it->refcounted_tpl->tpl()->state() != TS_ERROR) { return false; } } @@ -361,11 +355,11 @@ WriterMutexLock ml(mutex_); // Double-check it wasn't just inserted. - TemplateMap::iterator it = parsed_template_cache_->find(template_cache_key); - if (it != parsed_template_cache_->end()) { - if (it->second.refcounted_tpl->tpl()->state() == TS_ERROR) { + CachedTemplate* it = find_ptr(*parsed_template_cache_, template_cache_key); + if (it) { + if (it->refcounted_tpl->tpl()->state() == TS_ERROR) { // replace the old entry with the new one - it->second.refcounted_tpl->DecRef(); + it->refcounted_tpl->DecRef(); } else { delete tpl; return false; Index: src/make_tpl_varnames_h.cc =================================================================== --- ./src/make_tpl_varnames_h.cc.orig 2012-04-18 17:49:56.000000000 -0400 +++ ./src/make_tpl_varnames_h.cc 2014-02-03 15:18:24.313332075 -0500 @@ -198,9 +198,7 @@ // (space, horizontal tab, vertical tab, form feed, carriage return). static bool LineIsAllWhitespace(const string& input) { static const string kWhitespace(" \f\t\v\r"); - if (input.find_first_not_of(kWhitespace) == string::npos) - return true; - return false; + return input.find_first_not_of(kWhitespace) == string::npos; } // Splits the input string into lines using the newline (\n) @@ -214,12 +212,11 @@ static vector SplitIntoLines(const string &input) { vector lines; - string::size_type begin_index, end_index; + string::size_type begin_index = 0; string::size_type input_len = input.length(); - begin_index = 0; while (1) { - end_index = input.find_first_of('\n', begin_index); + string::size_type end_index = input.find_first_of('\n', begin_index); if (end_index == string::npos) { lines.push_back(input.substr(begin_index)); break; @@ -274,7 +271,7 @@ for (int i = 0; i < lines_len; ++i) { const string& line = lines[i]; if (LineIsAllWhitespace(line) || // Blank lines always go in - lines_seen.find(line) == lines_seen.end()) { // So do new lines + !lines_seen.count(line)) { // So do new lines output.append(line); output.append("\n"); lines_seen.insert(line); Index: src/template.cc =================================================================== --- ./src/template.cc.orig 2012-04-18 17:49:56.000000000 -0400 +++ ./src/template.cc 2014-02-03 15:18:24.313332075 -0500 @@ -655,7 +655,7 @@ } // print out the variable, but only if we haven't seen it before. - if (vars_seen.find(variable) == vars_seen.end()) { + if (!vars_seen.count(variable)) { if (variable == kMainSectionName || variable.find("BI_") == 0) { // We don't want to write entries for __MAIN__ or the built-ins } else { @@ -665,7 +665,7 @@ << AS_STR(GOOGLE_NAMESPACE) << "::StaticTemplateString " << prefix << variable << " = STS_INIT_WITH_HASH(" << prefix << variable << ", \"" << variable << "\", " - << id << "LLU);\n"; + << id << "ULL);\n"; outstring->append(outstream.str()); } vars_seen[variable] = true; Index: src/tests/template_unittest.cc =================================================================== --- ./src/tests/template_unittest.cc.orig 2012-04-18 17:49:56.000000000 -0400 +++ ./src/tests/template_unittest.cc 2014-02-03 15:18:24.313332075 -0500 @@ -1569,10 +1569,10 @@ TemplateNamelist::NameListType names = TemplateNamelist::GetList(); ASSERT(names.size() == 4); - ASSERT(names.find(NONEXISTENT_FN) != names.end()); - ASSERT(names.find(INVALID1_FN) != names.end()); - ASSERT(names.find(INVALID2_FN) != names.end()); - ASSERT(names.find(VALID1_FN) != names.end()); + ASSERT(names.count(NONEXISTENT_FN)); + ASSERT(names.count(INVALID1_FN)); + ASSERT(names.count(INVALID2_FN)); + ASSERT(names.count(VALID1_FN)); // Before creating the files INVALID1_FN, etc., all should be missing. for (int i = 0; i < 3; ++i) { // should be consistent all 3 times Index: src/tests/htmlparser_cpp_test.cc =================================================================== --- ./src/tests/htmlparser_cpp_test.cc.orig 2012-04-18 17:49:56.000000000 -0400 +++ ./src/tests/htmlparser_cpp_test.cc 2014-02-03 15:18:24.317331907 -0500 @@ -500,12 +500,12 @@ } else if (iter->first.compare("is_url_start") == 0) { ValidateIsUrlStart(iter->second); } else if (iter->first.compare("save_context") == 0) { - if (contextMap.find(iter->second) == contextMap.end()) { + if (!contextMap.count(iter->second)) { contextMap[iter->second] = new HtmlParser(); } contextMap[iter->second]->CopyFrom(&parser_); } else if (iter->first.compare("load_context") == 0) { - CHECK(contextMap.find(iter->second) != contextMap.end()); + CHECK(contextMap.count(iter->second)); parser_.CopyFrom(contextMap[iter->second]); } else if (iter->first.compare("reset") == 0) { if (StringToBool(iter->second)) { Index: src/tests/make_tpl_varnames_h_unittest.sh =================================================================== --- ./src/tests/make_tpl_varnames_h_unittest.sh.orig 2012-04-18 17:49:56.000000000 -0400 +++ ./src/tests/make_tpl_varnames_h_unittest.sh 2014-02-03 15:18:24.317331907 -0500 @@ -83,9 +83,9 @@ #define %%%OUTPUT_NAME%%% #include -static const ::ctemplate::StaticTemplateString ko_QCHAR = STS_INIT_WITH_HASH(ko_QCHAR, "QCHAR", 13739615363438531061LLU); -static const ::ctemplate::StaticTemplateString ko_HREF = STS_INIT_WITH_HASH(ko_HREF, "HREF", 4441707909033668369LLU); -static const ::ctemplate::StaticTemplateString ko_PARAMS = STS_INIT_WITH_HASH(ko_PARAMS, "PARAMS", 10755877064288701757LLU); +static const ::ctemplate::StaticTemplateString ko_QCHAR = STS_INIT_WITH_HASH(ko_QCHAR, "QCHAR", 13739615363438531061ULL); +static const ::ctemplate::StaticTemplateString ko_HREF = STS_INIT_WITH_HASH(ko_HREF, "HREF", 4441707909033668369ULL); +static const ::ctemplate::StaticTemplateString ko_PARAMS = STS_INIT_WITH_HASH(ko_PARAMS, "PARAMS", 10755877064288701757ULL); #endif // %%%OUTPUT_NAME%%% EOF` @@ -95,8 +95,8 @@ #define %%%OUTPUT_NAME%%% #include -static const ::ctemplate::StaticTemplateString ko_ATTRIBUTES = STS_INIT_WITH_HASH(ko_ATTRIBUTES, "ATTRIBUTES", 11813232524653503831LLU); -static const ::ctemplate::StaticTemplateString ko_ATTRIBUTE = STS_INIT_WITH_HASH(ko_ATTRIBUTE, "ATTRIBUTE", 14959290143384361001LLU); +static const ::ctemplate::StaticTemplateString ko_ATTRIBUTES = STS_INIT_WITH_HASH(ko_ATTRIBUTES, "ATTRIBUTES", 11813232524653503831ULL); +static const ::ctemplate::StaticTemplateString ko_ATTRIBUTE = STS_INIT_WITH_HASH(ko_ATTRIBUTE, "ATTRIBUTE", 14959290143384361001ULL); #endif // %%%OUTPUT_NAME%%% EOF` @@ -106,7 +106,7 @@ #define %%%OUTPUT_NAME%%% #include -static const ::ctemplate::StaticTemplateString ko_TITLE = STS_INIT_WITH_HASH(ko_TITLE, "TITLE", 8931122033088041025LLU); +static const ::ctemplate::StaticTemplateString ko_TITLE = STS_INIT_WITH_HASH(ko_TITLE, "TITLE", 8931122033088041025ULL); #endif // %%%OUTPUT_NAME%%% EOF` @@ -116,8 +116,8 @@ #define %%%OUTPUT_NAME%%% #include -static const ::ctemplate::StaticTemplateString ko_HREF = STS_INIT_WITH_HASH(ko_HREF, "HREF", 4441707909033668369LLU); -static const ::ctemplate::StaticTemplateString ko_PARAMS = STS_INIT_WITH_HASH(ko_PARAMS, "PARAMS", 10755877064288701757LLU); +static const ::ctemplate::StaticTemplateString ko_HREF = STS_INIT_WITH_HASH(ko_HREF, "HREF", 4441707909033668369ULL); +static const ::ctemplate::StaticTemplateString ko_PARAMS = STS_INIT_WITH_HASH(ko_PARAMS, "PARAMS", 10755877064288701757ULL); #endif // %%%OUTPUT_NAME%%% EOF` @@ -135,11 +135,11 @@ #define %%%OUTPUT_NAME%%% #include -static const ::ctemplate::StaticTemplateString ko_QCHAR = STS_INIT_WITH_HASH(ko_QCHAR, "QCHAR", 13739615363438531061LLU); -static const ::ctemplate::StaticTemplateString ko_HREF = STS_INIT_WITH_HASH(ko_HREF, "HREF", 4441707909033668369LLU); -static const ::ctemplate::StaticTemplateString ko_PARAMS = STS_INIT_WITH_HASH(ko_PARAMS, "PARAMS", 10755877064288701757LLU); -static const ::ctemplate::StaticTemplateString ko_ATTRIBUTES = STS_INIT_WITH_HASH(ko_ATTRIBUTES, "ATTRIBUTES", 11813232524653503831LLU); -static const ::ctemplate::StaticTemplateString ko_ATTRIBUTE = STS_INIT_WITH_HASH(ko_ATTRIBUTE, "ATTRIBUTE", 14959290143384361001LLU); +static const ::ctemplate::StaticTemplateString ko_QCHAR = STS_INIT_WITH_HASH(ko_QCHAR, "QCHAR", 13739615363438531061ULL); +static const ::ctemplate::StaticTemplateString ko_HREF = STS_INIT_WITH_HASH(ko_HREF, "HREF", 4441707909033668369ULL); +static const ::ctemplate::StaticTemplateString ko_PARAMS = STS_INIT_WITH_HASH(ko_PARAMS, "PARAMS", 10755877064288701757ULL); +static const ::ctemplate::StaticTemplateString ko_ATTRIBUTES = STS_INIT_WITH_HASH(ko_ATTRIBUTES, "ATTRIBUTES", 11813232524653503831ULL); +static const ::ctemplate::StaticTemplateString ko_ATTRIBUTE = STS_INIT_WITH_HASH(ko_ATTRIBUTE, "ATTRIBUTE", 14959290143384361001ULL); #endif // %%%OUTPUT_NAME%%% EOF` debian/patches/r129.patch0000664000000000000000000000275012237325711012344 0ustar Description: Fix g++-4.7 -std=c++0x issue Deb-Bugs: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=665360 Index: ctemplate-2.2/src/ctemplate/template_string.h.in =================================================================== --- ctemplate-2.2.orig/src/ctemplate/template_string.h.in 2012-04-19 07:49:56.000000000 +1000 +++ ctemplate-2.2/src/ctemplate/template_string.h.in 2012-06-20 22:52:46.000000000 +1000 @@ -337,7 +337,7 @@ // Don't use this. This is used only in auto-generated .varnames.h files. #define STS_INIT_WITH_HASH(name, str, hash) \ - { { str, sizeof(""str"")-1, hash } }; \ + { { str, sizeof("" str "")-1, hash } }; \ namespace ctemplate_sts_init { \ static const @ac_google_namespace@::StaticTemplateStringInitializer name##_init(&name); \ } Index: ctemplate-2.2/src/template_dictionary.cc =================================================================== --- ctemplate-2.2.orig/src/template_dictionary.cc 2012-04-19 07:49:56.000000000 +1000 +++ ctemplate-2.2/src/template_dictionary.cc 2012-06-20 22:53:11.000000000 +1000 @@ -861,7 +861,7 @@ string GetDictNum(size_t index, size_t size) const { char buf[64]; // big enough for two ints - snprintf(buf, sizeof(buf), "%" PRIuS" of %" PRIuS, index, size); + snprintf(buf, sizeof(buf), "%" PRIuS " of %" PRIuS, index, size); return buf; } debian/watch0000664000000000000000000000041411705447150010224 0ustar version=3 opts=\ downloadurlmangle=s|.*[?]name=(.*?)&.*|http://google-ctemplate.googlecode.com/files/$1|,\ filenamemangle=s|[^/]+[?]name=(.*?)&.*|$1| \ http://code.google.com/p/google-ctemplate/downloads/detail[?]name=ctemplate-([0-9.]+).tar.gz&.* debian svn-upgrade debian/control0000664000000000000000000000335612273317572010613 0ustar Source: ctemplate Section: libdevel Priority: optional Maintainer: Ubuntu Developers XSBC-Original-Maintainer: Debian KDE Extras Team Uploaders: Mark Purcell , Florian Reinhard Build-Depends: debhelper (>= 7.0.50~), dh-autoreconf Standards-Version: 3.9.4 Vcs-Svn: svn://anonscm.debian.org/pkg-kde/kde-extras/ctemplate/trunk Vcs-Browser: http://anonscm.debian.org/viewvc/pkg-kde/kde-extras/ctemplate/trunk Homepage: http://code.google.com/p/google-ctemplate/ Package: libctemplate-dev Architecture: any Depends: libctemplate2 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} Description: Simple but powerful template language for C++ - development files This package contains a library implementing a simple but powerful template language for C++. It emphasizes separating logic from presentation: it is impossible to embed application logic in this template language. The devel package contains static and debug libraries and header files for developing applications that use the ctemplate package. This package contains the ctemplate development files. Package: libctemplate2 Section: libs Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: Simple but powerful template language for C++ This package contains a library implementing a simple but powerful template language for C++. It emphasizes separating logic from presentation: it is impossible to embed application logic in this template language. This limits the power of the template language without limiting the power of the template *system*. Indeed, Google's "main" web search uses this system exclusively for formatting output. debian/source/0000775000000000000000000000000012237325750010476 5ustar debian/source/format0000664000000000000000000000001411427130562011677 0ustar 3.0 (quilt) debian/compat0000664000000000000000000000000211371122735010370 0ustar 7 debian/libctemplate-dev.doc-base0000664000000000000000000000043511427134035014012 0ustar Document: ctemplate-doc Title: Google Template System Author: Craig Silverstein Abstract: Documentation for the Google C++ template system Section: Programming/C++ Format: HTML Index: /usr/share/doc/libctemplate-dev/html/index.html Files: /usr/share/doc/libctemplate-dev/html/*.html debian/rules0000775000000000000000000000047612274007160010256 0ustar #!/usr/bin/make -f export PTHREAD_CFLAGS=-lpthread %: dh $@ --with autoreconf override_dh_auto_configure: dh_auto_configure -- --program-prefix=ctemplate- override_dh_auto_clean: rm -rf /tmp/diff_tpl_auto_escape_unittest_sh_dir /tmp/make_tpl_varnames_h_unittest_sh_dir /tmp/template_unittest_dir dh_auto_clean debian/libctemplate2.install0000664000000000000000000000002211755555030013307 0ustar usr/lib/lib*.so.*