packages: ocaml-net/ocaml-net.spec - 3.3.4 - build apache module - fix labl...

baggins baggins at pld-linux.org
Mon Jul 18 13:26:13 CEST 2011


Author: baggins                      Date: Mon Jul 18 11:26:13 2011 GMT
Module: packages                      Tag: HEAD
---- Log message:
- 3.3.4
- build apache module
- fix lablgtk2 and ocamlzip detection
- updated BRs
- added gtk 1/2 support
- added new modules

---- Files affected:
packages/ocaml-net:
   ocaml-net.spec (1.40 -> 1.41) 

---- Diffs:

================================================================
Index: packages/ocaml-net/ocaml-net.spec
diff -u packages/ocaml-net/ocaml-net.spec:1.40 packages/ocaml-net/ocaml-net.spec:1.41
--- packages/ocaml-net/ocaml-net.spec:1.40	Sat Apr 18 17:55:35 2009
+++ packages/ocaml-net/ocaml-net.spec	Mon Jul 18 13:26:08 2011
@@ -1,31 +1,38 @@
 # $Revision$, $Date$
-# TODO:
-# - nethttpd needs to be packaged
-# - apache stuff
-# - lablgtk2 support
-#
-%define		ocaml_ver	1:3.09.2
+%define		apxs	/usr/sbin/apxs
 Summary:	Modules for Internet programming in OCaml
 Summary(pl.UTF-8):	Moduły ułatwiające pisanie programów internetowych w OCamlu
 Name:		ocaml-net
-Version:	2.2.9
-Release:	5
+Version:	3.3.4
+Release:	1
 License:	GPL v2+ (nethttpd), LGPL v2+ (mod_caml), BSD-like (the rest)
 Group:		Libraries
 Source0:	http://download.camlcity.org/download/ocamlnet-%{version}.tar.gz
-# Source0-md5:	3655e3be3bb2806e0a1f48bb7ce16fb3
+# Source0-md5:	2fb725528725d6fb839ba4fdd5e8ac1c
 Patch0:		%{name}-buildfix.patch
+Patch1:		%{name}-lablgtk2.patch
+Patch2:		%{name}-zip.patch
+Patch3:		%{name}-apache-link.patch
 URL:		http://projects.camlcity.org/projects/ocamlnet.html
+BuildRequires:	%{apxs}
+BuildRequires:	apache-devel >= 2.0
 BuildRequires:	ncurses-devel
-BuildRequires:	ocaml >= %{ocaml_ver}
+BuildRequires:	ocaml >= 1:3.09.2
 BuildRequires:	ocaml-findlib
 BuildRequires:	ocaml-pcre-devel
-#BuildRequires:	ocaml-lablgtk2-devel
+BuildRequires:	ocaml-lablgtk-devel
+BuildRequires:	ocaml-lablgtk2-devel >= 2.14.2
 BuildRequires:	ocaml-ssl-devel
+BuildRequires:	ocaml-zip-devel
+BuildRequires:	ocaml-cryptgps-devel
+BuildRequires:	ocaml-cryptokit-devel
 BuildRequires:	ocaml-labltk-devel
 BuildRequires:	tcl-devel
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+%define		_apachepkglibdir	%(%{apxs} -q LIBEXECDIR 2>/dev/null)
+%define		_apachesysconfdir	%(%{apxs} -q SYSCONFDIR 2>/dev/null)/conf.d
+
 %description
 Modules for Internet programming in OCaml.
 
@@ -44,7 +51,7 @@
 %description doc -l pl.UTF-8
 Dokumentacja dla pakietów ocaml-net.
 
-%package cgi-devel
+%package netcgi-devel
 Summary:	Common Gateway Interface library
 Summary(pl.UTF-8):	Biblioteka do tworzenia skryptów CGI
 License:	LGPL v2+ (mod_caml), BSD-like (the rest)
@@ -52,17 +59,28 @@
 Requires:	%{name}-netplex-devel = %{version}-%{release}
 Requires:	%{name}-netstring-devel = %{version}-%{release}
 Requires:	%{name}-netsys-devel = %{version}-%{release}
+Obsoletes:	%{name}-cgi-devel
 %requires_eq	ocaml
 
-%description cgi-devel
+%description netcgi-devel
 Common Gateway Interface library, part of Ocamlnet. This package
 contains files needed to develop OCaml programs using netcgi library.
 
-%description cgi-devel -l pl.UTF-8
+%description netcgi-devel -l pl.UTF-8
 Biblioteka do tworzenia skryptów CGI, część pakietu Ocamlnet. Ten
 pakiet zawiera pliki niezbędne do tworzenia programów używających
 biblioteki netcgi.
 
+%package -n apache-mod_netcgi
+Summary:	Apache module:
+Summary(pl.UTF-8):	Moduł Apache'a:
+Group:		Networking/Daemons/HTTP
+Requires:	apache(modules-api) = %apache_modules_api
+
+%description -n apache-mod_netcgi
+
+%description -n apache-mod_netcgi -l pl.UTF-8
+
 %package equeue-devel
 Summary:	Event queue library for OCaml
 Summary(pl.UTF-8):	Biblioteka obsługująca kolejkę zdarzeń dla OCamla
@@ -86,6 +104,52 @@
 Ten pakiet zawiera pliki niezbędne do tworzenia programów używających
 biblioteki equeue.
 
+%package equeue-gtk-devel
+Summary:	GTK event queue library for OCaml
+Summary(pl.UTF-8):	Biblioteka obsługująca kolejkę zdarzeń GTK dla OCamla
+License:	BSD-like
+Group:		Development/Libraries
+Requires:	%{name}-equeue-devel = %{version}-%{release}
+Requires:	ocaml-lablgtk-devel = %{version}-%{release}
+%requires_eq	ocaml
+
+%description equeue-gtk-devel
+Equeue provides a generic event queue module, and a specific module
+for file descriptor events.
+
+This package contains files needed to develop OCaml programs using
+GTK equeue library.
+
+%description equeue-gtk-devel -l pl.UTF-8
+Equeue dostarcza ogólnego modułu obsługi kolejki zdarzeń jak również
+modułu obsługi zdarzeń na deskryptorach plików.
+
+Ten pakiet zawiera pliki niezbędne do tworzenia programów używających
+biblioteki equeue GTK.
+
+%package equeue-gtk2-devel
+Summary:	GTK2 event queue library for OCaml
+Summary(pl.UTF-8):	Biblioteka obsługująca kolejkę zdarzeń GTK2 dla OCamla
+License:	BSD-like
+Group:		Development/Libraries
+Requires:	%{name}-equeue-devel = %{version}-%{release}
+Requires:	ocaml-lablgtk2-devel = %{version}-%{release}
+%requires_eq	ocaml
+
+%description equeue-gtk2-devel
+Equeue provides a generic event queue module, and a specific module
+for file descriptor events.
+
+This package contains files needed to develop OCaml programs using
+GTK2 equeue library.
+
+%description equeue-gtk2-devel -l pl.UTF-8
+Equeue dostarcza ogólnego modułu obsługi kolejki zdarzeń jak również
+modułu obsługi zdarzeń na deskryptorach plików.
+
+Ten pakiet zawiera pliki niezbędne do tworzenia programów używających
+biblioteki equeue GTK2.
+
 %package equeue-ssl
 Summary:	Event queue library for OCaml, SSL support
 Summary(pl.UTF-8):	Biblioteka obsługująca kolejkę zdarzeń dla OCamla, wsparcie dla SSL
@@ -179,6 +243,34 @@
 Ten pakiet zawiera pliki niezbędne do tworzenia programów używających
 biblioteki equeue-tcl.
 
+%package netcamlbox-devel
+Summary:	Fast IPC mechanism for OCaml
+Summary(pl.UTF-8):	Szybki mechanizm IPC dla OCamla
+License:	BSD-like
+Group:		Development/Libraries
+Requires:	%{name}-netsys-devel = %{version}-%{release}
+%requires_eq	ocaml
+
+%description netcamlbox-devel
+Camlboxes are a fast IPC mechanism to send Ocaml values from one process           
+to another. Source and destination processes must run on the same machine          
+(no network). The Ocaml value is copied to a shared memory object where it         
+can be directly accessed by the receiver without unmarshalling step. This          
+means the sender writes the value into the shared memory in a format that          
+can immediately interpreted by the receiver.
+
+This package contains files needed to develop OCaml programs using
+netcamlbox library.
+
+%description netcamlbox-devel -l pl.UTF-8
+Camlboxy są szybkim mechanizmem IPC do przesyłania danych Ocamla pomiędzy procesami.
+Nadawca i odbiorca muszą być uruchomione na tej samej maszynie. Dane Ocamla
+są kopiowane do segmentu pamięci dzielonej, gdzie mogą byc bezpośrednio
+odczytywane przez odbiorcę.
+
+Ten pakiet zawiera pliki niezbędne do tworzenia programów używających
+biblioteki netcamlbox.
+
 %package netclient-devel
 Summary:	HTTP 1.1 client for OCaml
 Summary(pl.UTF-8):	Klient HTTP 1.1 dla OCamla
@@ -209,12 +301,30 @@
 Ten pakiet zawiera pliki niezbędne do tworzenia programów używających
 biblioteki netclient.
 
+%package netgssapi-devel
+Summary:	GSS-API generic definition
+Summary(pl.UTF-8):	Biblioteka do obsługi protokołu GSSAPI
+License:	GPL v2+
+Group:		Development/Libraries
+Requires:	%{name}-netstring-devel = %{version}-%{release}
+Requires:	%{name}-netsys-devel = %{version}-%{release}
+%requires_eq	ocaml
+
+%description netgssapi-devel
+GSSAPI library, part of Ocamlnet. This package contains the files
+needed to develop OCaml programs using netgssapi library.
+
+%description netgssapi-devel -l pl.UTF-8
+Biblioteka do obsługi protokołu GSSAPI, część pakietu Ocamlnet. Ten
+pakiet zawiera pliki niezbędne do tworzenia programów używających
+biblioteki netgssapi.
+
 %package nethttpd-devel
 Summary:	HTTPd library
 Summary(pl.UTF-8):	Biblioteka do obsługi protokołu HTTP
 License:	GPL v2+
 Group:		Development/Libraries
-Requires:	%{name}-cgi-devel = %{version}-%{release}
+Requires:	%{name}-netcgi-devel = %{version}-%{release}
 Requires:	%{name}-equeue-devel = %{version}-%{release}
 Requires:	%{name}-netplex-devel = %{version}-%{release}
 %requires_eq	ocaml-pcre-devel
@@ -229,6 +339,42 @@
 pakiet zawiera pliki niezbędne do tworzenia programów używających
 biblioteki nethttpd.
 
+%package netmech-scram-devel
+Summary:	SCRAM mechanism for authentication
+Summary(pl.UTF-8):	Mechanizm autentykacji SCRAM
+License:	GPL v2+
+Group:		Development/Libraries
+Requires:	%{name}-netcamlbox-devel = %{version}-%{release}
+Requires:	%{name}-netplex-devel = %{version}-%{release}
+%requires_eq	ocaml
+
+%description netmech-scram-devel
+Netmech-scram library, part of Ocamlnet. This package contains the files
+needed to develop OCaml programs using netmech-scram library.
+
+%description netmech-scram-devel -l pl.UTF-8
+Biblioteka do obsługi wieloprocesorowych obliczeń, część pakietu Ocamlnet. Ten
+pakiet zawiera pliki niezbędne do tworzenia programów używających
+biblioteki netmech-scram.
+
+%package netmulticore-devel
+Summary:	Multi-processing for compute jobs
+Summary(pl.UTF-8):	Obsługa wieloprocesorowych obliczeń
+License:	GPL v2+
+Group:		Development/Libraries
+Requires:	%{name}-netcamlbox-devel = %{version}-%{release}
+Requires:	%{name}-netplex-devel = %{version}-%{release}
+%requires_eq	ocaml
+
+%description netmulticore-devel
+Netmcore library, part of Ocamlnet. This package contains the files
+needed to develop OCaml programs using netmulticore library.
+
+%description netmulticore-devel -l pl.UTF-8
+Biblioteka do obsługi wieloprocesorowych obliczeń, część pakietu Ocamlnet. Ten
+pakiet zawiera pliki niezbędne do tworzenia programów używających
+biblioteki netmulticore.
+
 %package netplex
 Summary:	Server framework
 Summary(pl.UTF-8):	Szkielet serwerowy
@@ -350,6 +496,26 @@
 Ten pakiet zawiera pliki niezbędne do tworzenia programów używających
 biblioteki netsys.
 
+%package netzip-devel
+Summary:	Gzip channels - development part
+Summary(pl.UTF-8):	Funkcje do kompresji kanałow - cześć programistyczna
+License:	BSD-like
+Group:		Development/Libraries
+Requires:	%{name}-netstring = %{version}-%{release}
+%requires_eq	ocaml
+
+%description netzip-devel
+Gzip channels functions.
+
+This package contains files needed to develop OCaml programs using
+netzip library.
+
+%description netzip-devel -l pl.UTF-8
+Funkcje do kompresji kanałow.
+
+Ten pakiet zawiera pliki niezbędne do tworzenia programów używających
+biblioteki netzip.
+
 %package pop3-devel
 Summary:	Post Office Protocol (POP3) library
 Summary(pl.UTF-8):	Biblioteka do obsługi POP3
@@ -428,23 +594,31 @@
 %prep
 %setup -q -n ocamlnet-%{version}
 %patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
 
 %build
 # no %%configure, please
 ./configure \
-	-disable-gtk \
-	-disable-gtk2 \
+	-enable-gtk \
+	-enable-gtk2 \
 	-enable-ssl \
+	-enable-zip \
+	-enable-crypto \
+	-enable-apache \
+	-with-rpc-auth-dh \
 	-enable-tcl \
 	-equeue-tcl-libs "-ltcl" \
-	-with-nethttpd
+	-with-nethttpd \
+	-apxs %{apxs} \
+	-apache /usr/sbin/httpd
 
 %{__make} -j1 all opt
 
 %install
 rm -rf $RPM_BUILD_ROOT
-
-install -d $RPM_BUILD_ROOT%{_libdir}/ocaml
+install -d $RPM_BUILD_ROOT{%{_libdir}/ocaml,%{_apachepkglibdir},%{_apachesysconfdir}}
 
 %{__make} -j1 install \
 	OCAMLFIND_DESTDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml \
@@ -459,17 +633,45 @@
 	echo "directory = \"+$f\"" \
 		>> $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/$f/META
 done
-# cgi is a special case
-install -d $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/cgi
-mv $RPM_BUILD_ROOT%{_libdir}/ocaml/cgi/META $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/cgi/
 cd ..
 
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/ocaml/netcgi_apache/500netcgi_apache.info
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/ocaml/netcgi_apache/META
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/ocaml/netcgi_apache/mod_netcgi_apache.so
+	 
+install -p src/netcgi2-apache/mod_netcgi_apache.so $RPM_BUILD_ROOT%{_apachepkglibdir}/mod_netcgi.so
+cat <<EOF >$RPM_BUILD_ROOT%{_apachesysconfdir}/90_mod_netcgi.conf
+LoadModule netcgi_module     modules/mod_netcgi.so
+
+<IfModule netcgi_module>
+	NetcgiLoad pcre/pcre.cma
+	NetcgiLoad netsys/netsys.cma
+	NetcgiLoad netstring/netstring.cma
+	NetcgiLoad str.cma
+	NetcgiLoad netcgi2/netcgi.cma
+	NetcgiLoad netcgi2-apache/netcgi_apache.cma
+
+	NetcgiHandler Netcgi_apache.bytecode
+	AddHandler ocaml-bytecode .cma
+
+#	Alias /caml-bin/ /path/to/your/scripts/
+#	<Location /caml-bin>
+#		SetHandler ocaml-bytecode
+#		NetcgiHandler Netcgi_apache.bytecode
+#		Options ExecCGI
+#		Allow from all
+#	</Location>
+</IfModule>
+EOF
+
 # not sure about *.o
 rm $RPM_BUILD_ROOT%{_libdir}/ocaml/*/*.mli
 
-install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-{cgi,equeue,netclient,nethttpd,pop3,rpc}-%{version}
-cp -r examples/cgi/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-cgi-%{version}
+install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-{netcgi,equeue,netcamlbox,netmulticore,netclient,nethttpd,pop3,rpc}-%{version}
+cp -r examples/camlbox/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-netcamlbox-%{version}
+cp -r examples/cgi/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-netcgi-%{version}
 cp -r examples/equeue/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-equeue-%{version}
+cp -r examples/multicore/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-netmulticore-%{version}
 cp -r examples/netclient/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-netclient-%{version}
 cp -r examples/nethttpd/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-nethttpd-%{version}
 cp -r examples/pop/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-pop3-%{version}
@@ -482,23 +684,41 @@
 %defattr(644,root,root,755)
 %doc LICENSE* ChangeLog RELNOTES doc/html-main
 
-%files cgi-devel
+%files netcgi-devel
 %defattr(644,root,root,755)
 %dir %{_libdir}/ocaml/netcgi*
 %{_libdir}/ocaml/netcgi*/*.cm[ixao]*
 %{_libdir}/ocaml/netcgi*/*.a
 %{_libdir}/ocaml/site-lib/*cgi*
-%{_examplesdir}/%{name}-cgi-%{version}
+%{_examplesdir}/%{name}-netcgi-%{version}
+
+%files -n apache-mod_netcgi
+%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_apachesysconfdir}/*_mod_netcgi.conf
+%attr(755,root,root) %{_apachepkglibdir}/mod_netcgi.so
 
 %files equeue-devel
 %defattr(644,root,root,755)
 %dir %{_libdir}/ocaml/equeue
 %{_libdir}/ocaml/equeue/*.cm[ixao]*
 %{_libdir}/ocaml/equeue/*.a
-%{_libdir}/ocaml/equeue/*.o
 %{_libdir}/ocaml/site-lib/equeue
 %{_examplesdir}/%{name}-equeue-%{version}
 
+%files equeue-gtk-devel
+%defattr(644,root,root,755)
+%dir %{_libdir}/ocaml/equeue-gtk1
+%{_libdir}/ocaml/equeue-gtk1/*.cm[ixao]*
+%{_libdir}/ocaml/equeue-gtk1/*.a
+%{_libdir}/ocaml/site-lib/equeue-gtk1
+
+%files equeue-gtk2-devel
+%defattr(644,root,root,755)
+%dir %{_libdir}/ocaml/equeue-gtk2
+%{_libdir}/ocaml/equeue-gtk2/*.cm[ixao]*
+%{_libdir}/ocaml/equeue-gtk2/*.a
+%{_libdir}/ocaml/site-lib/equeue-gtk2
+
 %files equeue-ssl
 %defattr(644,root,root,755)
 %dir %{_libdir}/ocaml/equeue-ssl
@@ -521,23 +741,52 @@
 %{_libdir}/ocaml/equeue-tcl/*.a
 %{_libdir}/ocaml/site-lib/equeue-tcl
 
+%files netcamlbox-devel
+%defattr(644,root,root,755)
+%dir %{_libdir}/ocaml/netcamlbox
+%{_libdir}/ocaml/netcamlbox/*.cm[ixao]*
+%{_libdir}/ocaml/netcamlbox/*.a
+%{_libdir}/ocaml/site-lib/netcamlbox
+%{_examplesdir}/%{name}-netcamlbox-%{version}
+
 %files netclient-devel
 %defattr(644,root,root,755)
 %dir %{_libdir}/ocaml/netclient
 %{_libdir}/ocaml/netclient/*.cm[ixao]*
 %{_libdir}/ocaml/netclient/*.a
-%{_libdir}/ocaml/netclient/*.o
 %{_libdir}/ocaml/site-lib/netclient
 %{_examplesdir}/%{name}-netclient-%{version}
 
+%files netgssapi-devel
+%defattr(644,root,root,755)
+%dir %{_libdir}/ocaml/netgssapi
+%{_libdir}/ocaml/netgssapi/*.cm[ixao]*
+%{_libdir}/ocaml/netgssapi/*.a
+%{_libdir}/ocaml/site-lib/netgssapi
+
 %files nethttpd-devel
 %defattr(644,root,root,755)
-%dir %{_libdir}/ocaml/nethttpd-*
-%{_libdir}/ocaml/nethttpd-*/*.cm[ixao]*
-%{_libdir}/ocaml/nethttpd-*/*.a
-%{_libdir}/ocaml/site-lib/nethttpd*
+%dir %{_libdir}/ocaml/nethttpd
+%{_libdir}/ocaml/nethttpd/*.cm[ixa]*
+%{_libdir}/ocaml/nethttpd/*.a
+%{_libdir}/ocaml/site-lib/nethttpd
 %{_examplesdir}/%{name}-nethttpd-%{version}
 
+%files netmech-scram-devel
+%defattr(644,root,root,755)
+%dir %{_libdir}/ocaml/netmech-scram
+%{_libdir}/ocaml/netmech-scram/*.cm[ixa]*
+%{_libdir}/ocaml/netmech-scram/*.a
+%{_libdir}/ocaml/site-lib/netmech-scram
+
+%files netmulticore-devel
+%defattr(644,root,root,755)
+%dir %{_libdir}/ocaml/netmulticore
+%{_libdir}/ocaml/netmulticore/*.cm[ixa]*
+%{_libdir}/ocaml/netmulticore/*.a
+%{_libdir}/ocaml/site-lib/netmulticore
+%{_examplesdir}/%{name}-netmulticore-%{version}
+
 %files netplex
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/netplex-admin
@@ -572,6 +821,7 @@
 %defattr(644,root,root,755)
 %dir %{_libdir}/ocaml/netsys
 %attr(755,root,root) %{_libdir}/ocaml/netsys/*.so
+%{_libdir}/ocaml/netsys/*.o
 
 %files netsys-devel
 %defattr(644,root,root,755)
@@ -579,6 +829,12 @@
 %{_libdir}/ocaml/netsys/*.a
 %{_libdir}/ocaml/site-lib/netsys
 
+%files netzip-devel
+%defattr(644,root,root,755)
+%{_libdir}/ocaml/netzip/*.cm[ixao]*
+%{_libdir}/ocaml/netzip/*.a
+%{_libdir}/ocaml/site-lib/netzip
+
 %files pop3-devel
 %defattr(644,root,root,755)
 %dir %{_libdir}/ocaml/pop
@@ -609,7 +865,6 @@
 %dir %{_libdir}/ocaml/shell
 %{_libdir}/ocaml/shell/*.cm[ixao]*
 %{_libdir}/ocaml/shell/*.a
-%{_libdir}/ocaml/shell/*.o
 %{_libdir}/ocaml/site-lib/shell
 
 %files smtp-devel
@@ -625,6 +880,14 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.41  2011/07/18 11:26:08  baggins
+- 3.3.4
+- build apache module
+- fix lablgtk2 and ocamlzip detection
+- updated BRs
+- added gtk 1/2 support
+- added new modules
+
 Revision 1.40  2009/04/18 15:55:35  areq
 - rel 5
 
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/ocaml-net/ocaml-net.spec?r1=1.40&r2=1.41&f=u



More information about the pld-cvs-commit mailing list