aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBaptiste Daroussin <bapt@FreeBSD.org>2022-03-15 09:43:12 +0000
committerBaptiste Daroussin <bapt@FreeBSD.org>2022-03-18 10:00:23 +0000
commit522332dbc7186af743b36a5ed6bf8911f7975463 (patch)
treed45bc9000bab417e9c6f0e53496ab7513dce90a1
parente472de813a9d932ec8858a327ac69f1f78fd5020 (diff)
downloadports-522332dbc7186af743b36a5ed6bf8911f7975463.tar.gz
ports-522332dbc7186af743b36a5ed6bf8911f7975463.zip
devel/glib: convert gio modules and glib schemas to triggers
Use trigger to compile glib schemas, and generate gio modules cache PR: 262567 Reviewed by: tcberner Exp-run by: antoine Differential Revision: https://reviews.freebsd.org/D34564
-rw-r--r--Keywords/glib-schemas.ucl14
-rw-r--r--Mk/Scripts/check_leftovers.sh3
-rw-r--r--Mk/Uses/gnome.mk3
-rw-r--r--Mk/bsd.port.mk2
-rw-r--r--devel/dconf/Makefile1
-rw-r--r--devel/dconf/pkg-plist2
-rw-r--r--devel/gconf2/Makefile2
-rw-r--r--devel/gconf2/pkg-plist2
-rw-r--r--devel/glib20/Makefile4
-rw-r--r--devel/glib20/files/gio-modules.ucl.in16
-rw-r--r--devel/glib20/files/glib-schemas.ucl.in16
-rw-r--r--devel/glib20/pkg-plist3
12 files changed, 37 insertions, 31 deletions
diff --git a/Keywords/glib-schemas.ucl b/Keywords/glib-schemas.ucl
deleted file mode 100644
index 192c8ed99efb..000000000000
--- a/Keywords/glib-schemas.ucl
+++ /dev/null
@@ -1,14 +0,0 @@
-# MAINTAINER: gnome@FreeBSD.org
-#
-# Rebuild the glib schema cache.
-#
-# Ports installing glib schemas should use the GLIB_SCHEMAS macro
-# from USE_GNOME instead of calling this keyword directly.
-
-actions: []
-post-install: <<EOD
- glib-compile-schemas %D/share/glib-2.0/schemas > /dev/null || true
-EOD
-post-deinstall: <<EOD
- glib-compile-schemas %D/share/glib-2.0/schemas > /dev/null || true
-EOD
diff --git a/Mk/Scripts/check_leftovers.sh b/Mk/Scripts/check_leftovers.sh
index 65c2d143396c..00e8ad4a45dc 100644
--- a/Mk/Scripts/check_leftovers.sh
+++ b/Mk/Scripts/check_leftovers.sh
@@ -140,9 +140,6 @@ while read -r modtype path extra; do
case "${sub_path}" in
# gconftool-2 --makefile-uninstall-rule is unpredictable
etc/gconf/gconf.xml.defaults/%gconf-tree*.xml) ;;
- # This is a cache file for gio modules could be modified
- # for any gio modules
- lib/gio/modules/giomodule.cache) ;;
# removal of info files leaves entry uneasy to cleanup
# in info/dir
info/dir) ;;
diff --git a/Mk/Uses/gnome.mk b/Mk/Uses/gnome.mk
index 89f45350ad13..5bde97919ffa 100644
--- a/Mk/Uses/gnome.mk
+++ b/Mk/Uses/gnome.mk
@@ -411,15 +411,12 @@ gnome-post-gconf-schemas:
done
.endif
-# we put the @glib-schemas behind the plist schema entry, because it compiles files
-# in the directory. So we should remove the port file first before recompiling.
.if defined(GLIB_SCHEMAS)
_USES_install+= 690:gnome-post-glib-schemas
gnome-post-glib-schemas:
@for i in ${GLIB_SCHEMAS}; do \
${ECHO_CMD} "share/glib-2.0/schemas/$${i}" >> ${TMPPLIST}; \
done
- @${ECHO_CMD} "@glib-schemas" >> ${TMPPLIST};
.endif
.endif
diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk
index 78961a9b6c31..7419f99e4a45 100644
--- a/Mk/bsd.port.mk
+++ b/Mk/bsd.port.mk
@@ -1923,14 +1923,12 @@ PKGPOSTDEINSTALL?= ${PKGDIR}/pkg-post-deinstall
_FORCE_POST_PATTERNS= rmdir kldxref mkfontscale mkfontdir fc-cache \
fonts.dir fonts.scale gtk-update-icon-cache \
- gio-querymodules \
gtk-query-immodules \
ldconfig \
load-octave-pkg \
ocamlfind \
update-desktop-database update-mime-database \
gdk-pixbuf-query-loaders catalog.ports \
- glib-compile-schemas \
ccache-update-links
.if defined(USE_LOCAL_MK)
diff --git a/devel/dconf/Makefile b/devel/dconf/Makefile
index 41ff9e480666..997171695011 100644
--- a/devel/dconf/Makefile
+++ b/devel/dconf/Makefile
@@ -2,6 +2,7 @@
PORTNAME= dconf
PORTVERSION= 0.40.0
+PORTREVISION= 1
CATEGORIES= devel gnome
MASTER_SITES= GNOME
DISTNAME= dconf-${PORTVERSION}
diff --git a/devel/dconf/pkg-plist b/devel/dconf/pkg-plist
index ba0d6417d18b..40a45bda58e4 100644
--- a/devel/dconf/pkg-plist
+++ b/devel/dconf/pkg-plist
@@ -20,5 +20,3 @@ share/vala/vapi/dconf.deps
share/vala/vapi/dconf.vapi
@dir %%ETCDIR%%/db
@dir %%ETCDIR%%/profile
-@postexec %D/bin/gio-querymodules %D/lib/gio/modules 2>/dev/null || /usr/bin/true
-@postunexec %D/bin/gio-querymodules %D/lib/gio/modules 2>/dev/null || /usr/bin/true
diff --git a/devel/gconf2/Makefile b/devel/gconf2/Makefile
index 992e08073ad7..9e535cc824ad 100644
--- a/devel/gconf2/Makefile
+++ b/devel/gconf2/Makefile
@@ -3,7 +3,7 @@
PORTNAME= gconf2
PORTVERSION= 3.2.6
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= devel gnome
MASTER_SITES= GNOME/sources/GConf/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/}
DISTNAME= GConf-${PORTVERSION}
diff --git a/devel/gconf2/pkg-plist b/devel/gconf2/pkg-plist
index 50f6d2dc2b61..f9834ffaf121 100644
--- a/devel/gconf2/pkg-plist
+++ b/devel/gconf2/pkg-plist
@@ -122,5 +122,3 @@ share/sgml/gconf/gconf-1.0.dtd
@dir etc/gconf/gconf.xml.defaults
@dir etc/gconf/gconf.xml.mandatory
@dir etc/gconf/gconf.xml.system
-@postexec %D/bin/gio-querymodules %D/lib/gio/modules 2>/dev/null || /usr/bin/true
-@postunexec %D/bin/gio-querymodules %D/lib/gio/modules 2>/dev/null || /usr/bin/true
diff --git a/devel/glib20/Makefile b/devel/glib20/Makefile
index f4df13465bf6..0ff7ed6e50bb 100644
--- a/devel/glib20/Makefile
+++ b/devel/glib20/Makefile
@@ -2,6 +2,7 @@
PORTNAME= glib
DISTVERSION= 2.70.4
+PORTREVISION= 1
PORTEPOCH= 2
CATEGORIES= devel
MASTER_SITES= GNOME
@@ -18,7 +19,8 @@ LIB_DEPENDS= libffi.so:devel/libffi \
# iconv:wchar_t - our iconv in base doesn't support utf-8 -> wchar_t (boooo)
# (wchar_t is used by glibmm, rawtherapee triggered this)
USES= compiler:c11 cpe gettext gnome iconv:wchar_t localbase:ldflags \
- meson perl5 pkgconfig python:3.6+ tar:xz
+ meson perl5 pkgconfig python:3.6+ tar:xz trigger
+TRIGGERS= gio-modules glib-schemas
USE_LDCONFIG= yes
USE_PERL5= build
USE_PYTHON= py3kplist
diff --git a/devel/glib20/files/gio-modules.ucl.in b/devel/glib20/files/gio-modules.ucl.in
new file mode 100644
index 000000000000..dafa3a160553
--- /dev/null
+++ b/devel/glib20/files/gio-modules.ucl.in
@@ -0,0 +1,16 @@
+path: "%%PREFIX%%/lib/gio/modules"
+cleanup: {
+ type: lua
+ sandbox: false
+ script: <<EOS
+os.remove("%%PREFIX%%/lib/gio/modules/giomodule.cache")
+EOS
+}
+trigger: {
+ type: lua
+ sandbox: false
+ script: <<EOS
+print("Generating GIO modules cache")
+pkg.exec({"%%PREFIX%%/bin/gio-querymodules", "%%PREFIX%%/lib/gio/modules"})
+EOS
+}
diff --git a/devel/glib20/files/glib-schemas.ucl.in b/devel/glib20/files/glib-schemas.ucl.in
new file mode 100644
index 000000000000..c576a21b27a1
--- /dev/null
+++ b/devel/glib20/files/glib-schemas.ucl.in
@@ -0,0 +1,16 @@
+path: "%%PREFIX%%/share/glib-2.0/schemas"
+cleanup: {
+ type: lua
+ sandbox: false
+ script: <<EOS
+os.remove("%%PREFIX%%/share/glib-2.0/schemas/gschemas.compiled")
+EOS
+}
+trigger: {
+ type: lua
+ sandbox: false
+ script: <<EOS
+print("Compiling glib schemas")
+pkg.exec({"%%PREFIX%%/bin/glib-compile-schemas", "%%PREFIX%%/share/glib-2.0/schemas"})
+EOS
+}
diff --git a/devel/glib20/pkg-plist b/devel/glib20/pkg-plist
index ac0d084c45cc..284807bb3660 100644
--- a/devel/glib20/pkg-plist
+++ b/devel/glib20/pkg-plist
@@ -469,6 +469,3 @@ share/gettext/its/gschema.loc
%%NLS%%share/locale/zh_TW/LC_MESSAGES/glib20.mo
@dir lib/gio/modules
@dir share/GConf/gsettings
-@postexec %D/bin/glib-compile-schemas %D/share/glib-2.0/schemas 2>/dev/null || /usr/bin/true
-@postunexec /bin/rm -f %D/share/glib-2.0/schemas/gschemas.compiled || /usr/bin/true
-@postexec %D/bin/gio-querymodules %D/lib/gio/modules 2>/dev/null || /usr/bin/true