aboutsummaryrefslogtreecommitdiffstats
path: root/devel/gps/Makefile
blob: 56d168ece0151e923e2879d5b04a6fc3238f0d3e (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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# Created by: John Marino <marino@FreeBSD.org>
# $FreeBSD$

PORTNAME=   gps
PORTVERSION=    5.2.1
CATEGORIES= devel
MASTER_SITES=   http://downloads.dragonlace.net/src/
DISTNAME=   gps-5.2.1-1-src
PKGNAMESUFFIX=  -ide
EXTRACT_SUFX=   .tgz

MAINTAINER= marino@FreeBSD.org
COMMENT=    GNAT Programming Studio - IDE for Ada and many other languages

BUILD_DEPENDS=  gtkada>=2.24:${PORTSDIR}/x11-toolkits/gtkada \
        xmlada>=3.2:${PORTSDIR}/textproc/xmlada \
        gprbuild>=20120510:${PORTSDIR}/devel/gprbuild \
        sphinx-build:${PORTSDIR}/textproc/py-sphinx
LIB_DEPENDS=    gmp:${PORTSDIR}/math/gmp

GNU_CONFIGURE=      yes
USE_BZIP2=      yes
USE_PERL5=      build
ALL_TARGET=     default
USES=           ada gmake perl5 pkgconfig
WRKSRC=         ${WRKDIR}/gps-release-ide-${PORTVERSION}-src

CONFIGURE_ENV+=     AWK=/usr/bin/awk
DESTINY=        ${WRKDIR}/destino
MAKE_ENV+=      DESTDIR=${DESTINY} \
            PROCESSORS=${MAKE_JOBS_NUMBER}

OPTIONS_DEFINE=     SYSLOG SQLITE PGSQL PYTHON READLINE
OPTIONS_DEFAULT=    SYSLOG SQLITE PYTHON READLINE

PYTHON_DESC=        Enable Python console

NO_STAGE=   yes
.include <bsd.port.options.mk>

.if ${OPSYS} == FreeBSD
CONFIGURE_TARGET=   ${ARCH:S/amd64/x86_64/}-portbld-${OPSYS:L}${OSREL}
.endif

CONFIGURE_ARGS+=    --disable-shared --with-gmp=${PREFIX}

################
##  READLINE  ##
################

.if ${PORT_OPTIONS:MREADLINE}
USES+=          readline
CONFIGURE_ARGS+=    --enable-gpl
.else
CONFIGURE_ARGS+=    --disable-readline
.endif

##############
##  SYSLOG  ##
##############

.if !${PORT_OPTIONS:MSYSLOG}
CONFIGURE_ARGS+=    --disable-syslog
.endif

##############
##  SQLITE  ##
##############

.if ${PORT_OPTIONS:MSQLITE}
CONFIGURE_ARGS+=    --with-sqlite=embedded
.else
CONFIGURE_ARGS+=    --without-sqlite
.endif

##################
##  POSTGRESQL  ##
##################

.if ${PORT_OPTIONS:MPGSQL}
CONFIGURE_ARGS+=    --with-postgresql=${PREFIX}
USE_PGSQL=      true
.endif

#####################
##  PYTHON / PYGTK ##
#####################

.if ${PORT_OPTIONS:MPYTHON}
CONFIGURE_ARGS+=    --with-python=${PREFIX}
USE_PYTHON=     -2.7
USE_GNOME=      pygtk2
PYCOMPILE=      ${PREFIX}/lib/${PYTHON_VERSION}/compileall.py
.else
CONFIGURE_ARGS+=    --without-python \
            --disable-pygtk \
            --disable-pygobject
.endif

post-patch:
    @${REINPLACE_CMD} -e "s|@PREFIX@|${PREFIX}|g" \
        ${WRKSRC}/gnatlib/src/gnatcoll_readline.gpr.in

do-build:
    cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} default

pre-install:
.if ${PORT_OPTIONS:MPYTHON}
    ${PYTHON_CMD} ${PYCOMPILE} ${WRKSRC}/share/plug-ins
    ${PYTHON_CMD} ${PYCOMPILE} ${WRKSRC}/share/library
.endif

post-install:
    ${RM} -rf ${DESTINY}${PREFIX}/share/doc/gps/html/users_guide/_sources
    ${RM} -rf ${DESTINY}${PREFIX}/share/doc/gps/html/tutorial/_sources
    cd ${DESTINY}${PREFIX}; ${FIND} * -type d -empty -print | ${XARGS} ${RMDIR}
    ${CP} -pR ${DESTINY}${PREFIX}/ ${PREFIX}/
    @cd ${DESTINY}${PREFIX}; ${FIND} * \( -type f -or -type l \) | \
       ${SORT} > ${WRKDIR}/PLIST.all
    @cd ${DESTINY}${PREFIX}; ${FIND} * -type d | ${AWK} '/\//' | ${SORT} -r | \
       ${SED} -e '/share\/doc$$/d' -e '/share\/gps$$/d' \
       -e '/share\/gps\/plug-ins$$/d' -e '/share\/examples$$/d' \
       -e 's/^/@dirrm /g' >> ${WRKDIR}/PLIST.all
    @echo "@unexec rmdir %D/share/gps/plug-ins 2>/dev/null || true" >> ${WRKDIR}/PLIST.all
    @echo "@unexec rmdir %D/share/gps 2>/dev/null || true" >> ${WRKDIR}/PLIST.all
    @echo "@unexec rmdir %D/share/examples 2>/dev/null || true" >> ${WRKDIR}/PLIST.all
    @echo "@unexec rmdir %D/share/doc 2>/dev/null || true" >> ${WRKDIR}/PLIST.all
    @${CAT} ${WRKDIR}/PLIST.all >> ${TMPPLIST}

.include <bsd.port.mk>