blob: 24014d94ae545f93dae583f84c5178948c30a76a [file] [log] [blame] [edit]
#
# 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