Initial release for F-9.
This commit is contained in:
parent
9ea88dda68
commit
a277c2154f
@ -0,0 +1 @@
|
||||
ocamlnet-2.2.9.tar.gz
|
270
ocaml-ocamlnet.spec
Normal file
270
ocaml-ocamlnet.spec
Normal file
@ -0,0 +1,270 @@
|
||||
%define opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0)
|
||||
%define debug_package %{nil}
|
||||
|
||||
Name: ocaml-ocamlnet
|
||||
Version: 2.2.9
|
||||
Release: 1%{?dist}
|
||||
Summary: Network protocols for OCaml
|
||||
|
||||
Group: Development/Libraries
|
||||
License: BSD
|
||||
URL: http://www.ocaml-programming.de/programming/ocamlnet.html
|
||||
Source0: http://www.ocaml-programming.de/packages/ocamlnet-%{version}.tar.gz
|
||||
ExcludeArch: ppc64
|
||||
Patch0: ocamlnet-ocaml310.patch
|
||||
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
|
||||
BuildRequires: ocaml
|
||||
BuildRequires: ocaml-ocamldoc
|
||||
BuildRequires: ocaml-camlp4-devel
|
||||
BuildRequires: ocaml-findlib-devel
|
||||
BuildRequires: ocaml-pcre-devel
|
||||
BuildRequires: ocaml-ssl-devel
|
||||
BuildRequires: ocaml-lablgtk-devel
|
||||
BuildRequires: pcre-devel
|
||||
BuildRequires: openssl-devel
|
||||
BuildRequires: tcl-devel
|
||||
|
||||
%define _use_internal_dependency_generator 0
|
||||
%define __find_requires /usr/lib/rpm/ocaml-find-requires.sh -i Asttypes -i Outcometree -i Parsetree
|
||||
%define __find_provides /usr/lib/rpm/ocaml-find-provides.sh
|
||||
|
||||
%description
|
||||
Ocamlnet is an ongoing effort to collect modules, classes and
|
||||
functions that are useful to implement network protocols. Since
|
||||
version 2.2, Ocamlnet incorporates the Equeue, RPC, and Netclient
|
||||
libraries, so it now really a big player.
|
||||
|
||||
In detail, the following features are available:
|
||||
|
||||
* netstring is about processing strings that occur in network
|
||||
context. Features: MIME encoding/decoding, Date/time parsing,
|
||||
Character encoding conversion, HTML parsing and printing, URL
|
||||
parsing and printing, OO-representation of channels, and a lot
|
||||
more.
|
||||
|
||||
* netcgi1 and netcgi2 focus on portable web applications. netcgi1 is
|
||||
the older, backward-compatible version, whereas netcgi2 bases on a
|
||||
revised design, and is only partly backward-compatible. Supported
|
||||
are CGI, FastCGI, AJP (mod_jk), and SCGI.
|
||||
|
||||
* rpc implements ONCRPC (alias SunRPC), the remote procedure call
|
||||
technology behind NFS and other Unix services.
|
||||
|
||||
* netplex is a generic server framework. It can be used to build
|
||||
stand-alone server programs from individual components like those
|
||||
from netcgi2, nethttpd, and rpc.
|
||||
|
||||
* netclient implements clients for HTTP (version 1.1, of course), FTP
|
||||
(currently partially), and Telnet.
|
||||
|
||||
* equeue is an event queue used for many protocol implementations. It
|
||||
makes it possible to run several clients and/or servers in parallel
|
||||
without having to use multi-threading or multi-processing.
|
||||
|
||||
* shell is about calling external commands like a Unix shell does.
|
||||
|
||||
* netshm provides shared memory for IPC purposes.
|
||||
|
||||
* netsys contains bindings for system functions missing in core O'Caml.
|
||||
|
||||
* smtp and pop are two further client implementations for the SMTP
|
||||
and POP3 protocols.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for %{name}
|
||||
Group: Development/Libraries
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
|
||||
%description devel
|
||||
The %{name}-devel package contains libraries and signature files for
|
||||
developing applications that use %{name}.
|
||||
|
||||
|
||||
%package nethttpd
|
||||
Summary: Ocamlnet HTTP daemon
|
||||
License: GPLv2+
|
||||
Group: Development/Libraries
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
|
||||
%description nethttpd
|
||||
Nethttpd is a web server component (HTTP server implementation). It
|
||||
can be used for web applications without using an extra web server, or
|
||||
for serving web services.
|
||||
|
||||
|
||||
%package nethttpd-devel
|
||||
Summary: Development files for %{name}-nethttpd
|
||||
License: GPLv2+
|
||||
Group: Development/Libraries
|
||||
Requires: %{name}-nethttpd = %{version}-%{release}
|
||||
|
||||
|
||||
%description nethttpd-devel
|
||||
The %{name}-nethttpd-devel package contains libraries and signature
|
||||
files for developing applications that use %{name}-nethttpd.
|
||||
|
||||
|
||||
%prep
|
||||
%setup -q -n ocamlnet-%{version}
|
||||
|
||||
pushd src/equeue-gtk1
|
||||
%patch0 -p2
|
||||
popd
|
||||
|
||||
./configure -enable-tcl -with-nethttpd \
|
||||
-bindir %{_bindir} \
|
||||
-datadir %{_datadir}/%{name} \
|
||||
-prefer-netcgi2 \
|
||||
-with-nethttpd \
|
||||
-disable-apache \
|
||||
-enable-ssl \
|
||||
-enable-gtk2
|
||||
# In future:
|
||||
# -with-rpc-auth-dh (requires cryptgps)
|
||||
|
||||
|
||||
%build
|
||||
# Bletcherous hack to get that extra include path in camlp4 builds.
|
||||
echo -e '#!/bin/sh\n%{_bindir}/camlp4 -I %{_libdir}/ocaml/camlp4/Camlp4Parsers "$@"' > camlp4; chmod 0755 camlp4; export PATH=`pwd`:$PATH
|
||||
make all
|
||||
%if %opt
|
||||
make opt
|
||||
%endif
|
||||
|
||||
%install
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
export DESTDIR=$RPM_BUILD_ROOT
|
||||
export OCAMLFIND_DESTDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml
|
||||
mkdir -p $OCAMLFIND_DESTDIR
|
||||
mkdir -p $OCAMLFIND_DESTDIR/stublibs
|
||||
make install
|
||||
|
||||
# cgi/META conflicts with mod_caml
|
||||
rm $RPM_BUILD_ROOT%{_libdir}/ocaml/cgi/META
|
||||
rmdir $RPM_BUILD_ROOT%{_libdir}/ocaml/cgi
|
||||
|
||||
# rpc-generator/dummy.mli is empty and according to Gerd Stolpmann can
|
||||
# be deleted safely. This avoids an rpmlint warning.
|
||||
rm -f $RPM_BUILD_ROOT%{_libdir}/ocaml/rpc-generator/dummy.mli
|
||||
|
||||
# Strip libraries and binaries.
|
||||
strip $RPM_BUILD_ROOT%{_libdir}/ocaml/stublibs/*.so
|
||||
strip $RPM_BUILD_ROOT%{_bindir}/*
|
||||
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
%doc ChangeLog RELNOTES
|
||||
%{_libdir}/ocaml/equeue
|
||||
%{_libdir}/ocaml/equeue-gtk2
|
||||
%{_libdir}/ocaml/equeue-ssl
|
||||
%{_libdir}/ocaml/equeue-tcl
|
||||
%{_libdir}/ocaml/netcgi1
|
||||
%{_libdir}/ocaml/netcgi2
|
||||
%{_libdir}/ocaml/netcgi2-plex
|
||||
%{_libdir}/ocaml/netclient
|
||||
%{_libdir}/ocaml/netplex
|
||||
%{_libdir}/ocaml/netshm
|
||||
%{_libdir}/ocaml/netstring
|
||||
%{_libdir}/ocaml/netsys
|
||||
%{_libdir}/ocaml/pop
|
||||
%{_libdir}/ocaml/rpc
|
||||
%{_libdir}/ocaml/rpc-auth-local
|
||||
%{_libdir}/ocaml/rpc-generator
|
||||
%{_libdir}/ocaml/rpc-ssl
|
||||
%{_libdir}/ocaml/shell
|
||||
%{_libdir}/ocaml/smtp
|
||||
%if %opt
|
||||
%exclude %{_libdir}/ocaml/*/*.a
|
||||
%exclude %{_libdir}/ocaml/*/*.cmxa
|
||||
%exclude %{_libdir}/ocaml/*/*.cmx
|
||||
%exclude %{_libdir}/ocaml/*/*.o
|
||||
%endif
|
||||
%exclude %{_libdir}/ocaml/*/*.mli
|
||||
%{_libdir}/ocaml/stublibs/*.so
|
||||
%{_libdir}/ocaml/stublibs/*.so.owner
|
||||
%{_datadir}/%{name}/
|
||||
%{_bindir}/*
|
||||
|
||||
|
||||
%files devel
|
||||
%defattr(-,root,root,-)
|
||||
%doc ChangeLog RELNOTES
|
||||
%if %opt
|
||||
%{_libdir}/ocaml/*/*.a
|
||||
%{_libdir}/ocaml/*/*.cmxa
|
||||
%{_libdir}/ocaml/*/*.cmx
|
||||
%{_libdir}/ocaml/*/*.o
|
||||
%endif
|
||||
%{_libdir}/ocaml/*/*.mli
|
||||
|
||||
|
||||
%files nethttpd
|
||||
%defattr(-,root,root,-)
|
||||
%doc ChangeLog RELNOTES
|
||||
%{_libdir}/ocaml/nethttpd-for-netcgi1
|
||||
%{_libdir}/ocaml/nethttpd-for-netcgi2
|
||||
%{_libdir}/ocaml/nethttpd
|
||||
%if %opt
|
||||
%exclude %{_libdir}/ocaml/*/*.a
|
||||
%exclude %{_libdir}/ocaml/*/*.cmxa
|
||||
%endif
|
||||
%exclude %{_libdir}/ocaml/*/*.mli
|
||||
|
||||
|
||||
%files nethttpd-devel
|
||||
%defattr(-,root,root,-)
|
||||
%doc ChangeLog RELNOTES
|
||||
%if %opt
|
||||
%{_libdir}/ocaml/*/*.a
|
||||
%{_libdir}/ocaml/*/*.cmxa
|
||||
%endif
|
||||
%{_libdir}/ocaml/*/*.mli
|
||||
|
||||
|
||||
%changelog
|
||||
* Wed Nov 7 2007 Richard W.M. Jones <rjones@redhat.com> - 2.2.9-1
|
||||
- New upstream release 2.2.9.
|
||||
- A more bletcherous, but more working, patch to fix the camlp4
|
||||
missing path bug. Hopefully this is very temporary.
|
||||
- Fixes for mock build under F8:
|
||||
+ BR tcl-devel
|
||||
|
||||
* Thu Sep 13 2007 Richard W.M. Jones <rjones@redhat.com> - 2.2.8.1-1
|
||||
- New upstream version 2.2.8.1.
|
||||
- License of the base package is in fact BSD. Clarified also that
|
||||
the license of nethttpd is GPLv2+.
|
||||
- Removed the camlp4 paths patch as it doesn't seem to be necessary.
|
||||
- Add BRs for camlp4, ocaml-pcre-devel, ocaml-lablgtk-devel,
|
||||
openssl-devel
|
||||
- Removed explicit requires, they're not needed.
|
||||
- Strip binaries and libraries.
|
||||
- Ignore Parsetree module in deps.
|
||||
|
||||
* Thu Aug 2 2007 Richard W.M. Jones <rjones@redhat.com> - 2.2.7-6
|
||||
- ExcludeArch ppc64
|
||||
- BR ocaml-pcre-devel
|
||||
- Fix for camlp4 missing path
|
||||
|
||||
* Mon Jun 11 2007 Richard W.M. Jones <rjones@redhat.com> - 2.2.7-5
|
||||
- Updated to latest packaging guidelines.
|
||||
|
||||
* Tue May 29 2007 Richard W.M. Jones <rjones@redhat.com> - 2.2.7-4
|
||||
- Added support for ocaml-lablgtk2
|
||||
|
||||
* Tue May 29 2007 Richard W.M. Jones <rjones@redhat.com> - 2.2.7-3
|
||||
- Remove empty file rpc-generator/dummy.mli.
|
||||
|
||||
* Sat May 26 2007 Richard W.M. Jones <rjones@redhat.com> - 2.2.7-2
|
||||
- Added support for SSL.
|
||||
|
||||
* Sat May 26 2007 Richard W.M. Jones <rjones@redhat.com> - 2.2.7-1
|
||||
- Initial RPM.
|
23
ocamlnet-ocaml310.patch
Normal file
23
ocamlnet-ocaml310.patch
Normal file
@ -0,0 +1,23 @@
|
||||
--- src/equeue-gtk2/uq_gtk.ml.orig 2007-06-11 19:35:10.000000000 +0100
|
||||
+++ src/equeue-gtk2/uq_gtk.ml 2007-06-11 20:07:54.000000000 +0100
|
||||
@@ -3,6 +3,11 @@
|
||||
open Equeue
|
||||
open Unixqueue
|
||||
|
||||
+(* Ugly hack required to compile under OCaml 3.10. This unmarshals
|
||||
+ * `IN. IN is a reserved word for Camlp4.Macro.
|
||||
+ *)
|
||||
+let __in = (Marshal.from_string "\132\149\166\190\000\000\000\003\000\000\000\000\000\000\000\000\000\000\000\000\001?\229" 0 : GMain.Io.condition)
|
||||
+
|
||||
IFDEF GTK1 THEN
|
||||
type event_id = GMain.Io.event_source
|
||||
ELSE
|
||||
@@ -147,7 +152,7 @@
|
||||
gtk_event_source_hup = None; } in
|
||||
( match g.gtk_event_source_in with
|
||||
None when i ->
|
||||
- g.gtk_event_source_in <- Some(mk_handler `IN [fd] [] []);
|
||||
+ g.gtk_event_source_in <- Some(mk_handler __in [fd] [] []);
|
||||
| Some s when not i ->
|
||||
dest_handler s;
|
||||
g.gtk_event_source_in <- None
|
Loading…
Reference in New Issue
Block a user