Received: by mail.netbsd.org (Postfix, from userid 605) id BB50C84D82; Thu, 10 Aug 2017 05:41:08 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by mail.netbsd.org (Postfix) with ESMTP id 4E84684D5D for ; Thu, 10 Aug 2017 05:41:08 +0000 (UTC) X-Virus-Scanned: amavisd-new at netbsd.org Received: from mail.netbsd.org ([IPv6:::1]) by localhost (mail.netbsd.org [IPv6:::1]) (amavisd-new, port 10025) with ESMTP id VjwzIKMOd2Te for ; Thu, 10 Aug 2017 05:41:07 +0000 (UTC) Received: from cvs.NetBSD.org (ivanova.NetBSD.org [IPv6:2001:470:a085:999:28c:faff:fe03:5984]) by mail.netbsd.org (Postfix) with ESMTP id 7329484D3B for ; Thu, 10 Aug 2017 05:41:07 +0000 (UTC) Received: by cvs.NetBSD.org (Postfix, from userid 500) id 6CF14FACE; Thu, 10 Aug 2017 05:41:07 +0000 (UTC) Content-Transfer-Encoding: 7bit Content-Type: multipart/mixed; boundary="_----------=_1502343667139310" MIME-Version: 1.0 Date: Thu, 10 Aug 2017 05:41:07 +0000 From: "Johnny C. Lam" Subject: CVS commit: pkgsrc/mk To: pkgsrc-changes@NetBSD.org Reply-To: jlam@netbsd.org X-Mailer: log_accum Message-Id: <20170810054107.6CF14FACE@cvs.NetBSD.org> Sender: pkgsrc-changes-owner@NetBSD.org List-Id: pkgsrc-changes.NetBSD.org Precedence: bulk List-Unsubscribe: This is a multi-part message in MIME format. --_----------=_1502343667139310 Content-Disposition: inline Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII" Module Name: pkgsrc Committed By: jlam Date: Thu Aug 10 05:41:07 UTC 2017 Modified Files: pkgsrc/mk/pkgformat/pkg/templates: header pkgsrc/mk/pkgtasks: bsd.pkgtasks.mk pkgsrc/mk/pkgtasks/tests: Kyuafile Added Files: pkgsrc/mk/pkgtasks: icon_themes.mk pkgsrc/mk/pkgtasks/tests: icon_themes_test Log Message: mk/pkgtasks: Add infrastructure to use "icon_themes" package task. Add definitions for the gtk-update-icon-cache(1) command to the script header template, and a makefile fragment that creates the data file for the "icon_themes" package task if ${ICON_THEMES} is "yes" in the package Makefile. Also bump pkgtasks dependency to version 1.12 for the "icon_themes" package task and compatibility with pkgsrc/mk/pkginstall. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 pkgsrc/mk/pkgformat/pkg/templates/header cvs rdiff -u -r1.4 -r1.5 pkgsrc/mk/pkgtasks/bsd.pkgtasks.mk cvs rdiff -u -r0 -r1.1 pkgsrc/mk/pkgtasks/icon_themes.mk cvs rdiff -u -r1.1 -r1.2 pkgsrc/mk/pkgtasks/tests/Kyuafile cvs rdiff -u -r0 -r1.1 pkgsrc/mk/pkgtasks/tests/icon_themes_test Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. --_----------=_1502343667139310 Content-Disposition: inline Content-Length: 9212 Content-Transfer-Encoding: binary Content-Type: text/x-diff; charset=us-ascii Modified files: Index: pkgsrc/mk/pkgformat/pkg/templates/header diff -u pkgsrc/mk/pkgformat/pkg/templates/header:1.4 pkgsrc/mk/pkgformat/pkg/templates/header:1.5 --- pkgsrc/mk/pkgformat/pkg/templates/header:1.4 Thu Aug 10 05:38:00 2017 +++ pkgsrc/mk/pkgformat/pkg/templates/header Thu Aug 10 05:41:07 2017 @@ -29,7 +29,7 @@ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # -# $NetBSD: header,v 1.4 2017/08/10 05:38:00 jlam Exp $ +# $NetBSD: header,v 1.5 2017/08/10 05:41:07 jlam Exp $ # Package task loader. : ${TASK_MODULE_DIR:=@LOCALBASE@/share/pkgtasks-1} @@ -67,6 +67,8 @@ CHMOD="@CHMOD@" CHOWN="@CHOWN@" CP="@CP@" DATE="@DATE@" +GTK2_UPDATE_ICON_CACHE="@GTK2_UPDATE_ICON_CACHE@" +GTK3_UPDATE_ICON_CACHE="@GTK2_UPDATE_ICON_CACHE@" FIND="@FIND@" ID="@ID@" INSTALL_INFO="@INSTALL_INFO@" Index: pkgsrc/mk/pkgtasks/bsd.pkgtasks.mk diff -u pkgsrc/mk/pkgtasks/bsd.pkgtasks.mk:1.4 pkgsrc/mk/pkgtasks/bsd.pkgtasks.mk:1.5 --- pkgsrc/mk/pkgtasks/bsd.pkgtasks.mk:1.4 Sun Jun 4 00:03:43 2017 +++ pkgsrc/mk/pkgtasks/bsd.pkgtasks.mk Thu Aug 10 05:41:07 2017 @@ -1,4 +1,4 @@ -# $NetBSD: bsd.pkgtasks.mk,v 1.4 2017/06/04 00:03:43 jlam Exp $ +# $NetBSD: bsd.pkgtasks.mk,v 1.5 2017/08/10 05:41:07 jlam Exp $ # # Copyright (c) 2017 The NetBSD Foundation, Inc. # All rights reserved. @@ -134,6 +134,7 @@ USE_PKGTASKS= no .include "${PKGSRCDIR}/mk/pkgtasks/directories.mk" .include "${PKGSRCDIR}/mk/pkgtasks/files.mk" .include "${PKGSRCDIR}/mk/pkgtasks/fonts.mk" +.include "${PKGSRCDIR}/mk/pkgtasks/icon_themes.mk" .include "${PKGSRCDIR}/mk/pkgtasks/info_files.mk" .include "${PKGSRCDIR}/mk/pkgtasks/ocaml_findlib.mk" .include "${PKGSRCDIR}/mk/pkgtasks/permissions.mk" @@ -142,7 +143,7 @@ USE_PKGTASKS= no .include "${PKGSRCDIR}/mk/pkgtasks/usergroup.mk" # Add a dependency on pkgtasks if package tasks are needed. -_PKGTASKS_DEPENDS= pkgtasks-1>=1.10:../../pkgtools/pkgtasks +_PKGTASKS_DEPENDS= pkgtasks-1>=1.12:../../pkgtools/pkgtasks DEPENDS+= ${"${USE_PKGTASKS:tl}" == "yes":?${_PKGTASKS_DEPENDS}:} TASK_MODULE_DIR?= ${LOCALBASE}/share/pkgtasks-1 Index: pkgsrc/mk/pkgtasks/tests/Kyuafile diff -u pkgsrc/mk/pkgtasks/tests/Kyuafile:1.1 pkgsrc/mk/pkgtasks/tests/Kyuafile:1.2 --- pkgsrc/mk/pkgtasks/tests/Kyuafile:1.1 Thu Jun 1 02:06:05 2017 +++ pkgsrc/mk/pkgtasks/tests/Kyuafile Thu Aug 10 05:41:07 2017 @@ -1,4 +1,4 @@ --- $NetBSD: Kyuafile,v 1.1 2017/06/01 02:06:05 jlam Exp $ +-- $NetBSD: Kyuafile,v 1.2 2017/08/10 05:41:07 jlam Exp $ --[[----------------------------------------------------------------------- Copyright (c) 2017 The NetBSD Foundation, Inc. All rights reserved. @@ -52,6 +52,7 @@ atf_test_program { name = "directories_t atf_test_program { name = "files_test" } atf_test_program { name = "fonts_test" } atf_test_program { name = "groups_test" } +atf_test_program { name = "icon_themes_test" } atf_test_program { name = "info_files_test" } atf_test_program { name = "ocaml_findlib_test" } atf_test_program { name = "permissions_test" } Added files: Index: pkgsrc/mk/pkgtasks/icon_themes.mk diff -u /dev/null pkgsrc/mk/pkgtasks/icon_themes.mk:1.1 --- /dev/null Thu Aug 10 05:41:07 2017 +++ pkgsrc/mk/pkgtasks/icon_themes.mk Thu Aug 10 05:41:07 2017 @@ -0,0 +1,64 @@ +# $NetBSD: icon_themes.mk,v 1.1 2017/08/10 05:41:07 jlam Exp $ +# +# Copyright (c) 2017 The NetBSD Foundation, Inc. +# All rights reserved. +# +# This code is derived from software contributed to The NetBSD Foundation +# by Johnny C. Lam. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +# Generate the data file for the icon_themes package task. + +# ICON_THEMES +# Package-settable variable for whether to automatically update +# the GTK+ icon theme directory caches. +# +# Possible: yes, no +# Default: yes +# +_PKG_VARS.pkgtasks+= ICON_THEMES +ICON_THEMES?= no + +FILES_SUBST+= GTK_UPDATE_ICON_CACHE=${LOCALBASE:Q}/bin/gtk-update-icon-cache +FILES_SUBST+= GTK2_UPDATE_ICON_CACHE=${LOCALBASE:Q}/bin/gtk2-update-icon-cache +FILES_SUBST+= GTK3_UPDATE_ICON_CACHE=${LOCALBASE:Q}/bin/gtk-update-icon-cache + +# Trigger pkgtasks dependency if needed. +.if "${ICON_THEMES:tl}" == "yes" +USE_PKGTASKS= yes +.endif + +_PKGTASKS_DATA.icon_themes= ${_PKGTASKS_DIR}/icon_themes +_PKGTASKS_DATAFILES+= ${_PKGTASKS_DATA.icon_themes} + +# ${ICON_THEMES_cmd} is defined by the plist module. +${_PKGTASKS_DATA.icon_themes}: + ${RUN}${MKDIR} ${.TARGET:H:Q} + ${RUN}exec > ${.TARGET:Q}.tmp + ${RUN}${TEST} "${ICON_THEMES:tl}" = "yes" || exit 0; \ + cmd=${ICON_THEMES_cmd:Q}""; \ + ${TEST} -n "$$cmd" || cmd=${TRUE:Q}""; \ + eval $$cmd | while IFS= read themedir; do \ + ${ECHO} "# ICON_THEME: $$themedir"; \ + done >> ${.TARGET:Q}.tmp + ${RUN}${MV} ${.TARGET:Q}.tmp ${.TARGET:Q} Index: pkgsrc/mk/pkgtasks/tests/icon_themes_test diff -u /dev/null pkgsrc/mk/pkgtasks/tests/icon_themes_test:1.1 --- /dev/null Thu Aug 10 05:41:07 2017 +++ pkgsrc/mk/pkgtasks/tests/icon_themes_test Thu Aug 10 05:41:07 2017 @@ -0,0 +1,103 @@ +#!/usr/bin/env atf-sh +# +# $NetBSD: icon_themes_test,v 1.1 2017/08/10 05:41:07 jlam Exp $ +# +# Copyright (c) 2017 The NetBSD Foundation, Inc. +# All rights reserved. +# +# This code is derived from software contributed to The NetBSD Foundation +# by Johnny C. Lam. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +# ENVIRONMENT +# The following variables are used if they are set: +# +# MAKE The name or path to the BSD make(1) utility. The default +# is "make". +# +# PKGSRCDIR +# The location of the pkgsrc source tree. The default is +# "/usr/pkgsrc". +# + +setup() +{ + cat > Makefile << 'EOF' +.include "${PKGSRCDIR}/mk/pkgtasks/tests/test.mk" +.sinclude "mk.conf" +.include "${PKGSRCDIR}/mk/pkgtasks/icon_themes.mk" + +all: value +value: ${_PKGTASKS_DATA.icon_themes} + ${RUN}${CP} ${.ALLSRC:Q} ${.TARGET:Q} +EOF +} + +### +### test1 +### + +atf_test_case test1 + +test1_head() +{ + atf_set "descr" "pkgsrc/mk/pkgtasks/icon_themes.mk" +} + +test1_body() +{ + : ${MAKE:=make} + : ${PKGSRCDIR:=/usr/pkgsrc} + + setup + + cat > mk.conf << 'EOF' +# Create mock ${ICON_THEMES_cmd}. +ICON_THEMES= yes +ICON_THEMES_cmd= ( echo "icon_theme1"; echo "icon_theme2" ) +EOF + # Expected output is each path stripped of leading "share/icons/" + # and inserted into the following template: + # + # # ICON_THEMES: + # + cat > expected << 'EOF' +# ICON_THEME: icon_theme1 +# ICON_THEME: icon_theme2 +EOF + echo ">>> expected" + cat expected + + ${MAKE} PKGSRCDIR="${PKGSRCDIR}" || atf_fail "make(1) failed" + + echo ">>> value" + cat value + + cmp expected value || atf_fail "expected differs from value" + atf_pass +} + +atf_init_test_cases() +{ + atf_add_test_case test1 +} --_----------=_1502343667139310--