OCaml language support in ports
Stanislav Sedov
ssedov at mbsd.msk.ru
Sat Jul 29 19:42:08 UTC 2006
We have a lot of OCaml ports that provides additional language
packages for OCaml language. Installing of such pacakge requites
a lot of steps, e.g. running ocamlfind utility on install/deinstall
with correct enviropment, updating OCaml-specific ld.conf on
install/deinstall and other. As result ports become a bit complex
and very large. You can see working examples in devel/ocaml-equeue,
devel/ocaml-sem etc. This ports do similar work "by-hand" via
pmake constructs and pkg-install script.
I have submitted include to support OCaml language recently
(http://www.freebsd.org/cgi/query-pr.cgi?pr=101029).
This include simplifies creation on such ports. For example, the
port for ocaml-xstr might look like this (this port isn't in
ports collection yet):
PORTNAME= xstr
PORTVERSION= 0.2.1
CATEGORIES= devel
MASTER_SITES= http://www.ocaml-programming.de/packages/
PKGNAMEPREFIX= ocaml-
MAINTAINER= ssedov at mbsd.msk.ru
COMMENT= Thread-safe implementation of string searching/matching
WRKSRC= ${WRKDIR}/${PORTNAME}
USE_GMAKE= yes
USE_OCAML= yes
USE_OCAML_FINDLIB= yes
USE_OCAML_LDCONFIG= yes
.include <bsd.port.mk>
And pkg-plist:
%%OCAML_SITELIBDIR%%/xstr/META
%%OCAML_SITELIBDIR%%/xstr/xstr.cma
%%OCAML_SITELIBDIR%%/xstr/xstr_match.cmi
%%OCAML_SITELIBDIR%%/xstr/xstr_match.mli
%%OCAML_SITELIBDIR%%/xstr/xstr_search.cmi
%%OCAML_SITELIBDIR%%/xstr/xstr_search.mli
%%OCAML_SITELIBDIR%%/xstr/xstr_split.cmi
%%OCAML_SITELIBDIR%%/xstr/xstr_split.mli
Simple, isn't it? Compare with ocaml-sem - it does the same steps.
The include doesn't interfere with ports available, and sufficient
for ocaml-* ports needs (hopely).
I paid a great deal of attention to make ports to honor PREFIX -
current findlib ports doesn't do this. This include will automatically
honor PREFIX - but in case of non-standard on you should handle
SITELIBDIR deletion by hand. Additionally, include automatically
adds OCAML_SITELIBDIR to PLIST_SUB.
It would be nice to have your opinions/suggestions/blames/flames
here. Especially, ocaml-* ports maintainers.
Thanks!
--
Stanislav Sedov MBSD labs, Inc. <ssedov at mbsd.msk.ru>
Россия, Москва http://mbsd.msk.ru
--------------------------------------------------------------------
If the facts don't fit the theory, change the facts. -- A. Einstein
--------------------------------------------------------------------
PGP fingerprint: F21E D6CC 5626 9609 6CE2 A385 2BF5 5993 EB26 9581
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20060729/d589b0ed/signature.pgp
More information about the freebsd-ports
mailing list