head	1.14;
access;
symbols
	RELEASE_8_3_0:1.13
	RELEASE_9_0_0:1.13
	RELEASE_7_4_0:1.13
	RELEASE_8_2_0:1.13
	RELEASE_6_EOL:1.13
	RELEASE_8_1_0:1.13
	RELEASE_7_3_0:1.13
	RELEASE_8_0_0:1.13
	RELEASE_7_2_0:1.13
	RELEASE_7_1_0:1.13
	RELEASE_6_4_0:1.13
	RELEASE_5_EOL:1.13
	RELEASE_7_0_0:1.11
	RELEASE_6_3_0:1.11
	PRE_XORG_7:1.9
	RELEASE_4_EOL:1.9
	RELEASE_6_2_0:1.7
	RELEASE_6_1_0:1.4
	RELEASE_5_5_0:1.4
	RELEASE_6_0_0:1.2;
locks; strict;
comment	@# @;


1.14
date	2012.11.17.05.58.52;	author svnexp;	state Exp;
branches;
next	1.13;

1.13
date	2008.04.19.17.51.31;	author miwi;	state Exp;
branches;
next	1.12;

1.12
date	2008.03.24.13.03.55;	author miwi;	state Exp;
branches;
next	1.11;

1.11
date	2007.08.04.11.40.59;	author gabor;	state Exp;
branches;
next	1.10;

1.10
date	2007.05.19.20.13.44;	author flz;	state Exp;
branches;
next	1.9;

1.9
date	2006.11.05.15.45.28;	author alepulver;	state Exp;
branches;
next	1.8;

1.8
date	2006.10.31.02.29.47;	author alepulver;	state Exp;
branches;
next	1.7;

1.7
date	2006.08.04.12.34.44;	author erwin;	state Exp;
branches;
next	1.6;

1.6
date	2006.05.09.20.52.16;	author edwin;	state Exp;
branches;
next	1.5;

1.5
date	2006.04.09.00.59.52;	author jylefort;	state Exp;
branches;
next	1.4;

1.4
date	2005.11.29.15.02.17;	author jylefort;	state Exp;
branches;
next	1.3;

1.3
date	2005.09.14.15.20.36;	author barner;	state Exp;
branches;
next	1.2;

1.2
date	2005.07.01.22.58.25;	author jylefort;	state Exp;
branches;
next	1.1;

1.1
date	2005.06.27.14.05.52;	author jylefort;	state Exp;
branches;
next	;


desc
@@


1.14
log
@Switch exporter over
@
text
@# New ports collection makefile for:	metaocaml
# Date created:			16 June 2005
# Whom:				Geoffrey Mainland <mainland@@apeiron.net>
#
# $FreeBSD: head/lang/metaocaml/Makefile 300896 2012-07-14 13:54:48Z beat $
#

PORTNAME=	metaocaml
PORTVERSION=	3.09.a30
PORTREVISION=	2
CATEGORIES=	lang
MASTER_SITES=	http://www.metaocaml.org/dist/old/
DISTNAME=	MetaOCaml_309_alpha_030

MAINTAINER=	mainland@@apeiron.net
COMMENT=	The MetaOCaml compiler and programming environment

ONLY_FOR_ARCHS=	i386 amd64 # feel free to test on other archs and send a PR

REINPLACE_ARGS=	-i ""

HAS_CONFIGURE=	yes
CONFIGURE_ARGS=	-prefix ${PREFIX} -cc "${CC} ${CFLAGS}" -with-pthread \
		-libdir ${PREFIX}/lib/metaocaml/lib \
		-bindir ${PREFIX}/lib/metaocaml/bin \
		-mandir ${DATADIR}/man

USE_GMAKE=	yes
ALL_TARGET=	world opt metaocamlopt opt.opt
STRIP=

SUB_FILES=	pkg-message
SUB_LIST=	PORTNAME="${PORTNAME}"

MAN1=		ocamlcp.1 ocamldep.1 ocamldebug.1 ocamldoc.1 ocamlopt.1 \
		ocamlrun.1 ocamlyacc.1 ocamlmktop.1 ocaml.1 ocamlc.1 \
		ocamllex.1 ocamlprof.1 camlp4.1
MANN=		Arg.n Array.n ArrayLabels.n Bigarray.Array1.n \
		Bigarray.Array2.n Bigarray.Array3.n Bigarray.Genarray.n \
		Bigarray.n Buffer.n Callback.n CamlinternalOO.n \
		CamlinternalMod.n Char.n Complex.n Digest.n Filename.n \
		Format.n Gc.n Genlex.n Hashtbl.HashedType.n Hashtbl.Make.n \
		Hashtbl.S.n Hashtbl.n Int32.n Int64.n Lazy.n Lexing.n List.n \
		ListLabels.n Map.Make.n Map.OrderedType.n Map.S.n Map.n \
		Marshal.n MoreLabels.Hashtbl.HashedType.n \
		MoreLabels.Hashtbl.Make.n MoreLabels.Hashtbl.S.n \
		MoreLabels.Hashtbl.n MoreLabels.Map.Make.n \
		MoreLabels.Map.OrderedType.n MoreLabels.Map.S.n \
		MoreLabels.Map.n MoreLabels.Set.Make.n \
		MoreLabels.Set.OrderedType.n MoreLabels.Set.S.n \
		MoreLabels.Set.n MoreLabels.n Nativeint.n Num.n Obj.n Oo.n \
		Parsing.n Pervasives.LargeFile.n Pervasives.n Printexc.n \
		Printf.n Queue.n Random.n Random.State.n Scanf.Scanning.n \
		Scanf.n Set.Make.n Set.OrderedType.n Set.S.n Set.n Sort.n \
		Stack.n StdLabels.Array.n StdLabels.List.n StdLabels.String.n \
		StdLabels.n Str.n Stream.n String.n StringLabels.n Sys.n \
		Unix.LargeFile.n Unix.n Weak.Make.n Weak.S.n Weak.n
MLINKS=		ocamlc.1 ocamlc.opt.1 ocamlopt.1 ocamlopt.opt.1 \
		camlp4.1 camlp4o.1 camlp4.1 camlp4r.1 camlp4.1 mkcamlp4.1 \
		camlp4.1 camlp4o.opt.1 camlp4.1 camlp4r.opt.1 \
		camlp4.1 ocpp.1

OPTIONS=	X11 "build the X11 graphics library" on \
		LABLTK "build the LablTk library" on

PLISTDIR=	${PREFIX}/lib/metaocaml \
		${PREFIX}/share/examples/metaocaml \
		${PREFIX}/bin/metaocaml \
		${PREFIX}/bin/metaocamlc \
		${PREFIX}/bin/metaocamlopt

.include <bsd.port.pre.mk>

# Have to set this here and can't use ${DATADIR} or MLINKS get screwed up
MANPREFIX=	${PREFIX}/share/metaocaml

.if defined(WITH_X11)
USE_XORG=	x11
CONFIGURE_ARGS+=-x11include ${LOCALBASE}/include -x11lib ${LOCALBASE}/lib
PLIST_SUB+=	X11=""
.else
PLIST_SUB+=	X11="@@comment "
.endif

# We would like to use bsd.tcl.mk here, but we can't USE_TCL after including
# bsd.port.pre.mk and we can't test WITH_LABLTK before including bsd.port.pre.mk
.if defined(WITH_LABLTK)
LIB_DEPENDS+=	tk84.1:${PORTSDIR}/x11-toolkits/tk84
CONFIGURE_ARGS+=-tkdefs "-I${LOCALBASE}/include/tcl8.4 -I${LOCALBASE}/include/tk8.4"
CONFIGURE_ARGS+=-tklibs "-L${LOCALBASE}/lib"
PLIST_SUB+=	LABLTK=""
.if defined(WITHOUT_X11)
CONFIGURE_ARGS+=-tk-no-x11
.endif
.else
CONFIGURE_ARGS+=-no-tk
PLIST_SUB+=	LABLTK="@@comment "
.endif

post-patch:
	@@${REINPLACE_CMD} -e \
		"s|-D_THREAD_SAFE|${PTHREAD_CFLAGS}|; \
		 s|-pthread|${PTHREAD_LIBS}|; \
		 s|aspp='gcc'|aspp='${CC}'|" ${WRKSRC}/configure
	@@${FIND} ${WRKSRC} -type f -name Makefile -exec ${REINPLACE_CMD} -Ee \
		's,^([[:space:]]*(then)?[[:space:]]*)cp([[:space:]]+.*BINDIR),\1\$${BSD_INSTALL_PROGRAM} \3,; \
		 s,^([[:space:]]*(then)?[[:space:]]*)cp([[:space:]]+.*LIBDIR),\1\$${BSD_INSTALL_DATA} \3,; \
		 s,^([[:space:]]*(then)?[[:space:]]*)cp([[:space:]]+.*INSTALLDIR),\1\$${BSD_INSTALL_DATA} \3,; \
		 s,^([[:space:]]*(then)?[[:space:]]*)\$$\(CP\)([[:space:]]+.*BINDIR),\1\$${BSD_INSTALL_PROGRAM} \3,; \
		 s,^([[:space:]]*(then)?[[:space:]]*)\$$\(CP\)([[:space:]]+.*LIBDIR),\1\$${BSD_INSTALL_DATA} \3,; \
		 s,^([[:space:]]*(then)?[[:space:]]*)(\$$\(CP\)|cp)([[:space:]]+.*(MANDIR|MANODIR|MANEXT)),\1\$${BSD_INSTALL_MAN} \4,; \
		 s,([[:space:]]*then[[:space:]]*)cp([[:space:]]+.*LIBDIR),\1\$${BSD_INSTALL_DATA} \2,; \
		 s,([[:space:]]*then[[:space:]]*)cp([[:space:]]+.*BINDIR),\1\$${BSD_INSTALL_PROGRAM} \2,; \
		 s,([[:space:]]*(do|then)[[:space:]]*)(\$$\(CP\)|cp)([[:space:]]+.*(MANDIR|MANODIR|MANEXT)),\1\$${BSD_INSTALL_MAN} \4,; \
		 s,-O,,' {} \;

post-install:
.if defined(WITH_LABLTK)
.  for d in camltk labltk
	${MKDIR} ${EXAMPLESDIR}/${d}
	${CP} -R ${WRKSRC}/otherlibs/labltk/examples_${d}/* ${EXAMPLESDIR}/${d}
.  endfor
	${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${EXAMPLESDIR}/*
	${FIND} ${EXAMPLESDIR}/* -type f -exec ${CHMOD} ${SHAREMODE} {} \;
	${FIND} ${EXAMPLESDIR}/* -type d -exec ${CHMOD} ${BINMODE} {} \;
.endif
	${LN} -sf ${PREFIX}/lib/metaocaml/bin/metaocaml ${PREFIX}/bin/metaocaml
	${LN} -sf ${PREFIX}/lib/metaocaml/bin/metaocamlopt ${PREFIX}/bin/metaocamlopt
	${LN} -sf ${PREFIX}/lib/metaocaml/bin/metaocamlc ${PREFIX}/bin/metaocamlc
.for p in camlp4o.opt camlp4r.opt ocamlc.opt ocamldep.opt ocamldoc.opt \
	ocamllex.opt ocamlopt.opt ocamlrun ocamlyacc
	${STRIP_CMD} ${PREFIX}/lib/metaocaml/bin/${p}
.endfor
	${CHMOD} u+w ${PREFIX}/lib/metaocaml/lib/ld.conf
.for dir in ${PLISTDIR}
	@@${FIND} ${dir} ! -type d | \
		${SED} 's,^${PREFIX}/,,' >> ${TMPPLIST}
	@@${FIND} ${dir} -type d | ${SORT} -r | \
		${SED} 's,^${PREFIX}/,@@dirrm ,' >> ${TMPPLIST}
.endfor
	echo "@@exec mkdir -p  %D/lib/metaocaml/lib/ocamldoc/custom" >> ${TMPPLIST}
	echo "@@dirrm ${MANPREFIX:S|${PREFIX}/||}/man/man1" >> ${TMPPLIST}
	echo "@@dirrm ${MANPREFIX:S|${PREFIX}/||}/man/mann" >> ${TMPPLIST}
	echo "@@dirrm ${MANPREFIX:S|${PREFIX}/||}/man" >> ${TMPPLIST}
	echo "@@dirrm ${MANPREFIX:S|${PREFIX}/||}" >> ${TMPPLIST}
	@@${CAT} ${PKGMESSAGE}

.include <bsd.port.post.mk>
@


1.13
log
@- Remove unneeded dependency from gtk12/gtk20 [1]
- Remove USE_XLIB/USE_X_PREFIX/USE_XPM in favor of USE_XORG
- Remove X11BASE support in favor of LOCALBASE or PREFIX
- Use USE_LDCONFIG instead of INSTALLS_SHLIB
- Remove unneeded USE_GCC 3.4+

Thanks to all Helpers:
	Dmitry Marakasov, Chess Griffin, beech@@, dinoex, rafan, gahr,
	ehaupt, nox, itetcu, flz, pav

PR:		116263
Tested on:	pointyhat
Approved by:	portmgr (pav)
@
text
@d5 1
a5 1
# $FreeBSD$
@


1.12
log
@- Remove USE_XLIB/USE_X_PREFIX/USE_XPM in favor of USE_XORG
- Bump PORTREVISION

Approved by:	portmgr (xorg cleanup)
@
text
@d79 1
a79 1
CONFIGURE_ARGS+=-x11include ${X11BASE}/include -x11lib ${X11BASE}/lib
@


1.11
log
@- Remove the DESTDIR modifications from individual ports as we have a new,
  fully chrooted DESTDIR, which does not need such any more.

Sponsored by:	Google Summer of Code 2007
Approved by:	portmgr (pav)
@
text
@d10 1
a10 1
PORTREVISION=	1
d78 1
a78 1
USE_XLIB=	yes
@


1.10
log
@- Welcome X.org 7.2 \o/.
- Set X11BASE to ${LOCALBASE} for recent ${OSVERSION}.
- Bump PORTREVISION for ports intalling files in ${X11BASE}.
@
text
@d75 1
a75 1
MANPREFIX=	${TARGETDIR}/share/metaocaml
@


1.9
log
@- Remove USE_TK/USE_TK_BUILD (can only be used before bsd.port.pre.mk).
@
text
@d10 1
@


1.8
log
@- Update lang/metaocaml to 3.09.a30.

PR:		ports/104319
Submitted by:	Geoffrey Mainland <mainland@@apeiron.net> (maintainer)
@
text
@d87 2
a88 3
USE_TK=		84
USE_TK_BUILD=	84
CONFIGURE_ARGS+=-tkdefs -I${TCL_INCLUDEDIR} -I${TK_INCLUDEDIR}
@


1.7
log
@Add support for DESTDIR part I.

This commit should largele be a NOOP as it only adds support
for DESTDIR undefined. This does allow us to start testing
ports with DESTDIR set, but this is as of yet not supported.

Although this has been extensively tested on pointyhat, this
is a very intrusive change and some cases may have been
overlooked. Please contact Gabor and me if you find any.

PR:             100555
Submitted by:   gabor
Sponsored by:   Google Summer of Code 2006
@
text
@d9 1
a9 1
PORTVERSION=	3.08.a27
d12 1
a12 1
DISTNAME=	MetaOCaml_308_alpha_027
d24 1
a24 1
	        -bindir ${PREFIX}/lib/metaocaml/bin \
d39 10
a48 9
		Bigarray.n Buffer.n Callback.n CamlinternalOO.n Char.n \
		Complex.n Digest.n Filename.n Format.n Gc.n Genlex.n \
		Hashtbl.HashedType.n Hashtbl.Make.n Hashtbl.S.n Hashtbl.n \
		Int32.n Int64.n Lazy.n Lexing.n List.n ListLabels.n \
		Map.Make.n Map.OrderedType.n Map.S.n Map.n Marshal.n \
		MoreLabels.Hashtbl.HashedType.n MoreLabels.Hashtbl.Make.n \
		MoreLabels.Hashtbl.S.n MoreLabels.Hashtbl.n \
		MoreLabels.Map.Make.n MoreLabels.Map.OrderedType.n \
		MoreLabels.Map.S.n MoreLabels.Map.n MoreLabels.Set.Make.n \
d65 6
d72 1
d87 3
a89 2
LIB_DEPENDS+=	tk84.1:${PORTSDIR}/x11-toolkits/tk84
CONFIGURE_ARGS+=-tkdefs "-I${LOCALBASE}/include/tcl8.4 -I${LOCALBASE}/include/tk8.4"
d135 11
@


1.6
log
@Remove USE_REINPLACE from the categories starting with L
@
text
@d66 1
a66 1
MANPREFIX=	${PREFIX}/share/metaocaml
@


1.5
log
@It works on amd64.

PR:		ports/95220
Submitted by:	Erik Greenwald <erik@@smluc.org>
Approved by:	maintainer
@
text
@a18 1
USE_REINPLACE=	yes
@


1.4
log
@- Update to 3.08.a27 [1]
- Respect ${CC}
- Remove -O from vendor CFLAGS
- Use SUB_FILES=pkg-message

[1]:
PR:		ports/89701
Submitted by:	maintainer
@
text
@d17 1
a17 1
ONLY_FOR_ARCHS=	i386	# feel free to test on other archs and send a PR
@


1.3
log
@- Update metaocaml to 3.08.a23
- Remove CONFLICTS with lang/ocaml

Submitted by:	Geoffrey Mainland (metaocaml maintainer)
PR:		ports/85236
@
text
@d9 1
a9 1
PORTVERSION=	3.08.a23
d11 2
a12 5
MASTER_SITES=	http://www.metaocaml.org/dist/ \
		http://www.metaocaml.org/dist/old/ \
		${MASTER_SITE_LOCAL}
MASTER_SITE_SUBDIR=	jylefort
DISTNAME=	MetaOCaml_308_alpha_023
d32 2
a33 1
PKGMESSAGE=	${WRKDIR}/pkg-message
d77 2
d82 1
d94 3
a96 2
		's|-D_THREAD_SAFE|${PTHREAD_CFLAGS}|; \
		 s|-pthread|${PTHREAD_LIBS}|' ${WRKSRC}/configure
d106 2
a107 1
		 s,([[:space:]]*(do|then)[[:space:]]*)(\$$\(CP\)|cp)([[:space:]]+.*(MANDIR|MANODIR|MANEXT)),\1\$${BSD_INSTALL_MAN} \4,;' {} \;
a126 2
	@@${SED} "s|%%PORTNAME%%|${PORTNAME}|g;s|%%PREFIX%%|${PREFIX}|g;s|%%DATADIR%%|${DATADIR}|g" \
		${.CURDIR}/pkg-message > ${PKGMESSAGE}
@


1.2
log
@The vendor has removed the distfile from his website. Add the distfile
to my distfiles space.

Reported by:	pointyhat
@
text
@d9 1
a9 1
PORTVERSION=	3.08.a20
d12 1
d15 1
a15 1
DISTNAME=	MetaOCaml_308_alpha_020
a19 2
CONFLICTS=	ocaml-[0-9]* ocaml-notk-[0-9]* ocaml-nox11-[0-9]*

d26 4
a29 1
CONFIGURE_ARGS=	-prefix ${PREFIX} -cc "${CC} ${CFLAGS}"
d35 2
d58 1
a58 1
		Trxtime.n Unix.LargeFile.n Unix.n Weak.Make.n Weak.S.n Weak.n
d68 2
a106 1
	${TOUCH} ${PREFIX}/lib/ocaml/ocamldoc/custom/.keep
d116 3
d121 1
a121 1
	${STRIP_CMD} ${PREFIX}/bin/${p}
d123 4
a126 1
	${CHMOD} u+w ${PREFIX}/lib/ocaml/ld.conf
@


1.1
log
@Add metaocaml.

MetaOCaml is a multi-stage extension of the OCaml programming language, and
provides three basic constructs called Brackets, Escape, and Run for building,
combining, and executing future-stage computations, respectively. MetaOCaml
is a compiled dialect of MetaML.

WWW: http://www.metaocaml.org/

PR:		ports/82330
Submitted by:	Geoffrey Mainland <mainland@@apeiron.net>
@
text
@d11 3
a13 1
MASTER_SITES=	http://www.metaocaml.org/dist/
@

