# # spec file for ClearSilver Linux RPM (based on RedHat installs) # # Caveats: There is some difficulty getting this file to sync with the # actual information discovered by configure. In theory, some of this # stuff in here could be driven off of configure.. except that configure # is supposed to be driven off this file... # # * PREFIX vs perl/python PREFIX: where the perl/python modules get # installed is actually defined by the installation of perl/python you # are using to build the module. For that reason, we need to use a # different PREFIX for the python/perl modules. For python, we just # override PYTHON_SITE during install, for perl we have to run make # install again with a new PREFIX. This means the perl module might be # installed in two different locations, but we just package the second # one. # # * The perl suggestions for rpms: # http://archive.develooper.com/perl-dist@perl.org/msg00055.html # suggest using find to get all of the files for the perl module. I'm # currently hard coding them since we're not just building the perl # module. In particular, the file path of the ClearSilver.3pm.gz # manpage is probably wrong on some platforms. # # * The apache/java/ruby/csharp packages are not yet finished. For one, # all of my machines are redhat 7.3 or earlier, and don't have rpms # installed for java/ruby/csharp, and my apache installation is Neotonic # specific and therefore not much help to the rest of you. ########################################################################## ## Edit these settings %define __prefix /usr/local %define __python /usr/bin/python %define with_python_subpackage 1 %{nil} %define with_perl_subpackage 1 %{nil} # These packages aren't tested at all and probably won't build %define with_apache_subpackage 0 %define with_java_subpackage 0 %define with_ruby_subpackage 0 %define with_csharp_subpackage 0 ########################################################################## ## All of the rest of this should work correctly based on the top... ## maybe %define python_sitepath %(%{__python} -c "import site; print site.sitedirs[0]") %define perl_sitearch %(eval "`perl -V:installsitearch`"; echo $installsitearch) %define perl_prefix %(eval "`perl -V:prefix`"; echo $prefix) %define ruby_sitepath %(echo "i dunno") %define ruby_version %(echo "i dunno") %define ruby_arch %(echo "i dunno") %define apache_libexec %(eval `/httpd/bin/apxs -q LIBEXECDIR`) Summary: Neotonic ClearSilver Name: clearsilver Version: 0.10.5 Release: 1 Copyright: Open Source - Neotonic ClearSilver License (Apache 1.1 based) Group: Development/Libraries Source: http://www.clearsilver.net/downloads/clearsilver-0.10.5.tar.gz URL: http://www.clearsilver.net/ Vendor: Neotonic Software Corporation, Inc. Packager: Brandon Long <blong@neotonic.com> BuildRequires: zlib-devel %if %{with_python_subpackage} BuildRequires: python-devel >= 1.5.2 %endif %if %{with_perl_subpackage} BuildRequires: perl >= 0:5.006 %endif %if %{with_ruby_subpackage} BuildRequires: ruby >= 1.4.5 %endif BuildRoot: %{_tmppath}/%{name}-root %description ClearSilver is a fast, powerful, and language-neutral HTML template system. In both static content sites and dynamic HTML applications, it provides a separation between presentation code and application logic which makes working with your project easier. Because it's written as a C-library, and exported to scripting languages like Python and Perl via modules, it is extremely fast compared to template systems written in a script language. %if %{with_python_subpackage} %package python Summary: Neotonic ClearSilver Python Module Group: Development/Libraries Requires: clearsilver = %PACKAGE_VERSION %requires_eq python %description python The clearsilver-python package provides a python interface to the clearsilver CGI kit and templating system. %endif %if %{with_perl_subpackage} %package perl Summary: Neotonic ClearSilver Perl Module Group: Development/Libraries Requires: clearsilver = %PACKAGE_VERSION Requires: perl >= 0:5.006 %requires_eq perl %description perl The clearsilver-perl package provides a perl interface to the clearsilver templating system. %endif %if %{with_ruby_subpackage} %package ruby Summary: Neotonic ClearSilver Ruby Module Group: Development/Libraries Requires: clearsilver = %PACKAGE_VERSION Requires: ruby >= 1.4.5 %description ruby The clearsilver-ruby package provides a ruby interface to the clearsilver templating system. %endif %if %{with_apache_subpackage} %package apache Summary: Neotonic ClearSilver Apache Module Group: Development/Libraries Requires: clearsilver = %PACKAGE_VERSION Requires: apache >= 1.3.0 Requires: apache < 1.4 %description apache The clearsilver-apache package provides an Apache 1.3.x module for loading ClearSilver CGI's as shared libraries. %endif %if %{with_java_subpackage} %package java Group: Development/Libraries Requires: clearsilver = %PACKAGE_VERSION %description java The clearsilver-java package provides a java jni interface to the clearsilver templating system. %endif %prep %setup %build ./configure --prefix=%{__prefix} --with-python=%{__python} make %install make PREFIX="$RPM_BUILD_ROOT%{__prefix}" prefix="$RPM_BUILD_ROOT%{__prefix}" PYTHON_SITE="$RPM_BUILD_ROOT%{python_sitepath}" install cd perl make PREFIX="$RPM_BUILD_ROOT%{perl_prefix}" install cd .. %files %{__prefix}/include/ClearSilver/ClearSilver.h %{__prefix}/include/ClearSilver/cs_config.h %{__prefix}/include/ClearSilver/cgi/cgi.h %{__prefix}/include/ClearSilver/cgi/cgiwrap.h %{__prefix}/include/ClearSilver/cgi/date.h %{__prefix}/include/ClearSilver/cgi/html.h %{__prefix}/include/ClearSilver/cs/cs.h %{__prefix}/include/ClearSilver/util/dict.h %{__prefix}/include/ClearSilver/util/filter.h %{__prefix}/include/ClearSilver/util/neo_date.h %{__prefix}/include/ClearSilver/util/neo_err.h %{__prefix}/include/ClearSilver/util/neo_files.h %{__prefix}/include/ClearSilver/util/neo_hash.h %{__prefix}/include/ClearSilver/util/neo_hdf.h %{__prefix}/include/ClearSilver/util/neo_misc.h %{__prefix}/include/ClearSilver/util/neo_net.h %{__prefix}/include/ClearSilver/util/neo_rand.h %{__prefix}/include/ClearSilver/util/neo_server.h %{__prefix}/include/ClearSilver/util/neo_str.h %{__prefix}/include/ClearSilver/util/rcfs.h %{__prefix}/include/ClearSilver/util/skiplist.h %{__prefix}/include/ClearSilver/util/ulist.h %{__prefix}/include/ClearSilver/util/ulocks.h %{__prefix}/include/ClearSilver/util/wdb.h %{__prefix}/include/ClearSilver/util/wildmat.h %{__prefix}/lib/libneo_cgi.a %{__prefix}/lib/libneo_cs.a %{__prefix}/lib/libneo_utl.a %{__prefix}/bin/static.cgi %{__prefix}/bin/cstest %{__prefix}/man/man3 %if %{with_python_subpackage} %files python %{python_sitepath}/neo_cgi.so %endif %if %{with_perl_subpackage} %files perl %{perl_sitearch}/ClearSilver.pm %{perl_sitearch}/auto/ClearSilver/ClearSilver.so %{perl_sitearch}/auto/ClearSilver/ClearSilver.bs %{perl_prefix}/share/man/man3/ClearSilver.3pm.gz %endif %if %{with_ruby_subpackage} %files ruby %{ruby_sitepath}/%(ruby_version}/neo.rb %{ruby_sitepath}/%(ruby_version}/$(ruby_arch}/hdf.so %endif %if %{with_apache_subpackage} %files apache %{apache_libexec}/mod_ecs.so %endif %if %{with_java_subpackage} %files java %{__prefix}/lib/clearsilver.jar %{__prefix}/lib/libclearsilver-jni.so %endif