# $OpenBSD: Makefile,v 1.285 2018/09/24 20:00:59 jasper Exp $

# Everything is a Freaking GLib/GTK+ problem
CFLAGS +=		-g
INSTALL_STRIP=		# empty

COMMENT=		general-purpose utility library

GNOME_PROJECT=		glib
GNOME_VERSION=		2.56.3
PKGNAME=		${DISTNAME:S/glib/glib2/}
REVISION=		0

CATEGORIES=		devel

HOMEPAGE=		http://www.gtk.org/

MAINTAINER=		Antoine Jacoutot <ajacoutot@openbsd.org>

# according to upstream, there should never be a need to bump major; doing so
# would trigger an abort():
# GLib-GObject:ERROR:gvaluetypes.c:457:_g_value_types_init:
# assertion failed: (type == G_TYPE_CHAR)
SHARED_LIBS +=  glib-2.0             4201.0   # 5600.3
SHARED_LIBS +=  gmodule-2.0          4200.7   # 5600.3
SHARED_LIBS +=  gthread-2.0          4200.7   # 5600.3
SHARED_LIBS +=  gobject-2.0          4200.7   # 5600.3
SHARED_LIBS +=  gio-2.0              4200.7   # 5600.3

# LGPLv2
PERMIT_PACKAGE_CDROM=	Yes

# uses pledge()
WANTLIB += c elf ffi iconv intl pcre pthread z

MODULES=		lang/python \
			x11/gnome

MODGNOME_TOOLS=		docbook

LIB_DEPENDS=		devel/gettext \
			devel/pcre \
			devel/libelf \
			devel/libffi

# need X11 because DBus is used in the GDBus test cases;
# also requires bumped limits (stack >= 24576)
BUILD_DEPENDS +=	x11/dbus
TEST_IS_INTERACTIVE=	x11
TEST_DEPENDS=		devel/desktop-file-utils \
			x11/dbus

CONFIGURE_STYLE=	gnu
CONFIGURE_ARGS=		--enable-static \
			--with-pcre=system \
			--disable-fam

AUTOCONF_VERSION=	2.69
AUTOMAKE_VERSION=	1.15
BUILD_DEPENDS +=	${MODGNU_AUTOCONF_DEPENDS} \
			${MODGNU_AUTOMAKE_DEPENDS} \
			devel/libtool

.include <bsd.port.arch.mk>
.if ${PROPERTIES:Mgcc3}
PATCH_LIST=	patch-* gcc3-*
.endif

pre-configure:
	sed -i -e "s,/usr/local,${LOCALBASE},g;" \
		-e "s,/etc/xdg,${SYSCONFDIR}/xdg,g" \
		${WRKSRC}/glib/gutils.c \
		${WRKSRC}/gio/xdgmime/xdgmime.c
	sed -i "s,/usr/share/locale,${LOCALBASE}/share/locale,g" \
		${WRKSRC}/glib/gcharset.c
	sed -i "s,/usr/share/applications,${LOCALBASE}/share/applications,g" \
		${WRKSRC}/gio/tests/desktop-app-info.c
	sed -i "s,/usr/share,${PREFIX}/share,g" \
		${WRKSRC}/docs/reference/gio/html/glib-compile-schemas.html \
		${WRKSRC}/docs/reference/gio/glib-compile-schemas.xml
	cd ${WRKSRC} && env -i ${AUTOCONF_ENV} autoreconf -fi

.include <bsd.port.mk>
