1PORTNAME=	libgda
2DISTVERSION?=	5.2.10
3PORTREVISION=	3
4CATEGORIES=	databases gnome
5MASTER_SITES=	GNOME
6PKGNAMESUFFIX?=	5
7DIST_SUBDIR=	gnome
8
9MAINTAINER?=	ports@MidnightBSD.org
10COMMENT?=	Provides uniform access to different kinds of data sources
11WWW=		https://www.gnome-db.org/
12
13LICENSE=	gpl2+ lgpl+
14LICENSE_COMB=	multi
15LICENSE_FILE_gpl2+ =	${WRKSRC}/COPYING
16LICENSE_FILE_lgpl+ =	${WRKSRC}/COPYING.LIB
17
18USES=		cpe python readline shebangfix sqlite tar:xz
19CPE_VENDOR=	gnome
20LIBGDA5_SLAVE?=	no
21SHEBANG_FILES=	libgda-report/RML/*/*.py
22
23BUILD_DEPENDS=	itstool:textproc/itstool
24LIB_DEPENDS=	libsecret-1.so:security/libsecret \
25		libsoup-2.4.so:devel/libsoup \
26
27USES+=		gettext gmake gnome libtool localbase pathfix pkgconfig
28USE_GNOME=	glib20 libxslt intlhack introspection:build
29USE_LDCONFIG=	yes
30GNU_CONFIGURE=	yes
31INSTALL_TARGET=	install-strip
32#MAKE_JOBS_UNSAFE=yes
33CONFIGURE_ARGS=	--without-oracle \
34		--disable-crypto \
35		--disable-default-binary \
36		--enable-introspection
37
38.include <bsd.mport.options.mk>
39
40VERSION=	5.0
41PLIST_SUB+=	VERSION=${VERSION}
42
43.if ${LIBGDA5_SLAVE}!="no"
44USE_GNOME+=	libgda5
45.endif
46
47.if ${LIBGDA5_SLAVE}==ui
48LIB_DEPENDS=	libgcrypt.so:security/libgcrypt \
49		libgpg-error.so:security/libgpg-error
50CONFIGURE_ARGS+=--with-ui
51USE_GNOME+=	cairo gtk30
52INSTALLS_ICONS=	yes
53.else
54CONFIGURE_ARGS+=--without-ui
55.endif
56
57.if ${LIBGDA5_SLAVE}==bdb
58USES+=			bdb:5
59CONFIGURE_ARGS+=	--with-bdb=${LOCALBASE}
60.else
61CONFIGURE_ARGS+=	--without-bdb
62.endif
63
64.if ${LIBGDA5_SLAVE}==ldap
65USES+=		ldap
66CONFIGURE_ARGS+=	--with-ldap=${LOCALBASE}
67.else
68CONFIGURE_ARGS+=	--without-ldap
69.endif
70
71.if ${LIBGDA5_SLAVE}==mysql
72USES+=			mysql
73IGNORE_WITH_MYSQL=	80
74CONFIGURE_ARGS+=	--with-mysql=${LOCALBASE}
75.else
76CONFIGURE_ARGS+=	--without-mysql
77.endif
78
79.if ${LIBGDA5_SLAVE}==postgresql
80USES+=			pgsql
81CONFIGURE_ARGS+=	--with-postgres=${LOCALBASE}
82.else
83CONFIGURE_ARGS+=	--without-postgres
84.endif
85
86# MDB (MS Access)
87.if ${LIBGDA5_SLAVE}==mdb
88LIB_DEPENDS+=		libmdbsql.so:databases/mdbtools
89CONFIGURE_ARGS+=	--with-mdb=${LOCALBASE}
90.else
91CONFIGURE_ARGS+=	--without-mdb
92.endif
93
94.if ${LIBGDA5_SLAVE}==jdbc
95USES+=			java
96JAVA_VENDOR=		bsdjava openjdk
97CFLAGS+=		-I${JAVA_HOME}/include -I${JAVA_HOME}/include/freebsd
98.else
99CONFIGURE_ARGS+=	--without-java
100.endif
101
102CFLAGS+=	-Wno-error=incompatible-function-pointer-types
103
104post-patch:
105	@${REINPLACE_CMD} -e 's|-ldl||g' \
106		${WRKSRC}/configure
107	@${REINPLACE_CMD} -e 's|"db.h|"db${BDB_VER}/db.h|g' \
108		-e 's|ldb47|l${BDB_LIB_NAME}|g' \
109		-e 's|ldb|l${BDB_LIB_NAME}|g' \
110		-e 's|libdb|lib${BDB_LIB_NAME}|g' \
111		${WRKSRC}/configure
112	@${REINPLACE_CMD} -e 's|<db\.h>|<db${BDB_VER}/db.h>|' \
113		${WRKSRC}/providers/bdb/gda-bdb-provider.c \
114		${WRKSRC}/providers/bdb/gda-bdb-test.c
115.if ${LIBGDA5_SLAVE} == jdbc
116	@${REINPLACE_CMD} -e 's|lib/amd64|lib/${ARCH:S/powerpc64/ppc64/}|g' \
117		${WRKSRC}/getsp.java
118.endif
119.if ${LIBGDA5_SLAVE}!="no"
120	@${FIND} ${WRKSRC} -name Makefile.in -exec ${REINPLACE_CMD} \
121		-e 's|$$(top_builddir)/libgda/libgda-5.0.la|-lgda-5.0|g' \
122		-e 's|../libgda/libgda-5.0.la|-lgda-5.0|g' \
123		-e '/LIBS =/s|-lgda-5.0|gda-5.0|g' \
124		{} \;
125.endif
126
127.if ${LIBGDA5_SLAVE} == jdbc
128pre-configure:
129	@cd ${WRKSRC} && ${LOCALBASE}/bin/javac getsp.java
130.endif
131
132pre-build:
133.if ${LIBGDA5_SLAVE}==postgresql
134	cd ${WRKSRC}/providers/reuseable/postgres && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} libgda-postgres.la
135.endif
136
137.if ${LIBGDA5_SLAVE}==mysql
138	cd ${WRKSRC}/providers/reuseable/mysql && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} libgda-mysql.la
139.endif
140
141.if ${LIBGDA5_SLAVE}==ui
142	cd ${WRKSRC}/libgda && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} gda-enum-types.h
143.endif
144
145.if ${LIBGDA5_SLAVE}==no
146post-install:
147	${MV} ${PREFIX}/etc/libgda-${VERSION}/config \
148		${PREFIX}/etc/libgda-${VERSION}/config.sample
149.endif
150.if ${LIBGDA5_SLAVE}==ui
151post-install:
152	${INSTALL_DATA} ${WRKSRC}/libgda-ui-5.0.pc \
153		${PREFIX}/libdata/pkgconfig/
154.endif
155
156.include <bsd.port.mk>
157