= ClearSilver = '''Clearsilver''' (http://www.clearsilver.net/) 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 go for another templating engine: '''[http://genshi.edgewall.org Genshi]'''. Therefore, starting with [milestone:0.11], Trac will no longer ''require'' Clearsilver. However, that version (and perhaps the following one, it's not yet decided), 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"] ---- == Download == Official [http://www.clearsilver.net/downloads downloads] Unofficial windows builds of ClearSilver 0.9.14 are also available from http://clearsilver.yi.org/ as installers for Python 2.3 and 2.4. For Python 2.5, you need to build the package yourself, and you probably need the following patch: googlegroups:trac-users:5b502b38f4e13c8f == 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 gcc4, the latest release (0.10.2) 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. (Be Warned: Should is very relative). Note for *BSD: you may have to use GNUmake by using `gmake` because `make` may not work.