# $NetBSD: makevars.map,v 1.18 2025/12/24 10:09:23 wiz Exp $
#

# This file contains the guessed type of some variables, according to
# their current use in pkgsrc.
#
# The type YesNo is used for variables that are checked using
#     .if defined(VAR) && !empty(VAR:M[Yy][Ee][Ss])
#
# The type Yes is used for variables that are checked using
#     .if defined(VAR)
#
# The type List is used for lists of things. There are two types of lists,
# InternalList and List, which are described in the pkgsrc guide, chapter
# "Makefiles".
#
# The other types are described in pkglint.pl, checkline_mk_vartype_basic.
#

#
# Some commonly used ACLs. For further documentation, see the chapter
# ``The pkglint type system'' in the pkglint developer documentation.
#

# A package-defined variable may be set in Makefile, Makefile.common or
# options.mk, since these are commonly used in pkgsrc. Due to the
# special nature of buildlink3.mk and builtin.mk files, these files may
# not define those variables. All other .mk files may, allowing for
# application.mk or similar helper files.
acl package = [m:su, c:dsu, b:, builtin.mk:, *.mk:dsu]

# A package_list may be appended to in all "normal" Makefile fragments.
# This excludes buildlink3.mk and builtin.mk, since they are very
# special-purpose. Because at the beginning, all lists are empty, in the
# primary Makefile a direct assignment may be used instead of appending.
# Since Makefile.common files are usually used by packages that know
# what they are doing, they may set variables directly, too. This rule
# can be removed to show a lot of possible problems in pkgsrc.
acl package_list = [m:asu, c:asu, b:, builtin.mk:, *.mk:au]
acl bl_list = [b:a, builtin.mk:a]

# A user-defined or system-defined variable must not be set by any
# package file. It also must not be used in buildlink3.mk and
# builtin.mk files or at load-time, since the system/user preferences
# may not have been loaded when these files are included.
acl user = [b:, builtin.mk:, *:u]
acl system = [b:, builtin.mk:u, *:u]
acl cmdline = [b:, builtin.mk:, *:pu]

# The following variables are taken from mk/defaults/mk.conf, 1.118

ALLOW_VULNERABLE_PACKAGES	Yes [$user]
MANINSTALL			List of { maninstall catinstall } [$user]
MANZ				Yes [$user]
GZIP				List of ShellWord [$user]
MKCRYPTO			YesNo [$user]
OBJHOSTNAME			Yes [$user]
OBJMACHINE			Yes [$user]
PKG_SUFX			Filename [$user]
PKGSRC_LOCKTYPE			{ none sleep once } [$user]
PKGSRC_SLEEPSECS		Integer [$user]
USETBL				Yes [$user]
ABI				{ 32 64 } [$user]
PKG_DEVELOPER			Yes [$user]
USE_ABI_DEPENDS			YesNo [$user]
PKG_REGISTER_SHELLS		{ YES NO } [$user]
PKGSRC_COMPILER			List of { \
					ccache ccc clang distcc f2c gcc hp icc \
					ido gcc mipspro mipspro-ucode pcc \
					sunpro xlc \
				} [$user]
PKGSRC_MESSAGE_RECIPIENTS	List of Mail_Address [$user]
PKGSRC_SHOW_BUILD_DEFS		YesNo [$user]
PKGSRC_SHOW_PATCH_ERRORMSG	YesNo [$user]
PKGSRC_RUN_TEST			YesNo [$user]
PREFER_PKGSRC			List of Identifier [$user]
PREFER_NATIVE			List of Identifier [$user]
PREFER_NATIVE_PTHREADS		YesNo [$user]
LOCALBASE			Pathname [$user]
CROSSBASE			Pathname [$user]
VARBASE				Pathname [$user]
X11_TYPE			{ modular native } [$user]
X11BASE				Pathname [$user]
MOTIFBASE			Pathname [$user]
PKGINFODIR			Pathname [$user]
PKGMANDIR			Pathname [$user]
USE_XPKGWEDGE			YesNo [$user]
BSDSRCDIR			Pathname [$user]
DISTDIR				Pathname [$user]
DIST_PATH			Pathlist [$user]
DEFAULT_VIEW			Unchecked [$user]
FETCH_CMD			ShellCommand [$user]
FETCH_USING			{ curl custom fetch ftp manual wget } [$user]
FETCH_RESUME_ARGS		List of ShellWord [$user]
FETCH_OUTPUT_ARGS		List of ShellWord [$user]
LIBTOOLIZE_PLIST		YesNo [$user]
PKG_RESUME_TRANSFERS		YesNo [$user]
PKG_SYSCONFBASE			Pathname [$user]
RCD_SCRIPTS_DIR			Pathname [$user]
PACKAGES			Pathname [$user]
PKGVULNDIR			Pathname [$user]
PASSIVE_FETCH			Yes [$user]
PATCH_FUZZ_FACTOR		{ -F0 -F1 -F2 -F3 } [$user]
ACCEPTABLE_LICENSES		List of Identifier [$user]
SPECIFIC_PKGS			Yes [$user]
SITE_SPECIFIC_PKGS		List of PkgPath [$user]
HOST_SPECIFIC_PKGS		List of PkgPath [$user]
GROUP_SPECIFIC_PKGS		List of PkgPath [$user]
USER_SPECIFIC_PKGS		List of PkgPath [$user]
FAILOVER_FETCH			Yes [$user]
MASTER_SORT			List of Unchecked [$user]
MASTER_SORT_REGEX		List of Unchecked [$user]
PATCH_DEBUG			Yes [$user]
PKG_FC				ShellCommand [$user]
IMAKE				ShellCommand [$user]
IMAKEOPTS			List of ShellWord [$user]
PRE_ROOT_CMD			ShellCommand [$user]
USE_GAMESGROUP			YesNo [$package]
SU_CMD				ShellCommand [$user]
SU_CMD_PATH_APPEND		Pathlist [$user]
FATAL_OBJECT_FMT_SKEW		YesNo [$user]
WARN_NO_OBJECT_FMT		YesNo [$user]
SMART_MESSAGES			Yes [$user]
BINPKG_SITES			List of URL [$user]
BIN_INSTALL_FLAG		List of ShellWord [$user]
LOCALPATCHES			Pathname [$user]

# some other variables, sorted alphabetically

.CURDIR			Pathname [$system]
.TARGET			Pathname [$system]
ALL_ENV			List of ShellWord
ALTERNATIVES_FILE	Filename
ALTERNATIVES_SRC	List of Pathname
APACHE_MODULE		Yes [$package]
AR			ShellCommand [$system]
AS			ShellCommand [$system]
AUTOCONF_REQD		List of Version [$package_list]
AUTOMAKE_OVERRIDE	List of Pathmask
AUTOMAKE_REQD		List of Version [$package_list]
AUTO_MKDIRS		YesNo [$package]
BATCH			Yes [$user]
BDB185_DEFAULT		Unchecked []
BDBBASE			Pathname [$system]
BDB_ACCEPTED		List of { db1 db2 db3 db4 db5 } [$package]
BDB_DEFAULT		{ db1 db2 db3 db4 db5 } []
BDB_LIBS		List of ShellWord [$system]
BDB_TYPE		{ db1 db2 db3 db4 db5 } [$system]
BINGRP			UserGroupName [$system]
BINMODE			FileMode [$system]
BINOWN			UserGroupName [$system]
BOOTSTRAP_DEPENDS	InternalList of DependencyWithPath [c:a,m:a,o:a,*.mk:a]
BOOTSTRAP_PKG		YesNo [$package]
BROKEN			Message []
BROKEN_GETTEXT_DETECTION	YesNo [$package]
BROKEN_EXCEPT_ON_PLATFORM	List of PlatformTriple [$package_list]
BROKEN_ON_PLATFORM	InternalList of PlatformTriple [$package_list]
BSD_MAKE_ENV		List of ShellWord [$system]
BUILDLINK_ABI_DEPENDS.*	InternalList of Dependency [*:a]
BUILDLINK_API_DEPENDS.*	InternalList of Dependency [*:a]
BUILDLINK_CONTENTS_FILTER	List of ShellWord []
# ^^ ShellCommand
BUILDLINK_CFLAGS	List of ShellWord [$system]
BUILDLINK_CFLAGS.*	List of ShellWord [$bl_list]
BUILDLINK_CPPFLAGS	List of ShellWord [$system]
BUILDLINK_CPPFLAGS.*	List of ShellWord [$bl_list]
BUILDLINK_CONTENTS_FILTER.*	ShellCommand [b:s]
BUILDLINK_DEPENDS	InternalList of Identifier [b:a]
BUILDLINK_DEPMETHOD.*	List of BuildlinkDepmethod [b:ad,m:as,c:a,*.mk:a]
# ^^ FIXME: b:d may lead to unexpected behavior.
BUILDLINK_DEPTH		BuildlinkDepth [b:ps, builtin.mk:ps]
BUILDLINK_DIR		Pathname [$system]
BUILDLINK_FILES.*	List of Pathmask [$bl_list]
BUILDLINK_FILES_CMD.*	List of ShellWord []
# ^^ ShellCommand
BUILDLINK_INCDIRS.*	List of Pathname [b:ad]			# b:d?
BUILDLINK_JAVA_PREFIX.*	Pathname [b:s]
BUILDLINK_LDADD.*	List of ShellWord [builtin.mk:adsu, b:, m:u, c:u, *.mk:u]
BUILDLINK_LDFLAGS	List of ShellWord [$system]
BUILDLINK_LDFLAGS.*	List of ShellWord [$bl_list]
BUILDLINK_LIBDIRS.*	List of Pathname [$bl_list]
BUILDLINK_LIBS.*	List of ShellWord [b:a]
BUILDLINK_PACKAGES	BuildlinkPackages [b:aps]
BUILDLINK_PASSTHRU_DIRS	List of Pathname [m:a,c:a,b:a,h:a]
BUILDLINK_PASSTHRU_RPATHDIRS	List of Pathname [m:a,c:a,b:a,h:a]
BUILDLINK_PKGSRCDIR.*	RelativePkgDir [b:dp]
BUILDLINK_PREFIX.*	Pathname [builtin.mk:su, b:, m:u, c:u, *.mk:u]
BUILDLINK_RPATHDIRS.*	List of Pathname [b:a]
BUILDLINK_TARGETS	List of Identifier []
BUILDLINK_FNAME_TRANSFORM.*	SedCommands [m:a,builtin.mk:a,h:a,b:a]
BUILDLINK_TRANSFORM	List of WrapperTransform [*:a]
BUILDLINK_TREE		List of Identifier [b:a]
BUILD_DEFS		List of Varname [m:a,c:a,o:a]
BUILD_DEPENDS		InternalList of DependencyWithPath [c:a,m:a,o:a,*.mk:a]
BUILD_DIRS		List of WrksrcSubdirectory [$package_list]
BUILD_ENV		List of ShellWord [$package_list]
BUILD_MAKE_CMD		ShellCommand [$system]
BUILD_MAKE_FLAGS	List of ShellWord [$package_list]
BUILD_TARGET		List of Identifier [$package]
BUILD_USES_MSGFMT	Yes [$package]
BUILTIN_PKG		Identifier [builtin.mk:psu]
BUILTIN_PKG.*		PkgName [builtin.mk:psu]
BUILTIN_FIND_FILES_VAR	List of Varname [builtin.mk:s]
BUILTIN_FIND_FILES.*	List of Pathname [builtin.mk:s]
BUILTIN_FIND_GREP.*	String [builtin.mk:s]
BUILTIN_FIND_LIBS	List of Pathname [builtin.mk:s]
BUILTIN_IMAKE_CHECK	List of Unchecked [builtin.mk:s]
BUILTIN_IMAKE_CHECK.*	YesNo []
BUILTIN_X11_TYPE	Unchecked [$system]
BUILTIN_X11_VERSION	Unchecked [$system]
CATEGORIES		List of Category [m:as,c:ads]
CC_VERSION		Message [$system]
CC			ShellCommand [$system]
CFLAGS*			List of ShellWord [$package_list]
# ^^ may also be changed by the user
CHECK_BUILTIN		YesNo [builtin.mk:d,m:s]
CHECK_BUILTIN.*		YesNo [*:p]
CHECK_FILES_SKIP	List of Pathmask [m:a,c:a]
CHECK_FILES_SUPPORTED	YesNo [$package]
CHECK_HEADERS		YesNo [$user]
CHECK_HEADERS_SKIP	List of Pathmask [$package_list]
CHECK_INTERPRETER	YesNo [$user]
CHECK_INTERPRETER_SKIP	List of Pathmask [$package_list]
CHECK_PERMS		YesNo [$user]
CHECK_PERMS_SKIP	List of Pathmask [$package_list]
#CHECK_PERMS_AUTOFIX	YesNo [$package]
# ^^ experimental
CHECK_PORTABILITY	YesNo [$user]
CHECK_PORTABILITY_SKIP	List of Pathmask [$package_list]
CHECK_SHLIBS		YesNo [m:s]
CHECK_SHLIBS_SKIP	List of Pathmask [$package_list]
CHECK_SHLIBS_SUPPORTED	YesNo [m:s]
CHECK_WRKREF_SKIP	List of Pathmask [$package_list]
CMAKE_ARG_PATH		Pathname [$package]
CMAKE_CONFIGURE_ARGS		List of ShellWord [$package_list]
COMMENT			Comment [m:as,c:as]
COMPILER_RPATH_FLAG	{ -Wl,-rpath } [$system]
CONFIGURE_ARGS		List of ShellWord [$package_list]
CONFIGURE_DIRS		List of WrksrcSubdirectory [$package_list]
CONFIGURE_ENV		List of ShellWord [$package_list]
CONFIGURE_HAS_INFODIR	YesNo [$package]
CONFIGURE_HAS_LIBDIR	YesNo [$package]
CONFIGURE_HAS_MANDIR	YesNo [$package]
CONFIGURE_SCRIPT	Pathname [$package]
CONFIG_GUESS_OVERRIDE	List of Pathmask [m:as,c:as]
CONFIG_STATUS_OVERRIDE	List of Pathmask [m:as,c:as]
CONFIG_SHELL		Pathname [m:s,c:s]
CONFIG_SUB_OVERRIDE	List of Pathmask [m:as,c:as]
CONFLICTS		InternalList of Dependency [$package_list]
CONF_FILES		List of ShellWord [$package_list]
CONF_FILES_MODE		{ 0644 0640 0600 0400 } [$package]
CONF_FILES_PERMS	List of ShellWord [$package_list]
COPY			{ -c } [$system]
# ^^ the flag that tells ${INSTALL} to copy a file
CPP			ShellCommand [$system]
CPPFLAGS*		List of ShellWord [$package_list]
CRYPTO			Yes [m:s]
CXX			ShellCommand [$system]
CXXFLAGS*		List of ShellWord [$package_list]
DEINSTALL_FILE		Pathname [m:s]
DEINSTALL_SRC		List of Pathname [m:s,c:ds]
DEINSTALL_TEMPLATES	List of Pathname [m:as,c:ads]
DELAYED_ERROR_MSG	ShellCommand [$system]
DELAYED_WARNING_MSG	ShellCommand [$system]
DEPENDS			InternalList of DependencyWithPath [$package_list]
DEPENDS_TARGET		List of Identifier [$user]
DESCR_SRC		List of Pathname [m:s,c:ds]
DESTDIR			Pathname [$system]
DESTDIR_VARNAME		Varname [m:s,c:s]
DEVOSSAUDIO		Pathname [$system]
DEVOSSSOUND		Pathname [$system]
DISTFILES		List of Filename [$package_list]
DISTINFO_FILE		RelativePkgPath [$package]
DISTNAME		Filename [$package]
DIST_SUBDIR		Pathname [$package]
DJB_BUILD_ARGS		List of ShellWord
DJB_BUILD_TARGETS	List of Identifier
DJB_CONFIG_CMDS		List of ShellWord [o:s]
# ^^ ShellCommand, terminated by a semicolon
DJB_CONFIG_DIRS		List of WrksrcSubdirectory
DJB_CONFIG_HOME		Filename
DJB_CONFIG_PREFIX	Pathname
DJB_INSTALL_TARGETS	List of Identifier
DJB_MAKE_TARGETS	YesNo
DJB_RESTRICTED		YesNo [m:s]
DJB_SLASHPACKAGE	YesNo
DLOPEN_REQUIRE_PTHREADS	YesNo
DL_AUTO_VARS		Yes [m:s,c:s,o:s]
DL_LIBS			List of ShellWord
DOCOWN			UserGroupName [$system]
DOCGRP			UserGroupName [$system]
DOCMODE			FileMode [$system]
DOWNLOADED_DISTFILE	Pathname [$system]
DO_NADA			ShellCommand [$system]
DYNAMIC_SITES_CMD	ShellCommand [$package]
DYNAMIC_SITES_SCRIPT	Pathname [$package]
ECHO			ShellCommand [$system]
ECHO_MSG		ShellCommand [$system]
ECHO_N			ShellCommand [$system]
EGDIR			Pathname [$package]
# ^^ This variable is not defined by the system, but has been established
# as a convention.
EMACS_BIN		Pathname [$system]
EMACS_ETCPREFIX		Pathname [$system]
EMACS_FLAVOR		{ emacs xemacs } [$system]
EMACS_INFOPREFIX	Pathname [$system]
EMACS_LISPPREFIX	Pathname [$system]
EMACS_MODULES		List of Identifier [m:as,c:as]
EMACS_PKGNAME_PREFIX	Identifier [$system]
# ^^ or the empty string.
EMACS_TYPE		{ emacs xemacs } [$system]
EMACS_USE_LEIM		Yes
EMACS_VERSIONS_ACCEPTED	List of { emacs25 emacs21 emacs21nox emacs20 xemacs215 xemacs215nox xemacs214 xemacs214nox} [m:s]
EMACS_VERSION_MAJOR	Integer [$system]
EMACS_VERSION_MINOR	Integer [$system]
EMACS_VERSION_REQD	List of { emacs25 emacs21 emacs21nox emacs20 xemacs215 xemacs214 } [m:as]
EMULDIR			Pathname [$system]
EMULSUBDIR		Pathname [$system]
OPSYS_EMULDIR		Pathname [$system]
EMULSUBDIRSLASH		Pathname [$system]
EMUL_ARCH		{ i386 none } [$system]
EMUL_DISTRO		Identifier [$system]
EMUL_IS_NATIVE		Yes [$system]
EMUL_MODULES.*		List of Identifier [$package]
EMUL_OPSYS		{ freebsd hpux irix linux osf1 solaris sunos none } [$system]
EMUL_PKG_FMT		{ plain rpm } [$package]
EMUL_PLATFORM		EmulPlatform [$user]
EMUL_PLATFORMS		List of EmulPlatform [$package]
EMUL_PREFER		List of EmulPlatform [$user]
EMUL_REQD		InternalList of Dependency [$package]
EMUL_TYPE.*		{ native builtin suse suse-9.1 suse-9.x suse-10.0 suse-10.x } [$user]
ERROR_CAT		ShellCommand [$system]
ERROR_MSG		ShellCommand [$system]
EVAL_PREFIX		InternalList of ShellWord [m:a,c:a]
# ^^ FIXME: Looks like a type mismatch.
EXPORT_SYMBOLS_LDFLAGS	List of ShellWord [$system]
EXTRACT_CMD		ShellCommand [$system]
EXTRACT_DIR		Pathname [$package]
EXTRACT_ELEMENTS	List of Pathmask [$package_list]
EXTRACT_ENV		List of ShellWord [$package_list]
EXTRACT_ONLY		List of Pathname [$package_list]
EXTRACT_OPTS		List of ShellWord [m:as,c:as]
EXTRACT_OPTS_BIN	List of ShellWord [m:as,c:as]
EXTRACT_OPTS_LHA	List of ShellWord [m:as,c:as]
EXTRACT_OPTS_PAX	List of ShellWord [m:as,c:as]
EXTRACT_OPTS_RAR	List of ShellWord [m:as,c:as]
EXTRACT_OPTS_TAR	List of ShellWord [m:as,c:as]
EXTRACT_OPTS_ZIP	List of ShellWord [m:as,c:as]
EXTRACT_OPTS_ZOO	List of ShellWord [m:as,c:as]
EXTRACT_SUFX		DistSuffix [$package]
EXTRACT_USING		{ bsdtar gtar nbtar pax } [$package]
FAIL_MSG		ShellCommand [$system]
FAMBASE			Pathname [$system]
FAM_ACCEPTED		List of { fam gamin } [$package]
FAM_DEFAULT		{ fam gamin } [$user]
FAM_TYPE		{ fam gamin } [$system]
FETCH_BEFORE_ARGS	List of ShellWord [m:as]
FETCH_MESSAGE		List of ShellWord [$package_list]
FILESDIR		RelativePkgPath [$package]
FILES_SUBST		List of ShellWord [$package_list]
FILES_SUBST_SED		List of ShellWord
FIX_RPATH		List of Varname [$package_list]
FLEX_REQD		List of Version [$package_list]
FONTS_DIRS.*		List of Pathname [m:as,c:a]
GAMEDATAMODE		FileMode [$system]
GAMES_GROUP		UserGroupName [$system]
GAMEMODE		FileMode [$system]
GAMES_USER		UserGroupName [$system]
GCC_REQD		List of Version [$package_list]
GENERATE_PLIST		List of ShellWord [$package_list]
# ^^ List of Shellcommand, terminated with a semicolon
GITHUB_PROJECT		Identifier [$package]
GITHUB_TAG		Identifier [$package]
GITHUB_RELEASE		Filename [$package]
GITHUB_TYPE		{ tag release } [$package]
GNU_ARCH		{ mips }
GNU_CONFIGURE		Yes [c:s,m:s]
GNU_CONFIGURE_INFODIR	Pathname [m:s,c:s]
GNU_CONFIGURE_LIBDIR	Pathname [m:s,c:s]
GNU_CONFIGURE_LIBSUBDIR	Pathname [$package]
GNU_CONFIGURE_MANDIR	Pathname [m:s,c:s]
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
INFO_DIR		Pathname
# ^^ relative to PREFIX
INFO_FILES		Yes [$package]
INSTALL			ShellCommand [$system]
INSTALLATION_DIRS	List of PrefixPathname [$package_list]
INSTALLATION_DIRS_FROM_PLIST	Yes [$package]
INSTALL_DATA		ShellCommand [$system]
INSTALL_DATA_DIR	ShellCommand [$system]
INSTALL_DIRS		List of WrksrcSubdirectory [$package_list]
INSTALL_ENV		List of ShellWord [$package_list]
INSTALL_FILE		Pathname [m:s]
INSTALL_GAME		ShellCommand [$system]
INSTALL_GAME_DATA	ShellCommand [$system]
INSTALL_LIB		ShellCommand [$system]
INSTALL_LIB_DIR		ShellCommand [$system]
INSTALL_MAKE_FLAGS	List of ShellWord [$package_list]
INSTALL_MAN		ShellCommand [$system]
INSTALL_MAN_DIR		ShellCommand [$system]
INSTALL_PROGRAM		ShellCommand [$system]
INSTALL_PROGRAM_DIR	ShellCommand [$system]
INSTALL_SCRIPT		ShellCommand [$system]
INSTALL_SCRIPTS_ENV	List of ShellWord
INSTALL_SCRIPT_DIR	ShellCommand [$system]
INSTALL_SRC		List of Pathname [m:s,c:ds]
INSTALL_TARGET		List of Identifier [$package]
INSTALL_TEMPLATES	List of Pathname [m:as,c:ads]
INSTALL_UNSTRIPPED	YesNo [m:s,c:s]
INTERACTIVE_STAGE	List of { fetch extract configure build install } [$package]
IS_BUILTIN.*		YesNo_Indirectly [builtin.mk:psu]
JAVA_BINPREFIX		Pathname [$system]
JAVA_CLASSPATH		ShellWord [$package]
JAVA_HOME		Pathname [$package]
JAVA_NAME		Filename [$package]
JAVA_UNLIMIT		List of { cmdsize datasize stacksize } [$package_list]
JAVA_WRAPPERS		InternalList of Filename [$package_list]
JAVA_WRAPPER_BIN.*	Pathname [$package]
KRB5BASE		Pathname [$system]
KRB5_ACCEPTED		List of { heimdal mit-krb5 }
KRB5_DEFAULT		{ heimdal mit-krb5 } [$user]
KRB5_TYPE		Unchecked [$system]
LD			ShellCommand [$system]
LDFLAGS*		List of ShellWord [$package_list]
LIBGRP			UserGroupName [$system]
LIBMODE			FileMode [$system]
LIBOWN			UserGroupName [$system]
LIBOSSAUDIO		Pathname [$system]
LIBS*			List of ShellWord [$package_list]
LIBTOOL			ShellCommand [$system]
LIBTOOL_OVERRIDE	List of Pathmask [m:as]
LIBTOOL_REQD		List of Version [$package_list]
LICENCE			License [m:s,c:s,o:s]
LICENSE			License [m:s,c:s,o:s]
LICENSE_FILE		Pathname [$package]
LINKER_RPATH_FLAG	ShellWord [$system]
LOWER_OPSYS		Identifier [$system]
LTCONFIG_OVERRIDE	List of Pathmask [m:as,c:a]
MACHINE_ARCH		Identifier [$system]
MACHINE_GNU_PLATFORM	PlatformTriple [$system]
MAINTAINER		Mail_Address [m:s,c:d]
MAKE			ShellCommand [$system]
MAKEFLAGS		List of ShellWord [$package_list]
MAKEVARS		List of Varname [builtin.mk:a,b:a,h:a]
MAKE_DIRS		List of Pathname [$package_list]
MAKE_DIRS_PERMS		List of ShellWord [$package_list]
MAKE_ENV		List of ShellWord [$package_list]
MAKE_FILE		Pathname [$package]
MAKE_FLAGS		List of ShellWord [$package_list]
MAKE_JOBS		Integer [$user]
MAKE_JOBS_SAFE		YesNo [$package]
MAKE_PROGRAM		ShellCommand [$package]
MANCOMPRESSED		YesNo [m:s,c:ds]
MANCOMPRESSED_IF_MANZ	Yes [m:s,c:ds]
MANGRP			UserGroupName [$system]
MANMODE			FileMode [$system]
MANOWN			UserGroupName [$system]
MASTER_SITES		List of FetchURL [$package_list]
MASTER_SITE_APACHE	List of FetchURL [$system]
MASTER_SITE_BACKUP	List of FetchURL [$system]
MASTER_SITE_CYGWIN	List of FetchURL [$system]
MASTER_SITE_DEBIAN	List of FetchURL [$system]
MASTER_SITE_FREEBSD	List of FetchURL [$system]
MASTER_SITE_FREEBSD_LOCAL	List of FetchURL [$system]
MASTER_SITE_GENTOO	List of FetchURL [$system]
MASTER_SITE_GITHUB	List of FetchURL [$system]
MASTER_SITE_GNOME	List of FetchURL [$system]
MASTER_SITE_GNU		List of FetchURL [$system]
MASTER_SITE_GNUSTEP	List of FetchURL [$system]
MASTER_SITE_IFARCHIVE	List of FetchURL [$system]
MASTER_SITE_HASKELL_HACKAGE	List of FetchURL [$system]
MASTER_SITE_KDE		List of FetchURL [$system]
MASTER_SITE_LOCAL	List of FetchURL [$system]
MASTER_SITE_MOZILLA	List of FetchURL [$system]
MASTER_SITE_MOZILLA_ALL	List of FetchURL [$system]
MASTER_SITE_MOZILLA_ESR	List of FetchURL [$system]
MASTER_SITE_MYSQL	List of FetchURL [$system]
MASTER_SITE_NETLIB	List of FetchURL [$system]
MASTER_SITE_OPENOFFICE	List of FetchURL [$system]
MASTER_SITE_OSDN	List of FetchURL [$system]
MASTER_SITE_PERL_CPAN	List of FetchURL [$system]
MASTER_SITE_R_CRAN	List of FetchURL [$system]
MASTER_SITE_RUBYGEMS	List of FetchURL [$system]
MASTER_SITE_SOURCEFORGE	List of FetchURL [$system]
MASTER_SITE_SUNSITE	List of FetchURL [$system]
MASTER_SITE_SUSE	List of FetchURL [$system]
MASTER_SITE_TEX_CTAN	List of FetchURL [$system]
MASTER_SITE_XCONTRIB	List of FetchURL [$system]
MASTER_SITE_XEMACS	List of FetchURL [$system]
MESSAGE_SRC		List of Pathname [$package_list]
MESSAGE_SUBST		List of ShellWord [c:a,m:a,o:a]
META_PACKAGE		Yes [$package]
MISSING_FEATURES	List of Identifier [$system]
MYSQL_VERSIONS_ACCEPTED	List of { 51 55 56 } [m:s]
MYSQL_VERSION_DEFAULT	Version [$user]
NM			ShellCommand [$system]
NONBINMODE		FileMode [$system]
NOT_FOR_COMPILER	List of { ccache ccc clang distcc f2c gcc hp icc ido mipspro mipspro-ucode pcc sunpro xlc } [$package]
NOT_FOR_PLATFORM	InternalList of PlatformTriple [$package_list]
NOT_FOR_UNPRIVILEGED	YesNo [$package]
NO_BIN_ON_CDROM		Restricted [m:s,c:s]
NO_BIN_ON_FTP		Restricted [m:s,c:s]
NO_BUILD		Yes [m:s,c:s,Makefile.*:ds]
NO_CHECKSUM		Yes [$package]
NO_CONFIGURE		Yes [$package]
NO_EXPORT_CPP		Yes [m:s]
NO_EXTRACT		Yes [$package]
NO_INSTALL_MANPAGES	Yes [$package]
# ^^ only has an effect for Imake packages.
NO_PKGTOOLS_REQD_CHECK	Yes [m:s]
NO_SRC_ON_CDROM		Restricted [m:s,c:s]
NO_SRC_ON_FTP		Restricted [m:s,c:s]
ONLY_FOR_COMPILER	List of { ccc clang gcc hp icc ido mipspro mipspro-ucode pcc sunpro xlc } [$package_list]
ONLY_FOR_PLATFORM	InternalList of PlatformTriple [$package_list]
ONLY_FOR_UNPRIVILEGED	YesNo [$package]
OPSYS			Identifier [$system]
OPSYSVARS		List of Varname [m:a,c:a]
OSVERSION_SPECIFIC	Yes [m:s,c:s]
OS_VERSION		Version [$system]
OVERRIDE_DIRDEPTH*	Integer [$package]
OVERRIDE_GNU_CONFIG_SCRIPTS	Yes [$package]
OWNER			Mail_Address [m:s,c:d]
OWN_DIRS		List of Pathname [$package_list]
OWN_DIRS_PERMS		List of ShellWord [$package_list]
PAMBASE			Pathname [$system]
PAM_DEFAULT		{ linux-pam openpam solaris-pam } [$user]
PATCHDIR		RelativePkgPath [m:s,c:ds]
PATCHFILES		List of Filename [$package_list]
PATCH_ARGS		List of ShellWord
PATCH_DIST_ARGS		List of ShellWord [m:as]
PATCH_DIST_CAT		ShellCommand
PATCH_DIST_STRIP*	ShellWord [m:s, c:s, b:, builtin.mk:, *.mk:s]
PATCH_SITES		List of URL [m:s,o:s,c:s]
PATCH_STRIP		ShellWord
PERL5_USE_PACKLIST	YesNo [$package]
PERL5_PACKLIST		List of Perl5Packlist [m:s,o:sa]
PERL5_PACKLIST_DIR	Pathname []
PGSQL_PREFIX		Pathname [$system]
PGSQL_VERSIONS_ACCEPTED	List of {14 13 12 11 10}
PGSQL_VERSION_DEFAULT	Version [$user]
PG_LIB_EXT		{ dylib so } [$system]
PGSQL_TYPE		{ postgresql81-client postgresql80-client } [$system]
PGPKGSRCDIR		Pathname [$system]
PHASE_MSG		ShellCommand [$system]
PHP_VERSION_REQD	Version [$user]
PKGBASE			Identifier [$system]
PKGCONFIG_OVERRIDE	List of Pathmask [m:as,c:a]
PKGCONFIG_OVERRIDE_STAGE	Stage [$package]
PKGDIR			RelativePkgDir [$package]
PKGDIRMODE		FileMode [$system]
PKGLOCALEDIR		Pathname [$system]
PKGNAME			PkgName [$package]
PKGNAME_NOREV		PkgName [$system]
PKGPATH			Pathname [$system]
PKGREPOSITORY		Unchecked []
PKGREVISION		PkgRevision [m:s]
PKGSRCDIR		Pathname [$system]
PKGSRCTOP		Yes [m:s]
PKGTOOLS_ENV		List of ShellWord
PKGVERSION		Version [$system]
PKGWILDCARD		Filemask [$system]
PKG_ADMIN		ShellCommand [$system]
PKG_APACHE		{ apache24 } [$system]
PKG_APACHE_ACCEPTED	List of { apache24 } [$package]
PKG_APACHE_DEFAULT	{ apache24 } [$user]
PKG_CONFIG		Yes [$user]
# ^^ No, this is not the popular command from GNOME, but the setting
# whether the pkgsrc user wants configuration files automatically
# installed or not.
PKG_CREATE		ShellCommand [$system]
PKG_DBDIR		Pathname [$system]
PKG_DEBUG_LEVEL		Integer [$cmdline]
PKG_DEFAULT_OPTIONS	List of Option [$user]
PKG_DELETE		ShellCommand [$system]
PKG_DESTDIR_SUPPORT	List of { destdir user-destdir } [m:s,c:s]
PKG_FAIL_REASON		List of ShellWord [$package_list]
PKG_GECOS.*		Message [m:s]
PKG_GID.*		Integer [m:s]
PKG_GROUPS		List of ShellWord [m:as]
PKG_GROUPS_VARS		List of Varname [$package_list]
PKG_HOME.*		Pathname [m:s]
PKG_HACKS		List of Identifier [h:a]
PKG_INFO		ShellCommand [$system]
PKG_JAVA_HOME		Pathname [$system]
PKG_JVM			{						\
				kaffe					\
				openjdk7 openjdk7-bin 			\
			} [$system]
PKG_JVMS_ACCEPTED	List of {					\
				kaffe					\
				openjdk7 openjdk7-bin 			\
			} [m:s,c:ds]
PKG_JVM_DEFAULT		{						\
				kaffe					\
				openjdk7 openjdk7-bin 			\
			} [$user]
PKG_LEGACY_OPTIONS	List of Option
PKG_LIBTOOL		Pathname [m:s]
PKG_OPTIONS		InternalList of Option [bsd.options.mk:s,*:pu]
PKG_OPTIONS.*		InternalList of Option [$user]
PKG_OPTIONS_DEPRECATED_WARNINGS	List of ShellWord
PKG_OPTIONS_GROUP.*	InternalList of Option [o:s,m:s]
PKG_OPTIONS_LEGACY_OPTS	InternalList of Unchecked [m:a,c:a,o:a]
PKG_OPTIONS_LEGACY_VARS	InternalList of Unchecked [m:a,c:a,o:a]
PKG_OPTIONS_NONEMPTY_SETS	InternalList of Identifier
PKG_OPTIONS_OPTIONAL_GROUPS	InternalList of Identifier [o:as]
PKG_OPTIONS_REQUIRED_GROUPS	InternalList of Identifier [o:s,m:s]
PKG_OPTIONS_SET.*	InternalList of Option
PKG_OPTIONS_VAR		PkgOptionsVar [o:s,m:s,c:s, bsd.options.mk:p]
PKG_PRESERVE		Yes [m:s]
PKG_SHELL		Pathname [m:s,c:s]
PKG_SHELL.*		Pathname [m:s,c:s]
PKG_SHLIBTOOL		Pathname
PKG_SKIP_REASON		List of ShellWord [$package_list]
PKG_SUGGESTED_OPTIONS	List of Option [o:as,m:as,c:s]
PKG_SUPPORTED_OPTIONS	List of Option [o:as,m:as,c:s]
PKG_SYSCONFDIR*		Pathname [$package]
PKG_SYSCONFDIR_PERMS	List of ShellWord [$package_list]
PKG_SYSCONFBASEDIR	Pathname [$system]
PKG_SYSCONFSUBDIR	Pathname [$package]
PKG_SYSCONFVAR		Identifier
# ^^ FIXME: name/type mismatch.
PKG_UID			Integer [m:s]
PKG_USERS		List of ShellWord [m:as]
PKG_USERS_VARS		List of Varname [$package]
PKG_USE_KERBEROS	Yes [m:s,c:s]
#PLIST.*		# has special handling code
PLIST_VARS		List of Identifier [$package_list]
PLIST_SRC		List of RelativePkgPath [$package_list]
PLIST_SUBST		List of ShellWord [$package_list]
PLIST_TYPE		{ dynamic static }
PREPEND_PATH		List of Pathname
PREFIX			Pathname [*:u]			# ???
PREV_PKGPATH		Pathname [*:u]	# doesn't exist any longer
PRINT_PLIST_AWK		AwkCommand [*:a]
PRIVILEGED_STAGES	List of { install package clean }
PTHREAD_AUTO_VARS	YesNo [m:s]
PTHREAD_CFLAGS		List of ShellWord [$system]
PTHREAD_LDFLAGS		List of ShellWord [$system]
PTHREAD_LIBS		List of ShellWord [$system]
PTHREAD_OPTS		List of { native optional require } [m:as,c:a,b:a]
PTHREAD_TYPE		Identifier [$system]
# ^^ or "native" or "none".
PY_PATCHPLIST		Yes [$package]
PYPKGPREFIX		{ py27 py34 py35 } [*:pu, pyversion.mk:s, *:]
PYTHON_FOR_BUILD_ONLY	Yes [$package]
REPLACE_PYTHON	List of Pathmask [$package_list]
PYTHON_VERSIONS_ACCEPTED List of Version [$package]
PYTHON_VERSIONS_INCOMPATIBLE List of Version [$package]
PYTHON_VERSION_DEFAULT	Version [$user]
PYTHON_VERSION_REQD	Version [$user]
PYTHON_VERSIONED_DEPENDENCIES	List of PythonDependency [$package_list]
RANLIB			ShellCommand [$system]
RCD_SCRIPTS		List of Filename [$package_list]
RCD_SCRIPT_SRC.*	List of Pathname [m:s]
REPLACE.*		String [m:s]
REPLACE_AWK		List of Pathmask [$package_list]
REPLACE_BASH		List of Pathmask [$package_list]
REPLACE_CSH		List of Pathmask [$package_list]
REPLACE_EMACS		List of Pathmask
REPLACE_FILES.*		List of Pathmask [m:as,c:as]
REPLACE_INTERPRETER	List of Identifier [m:a,c:a]
REPLACE_KSH		List of Pathmask [$package_list]
REPLACE_LOCALEDIR_PATTERNS	List of Filemask [$package_list]
REPLACE_LUA		List of Pathmask [$package_list]
REPLACE_PERL		List of Pathmask [$package_list]
REPLACE_PYTHON		List of Pathmask [$package_list]
REPLACE_SH		List of Pathmask [$package_list]
REQD_DIRS		List of Pathname [$package_list]
REQD_DIRS_PERMS		List of ShellWord [$package_list]
REQD_FILES		List of Pathname [$package_list]
REQD_FILES_MODE		{ 0644 0640 0600 0400 } [$package]
REQD_FILES_PERMS	List of ShellWord [$package_list]
RESTRICTED		Message [$package]
ROOT_USER		UserGroupName [$user]
ROOT_GROUP		UserGroupName [$user]
RUBY_VERSION_REQD	Version [$user]
RUN			ShellCommand [$system]
SCRIPTS_ENV		List of ShellWord [m:a,c:a]
SETUID_ROOT_PERMS	List of ShellWord [$user]
SHAREGRP		UserGroupName [$system]
SHAREMODE		FileMode [$system]
SHAREOWN		UserGroupName [$system]
SHCOMMENT		ShellCommand [$system]
SHLIB_HANDLING		{ YES NO no }
SHLIBTOOL		ShellCommand []
SHLIBTOOL_OVERRIDE	List of Pathmask [m:as,c:a]
SITES.*			List of FetchURL [m:asu,c:asu,o:asu]
SPECIAL_PERMS		List of ShellWord [$package_list]
STEP_MSG		ShellCommand [$system]
SUBDIR			List of Filename [Makefile:a,*:]
SUBST_CLASSES		List of Identifier [m:a,c:a,h:a,Makefile.*:a]
SUBST_FILES.*		List of Pathmask [m:as,c:as,h:as,o:as,Makefile.*:as]
SUBST_FILTER_CMD.*	ShellCommand [m:s,c:s,h:s,o:s,Makefile.*:s]
SUBST_MESSAGE.*		Message [m:s,c:s,h:s,o:s,Makefile.*:s]
SUBST_SED.*		SedCommands [m:as,c:as,h:as,o:as,Makefile.*:as]
SUBST_STAGE.*		Stage [$package]
SUBST_VARS.*		List of Varname [$package_list]
SUPERSEDES		InternalList of Dependency [$package_list]
TEST_DIRS		List of WrksrcSubdirectory [$package_list]
TEST_ENV		List of ShellWord [$package_list]
TEST_TARGET		List of Identifier [m:s,c:ds,o:as]
TEXINFO_REQD		List of Version [$package_list]
TOOL_DEPENDS		InternalList of DependencyWithPath [c:a,m:a,o:a,*.mk:a]
TOOLS_ALIASES		List of Filename [$system]
TOOLS_BROKEN		List of Tool [$system]
TOOLS_CREATE		List of Tool [$system]
TOOLS_DEPENDS.*		InternalList of DependencyWithPath [$system]
TOOLS_GNU_MISSING	List of Tool [$system]
TOOLS_NOOP		List of Tool [$system]
TOOLS_PATH.*		Pathname [$system]
TOOLS_PLATFORM.*	ShellCommand [$system]
TOUCH_FLAGS		List of ShellWord [$system]
UAC_REQD_EXECS		List of PrefixPathname [$package_list]
UNLIMIT_RESOURCES	List of { datasize stacksize memorysize } [m:as,c:a]
UNPRIVILEGED_USER	UserGroupName [$user]
UNPRIVILEGED_GROUP	UserGroupName [$user]
UNWRAP_FILES		List of Pathmask [$package_list]
UPDATE_TARGET		List of Identifier [$user]
USE_BSD_MAKEFILE	Yes [$package]
USE_BUILTIN.*		YesNo_Indirectly [builtin.mk:s]
USE_CMAKE		Yes [$package]
USE_FEATURES		List of Identifier [$package]
USE_GCC_RUNTIME		YesNo [$package]
USE_GNU_CONFIGURE_HOST	YesNo [$package]
USE_GNU_ICONV		Yes [m:s,c:s,o:s]
USE_IMAKE		Yes [m:s]
USE_JAVA		{ run yes build } [$package]
USE_JAVA2		{ YES yes no 1.4 1.5 6 7 8 } [$package]
USE_LANGUAGES		List of Identifier [m:s,c:s,o:s]
USE_LIBTOOL		Yes [$package]
USE_MAKEINFO		Yes [$package]
USE_MSGFMT_PLURALS	Yes [$package]
USE_NCURSES		Yes [$package]
USE_OLD_DES_API		YesNo [$package]
USE_PKGINSTALL		Yes [$package]
USE_PKGLOCALEDIR	YesNo [$package]
USE_PKGSRC_GCC		Yes [$user]
USE_TOOLS		List of Tool [*:a]
USE_X11			Yes [$package]
WARNING_MSG		ShellCommand [$system]
WARNING_CAT		ShellCommand [$system]
WRAPPER_REORDER_CMDS	List of WrapperReorder [b:a,c:a,m:a]
WRAPPER_TRANSFORM_CMDS	List of WrapperTransform [b:a,c:a,m:a]
WRKDIR			Pathname [$system]
WRKSRC			WrkdirSubdirectory [$package]
X11_PKGSRCDIR.*		Pathname [$system]
XAW_TYPE		{ 3d neXtaw standard xpm } [$user]
XMKMF_FLAGS		List of ShellWord
