%set_strip_method none
Name: ocsigen
Version: 1.1.0
Release: alt3.1
Summary: Web programming framework
Group: Development/ML
License: LGPLv2+ with exceptions
Url: http://ocsigen.org/
Packager: Veaceslav Grecea <slavutich@altlinux.org>
Source: http://ocsigen.org/download/%name-%version.tar.gz
Requires: rpm-build-ocaml >= 1.1
BuildPreReq: rpm-build-ocaml >= 1.1
Provides: webserver
%define ocsigen_user ocsigen
%define ocsigen_group ocsigen
%define ocsigen_upload_dir /var/spool/ocsigen/uploads
%define ocsigen_www_dir /var/www/ocsigen
# Automatically added by buildreq on Mon Sep 22 2008
BuildRequires: camlp4 findlib libtinfo-devel ocaml-cryptokit ocaml-dbm ocaml-lwt ocaml-sqlite3 ocaml-zip ocamldoc ocamlnet
Source1: %name.logrotate
Source2: %name.init
Patch1: %name-alt-configure.patch
Patch2: %name-alt-makefile.patch
%description
Ocsigen is a research project aimed at developing new programming
techniques for the Web. Its goal is to offer an alternative to
Apache/PHP, based on cutting-edge technologies from research in
programming languages. It contains a full featured Web server and a
programming framework, called Eliom, that provides a new way to create
dynamic Web sites. With Eliom, you program in a concise and modular
way, with a strong type system which helps you to produce valid
XHTML. Eliom handles sessions, URLs, and page parameters
automatically.
The main features are:
- Extensible Web server, implemented with cooperative threads
- Extensions for serving static pages, CGI pages, for HTTP redirections,
data compression, reverse proxy, access control, etc.
- Eliom Web programming framework:
- Continuation-based Web programming
- Static checking of XHTML (using OCaml or OCamlDuce)
- Automatic management of sessions
- Concise and modular programming
%package doc
Summary: Documetation files for %name
Group: Development/Other
Requires: %name = %version-%release
BuildArch: noarch
%description doc
The %{name}-doc package contains documentation files for %name.
%prep
%setup -q
%patch1 -p0
%patch2 -p0
mv README README.old
iconv -f iso-8859-1 -t utf-8 < README.old > README
%build
# --enable-nativecode requires OCaml 3.11.
./configure --prefix /usr \
--temproot %buildroot \
--extralibdir %_libdir \
--disable-nativecode \
--enable-camlzip \
--disable-ocamlduce \
--mandir /usr/share/man/man1 \
--uploaddir %ocsigen_upload_dir \
--examplesdir %_libdir/%name/examples \
--docdir /usr/share/doc
make depend
make
make doc
%install
mkdir -p %buildroot%_libdir/ocaml/stublibs
mkdir -p %buildroot%ocsigen_upload_dir
mkdir -p %buildroot%_sysconfdir/logrotate.d
make install
# hasher break build and exit with error here
#make logrotate
install -m755 server/ocsigentop %buildroot%_bindir
install -pD -m644 %SOURCE1 %buildroot%_sysconfdir/logrotate.d/%name
install -pD -m755 %SOURCE2 %buildroot%_initdir/%name
cp eliom/eliommod_{cookies,gc,pagegen,sessiongroups,timeouts}.cmi %buildroot%_libdir/ocaml/site-lib/ocsigen
rm -rf %buildroot%_initdir/var/run
%files
%doc COPYING LICENSE
%config %dir %_sysconfdir/ocsigen/
%config(noreplace) %_sysconfdir/logrotate.d/ocsigen
%config(noreplace) %_sysconfdir/ocsigen/ocsigen.conf
%config(noreplace) %_sysconfdir/ocsigen/mime.types
%config(noreplace) %_sysconfdir/ocsigen/ocsigen.conf.opt.sample
%config(noreplace) %_sysconfdir/ocsigen/ocsigen.conf.sample
%attr(0755,root,root) %_initdir/%name
%_bindir/*
%_man1dir/*
%ocsigen_www_dir
%attr(2770,root,%ocsigen_group) %_logdir/ocsigen
%_libdir/ocaml/site-lib/ocsigen
%_libdir/ocaml/stublibs
%_libdir/ocsigen/*
%_localstatedir/%name
%files doc
%doc doc/*
%pre
%_sbindir/groupadd -r -f %ocsigen_group ||:
%_sbindir/useradd -r -g %ocsigen_group -d /dev/null -s /dev/null -n %ocsigen_user \
2> /dev/null > /dev/null ||:
%post
%post_service %name
%preun
%preun_service %name
%changelog
* Tue Dec 07 2010 Igor Vlasenko <viy@altlinux.ru> 1.1.0-alt3.1
- rebuild with new openssl and/or boost by request of git.alt administrator
* Sat Dec 13 2008 Veaceslav Grecea <slavutich@altlinux.org> 1.1.0-alt3
- rebuild
* Tue Oct 07 2008 Veaceslav Grecea <slavutich@altlinux.org> 1.1.0-alt2
- darcs update
* Wed Sep 17 2008 Veaceslav Grecea <slavutich@altlinux.org> 1.1.0-alt1
- Initial build for ALT Linux
* Tue Sep 2 2008 Richard W.M. Jones <rjones@redhat.com> - 1.1.0-5
- Prevent prelink from stripping binaries.
- Cryptokit packaging bug is fixed, so we don't need the workaround
patch for it any longer.
- Better way to stop it calling chown during install.
* Mon Sep 1 2008 Richard W.M. Jones <rjones@redhat.com> - 1.1.0-3
- Initial RPM release.