aboutsummaryrefslogtreecommitdiffstats
path: root/lang/mozart/Makefile
blob: 647cbb4c78576b8add1a2b65e410daba6765c40f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# New ports collection makefile for:   mozart
# Date created:        23. June 2000
# Whom:                Mathias Picker <mathiasp@virtual-earth.de>
#
# $FreeBSD$
#

PORTNAME=   mozart
PORTVERSION=    1.3.1.20040616
PORTREVISION=   3
CATEGORIES= lang tk parallel
MASTER_SITES=   http://www.mozart-oz.org/download/mozart-ftp/store/1.3.1-2004-06-16/
DISTFILES=  ${DISTNAME}-src.tar.gz
.if !defined(NOPORTDOCS)
DISTFILES+= ${MOZART_DOCS}
.endif

MAINTAINER= mathiasp@virtual-earth.de
COMMENT=    A distributed language with constraint-based inference

BUILD_DEPENDS=  emacs:${PORTSDIR}/editors/emacs \
        ${LOCALBASE}/include/gmp.h:${PORTSDIR}/math/libgmp4
LIB_DEPENDS=    gdbm.3:${PORTSDIR}/databases/gdbm \
        gmp.7:${PORTSDIR}/math/libgmp4 \
        tk84.1:${PORTSDIR}/x11-toolkits/tk84

MOZART_DOCS=    mozart-${PORTVERSION}-doc.tar.gz

SCRIPTS_ENV=    LN=${LN} PERL=${PERL}
ALL_TARGET=
MAKE_ARGS=  PREFIX=${PREFIX}/lib/oz
USE_BISON=  build
USE_GMAKE=  yes
HAS_CONFIGURE=  yes
USE_XLIB=   yes
USE_AUTOTOOLS=  autoconf:213
# magic wand: set INSTALL to some absurd value, or else
# mozart's configure will not find the right install
# when configuring as root.
CONFIGURE_ENV=  INSTALL=${CHMOD}
CONFIGURE_ARGS= --prefix=${PREFIX}/lib/oz \
    --disable-doc \
    --with-inc-dir=${LOCALBASE}/include/tcl8.4,${LOCALBASE}/include/tk8.4,${LOCALBASE}/include \
    --with-lib-dir=${LOCALBASE}/lib \
    --with-tcl-lib=${LOCALBASE}/lib \
    --with-tk-lib=${LOCALBASE}/lib \
    --with-tkinclude=${LOCALBASE}/include/tk8.4

.include <bsd.port.pre.mk>

.if ${OSVERSION} >= 700042
BROKEN=     Does not compile with GCC 4.2
.endif

.if ${ARCH} != "i386"
BROKEN=     Does not compile on !i386
.endif

pre-extract:
    @${ECHO}
    @${ECHO} -----------------------------------------------------
    @${ECHO}
    @${ECHO} If you have problems building mozart,
    @${ECHO} deinstall any old version of mozart
    @${ECHO} and unset OZHOME
    @${ECHO}
    @${ECHO} ----------------------------------------------------
    @${ECHO}

pre-configure:
    cd ${WRKSRC}/platform/emulator \
        && ${AUTOCONF} ${AUTOCONF_ARGS} -l ${WRKSRC}
    cd ${WRKSRC}/platform/tools/gump/ozflex \
        && ${AUTOCONF} ${AUTOCONF_ARGS} -l ${WRKSRC}

post-install:
.if !defined(NOPORTDOCS)
    @${TAR} --unlink -xzpf ${DISTDIR}/${MOZART_DOCS} \
        -C ${PREFIX}/lib/oz
    @${RM} -rf ${PREFIX}/lib/oz/doc
    @${MV} ${PREFIX}/lib/oz/mozart/doc ${PREFIX}/lib/oz
    @${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${PREFIX}/lib/oz/doc
    @${FIND} ${PREFIX}/lib/oz -type d -print0 \
        | ${XARGS} -0 ${CHMOD} 755
    @${FIND} ${PREFIX}/lib/oz/doc -type f -print0 \
        | ${XARGS} -0 ${CHMOD} ${SHAREMODE}
    @${RM} -rf ${PREFIX}/lib/oz/mozart
.endif
    @cd ${PREFIX} ; ${FIND} lib/oz -type f -o -type l | ${SORT} \
        > ${WRKDIR}/PLIST.lib-oz
    @cd ${PREFIX} ; ${FIND} lib/oz -type d | ${SORT} -r \
            | ${SED} -e 's/^/@dirrm /g' \
        >> ${WRKDIR}/PLIST.lib-oz
    @${ECHO_CMD} "r ${TMPPLIST}"        > ${WRKDIR}/ex.script
    @${ECHO_CMD} "/Insert PLIST.lib-oz" >> ${WRKDIR}/ex.script
    @${ECHO_CMD} "d"            >> ${WRKDIR}/ex.script
    @${ECHO_CMD} "r ${WRKDIR}/PLIST.lib-oz" >> ${WRKDIR}/ex.script
    @${ECHO_CMD} "x!"           >> ${WRKDIR}/ex.script
    @${CP} -p ${TMPPLIST} ${TMPPLIST}.pre-lib-oz
    @cd ${WRKDIR} ; ex < ex.script
    @${CAT} ${PKGMESSAGE}

.include <bsd.port.post.mk>