aboutsummaryrefslogtreecommitdiffstats
path: root/lang/smarteiffel/Makefile
blob: 47c6fcb19b42c56f0c906e36df6b86c7734d16a5 (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
# New ports collection makefile for:    SmartEiffel
# Date created:             Wed Dec 22 18:20:05 CET 1999
# Whom:                 berend@pobox.com
#
# $FreeBSD$
#

PORTNAME=   smarteiffel
DISTVERSION=    1.2r7
CATEGORIES= lang
MASTER_SITES=   http://except.com.ar/downloads/smarteiffel/
DISTNAME=   SmartEiffel-${DISTVERSION}

MAINTAINER= berend@pobox.com
COMMENT=    SmartEiffel, the GNU compiler for the object-oriented language Eiffel

DEPRECATED= Dead upstream, broken on amd64 with gcc>4
EXPIRATION_DATE=2011-10-21

WRKSRC=     ${WRKDIR}/SmartEiffel12

# We install in this directory
SEDIR=      ${PREFIX}/${PORTNAME}-${DISTVERSION}

# We alias a directory to the installation directory
# so it is possible to easily switch between different builds
ALIASDIR=   ${PREFIX}/SmartEiffel

# SmartEiffel needs this to find system.se
MAKE_ENV+=  SmartEiffel=${WRKSRC}/sys/system.se
ALL_TARGET=
PLIST_SUB+= PORTVERSION=${DISTVERSION}

SUB_FILES=  pkg-install pkg-message

.include <bsd.port.pre.mk>

.if ${OSVERSION} >= 700000
.if ${ARCH} == "amd64" || ${ARCH} == "sparc64"
BROKEN=     Does not install
.endif
.endif

post-patch:
    @${REINPLACE_CMD} -i '' \
        -e 's|^.*c_compiler_options:.*$$|c_compiler_options: ${CFLAGS}|' \
        -e 's|^.*cpp_compiler_options:.*$$|cpp_compiler_options: ${CXXFLAGS}|' \
            ${WRKSRC}/install/gcc.rc

# Make sure we can set the symbolic link SmartEiffel
# to the actual release directory.
do-install:
    @(if ${TEST} -e ${ALIASDIR} ; then \
        if ! ${TEST} -L ${ALIASDIR} ; then \
        ${ECHO} "Make sure ${ALIASDIR} is a symbolic link"; \
        ${ECHO} "or does not exist. This directory will point to "; \
        ${ECHO} "the actual SmartEiffel installation directory."; \
        exit 1; \
        fi; \
        ${RM} ${ALIASDIR}; \
    fi; \
    ${LN} -fs ${SEDIR} ${ALIASDIR})
    @(if ${TEST} -e ${SEDIR} ; then ${RM} -rf ${SEDIR}; fi; \
        ${MKDIR} ${SEDIR}; \
        ${CP} -pR ${WRKSRC}/* ${SEDIR})
    @${SED} -i .orig -e "s,${WRKSRC},${SEDIR},g" ${SEDIR}/sys/system.se
    @${RM} ${SEDIR}/sys/system.se.orig
    @${SED} -i .orig -e "s,${WRKSRC},${SEDIR},g" ${SEDIR}/lib/loadpath.se
    @${RM} ${SEDIR}/lib/loadpath.se.orig
    @${SED} -i .orig -e "s,${WRKSRC},${SEDIR},g" ${SEDIR}/tools/loadpath.se
    @${RM} ${SEDIR}/tools/loadpath.se.orig
    @${SED} -i .orig -e "s,${WRKSRC},${SEDIR},g" ${SEDIR}/tutorial/loadpath.se
    @${RM} ${SEDIR}/tutorial/loadpath.se.orig

    @${CAT} ${PKGMESSAGE}

.include <bsd.port.post.mk>