Proposal ocaml guidelines
Nigel Jones
dev at nigelj.com
Fri May 4 11:07:12 UTC 2007
Richard W.M. Jones wrote:
> Nigel Jones wrote:
>> Sorry to come into the discussion a bit later than expected.
>> Richard W.M. Jones wrote:
>>> Hans de Goede wrote:
>>>> The proposal I mailed to the list yesterday is now available here:
>>>> http://fedoraproject.org/wiki/PackagingDrafts/OCaml
>>> What's the thinking behind removing *.mli by default? Even in packages
>>> which are well documented, the *.mli files are the definitive reference
>>> for programmers. I think they should always be in the -devel
>>> subpackage.
>> I replaced it in ocaml-SDL and ocaml-camlimages with ocamldoc generated
>> html references, which seems to be pretty much the same as the
>> individual mli files.
>
> But I wanna use 'less'!
>
> Seriously, I don't want to fire up a browser just to check an interface.
> Even the text mode browsers have serious UI problems compared to
> 'less /usr/lib/ocaml/3.08.3/list.mli'.
>
> Is there any reason why *.mli files can't be included in a -devel
> package? I'm not talking about the main library package where it would
> add bloat, but in a package which would only need to be installed by
> developers.
Technically, if we are going to package developer documentation, they
should be in a noarch -doc package (i.e. ocaml-camlimages-doc).
What I'd suggest is:
Packager splits out .mli files from build, compresses and gunzips them,
and creates a spec file, something to the tune of:
----
[njones at ip-96 SPECS]$ cat ocaml-camlimages-doc.spec
Name: ocaml-camlimages-doc
Version: 2.2.0
Release: 1%{?dist}
Summary: Developer Documentation for ocaml-camlimages
Group: Documentation
License: LGPL
URL: -
Source0: ocaml-camlimages-doc-2.2.0.tar.gz
BuildRoot:
%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
BuildRequires: texinfo ocaml ocaml-ocamldoc ocaml-camlimages-devel
%description
Dev Docu....
%prep
%setup -q
%build
ocamldoc.opt -texi -I /usr/lib/ocaml/lablgtk2/ \
-I /usr/lib/ocaml/camlimages/ -t "camlimages" \
-info-section "Ocaml Libraries" -intf *.*
makeinfo ocamldoc.texi
gzip camlimages.info
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/usr/lib/ocaml/camlimages
mkdir -p $RPM_BUILD_ROOT/usr/share/info
cp -p *.mli $RPM_BUILD_ROOT/usr/lib/ocaml/camlimages/
cp -p *.info.gz $RPM_BUILD_ROOT/usr/share/info
%clean
rm -rf $RPM_BUILD_ROOT
%post
/sbin/install-info \
--entry "* camlimages: (camlimages). OCaml image processing
library" \
--section "Ocaml Libraries" \
%{_infodir}/camlimages.info \
%{_infodir}/dir 2>/dev/null || :
%preun
if [ $1 -eq 0 ]; then
/sbin/install-info --delete %{_infodir}/camlimages.info
%{_infodir}/dir 2>/dev/null || :
fi
%files
%defattr(-,root,root,-)
/usr/lib/ocaml/camlimages/*.mli
%{_infodir}/*
%changelog
----
This satisfies the answer of "I want my mli files" and "I want something
a bit more meaty".
I agree that html documentation wasn't the best choice, but this could work.
N.J.
More information about the fedora-devel-list
mailing list