Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 3 Jun 2005 18:30:22 +0200
From:      "Marwan Burelle <marwan.burelle@lri.fr>" <marwan.burelle@lri.fr>
To:        "FreeBSD gnats submit" <FreeBSD-gnats-submit@FreeBSD.org>
Cc:        marwan.burelle@lri.fr
Subject:   ports/81868: [maintainer update] lang/ocaml : take maintainership and adding some options
Message-ID:  <1117816222.0@pc5-179.lri.fr>
Resent-Message-ID: <200506031640.j53Ge1XJ060682@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>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@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@FreeBSD.org
+MAINTAINER?=	marwan.burelle@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
-@dirrm lib/ocaml
--- new-ocaml-ports ends here ---



>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1117816222.0>