summaryrefslogtreecommitdiff
path: root/mk/plist
diff options
context:
space:
mode:
authorjlam <jlam>2006-04-17 06:12:46 +0000
committerjlam <jlam>2006-04-17 06:12:46 +0000
commit8ee2e1f796584afc295d72c88c32ee55ab41bbd3 (patch)
treed65d13435e9097692c27b211065932e9cc1990af /mk/plist
parent090f9f32d6222bd77e1c172f36353e270c90f62b (diff)
downloadpkgsrc-8ee2e1f796584afc295d72c88c32ee55ab41bbd3.tar.gz
Modify the plist module to automatically transform "^share/locale" in
PLISTs to "${PKGLOCALEDIR}/locale" for the installed PLIST. This is similar to the work that's already done to automatically handle PKGINFODIR and PKGMANDIR. PLISTs in pkgsrc will be modified so that they would just list the message files to be under "share/locale". USE_PKGLOCALEDIR must continue to be set in package Makefiles so that localedir substitutions happen at post-configure time.
Diffstat (limited to 'mk/plist')
-rw-r--r--mk/plist/plist-locale.awk56
-rw-r--r--mk/plist/plist.mk4
-rw-r--r--mk/plist/print-plist.mk5
3 files changed, 62 insertions, 3 deletions
diff --git a/mk/plist/plist-locale.awk b/mk/plist/plist-locale.awk
new file mode 100644
index 00000000000..0cd95f87a1b
--- /dev/null
+++ b/mk/plist/plist-locale.awk
@@ -0,0 +1,56 @@
+# $NetBSD: plist-locale.awk,v 1.1 2006/04/17 06:12:46 jlam Exp $
+#
+# Copyright (c) 2006 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.
+# 3. All advertising materials mentioning features or use of this software
+# must display the following acknowledgement:
+# This product includes software developed by the NetBSD
+# Foundation, Inc. and its contributors.
+# 4. Neither the name of The NetBSD Foundation nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# 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.
+
+### This awk script handles locale entries in PLISTs.
+###
+### Certain environment variables must be set prior to running this script:
+###
+### PKGLOCALEDIR is the ${PREFIX}-relative path to the "locale" directory
+### under which all locale files are installed.
+###
+BEGIN {
+ PKGLOCALEDIR = ENVIRON["PKGLOCALEDIR"] ? ENVIRON["PKGLOCALEDIR"] : "share"
+}
+
+###
+### Convert share/locale to ${PKGLOCALEDIR}/locale for all locale entries.
+###
+/^share\/locale\// {
+ sub("^share", PKGLOCALEDIR)
+}
+/^@dirrm share\/locale\// {
+ sub("^@dirrm share", "@dirrm " PKGLOCALEDIR)
+}
diff --git a/mk/plist/plist.mk b/mk/plist/plist.mk
index b52c3adac65..2e91a5b501d 100644
--- a/mk/plist/plist.mk
+++ b/mk/plist/plist.mk
@@ -1,4 +1,4 @@
-# $NetBSD: plist.mk,v 1.9 2006/04/16 04:27:18 jlam Exp $
+# $NetBSD: plist.mk,v 1.10 2006/04/17 06:12:46 jlam Exp $
#
# This Makefile fragment handles the creation of PLISTs for use by
# pkg_create(8).
@@ -90,6 +90,7 @@ MAKEVARS+= _IGNORE_INFO_PATH
# that does post-processing of the PLIST. See the individual *.awk
# scripts for information on each of the variable set in the environment.
#
+_PLIST_AWK_ENV+= PKGLOCALEDIR=${PKGLOCALEDIR:Q}
_PLIST_AWK_ENV+= IMAKE_MANINSTALL=${_IMAKE_MANINSTALL:Q}
_PLIST_AWK_ENV+= IGNORE_INFO_PATH=${_IGNORE_INFO_PATH:Q}
_PLIST_AWK_ENV+= PKGINFODIR=${PKGINFODIR:Q}
@@ -141,6 +142,7 @@ _PLIST_AWK_ENV+= PLIST_SUBST_VARS=${PLIST_SUBST:S/^/PLIST_/:C/=.*//:M*:Q}
_PLIST_AWK+= -f ${.CURDIR}/../../mk/plist/plist-functions.awk
_PLIST_AWK+= -f ${.CURDIR}/../../mk/plist/plist-subst.awk
+_PLIST_AWK+= -f ${.CURDIR}/../../mk/plist/plist-locale.awk
_PLIST_AWK+= -f ${.CURDIR}/../../mk/plist/plist-info.awk
_PLIST_AWK+= -f ${.CURDIR}/../../mk/plist/plist-man.awk
_PLIST_AWK+= -f ${.CURDIR}/../../mk/plist/plist-libtool.awk
diff --git a/mk/plist/print-plist.mk b/mk/plist/print-plist.mk
index 7df9dad78aa..6e0c18b2816 100644
--- a/mk/plist/print-plist.mk
+++ b/mk/plist/print-plist.mk
@@ -1,4 +1,4 @@
-# $NetBSD: print-plist.mk,v 1.5 2006/03/20 01:48:58 jlam Exp $
+# $NetBSD: print-plist.mk,v 1.6 2006/04/17 06:12:46 jlam Exp $
###
### Automatic PLIST generation
@@ -27,7 +27,8 @@ _PRINT_PLIST_AWK_SUBST+= \
gsub(/${LOWER_OPSYS}/, "$${LOWER_OPSYS}"); \
gsub(/${PKGNAME_NOREV}/, "$${PKGNAME}"); \
gsub(/${PKGVERSION:S/./\./g:C/nb[0-9]*$$//}/, "$${PKGVERSION}");\
- gsub(/${PKGLOCALEDIR}\/locale/, "$${PKGLOCALEDIR}/locale"); \
+ gsub(/^${PKGLOCALEDIR}\/locale/, "share/locale"); \
+ gsub(/^@dirrm ${PKGLOCALEDIR}\/locale/, "@dirrm share/locale"); \
gsub("^${PKGINFODIR}\/", "info/"); \
gsub("^${PKGMANDIR}\/", "man/"); \
}