summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--devel/glib2/files/schemas.tmpl18
-rw-r--r--devel/glib2/schemas.mk23
2 files changed, 41 insertions, 0 deletions
diff --git a/devel/glib2/files/schemas.tmpl b/devel/glib2/files/schemas.tmpl
new file mode 100644
index 00000000000..33313ea4cea
--- /dev/null
+++ b/devel/glib2/files/schemas.tmpl
@@ -0,0 +1,18 @@
+# $NetBSD: schemas.tmpl,v 1.1 2011/01/18 10:03:59 jmmv Exp $
+#
+# Recompile the GSettings schemas.
+#
+
+GLIB_SCHEMAS_DIR="@GLIB_SCHEMAS_DIR@"
+GLIB_COMPILE_SCHEMAS="@GLIB_COMPILE_SCHEMAS@"
+
+case "${STAGE}" in
+POST-INSTALL)
+ XDG_DATA_DIRS= "${GLIB_COMPILE_SCHEMAS}" "${GLIB_SCHEMAS_DIR}"
+ ;;
+POST-DEINSTALL)
+ XDG_DATA_DIRS= "${GLIB_COMPILE_SCHEMAS}" "${GLIB_SCHEMAS_DIR}"
+ ;;
+*)
+ ;;
+esac
diff --git a/devel/glib2/schemas.mk b/devel/glib2/schemas.mk
new file mode 100644
index 00000000000..df121556817
--- /dev/null
+++ b/devel/glib2/schemas.mk
@@ -0,0 +1,23 @@
+# $NetBSD: schemas.mk,v 1.1 2011/01/18 10:03:59 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
+
+.include "../../devel/glib2/buildlink3.mk"
+
+.endif # GLIB_SCHEMAS_MK