pkgsrc/devel/glib2/schemas.mk
jmmv 91e4325ccd TOOLS_NOOP is not enough to catch all calls to glib-compile-schemas because
some packages deduce the full name to the tool instead of relying on the
PATH.

Attempt to do better by setting the GLIB_COMPILE_SCHEMAS variable to
a non-absolute name during the build, hoping that such packages do define
this Makefile variable.

This should fix the build of evince as reported in PR pkg/44589.
2011-02-20 15:07:40 +00:00

29 lines
1.1 KiB
Makefile

# $NetBSD: schemas.mk,v 1.2 2011/02/20 15:07:40 jmmv Exp $
#
# This Makefile fragment is intended to be included by packages that install
# GSettings schemas. It takes care of rebuilding the corresponding databases
# at (de)installation time.
#
.if !defined(GLIB_SCHEMAS_MK)
GLIB_SCHEMAS_MK= # defined
GLIB_COMPILE_SCHEMAS= ${BUILDLINK_PREFIX.glib2}/bin/glib-compile-schemas
FILES_SUBST+= GLIB_SCHEMAS_DIR=${GLIB_SCHEMAS_DIR:Q}
FILES_SUBST+= GLIB_COMPILE_SCHEMAS=${GLIB_COMPILE_SCHEMAS:Q}
GLIB_SCHEMAS_DIR=${BUILDLINK_PREFIX.glib2}/share/glib-2.0/schemas
INSTALL_TEMPLATES+= ../../devel/glib2/files/schemas.tmpl
DEINSTALL_TEMPLATES+= ../../devel/glib2/files/schemas.tmpl
TOOLS_NOOP+= glib-compile-schemas
# Adding glib-compile-schemas to TOOLS_NOOP is not enough to mock out all
# calls to this tool. Some packages do 'pkg-config --variable
# glib_compile_schemas gio-2.0' to get the path to the binary. Do a best
# effort here by overriding the possibly-defined GLIB_COMPILE_SCHEMAS
# variable in the offending Makefiles.
MAKE_FLAGS+= GLIB_COMPILE_SCHEMAS=glib-compile-schemas
.include "../../devel/glib2/buildlink3.mk"
.endif # GLIB_SCHEMAS_MK