= ClearSilver [http://www.clearsilver.net/ Clearsilver] is a powerful and flexible HTML templating engine. ---- Clearsilver has its drawbacks, and after a few years of successful but sometimes frustrating use, the TracTeam unanimously--and enthusiastically!--decided to switch to another templating engine: '''[http://genshi.edgewall.org Genshi]'''. Starting with [milestone:0.11], Trac will no longer ''require'' Clearsilver. However, through 0.12 Trac will retain the infrastructure needed to support plugins using Clearsilver. Plugin developers should nonetheless consider switching to Genshi during the transition phase of 0.11 development. See ["TracDev/ApiChanges/0.11#MigratingawayfromClearsilver"]. Trac 0.12 still contains the Clearsilver supporting code, although the code is no longer supported. {{{#!div class=important Starting with r10405 (Trac 1.0dev), that code has been removed, making the [TracDev/PortingFromClearSilverToGenshi transition to Genshi templates] mandatory. }}} ---- == Download Official [http://www.clearsilver.net/downloads Clearsilver downloads]. For Python 2.5, you need to build the package yourself, and you probably need the following patch: googlegroups:trac-users:5b502b38f4e13c8f Furthermore, for Python 2.5 on Win32 there is an egg build and instructions at http://tn123.ath.cx/clearsilver/. == Building the package yourself If you have to build the package yourself, be sure to build a '''thread-safe''' version of the library. There's no explicit configuration switch for that. Just pay attention to the ''Checking pthread.h... yes'' line during configuration. If it's ''no'', then you'll have to fix the configuration step yourself, see that [/trac/ticket/1764#change_15 comment]. Non thread-safe builds have been reported to '''not''' work with Trac in a multi-threaded setup, see the comment linked above. On `x86_64` platforms, the 0.10.x series is needed. For [https://gcc.gnu.org/ gcc4], Trac release 0.10+ should be used. === ClearSilver 0.10.2 There's a typo in the configure scripts. You'll need to apply the following patch first: {{{ #!diff diff -r 1f523c238d93 -r 74f546b8d58b configure --- a/configure Tue Jan 17 17:36:53 2006 +0100 +++ b/configure Thu Jan 19 10:47:42 2006 +0100 @@ -6045,7 +6045,7 @@ PYTHON=$python_bin PYTHON_INC="-I$python_inc" PYTHON_LIB=$python_lib - if test ! $?PYTHON_SITE; then + if test ! $PYTHON_SITE; then PYTHON_SITE=$python_site fi BUILD_WRAPPERS="$BUILD_WRAPPERS python" diff -r 1f523c238d93 -r 74f546b8d58b configure.in --- a/configure.in Tue Jan 17 17:36:53 2006 +0100 +++ b/configure.in Thu Jan 19 10:47:42 2006 +0100 @@ -288,7 +288,7 @@ PYTHON=$python_bin PYTHON_INC="-I$python_inc" PYTHON_LIB=$python_lib - if test ! $?PYTHON_SITE; then + if test ! $PYTHON_SITE; then PYTHON_SITE=$python_site fi BUILD_WRAPPERS="$BUILD_WRAPPERS python" }}} Then you can call `configure`, for example like this: {{{ ./configure --prefix=/opt/clearsilver-0.10.2 \ --with-python=/opt/python-2.4.2/bin/python \ --disable-ruby --disable-java --disable-perl --disable-apache --disable-csharp }}} At this point `make && make install` should work. Caution: 'should' is relative. Note for *BSD: you may have to use GNUmake by using `gmake` because `make` may not work. Note for x86_64 Linux: ClearSilver is known not to compile on RHEL 4.x x86_64. The ClearSilver developers have not responded except to occasionally nuke threads on their mailing list about the topic. Consider using Trac 0.11-devel instead. (This might no longer be true for clearsilver 0.10.5, I've compiled & installed without issue on x86_64) Useful thread here on Python2.5 and Clearsilver10.3, which covers compiling and configuring on x86_64: https://launchpad.net/ubuntu/+source/clearsilver/+bug/86685