1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-21 00:25:50 +00:00

Add new Ocaml port: www/eliom

The initial version submitted in the PR was augmented by later changes
seen in pkgsrc where the counterpart is maintained by the submitter.

Note that due to a problem with bsd.ocaml.mk, the USE_OCAML_LDCONFIG
option had to be disabled.  This could be changed when the problem is
resolved.

==
Eliom is a framework for programming web sites and client/server web
applications. It uses very new concepts making programming very different
from all other web programming tools, and allowing to write a complex web
site in very few lines of code.

WWW: http://ocsigen.org/eliom/
==

PR:		ports/176165
Submitted by:	Jaap Boender
Maintainer:	Jaap Boender
Stage support:	Taken from pkgsrc
This commit is contained in:
John Marino 2014-03-27 17:39:30 +00:00
parent 8e613c06bf
commit 33ae985c0e
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=349348
8 changed files with 134 additions and 0 deletions

View File

@ -182,6 +182,7 @@
SUBDIR += egueb
SUBDIR += elgg
SUBDIR += elinks
SUBDIR += eliom
SUBDIR += elog
SUBDIR += emacs-w3m
SUBDIR += emacs-w3m-emacs21

52
www/eliom/Makefile Normal file
View File

@ -0,0 +1,52 @@
# Created by: Jaap Boender <jaapb@kerguelen.org>
# $FreeBSD$
PORTNAME= eliom
PORTVERSION= 3.0.3
CATEGORIES= www
MASTER_SITES= http://ocsigen.org/download/
MAINTAINER= jaapb@kerguelen.org
COMMENT= Ocaml dynamic webpage generation library
LICENSE= LGPL21_SSLEX
LICENSE_NAME= Lesser GPL 2.1 with a special OpenSSL exception clause
LICENSE_FILE= ${WRKSRC}/COPYING
LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
BUILD_DEPENDS= ${PORTREQS}
RUN_DEPENDS= ${PORTREQS}
DOCSDIR= ${PREFIX}/share/doc/ocaml/${PORTNAME}
SA_DIR= ${PREFIX}/${OCAML_SITELIBDIR}
# As of 27 March 2014, USE_OCAML_LDCONFIG and USE_OCAMLFIND_PLIST compete
# for the same directores -- both add a removal step ot the TMPPLIST
# automatically. The bsd.ocaml.mk file has to be fixed, then then former
# can be used again. (alternatively we could provide a manually generated
# complete pkg-plist and keep using ocaml's ldconfig)
USES= gmake
HAS_CONFIGURE= yes
USE_OCAML= yes
USE_OCAML_FINDLIB= yes
USE_OCAMLFIND_PLIST= yes
#USE_OCAML_LDCONFIG= yes
CONFIGURE_ARGS= --temproot ${STAGEDIR} \
--prefix ${PREFIX} \
--libdir ${PREFIX}/lib/ocaml/site-lib \
--enable-natdynlink
PORTREQS= ocaml-deriving-ocsigen>=0.3:${PORTSDIR}/devel/ocaml-deriving-ocsigen \
js_of_ocaml>=1.3.2:${PORTSDIR}/lang/js_of_ocaml \
ocsigen>=2.2:${PORTSDIR}/www/ocsigen \
ocaml-tyxml>=2.2:${PORTSDIR}/textproc/ocaml-tyxml \
${SA_DIR}/react/react.a:${PORTSDIR}/devel/ocaml-react \
${SA_DIR}/ssl/ssl.a:${PORTSDIR}/security/ocaml-ssl \
${SA_DIR}/calendar/calendarLib.a:${PORTSDIR}/devel/ocaml-calendar \
${SA_DIR}/cryptokit/cryptokit.a:${PORTSDIR}/security/ocaml-cryptokit
do-configure:
(cd ${WRKSRC} && ${SH} ./configure ${CONFIGURE_ARGS})
.include <bsd.port.mk>

2
www/eliom/distinfo Normal file
View File

@ -0,0 +1,2 @@
SHA256 (eliom-3.0.3.tar.gz) = b598bfbfc37fb9164024df71352e74d26d6ce2095f89f3d52072b3f7334a5b86
SIZE (eliom-3.0.3.tar.gz) = 743842

View File

@ -0,0 +1,17 @@
$NetBSD: patch-src_Makefile,v 1.2 2012/12/15 16:18:42 jaapb Exp $
Use correct BSD installation tools (JRM - modified)
--- src/Makefile.orig 2012-12-13 16:16:17.000000000 +0000
+++ src/Makefile
@@ -60,9 +60,8 @@ install: install.META install.man
${MAKE} -C tools install
install.man: install.META
- $(INSTALL) -m 755 -d $(TEMPROOT)$(MANDIR)/man1
- $(INSTALL) -m 755 files/eliomc.1 $(TEMPROOT)$(MANDIR)/man1
- $(INSTALL) -m 755 files/eliom-destillery.1 $(TEMPROOT)$(MANDIR)/man1
+ $(BSD_INSTALL_MAN) files/eliomc.1 $(TEMPROOT)$(MANDIR)/man1
+ $(BSD_INSTALL_MAN) files/eliom-destillery.1 $(TEMPROOT)$(MANDIR)/man1
ln -sf eliomc.1 $(TEMPROOT)$(MANDIR)/man1/js_of_eliom.1
ln -sf eliomc.1 $(TEMPROOT)$(MANDIR)/man1/eliomopt.1
ln -sf eliomc.1 $(TEMPROOT)$(MANDIR)/man1/eliomcp.1

View File

@ -0,0 +1,15 @@
$NetBSD: patch-src_client_Makefile,v 1.1 2012/08/12 17:47:43 wiz Exp $
install library stub with proper permissions
--- src/client/Makefile.orig 2012-06-11 12:46:54.000000000 +0000
+++ src/client/Makefile
@@ -97,7 +97,8 @@ odoc: ${DOC:.mli=.odoc}
install: ${PREDEP}
${INSTALL} -m 755 -d ${CLIENTDIR}
- ${INSTALL} -m 644 ${INTF} ${IMPL} ${STUBS} ${DOC} ${CLIENTDIR}
+ ${INSTALL} -m 644 ${INTF} ${IMPL} ${DOC} ${STUBS} ${CLIENTDIR}
+ ${BSD_INSTALL_LIB} ${EXEC_STUBS} ${CLIENTDIR}
uninstall:
-rm -fr ${CLIENTDIR}

View File

@ -0,0 +1,17 @@
$NetBSD: patch-src_client_Makefile.filelist,v 1.1 2012/08/12 17:47:43 wiz Exp $
install library stub with proper permissions
--- src/client/Makefile.filelist.orig 2012-06-11 12:46:54.000000000 +0000
+++ src/client/Makefile.filelist
@@ -21,8 +21,9 @@ NO_MLI := eliom_compatibility_2_1.cmi
IMPL := ${PROJECTNAME}_client.cma \
${PROJECTNAME}_client_main.cmo \
-STUBS := dlleliom_client.so \
- libeliom_client.a \
+EXEC_STUBS := dlleliom_client.so
+
+STUBS := libeliom_client.a \
eliom_client.js \
NOP4 := eliom_lib.mli

6
www/eliom/pkg-descr Normal file
View File

@ -0,0 +1,6 @@
Eliom is a framework for programming web sites and client/server web
applications. It uses very new concepts making programming very different
from all other web programming tools, and allowing to write a complex web
site in very few lines of code.
WWW: http://ocsigen.org/eliom/

24
www/eliom/pkg-plist Normal file
View File

@ -0,0 +1,24 @@
bin/eliom-destillery
bin/eliomc
bin/eliomcp
bin/eliomdep
bin/eliomopt
bin/js_of_eliom
man/man1/eliom-destillery.1.gz
man/man1/eliomc.1.gz
man/man1/eliomcp.1.gz
man/man1/eliomdep.1.gz
man/man1/eliomopt.1.gz
man/man1/js_of_eliom.1.gz
share/eliom/destillery/basic/Makefile
share/eliom/destillery/basic/Makefile.options
share/eliom/destillery/basic/PROJECT_NAME.conf.in
share/eliom/destillery/basic/PROJECT_NAME.eliom
share/eliom/destillery/basic/README
share/eliom/destillery/basic/static!css!PROJECT_NAME.css
@dirrm share/eliom/destillery/basic
@dirrm share/eliom/destillery
@dirrm share/eliom
@dirrm %%OCAML_SITELIBDIR%%/eliom/syntax
@dirrm %%OCAML_SITELIBDIR%%/eliom/server
@dirrm %%OCAML_SITELIBDIR%%/eliom/client