pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: CVS commit: pkgsrc
It is wrong, and proposed/discussed first!
On Wed, Jun 14, 2017 at 04:23:10PM +0000, Patrick Welche wrote:
> Module Name: pkgsrc
> Committed By: prlw1
> Date: Wed Jun 14 16:23:10 UTC 2017
>
> Modified Files:
> pkgsrc/graphics/adwaita-icon-theme: Makefile
> pkgsrc/graphics/gnome-icon-theme: Makefile buildlink3.mk
> pkgsrc/graphics/hicolor-icon-theme: Makefile buildlink3.mk
> pkgsrc/mk/check: check-files.mk
> pkgsrc/mk/pkginstall: bsd.pkginstall.mk deinstall install
> pkgsrc/mk/plist: plist.mk print-plist.mk
> pkgsrc/pkgtools/pkglint4/files: makevars.map pkglint.pl
> pkgsrc/x11/gtk2: Makefile
> pkgsrc/x11/gtk2/files: icon-cache.tmpl
> pkgsrc/x11/gtk3: Makefile
> Added Files:
> pkgsrc/mk/pkginstall: icon-themes
>
> Log Message:
> Essentially from OBATA Akio in private mail, June 2015:
>
> Introduce Icon Theme cache handling framework
>
> Icon Theme cache files are used by GTK+ and maintained with the
> gtk-update-icon-cache tool. Each Icon Theme package duplicates
> its own maintainance scripts: only the specified icon theme directory
> differs. With this framework, if packages have ICON_THEMES=yes,
> associated icon themes will be detected and their cache files will
> be maintained automatically.
>
> Change cache handling behaviour as follows:
> * Icon theme caches will be updated if either gtk2+ or gtk3+
> gtk-update-icon-cache tool is available.
> * With installation of gtk2+ package, not only hicolor icon theme but
> also any other icon theme cache files will be updated.
> * Prevent removal of icon caches at deinstall, gtk3+ may be installed and
> using them.
> * Ditto with gtk3+, gtk2+ may not be installed now, so caches must be
> maintained by gtk3+.
>
>
> To generate a diff of this commit:
> cvs rdiff -u -r1.7 -r1.8 pkgsrc/graphics/adwaita-icon-theme/Makefile
> cvs rdiff -u -r1.100 -r1.101 pkgsrc/graphics/gnome-icon-theme/Makefile
> cvs rdiff -u -r1.20 -r1.21 pkgsrc/graphics/gnome-icon-theme/buildlink3.mk
> cvs rdiff -u -r1.22 -r1.23 pkgsrc/graphics/hicolor-icon-theme/Makefile
> cvs rdiff -u -r1.19 -r1.20 pkgsrc/graphics/hicolor-icon-theme/buildlink3.mk
> cvs rdiff -u -r1.34 -r1.35 pkgsrc/mk/check/check-files.mk
> cvs rdiff -u -r1.70 -r1.71 pkgsrc/mk/pkginstall/bsd.pkginstall.mk
> cvs rdiff -u -r1.4 -r1.5 pkgsrc/mk/pkginstall/deinstall \
> pkgsrc/mk/pkginstall/install
> cvs rdiff -u -r0 -r1.1 pkgsrc/mk/pkginstall/icon-themes
> cvs rdiff -u -r1.49 -r1.50 pkgsrc/mk/plist/plist.mk
> cvs rdiff -u -r1.32 -r1.33 pkgsrc/mk/plist/print-plist.mk
> cvs rdiff -u -r1.4 -r1.5 pkgsrc/pkgtools/pkglint4/files/makevars.map \
> pkgsrc/pkgtools/pkglint4/files/pkglint.pl
> cvs rdiff -u -r1.285 -r1.286 pkgsrc/x11/gtk2/Makefile
> cvs rdiff -u -r1.1 -r1.2 pkgsrc/x11/gtk2/files/icon-cache.tmpl
> cvs rdiff -u -r1.92 -r1.93 pkgsrc/x11/gtk3/Makefile
>
> Please note that diffs are not public domain; they are subject to the
> copyright notices on the relevant files.
>
> Modified files:
>
> Index: pkgsrc/graphics/adwaita-icon-theme/Makefile
> diff -u pkgsrc/graphics/adwaita-icon-theme/Makefile:1.7 pkgsrc/graphics/adwaita-icon-theme/Makefile:1.8
> --- pkgsrc/graphics/adwaita-icon-theme/Makefile:1.7 Fri Sep 30 13:09:10 2016
> +++ pkgsrc/graphics/adwaita-icon-theme/Makefile Wed Jun 14 16:23:09 2017
> @@ -1,4 +1,4 @@
> -# $NetBSD: Makefile,v 1.7 2016/09/30 13:09:10 wiz Exp $
> +# $NetBSD: Makefile,v 1.8 2017/06/14 16:23:09 prlw1 Exp $
>
> DISTNAME= adwaita-icon-theme-3.22.0
> CATEGORIES= graphics gnome
> @@ -26,11 +26,7 @@ PKGCONFIG_OVERRIDE+= adwaita-icon-theme.
> # but isn't
> INSTALLATION_DIRS+= share/icons/Adwaita/96x96/places
>
> -FILES_SUBST+= GTK_UPDATE_ICON_CACHE="${LOCALBASE}/bin/gtk-update-icon-cache"
> -FILES_SUBST+= ICON_THEME_DIR="${LOCALBASE}/share/icons/Adwaita"
> -INSTALL_TEMPLATES+= ../../graphics/adwaita-icon-theme/files/icon-cache.tmpl
> -DEINSTALL_TEMPLATES+= ../../graphics/adwaita-icon-theme/files/icon-cache.tmpl
> -PRINT_PLIST_AWK+= /^share\/icons\/gnome\/icon-theme.cache$$/ { next; }
> +ICON_THEMES= yes
>
> post-install:
> .for s in 16 22 24 32 48 96 256
>
> Index: pkgsrc/graphics/gnome-icon-theme/Makefile
> diff -u pkgsrc/graphics/gnome-icon-theme/Makefile:1.100 pkgsrc/graphics/gnome-icon-theme/Makefile:1.101
> --- pkgsrc/graphics/gnome-icon-theme/Makefile:1.100 Sat Jul 9 06:38:21 2016
> +++ pkgsrc/graphics/gnome-icon-theme/Makefile Wed Jun 14 16:23:09 2017
> @@ -1,4 +1,4 @@
> -# $NetBSD: Makefile,v 1.100 2016/07/09 06:38:21 wiz Exp $
> +# $NetBSD: Makefile,v 1.101 2017/06/14 16:23:09 prlw1 Exp $
>
> DISTNAME= gnome-icon-theme-3.12.0
> PKGREVISION= 1
> @@ -27,11 +27,7 @@ PKGCONFIG_OVERRIDE= gnome-icon-theme.pc.
> # the current pkgsrc version.
> BUILDLINK_API_DEPENDS.icon-naming-utils+= icon-naming-utils>=0.8.90
>
> -FILES_SUBST+= GTK_UPDATE_ICON_CACHE="${LOCALBASE}/bin/gtk-update-icon-cache"
> -FILES_SUBST+= ICON_THEME_DIR="${PREFIX}/share/icons/gnome"
> -INSTALL_TEMPLATES+= ../../graphics/gnome-icon-theme/files/icon-cache.tmpl
> -DEINSTALL_TEMPLATES+= ../../graphics/gnome-icon-theme/files/icon-cache.tmpl
> -PRINT_PLIST_AWK+= /^share\/icons\/gnome\/icon-theme.cache$$/ { next; }
> +ICON_THEMES= yes
>
> post-install:
> ${LOCALBASE}/bin/rsvg-convert ${FILESDIR}/distributor-logo.svg -w 16 -h 16 -o ${DESTDIR}${PREFIX}/share/icons/gnome/16x16/places/start-here.png
>
> Index: pkgsrc/graphics/gnome-icon-theme/buildlink3.mk
> diff -u pkgsrc/graphics/gnome-icon-theme/buildlink3.mk:1.20 pkgsrc/graphics/gnome-icon-theme/buildlink3.mk:1.21
> --- pkgsrc/graphics/gnome-icon-theme/buildlink3.mk:1.20 Wed Nov 25 12:50:43 2015
> +++ pkgsrc/graphics/gnome-icon-theme/buildlink3.mk Wed Jun 14 16:23:09 2017
> @@ -1,4 +1,4 @@
> -# $NetBSD: buildlink3.mk,v 1.20 2015/11/25 12:50:43 jperkin Exp $
> +# $NetBSD: buildlink3.mk,v 1.21 2017/06/14 16:23:09 prlw1 Exp $
>
> BUILDLINK_TREE+= gnome-icon-theme
>
> @@ -17,13 +17,7 @@ USE_TOOLS+= perl
> .include "../../mk/bsd.fast.prefs.mk"
>
> .if !defined(GNOME_ICON_THEME_DEPEND_ONLY)
> -FILES_SUBST+= GTK_UPDATE_ICON_CACHE="${LOCALBASE}/bin/gtk-update-icon-cache"
> -FILES_SUBST+= ICON_THEME_DIR="${BUILDLINK_PREFIX.gnome-icon-theme}/share/icons/gnome"
> -INSTALL_TEMPLATES+= ../../graphics/gnome-icon-theme/files/icon-cache.tmpl
> -DEINSTALL_TEMPLATES+= ../../graphics/gnome-icon-theme/files/icon-cache.tmpl
> -
> -PRINT_PLIST_AWK+= /^share\/icons\/gnome\/icon-theme.cache$$/ { next; }
> -CHECK_FILES_SKIP+= ${PREFIX}/share/icons/gnome/icon-theme.cache
> +ICON_THEMES= yes
>
> .if !defined(NOOP_GTK_UPDATE_ICON_CACHE)
> NOOP_GTK_UPDATE_ICON_CACHE=
>
> Index: pkgsrc/graphics/hicolor-icon-theme/Makefile
> diff -u pkgsrc/graphics/hicolor-icon-theme/Makefile:1.22 pkgsrc/graphics/hicolor-icon-theme/Makefile:1.23
> --- pkgsrc/graphics/hicolor-icon-theme/Makefile:1.22 Wed Nov 25 12:50:43 2015
> +++ pkgsrc/graphics/hicolor-icon-theme/Makefile Wed Jun 14 16:23:09 2017
> @@ -1,4 +1,4 @@
> -# $NetBSD: Makefile,v 1.22 2015/11/25 12:50:43 jperkin Exp $
> +# $NetBSD: Makefile,v 1.23 2017/06/14 16:23:09 prlw1 Exp $
>
> DISTNAME= hicolor-icon-theme-0.13
> CATEGORIES= graphics
> @@ -14,10 +14,6 @@ NO_BUILD= YES
> USE_LANGUAGES= # none, not even C
> USE_TOOLS+= gmake
>
> -FILES_SUBST+= GTK_UPDATE_ICON_CACHE="${LOCALBASE}/bin/gtk-update-icon-cache"
> -FILES_SUBST+= ICON_THEME_DIR="${PREFIX}/share/icons/hicolor"
> -INSTALL_TEMPLATES+= ../../graphics/hicolor-icon-theme/files/icon-cache.tmpl
> -DEINSTALL_TEMPLATES+= ../../graphics/hicolor-icon-theme/files/icon-cache.tmpl
> -PRINT_PLIST_AWK+= /^share\/icons\/hicolor\/icon-theme.cache$$/ { next; }
> +ICON_THEMES= yes
>
> .include "../../mk/bsd.pkg.mk"
>
> Index: pkgsrc/graphics/hicolor-icon-theme/buildlink3.mk
> diff -u pkgsrc/graphics/hicolor-icon-theme/buildlink3.mk:1.19 pkgsrc/graphics/hicolor-icon-theme/buildlink3.mk:1.20
> --- pkgsrc/graphics/hicolor-icon-theme/buildlink3.mk:1.19 Wed Nov 25 12:50:43 2015
> +++ pkgsrc/graphics/hicolor-icon-theme/buildlink3.mk Wed Jun 14 16:23:09 2017
> @@ -1,4 +1,4 @@
> -# $NetBSD: buildlink3.mk,v 1.19 2015/11/25 12:50:43 jperkin Exp $
> +# $NetBSD: buildlink3.mk,v 1.20 2017/06/14 16:23:09 prlw1 Exp $
>
> BUILDLINK_TREE+= hicolor-icon-theme
>
> @@ -12,16 +12,8 @@ BUILDLINK_PKGSRCDIR.hicolor-icon-theme?=
> .include "../../mk/bsd.fast.prefs.mk"
>
> .if !defined(HICOLOR_ICON_THEME_DEPEND_ONLY)
> -FILES_SUBST+= GTK_UPDATE_ICON_CACHE="${LOCALBASE}/bin/gtk-update-icon-cache"
> -FILES_SUBST+= ICON_THEME_DIR="${BUILDLINK_PREFIX.hicolor-icon-theme}/share/icons/hicolor"
> -INSTALL_TEMPLATES+= ../../graphics/hicolor-icon-theme/files/icon-cache.tmpl
> -DEINSTALL_TEMPLATES+= ../../graphics/hicolor-icon-theme/files/icon-cache.tmpl
> -
> -# The icon-theme cache file generated by gtk-update-icon-cache should
> -# never be in any PLIST.
> -#
> -PRINT_PLIST_AWK+= /^share\/icons\/hicolor\/icon-theme.cache$$/ { next; }
> -CHECK_FILES_SKIP+= ${PREFIX}/share/icons/hicolor/icon-theme.cache
> +
> +ICON_THEMES= yes
>
> .if !defined(NOOP_GTK_UPDATE_ICON_CACHE)
> NOOP_GTK_UPDATE_ICON_CACHE=
>
> Index: pkgsrc/mk/check/check-files.mk
> diff -u pkgsrc/mk/check/check-files.mk:1.34 pkgsrc/mk/check/check-files.mk:1.35
> --- pkgsrc/mk/check/check-files.mk:1.34 Thu Jun 1 02:15:10 2017
> +++ pkgsrc/mk/check/check-files.mk Wed Jun 14 16:23:09 2017
> @@ -1,4 +1,4 @@
> -# $NetBSD: check-files.mk,v 1.34 2017/06/01 02:15:10 jlam Exp $
> +# $NetBSD: check-files.mk,v 1.35 2017/06/14 16:23:09 prlw1 Exp $
> #
> # This file checks that the list of installed files matches the PLIST.
> # For that purpose it records the file list of LOCALBASE before and
> @@ -101,6 +101,11 @@ CHECK_FILES_SKIP+= ${PREFIX}/.*/fonts.sc
> CHECK_FILES_SKIP+= ${PREFIX}/.*/fonts.cache-1
> .endif
>
> +# Mutable icon theme cache files
> +.if !empty(ICON_THEMES:M[Yy][Ee][Ss])
> +CHECK_FILES_SKIP+= ${PREFIX}/share/icons/.*/icon-theme.cache
> +.endif
> +
> # Mutable charset.alias file
> CHECK_FILES_SKIP+= ${PREFIX}/lib/charset.alias
>
>
> Index: pkgsrc/mk/pkginstall/bsd.pkginstall.mk
> diff -u pkgsrc/mk/pkginstall/bsd.pkginstall.mk:1.70 pkgsrc/mk/pkginstall/bsd.pkginstall.mk:1.71
> --- pkgsrc/mk/pkginstall/bsd.pkginstall.mk:1.70 Thu Jun 1 13:29:18 2017
> +++ pkgsrc/mk/pkginstall/bsd.pkginstall.mk Wed Jun 14 16:23:09 2017
> @@ -1,4 +1,4 @@
> -# $NetBSD: bsd.pkginstall.mk,v 1.70 2017/06/01 13:29:18 jlam Exp $
> +# $NetBSD: bsd.pkginstall.mk,v 1.71 2017/06/14 16:23:09 prlw1 Exp $
> #
> # This Makefile fragment is included by bsd.pkg.mk and implements the
> # common INSTALL/DEINSTALL scripts framework. To use the pkginstall
> @@ -47,6 +47,7 @@ _PKG_VARS.pkginstall+= \
> PKG_SYSCONFDIR_PERMS \
> PKG_SHELL \
> FONTS_DIRS.ttf FONTS_DIRS.type1 FONTS_DIRS.x11 \
> + ICON_THEMES
> _SYS_VARS.pkginstall= \
> SETUID_ROOT_PERMS \
> SETGID_GAMES_PERMS \
> @@ -965,6 +966,61 @@ ${_INSTALL_FONTS_FILE}: ../../mk/pkginst
> ${TOUCH} ${TOUCH_ARGS} ${.TARGET}; \
> fi
>
> +# ICON_THEMES indicates whether icon theme cache files should be automatically
> +# updated with the gtk-update-con-cache tool from a GTK+ package if available.
> +# It is either YES or NO and defaults to NO.
> +#
> +ICON_THEMES?= NO
> +
> +_INSTALL_ICON_THEMES_FILE= ${_PKGINSTALL_DIR}/icon-themes
> +_INSTALL_ICON_THEMES_DATAFILE= ${_PKGINSTALL_DIR}/icon-themes-data
> +_INSTALL_UNPACK_TMPL+= ${_INSTALL_ICON_THEMES_FILE}
> +_INSTALL_DATA_TMPL+= ${_INSTALL_ICON_THEMES_DATAFILE}
> +
> +# The icon theme cache is used by GTK+2 and GTK3+ applications.
> +# List their update-icon-cache tools.
> +#
> +.if !empty(ICON_THEMES:M[Yy][Ee][Ss])
> +FILES_SUBST+= GTK2_UPDATE_ICON_CACHE=${LOCALBASE}/bin/gtk2-update-icon-cache
> +FILES_SUBST+= GTK3_UPDATE_ICON_CACHE=${LOCALBASE}/bin/gtk-update-icon-cache
> +.endif
> +
> +${_INSTALL_ICON_THEMES_DATAFILE}:
> + ${RUN}${MKDIR} ${.TARGET:H}
> + ${RUN}${RM} -f ${.TARGET}
> + ${RUN}${TOUCH} ${TOUCH_ARGS} ${.TARGET}
> +
> +.if !empty(ICON_THEMES:M[Yy][Ee][Ss])
> +.PHONY: install-script-data-icon-themes
> +install-script-data: install-script-data-icon-themes
> +install-script-data-icon-themes:
> + ${RUN}${_FUNC_STRIP_PREFIX}; \
> + if ${TEST} -x ${INSTALL_FILE}; then \
> + ${ICON_THEMES_cmd} | \
> + while read theme; do \
> + theme=`strip_prefix "$$theme"`; \
> + ${ECHO} "# ICON_THEME: $$theme" \
> + >> ${INSTALL_FILE}; \
> + done; \
> + cd ${PKG_DB_TMPDIR} && ${PKGSRC_SETENV} ${INSTALL_SCRIPTS_ENV} \
> + ${_PKG_DEBUG_SCRIPT} ${INSTALL_FILE} ${PKGNAME} \
> + UNPACK +ICON_THEMES; \
> + fi
> +.endif
> +
> +${_INSTALL_ICON_THEMES_FILE}: ${_INSTALL_ICON_THEMES_DATAFILE}
> +${_INSTALL_ICON_THEMES_FILE}: ../../mk/pkginstall/icon-themes
> + ${RUN}${MKDIR} ${.TARGET:H}
> + ${RUN} \
> + ${SED} ${FILES_SUBST_SED} ../../mk/pkginstall/icon-themes > ${.TARGET}
> +.if empty(ICON_THEMES:M[Yy][Ee][Ss])
> + ${RUN} \
> + if ${_ZERO_FILESIZE_P} ${_INSTALL_ICON_THEMES_DATAFILE}; then \
> + ${RM} -f ${.TARGET}; \
> + ${TOUCH} ${TOUCH_ARGS} ${.TARGET}; \
> + fi
> +.endif
> +
> # PKG_CREATE_USERGROUP indicates whether the INSTALL script should
> # automatically add any needed users/groups to the system using
> # useradd/groupadd. It is either YES or NO and defaults to YES.
>
> Index: pkgsrc/mk/pkginstall/deinstall
> diff -u pkgsrc/mk/pkginstall/deinstall:1.4 pkgsrc/mk/pkginstall/deinstall:1.5
> --- pkgsrc/mk/pkginstall/deinstall:1.4 Tue Apr 12 15:52:29 2016
> +++ pkgsrc/mk/pkginstall/deinstall Wed Jun 14 16:23:09 2017
> @@ -1,4 +1,4 @@
> -# $NetBSD: deinstall,v 1.4 2016/04/12 15:52:29 jaapb Exp $
> +# $NetBSD: deinstall,v 1.5 2017/06/14 16:23:09 prlw1 Exp $
>
> case ${STAGE} in
> DEINSTALL)
> @@ -14,6 +14,11 @@ DEINSTALL)
> ${TEST} ! -x ./+INFO_FILES ||
> ./+INFO_FILES REMOVE ${PKG_METADATA_DIR}
> #
> + # Remove any icon theme caches.
> + #
> + ${TEST} ! -x ./+ICON_THEMES ||
> + ./+ICON_THEMES REMOVE ${PKG_METADATA_DIR}
> + #
> # Remove shells from /etc/shells.
> #
> ${TEST} ! -x ./+SHELL ||
> @@ -35,6 +40,11 @@ POST-DEINSTALL)
> ${TEST} ! -x ./+FONTS ||
> ./+FONTS ${PKG_METADATA_DIR}
> #
> + # Update any icon theme caches.
> + #
> + ${TEST} ! -x ./+ICON_THEMES ||
> + ./+ICON_THEMES UPDATE ${PKG_METADATA_DIR}
> + #
> # Rebuild the system run-time library search path database.
> #
> ${TEST} ! -x ./+SHLIBS ||
> Index: pkgsrc/mk/pkginstall/install
> diff -u pkgsrc/mk/pkginstall/install:1.4 pkgsrc/mk/pkginstall/install:1.5
> --- pkgsrc/mk/pkginstall/install:1.4 Tue Apr 12 15:52:29 2016
> +++ pkgsrc/mk/pkginstall/install Wed Jun 14 16:23:09 2017
> @@ -1,4 +1,4 @@
> -# $NetBSD: install,v 1.4 2016/04/12 15:52:29 jaapb Exp $
> +# $NetBSD: install,v 1.5 2017/06/14 16:23:09 prlw1 Exp $
>
> case ${STAGE} in
> PRE-INSTALL)
> @@ -47,6 +47,12 @@ POST-INSTALL)
> ${TEST} ! -x ./+FONTS ||
> ./+FONTS ${PKG_METADATA_DIR}
>
> + #
> + # Update any icon theme caches.
> + #
> + ${TEST} ! -x ./+ICON_THEMES ||
> + ./+ICON_THEMES UPDATE ${PKG_METADATA_DIR}
> +
> # Check for any missing bits after we're finished installing.
> #
> ${TEST} ! -x ./+DIRS ||
>
> Index: pkgsrc/mk/plist/plist.mk
> diff -u pkgsrc/mk/plist/plist.mk:1.49 pkgsrc/mk/plist/plist.mk:1.50
> --- pkgsrc/mk/plist/plist.mk:1.49 Sat Jul 4 16:18:38 2015
> +++ pkgsrc/mk/plist/plist.mk Wed Jun 14 16:23:09 2017
> @@ -1,4 +1,4 @@
> -# $NetBSD: plist.mk,v 1.49 2015/07/04 16:18:38 joerg Exp $
> +# $NetBSD: plist.mk,v 1.50 2017/06/14 16:23:09 prlw1 Exp $
> #
> # This Makefile fragment handles the creation of PLISTs for use by
> # pkg_create(8).
> @@ -283,6 +283,12 @@ INFO_FILES_cmd= \
> ${AWK} '($$0 !~ "-[0-9]*(\\.gz)?$$") { print }'
> .endif
>
> +ICON_THEMES_cmd= \
> + ${CAT} ${PLIST} | \
> + ${PKGSRC_SETENV} ${_PLIST_AWK_ENV} ${AWK} -F / \
> + '$$0 ~ "^share/icons/[^/]+/.*$$" { print $$3 }' | \
> + ${SORT} -u
> +
> ######################################################################
> ### plist-clean (PRIVATE)
> ######################################################################
>
> Index: pkgsrc/mk/plist/print-plist.mk
> diff -u pkgsrc/mk/plist/print-plist.mk:1.32 pkgsrc/mk/plist/print-plist.mk:1.33
> --- pkgsrc/mk/plist/print-plist.mk:1.32 Mon Jul 25 21:57:23 2016
> +++ pkgsrc/mk/plist/print-plist.mk Wed Jun 14 16:23:09 2017
> @@ -1,4 +1,4 @@
> -# $NetBSD: print-plist.mk,v 1.32 2016/07/25 21:57:23 wiz Exp $
> +# $NetBSD: print-plist.mk,v 1.33 2017/06/14 16:23:09 prlw1 Exp $
>
> ###
> ### Automatic PLIST generation
> @@ -43,6 +43,9 @@ _PRINT_PLIST_AWK_IGNORE+= || ($$0 ~ /^.*
> (defined(FONTS_DIRS.x11) && !empty(FONTS_DIRS.x11:M*))
> _PRINT_PLIST_AWK_IGNORE+= || ($$0 ~ /^.*\/fonts\.cache-1/)
> .endif
> +.if defined(ICON_THEMES)
> +_PRINT_PLIST_AWK_IGNORE+= || ($$0 ~ /^share\/icons\/*\/icon-theme\.cache$$/)
> +.endif
>
> # List the content of $PREFIX and emit "@pkgdir " statements for
> # empty directories.
>
> Index: pkgsrc/pkgtools/pkglint4/files/makevars.map
> diff -u pkgsrc/pkgtools/pkglint4/files/makevars.map:1.4 pkgsrc/pkgtools/pkglint4/files/makevars.map:1.5
> --- pkgsrc/pkgtools/pkglint4/files/makevars.map:1.4 Wed May 24 19:51:12 2017
> +++ pkgsrc/pkgtools/pkglint4/files/makevars.map Wed Jun 14 16:23:09 2017
> @@ -1,4 +1,4 @@
> -# $NetBSD: makevars.map,v 1.4 2017/05/24 19:51:12 adam Exp $
> +# $NetBSD: makevars.map,v 1.5 2017/06/14 16:23:09 prlw1 Exp $
> #
>
> # This file contains the guessed type of some variables, according to
> @@ -384,6 +384,7 @@ GNU_CONFIGURE_PREFIX Pathname [m:s]
> HAS_CONFIGURE Yes [m:s,c:s]
> HEADER_TEMPLATES List of Pathname [$package_list]
> HOMEPAGE URL [$package]
> +ICON_THEMES Yes
> IGNORE_PKG.* Yes [*:sp]
> INCOMPAT_CURSES InternalList of PlatformTriple [m:as]
> INCOMPAT_ICONV InternalList of PlatformTriple
> Index: pkgsrc/pkgtools/pkglint4/files/pkglint.pl
> diff -u pkgsrc/pkgtools/pkglint4/files/pkglint.pl:1.4 pkgsrc/pkgtools/pkglint4/files/pkglint.pl:1.5
> --- pkgsrc/pkgtools/pkglint4/files/pkglint.pl:1.4 Tue Feb 2 08:02:29 2016
> +++ pkgsrc/pkgtools/pkglint4/files/pkglint.pl Wed Jun 14 16:23:09 2017
> @@ -1,5 +1,5 @@
> #! @PERL@
> -# $NetBSD: pkglint.pl,v 1.4 2016/02/02 08:02:29 rillig Exp $
> +# $NetBSD: pkglint.pl,v 1.5 2017/06/14 16:23:09 prlw1 Exp $
> #
>
> # pkglint - static analyzer and checker for pkgsrc packages
> @@ -5284,7 +5284,12 @@ sub checkfile_PLIST($) {
> "Otherwise, this warning is harmless.");
> }
>
> - } elsif (substr($text, 0, 6) eq "share/" && $pkgpath ne "graphics/hicolor-icon-theme" && $text =~ m"^share/icons/hicolor(?:$|/)") {
> + } elsif ($text =~ m"^share/icons/[^/]+/.+$") {
> + if (defined($pkgctx_vardef) && !exists($pkgctx_vardef->{"ICON_THEMES"})) {
> + $line->log_warning("Packages that install icon theme files should set ICON_THEMES.");
> + }
> +
> + } elsif ($pkgpath ne "graphics/hicolor-icon-theme" && $text =~ m"^share/icons/hicolor(?:$|/)") {
> my $f = "../../graphics/hicolor-icon-theme/buildlink3.mk";
> if (defined($pkgctx_included) && !exists($pkgctx_included->{$f})) {
> $line->log_error("Please .include \"$f\" in the Makefile");
>
> Index: pkgsrc/x11/gtk2/Makefile
> diff -u pkgsrc/x11/gtk2/Makefile:1.285 pkgsrc/x11/gtk2/Makefile:1.286
> --- pkgsrc/x11/gtk2/Makefile:1.285 Fri May 19 13:29:05 2017
> +++ pkgsrc/x11/gtk2/Makefile Wed Jun 14 16:23:09 2017
> @@ -1,4 +1,4 @@
> -# $NetBSD: Makefile,v 1.285 2017/05/19 13:29:05 prlw1 Exp $
> +# $NetBSD: Makefile,v 1.286 2017/06/14 16:23:09 prlw1 Exp $
>
> DISTNAME= gtk+-2.24.31
> PKGNAME= ${DISTNAME:S/gtk/gtk2/}
> @@ -90,9 +90,8 @@ post-install:
> ${RM} -f ${DESTDIR}${GTK_IMMODULES_DB}
>
> FILES_SUBST+= GTK_UPDATE_ICON_CACHE="${PREFIX}/bin/gtk2-update-icon-cache"
> -FILES_SUBST+= ICON_THEME_DIR="${LOCALBASE}/share/icons/hicolor"
> +FILES_SUBST+= ICON_THEME_DIR="${LOCALBASE}/share/icons"
> INSTALL_TEMPLATES+= ../../x11/gtk2/files/icon-cache.tmpl
> -PRINT_PLIST_AWK+= /^share\/icons\/hicolor\/icon-theme.cache$$/ { next; }
>
> _BUILDING_GTK2= yes
> .include "modules.mk"
>
> Index: pkgsrc/x11/gtk2/files/icon-cache.tmpl
> diff -u pkgsrc/x11/gtk2/files/icon-cache.tmpl:1.1 pkgsrc/x11/gtk2/files/icon-cache.tmpl:1.2
> --- pkgsrc/x11/gtk2/files/icon-cache.tmpl:1.1 Fri Jan 26 00:55:01 2007
> +++ pkgsrc/x11/gtk2/files/icon-cache.tmpl Wed Jun 14 16:23:09 2017
> @@ -1,19 +1,19 @@
> -# $NetBSD: icon-cache.tmpl,v 1.1 2007/01/26 00:55:01 markd Exp $
> +# $NetBSD: icon-cache.tmpl,v 1.2 2017/06/14 16:23:09 prlw1 Exp $
> #
> # Rebuild the icon cache.
> #
>
> GTK_UPDATE_ICON_CACHE="@GTK_UPDATE_ICON_CACHE@"
> ICON_THEME_DIR="@ICON_THEME_DIR@"
> +LS="@LS@"
>
> case ${STAGE} in
> POST-INSTALL)
> ${TEST} -d ${ICON_THEME_DIR} && \
> - ${GTK_UPDATE_ICON_CACHE} -f -t ${ICON_THEME_DIR} >/dev/null 2>&1 || \
> - ${TRUE}
> - ;;
> -DEINSTALL)
> - ${RM} -f ${ICON_THEME_DIR}/icon-theme.cache
> + ${LS} ${ICON_THEME_DIR} | while read theme; do
> + ${TEST} -f ${ICON_THEME_DIR}/${theme}/index.theme && \
> + ${GTK_UPDATE_ICON_CACHE} -q -f -t ${ICON_THEME_DIR}/${theme}
> + done
> ;;
> *)
> ;;
>
> Index: pkgsrc/x11/gtk3/Makefile
> diff -u pkgsrc/x11/gtk3/Makefile:1.92 pkgsrc/x11/gtk3/Makefile:1.93
> --- pkgsrc/x11/gtk3/Makefile:1.92 Fri May 19 13:29:05 2017
> +++ pkgsrc/x11/gtk3/Makefile Wed Jun 14 16:23:09 2017
> @@ -1,4 +1,4 @@
> -# $NetBSD: Makefile,v 1.92 2017/05/19 13:29:05 prlw1 Exp $
> +# $NetBSD: Makefile,v 1.93 2017/06/14 16:23:09 prlw1 Exp $
>
> DISTNAME= gtk+-3.22.9
> PKGNAME= ${DISTNAME:S/gtk/gtk3/}
> @@ -70,6 +70,10 @@ CPPFLAGS+= -DPREFIX="\"${PREFIX}\""
> post-install:
> ${RM} -f ${DESTDIR}${GTK3_IMMODULES_DB}
>
> +FILES_SUBST+= GTK_UPDATE_ICON_CACHE="${PREFIX}/bin/gtk-update-icon-cache"
> +FILES_SUBST+= ICON_THEME_DIR="${LOCALBASE}/share/icons"
> +INSTALL_TEMPLATES+= ../../x11/gtk2/files/icon-cache.tmpl
> +
> _BUILDING_GTK3= yes
> .include "modules.mk"
>
>
> Added files:
>
> Index: pkgsrc/mk/pkginstall/icon-themes
> diff -u /dev/null pkgsrc/mk/pkginstall/icon-themes:1.1
> --- /dev/null Wed Jun 14 16:23:10 2017
> +++ pkgsrc/mk/pkginstall/icon-themes Wed Jun 14 16:23:09 2017
> @@ -0,0 +1,103 @@
> +# $NetBSD: icon-themes,v 1.1 2017/06/14 16:23:09 prlw1 Exp $
> +#
> +# Generate an +ICON_THEMES script that handles the icon theme cache for
> +# the package.
> +#
> +case "${STAGE},$1" in
> +UNPACK,|UNPACK,+ICON_THEMES)
> + ${CAT} > ./+ICON_THEMES << 'EOF'
> +#!@SH@
> +#
> +# +ICON_THEMES - icon theme cache management script
> +#
> +# Usage: ./+ICON_THEMES ADD|REMOVE [metadatadir]
> +#
> +# This script supports two actions, UPDATE and REMOVE, that will update or
> +# remove cache files for icon themes from the package associated with
> +# <metadatadir>.
> +#
> +# Lines starting with "# ICON_THEME: " are data read by this script that
> +# name the icon theme and directory containing the "index.theme".
> +#
> +# # ICON_THEME: hicolor
> +# # ICON_THEME: gnome
> +#
> +# For each ICON_THEME entry, if the path is relative, that it is taken to be
> +# relative to ${PKG_PREFIX}/share/icons.
> +#
> +
> +ECHO="@ECHO@"
> +GREP="@GREP@"
> +INSTALL_INFO="@INSTALL_INFO@"
> +MKDIR="@MKDIR@"
> +PWD_CMD="@PWD_CMD@"
> +RM="@RM@"
> +RMDIR="@RMDIR@"
> +SED="@SED@"
> +SORT="@SORT@"
> +TEST="@TEST@"
> +GTK2_UPDATE_ICON_CACHE="@GTK2_UPDATE_ICON_CACHE@"
> +GTK3_UPDATE_ICON_CACHE="@GTK3_UPDATE_ICON_CACHE@"
> +: ${GTK_UPDATE_ICON_CACHE=@TRUE@}
> +
> +SELF=$0
> +ACTION=$1
> +
> +CURDIR=`${PWD_CMD}`
> +PKG_METADATA_DIR="${2-${CURDIR}}"
> +: ${PKGNAME=${PKG_METADATA_DIR##*/}}
> +: ${PKG_PREFIX=@PREFIX@}
> +
> +for _t in ${GTK3_UPDATE_ICON_CACHE} ${GTK2_UPDATE_ICON_CACHE}; do
> + if ${TEST} -x $_t; then
> + GTK_UPDATE_ICON_CACHE=$_t;
> + break;
> + fi
> +done
> +
> +update_icon_cache()
> +{
> + _dir="$1"
> + if ${TEST} ! -f "$_dir/index.theme"; then
> + :
> + else
> + ${GTK_UPDATE_ICON_CACHE} -f -q "$_dir"
> + fi
> +}
> +
> +exitcode=0
> +case $ACTION in
> +UPDATE)
> + ${SED} -n "/^\# ICON_THEME: /{s/^\# ICON_THEME: //;p;}" ${SELF} | \
> + ${SORT} -u |
> + while read theme; do
> + case $theme in
> + "") continue ;;
> + [!/]*) theme="${PKG_PREFIX}/share/icons/$theme" ;;
> + esac
> +
> + update_icon_cache $theme
> + done
> + ;;
> +
> +REMOVE)
> + ${SED} -n "/^\# ICON_THEME: /{s/^\# ICON_THEME: //;p;}" ${SELF} | \
> + ${SORT} -u |
> + while read theme; do
> + case $theme in
> + "") continue ;;
> + [!/]*) theme="${PKG_PREFIX}/share/icons/$theme" ;;
> + esac
> +
> + ${RM} -f "$theme/icon-theme.cache"
> + done
> + ;;
> +esac
> +exit $exitcode
> +
> +EOF
> + ${SED} -n "/^\# ICON_THEME: /p" ${SELF} >> ./+ICON_THEMES
> + ${CHMOD} +x ./+ICON_THEMES
> + ;;
> +esac
> +
>
Home |
Main Index |
Thread Index |
Old Index