aboutsummaryrefslogtreecommitdiffstats
path: root/devel/hat/Makefile
blob: 18e9fcf2be000cb06ed2643d5f3fd01f43461796 (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
104
105
106
107
108
109
110
111
112
# New ports collection makefile for:    nhc98
# Date created:             04 October 2001
# Whom:                 Oliver Braun <obraun@informatik.unibw-muenchen.de>
#
# $FreeBSD$

PORTNAME=   nhc98
PORTVERSION=    1.12
CATEGORIES= lang
MASTER_SITES=   ftp://ftp.cs.york.ac.uk/pub/haskell/${PORTNAME}/
DISTNAME=   ${PORTNAME}src-${PORTVERSION}
DIST_SUBDIR=    nhc98

PATCH_SITES=    ${MASTER_SITES}
PATCHFILES= patch-1.12-ranlib \
        patch-1.12-hmake-config \
        patch-1.12-getEnv

MAINTAINER= obraun@informatik.unibw-muenchen.de

.if defined(WITH_TRACER)
RUN_DEPENDS=    ${LOCALBASE}/jdk1.1.8/bin/java:${PORTSDIR}/java/jdk
BUILD_DEPENDS=  ${LOCALBASE}/jdk1.1.8/bin/javac:${PORTSDIR}/java/jdk
.endif

.include <bsd.port.pre.mk>

.if ${OSVERSION} >= 500000
BUILD_DEPENDS+= ghc:${PORTSDIR}/lang/ghc
.endif

WRKSRC=     ${WRKDIR}/${PORTNAME}-${PORTVERSION}
PLIST=      ${WRKSRC}/pkg-plist

.if !defined(WITH_TRACER)
ALL_TARGET= basic
PLIST_SUB+= TRACER="@comment "
.else
PLIST_SUB+= TRACER=""
MAKE_ENV+=  PATH=${PREFIX}/jdk1.1.8/bin:$$PATH
.endif

USE_GMAKE=  yes
HAS_CONFIGURE=  yes

.if ${OSVERSION} >= 500000
CONFIGURE_ARGS+=    --buildwith=ghc
.endif

.if !defined(NOPORTDOCS)
CONFIGURE_ARGS+=    --docdir=${PREFIX}/share/doc/nhc98 +docs
.endif

MAN1=       harch.1 hmake.1 hp2graph.1 nhc98.1 \
        hat-detect.1 hat-observe.1 hat-stack.1 hat-trail.1

pre-fetch:
.if !defined(WITH_TRACER)
    @${ECHO} ""
    @${ECHO} "  To build nhc98 with the tracer (requires JAVA)"
    @${ECHO} "  define WITH_TRACER"
    @${ECHO} ""
.else
    @${ECHO} ""
    @${ECHO} "  Building nhc98 with the tracer (requires JAVA)"
    @${ECHO} ""
.endif

post-patch:
    @${PERL} -pi.orig -e 's|-O3|${CFLAGS}|' ${WRKSRC}/Makefile.inc

pre-install:
.if exists(${PREFIX}/bin/hmake) && !defined(OVERRIDE_HMAKE)
    @${ECHO} ""
    @${ECHO} "It seems that there is already a version of hmake installed on"
    @${ECHO} "this system. Since hmake is part of nhc98, please deinstall it,"
    @${ECHO} "or define OVERRIDE_HMAKE to override the installed version."
    @${ECHO} ""
    @${FALSE}
.endif
# We need this to ensure that the libs will be installed into
# ${PREFIX}/lib/nhc98. Otherwise the libs will be installed
# into the build directory. The configure option won't work in the
# ports system.
    ${RM} -f ${WRKSRC}/include/*.orig
    ${SED} -e "s#LIBDIR=.*##" \
           < ${WRKSRC}/targets/ix86-FreeBSD/config.cache \
           > ${WRKSRC}/targets/ix86-FreeBSD/config.cache.fix1
    ${ECHO} "LIBDIR=${PREFIX}/lib/nhc98" \
            >> ${WRKSRC}/targets/ix86-FreeBSD/config.cache.fix1
    ${RM} ${WRKSRC}/targets/ix86-FreeBSD/config.cache
    ${MV} ${WRKSRC}/targets/ix86-FreeBSD/config.cache.fix1 \
          ${WRKSRC}/targets/ix86-FreeBSD/config.cache

post-install:
    ${SED} -e "s#/usr/doc/nhc98#${PREFIX}/share/doc/nhc98#" \
           < ${WRKSRC}/man/nhc98.1 > ${WRKSRC}/man/nhc98.1.fix
    ${INSTALL_MAN} ${WRKSRC}/man/nhc98.1.fix ${PREFIX}/man/man1/nhc98.1
    ${RM} ${WRKSRC}/man/nhc98.1.fix
.if !defined(NOPORTDOCS)
.for ending in aux log
    ${RM} ${PREFIX}/share/doc/nhc98/hat/tutorial1.${ending}
.endfor
.for ending in aux log out toc
    ${RM} ${PREFIX}/share/doc/nhc98/hat/hatuser.${ending}
.endfor
.for directory in . bugs examples hat hmake implementation-notes libs
    ${RM} -r ${PREFIX}/share/doc/nhc98/${directory}/CVS
.endfor
.endif

.include <bsd.port.post.mk>