summaryrefslogtreecommitdiffstats
path: root/lang/vala/Makefile
blob: c9f5d1138e098cb8d9686a55c877f9d272d26afe (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
# New ports collection makefile for:    vala
# Date created:     2007-07-09
# Whom:         Michael Johnson <ahze@FreeBSD.org>
#
# $FreeBSD$
#   $MCom: ports/lang/vala/Makefile,v 1.37 2010/07/23 22:08:46 kwm Exp $
#

PORTNAME=   vala
PORTVERSION=    0.9.4
CATEGORIES= lang gnome
MASTER_SITES=   GNOME

MAINTAINER= gnome@FreeBSD.org
COMMENT=    Programming language and compiler that converts Vala code into C code

LICENSE=    LGPL21
LICENSE_FILE=   ${WRKSRC}/COPYING
USE_BZIP2=  yes
USE_GNOME=  gnomehack glib20 gnomeprefix libxslt
GNU_CONFIGURE=  yes
USE_GETTEXT=    yes
CONFIGURE_ENV=  CPPFLAGS="-I${LOCALBASE}" LDFLAGS="-L${LOCALBASE}/lib"
USE_BISON=  build
USE_LDCONFIG=   yes

MAN1?=      valac.1

.include <bsd.port.pre.mk>

.if defined(VALA_SLAVE)
LIB_DEPENDS+=   vala.0:${PORTSDIR}/lang/vala
CONFIGURE_ARGS+=--enable-vapigen
BUILD_DEPENDS+= ${SITE_PERL}/${PERL_ARCH}/XML/LibXML.pm:${PORTSDIR}/textproc/p5-XML-LibXML
RUN_DEPENDS+=   ${SITE_PERL}/${PERL_ARCH}/XML/LibXML.pm:${PORTSDIR}/textproc/p5-XML-LibXML
MAN1=       vala-gen-introspect.1 vapigen.1
.else
CONFIGURE_ARGS+=--disable-vapigen
.endif

post-patch:
# We cheat here, because vala records vapigen related stuff in its .pc file
# This makes the vapigen work again, although it might get weird when
# vala-vapigen isn't installed.
    @${REINPLACE_CMD} -e 's|@vapigen_decl@|vapigen=$${bindir}/vapigen|g' \
        -e 's|@gen_introspect_decl@|gen_introspect=$${libdir}/vala/gen-introspect|g' \
        -e 's|@vala_gen_introspect_decl@|vala_gen_introspect=$${bindir}/vala-gen-introspect|g' \
        ${WRKSRC}/vala-1.0.pc.in

.if defined(VALA_SLAVE)
pre-build:
    @cd ${WRKSRC} && ${GMAKE} version.h
    @cd ${WRKSRC}/gobject-introspection && ${GMAKE} libgidl.la

post-install:
    @cd ${WRKSRC}/gobject-introspection && ${GMAKE} install
    @${INSTALL_MAN} ${WRKSRC}/doc/vapigen.1 ${WRKSRC}/doc/vala-gen-introspect.1 \
         ${PREFIX}/man/man1/

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