ports/81868: [maintainer update] lang/ocaml : take maintainership and adding some options
Marwan Burelle <marwan.burelle@lri.fr>
marwan.burelle at lri.fr
Fri Jun 3 16:40:03 UTC 2005
>Number: 81868
>Category: ports
>Synopsis: [maintainer update] lang/ocaml : take maintainership and adding some options
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: maintainer-update
>Submitter-Id: current-users
>Arrival-Date: Fri Jun 03 16:40:01 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator: Marwan Burelle <marwan.burelle at lri.fr>
>Release: FreeBSD 5.4-STABLE i386
>Organization:
>Environment:
System: FreeBSD 5.4-STABLE #0: Fri May 27 16:10:41 CEST 2005
root@:/usr/home/obj/usr/src/sys/KER_pc5-179
>Description:
Add to ocaml's port 2 options and take maintainership, since OCaml port has none.
First, WITH_COMPILER_LIB, in order to install compiler libs (additionnal libs needed to build programs manipulating OCaml modules, like the ocaml/cduce interface for example.)
Second, WITH_OPT_DEFAULT, telling the port to replace ocamlc and other tools by there native and faster version (ocamlc.opt and other) (bytecode version are preserved under the name [tool_name].byte, .opt version are also preserved.)
>How-To-Repeat:
>Fix:
--- new-ocaml-ports begins here ---
diff -ruN /usr/ports/lang/ocaml/Makefile ocaml/Makefile
--- /usr/ports/lang/ocaml/Makefile Mon May 23 02:12:42 2005
+++ ocaml/Makefile Thu Jun 2 15:24:42 2005
@@ -7,31 +7,31 @@
PORTNAME= ocaml
PORTVERSION= 3.08.3
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= lang
MASTER_SITES= http://caml.inria.fr/distrib/${DISTNAME:R}/ \
ftp://ftp.inria.fr/INRIA/caml-light/${DISTNAME:R}/ \
ftp://ftp.kurims.kyoto-u.ac.jp/pub/lang/caml-light/${DISTNAME:R}/
PKGNAMESUFFIX= ${SFX}
-MAINTAINER?= ports at FreeBSD.org
+MAINTAINER?= marwan.burelle at lri.fr
COMMENT?= The Objective Caml compiler and programming environment
.if defined(WITHOUT_X11)
PLIST_SUB+= X11="@comment " TK="@comment "
WITHOUT_TK= yes
SFX= -nox11
-CONFLICTS= ocaml-[0-9]* ocaml-notk-*
+CONFLICTS= ocaml-[0-9]* ocaml-notk-[0-9]*
.else
PLIST_SUB+= X11=""
USE_XLIB= yes
.if defined(WITHOUT_TK)
PLIST_SUB+= TK="@comment "
SFX= -notk
-CONFLICTS= ocaml-[0-9]* ocaml-nox11-*
+CONFLICTS= ocaml-[0-9]* ocaml-nox11-[0-9]*
.else
PLIST_SUB+= TK=""
-CONFLICTS= ocaml-nox11-* ocaml-notk-*
+CONFLICTS= ocaml-nox11-[0-9]* ocaml-notk-[0-9]*
BUILD_DEPENDS+= ${LOCALBASE}/include/tcl8.4:${PORTSDIR}/lang/tcl84 \
${LOCALBASE}/include/tk8.4:${PORTSDIR}/x11-toolkits/tk84
@@ -135,5 +135,41 @@
${XARGS} -0 -n 5 -x \
${CHMOD} ${SHAREMODE}
@${CHMOD} u+w ${PREFIX}/lib/ocaml/ld.conf
-
+# Add compiler's libs if required
+.if defined(WITH_COMPILER_LIB)
+ @${MKDIR} ${PREFIX}/lib/ocaml/compiler-lib
+ @${INSTALL_DATA} ${WRKSRC}/utils/*.cm* ${PREFIX}/lib/ocaml/compiler-lib
+ @${INSTALL_DATA} ${WRKSRC}/utils/*.o ${PREFIX}/lib/ocaml/compiler-lib
+ @${INSTALL_DATA} ${WRKSRC}/parsing/*.cm* ${PREFIX}/lib/ocaml/compiler-lib
+ @${INSTALL_DATA} ${WRKSRC}/parsing/*.o ${PREFIX}/lib/ocaml/compiler-lib
+ @${INSTALL_DATA} ${WRKSRC}/typing/*.cm* ${PREFIX}/lib/ocaml/compiler-lib
+ @${INSTALL_DATA} ${WRKSRC}/typing/*.o ${PREFIX}/lib/ocaml/compiler-lib
+ @${FIND} ${PREFIX}/lib/ocaml/compiler-lib -type f | \
+ ${SED} "s,^${PREFIX}/,," >> ${TMPPLIST}
+ @${ECHO_CMD} "@dirrm lib/ocaml/compiler-lib" >> ${TMPPLIST}
+.endif
+# Do we want .opt version of tools to be the default ?
+.if defined(WITH_OPT_DEFAULT)
+# First, we save bytecode version
+ @${MV} ${PREFIX}/bin/camlp4o ${PREFIX}/bin/camlp4o.byte
+ @${MV} ${PREFIX}/bin/camlp4r ${PREFIX}/bin/camlp4r.byte
+ @${MV} ${PREFIX}/bin/ocamlc ${PREFIX}/bin/ocamlc.byte
+ @${MV} ${PREFIX}/bin/ocamldep ${PREFIX}/bin/ocamldep.byte
+ @${MV} ${PREFIX}/bin/ocamldoc ${PREFIX}/bin/ocamldoc.byte
+ @${MV} ${PREFIX}/bin/ocamllex ${PREFIX}/bin/ocamllex.byte
+ @${MV} ${PREFIX}/bin/ocamlopt ${PREFIX}/bin/ocamlopt.byte
+# Next make .opt version be the default one (as link)
+ @${LN} ${PREFIX}/bin/camlp4o.opt ${PREFIX}/bin/camlp4o
+ @${LN} ${PREFIX}/bin/camlp4r.opt ${PREFIX}/bin/camlp4r
+ @${LN} ${PREFIX}/bin/ocamlc.opt ${PREFIX}/bin/ocamlc
+ @${LN} ${PREFIX}/bin/ocamldep.opt ${PREFIX}/bin/ocamldep
+ @${LN} ${PREFIX}/bin/ocamldoc.opt ${PREFIX}/bin/ocamldoc
+ @${LN} ${PREFIX}/bin/ocamllex.opt ${PREFIX}/bin/ocamllex
+ @${LN} ${PREFIX}/bin/ocamlopt.opt ${PREFIX}/bin/ocamlopt
+# Add files to the PLIST
+ @${FIND} ${PREFIX}/bin/ -type f -name \?caml\*.byte -or -name camlp4\?.byte \
+ | ${SED} "s,^${PREFIX}/,," >> ${TMPPLIST}
+.endif
+ @${ECHO_CMD} "@dirrm lib/ocaml" >> ${TMPPLIST}
+
.include <bsd.port.post.mk>
diff -ruN /usr/ports/lang/ocaml/pkg-plist ocaml/pkg-plist
--- /usr/ports/lang/ocaml/pkg-plist Sat May 21 21:57:06 2005
+++ ocaml/pkg-plist Tue May 31 18:30:24 2005
@@ -929,4 +929,3 @@
%%TK%%@dirrm lib/ocaml/labltk
@dirrm lib/ocaml/camlp4
@dirrm lib/ocaml/caml
- at dirrm lib/ocaml
--- new-ocaml-ports ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list