Chapter 15. Appendices

Table of Contents
15.1. Values of USES
15.2. __FreeBSD_version Values

15.1. Values of USES

Table 15.1. Values of USES
FeatureArgumentsDescription
ada(none)Depends on an Ada-capable compiler, and sets CC accordingly.
bison(none), build, run, bothImplies that the port uses devel/bison in one way or another. By default, with no arguments or with the build argument, it implies bison as a build-time dependency, run implies a run-time dependency, and both implies both run-time and build-time dependencies.
charsetfix(none)Prevents the port from installing charset.alias. This should be installed only by converters/libiconv. CHARSETFIX_MAKEFILEIN can be set to a path relative to WRKSRC if charset.alias is not installed by WRKSRC/Makefile.in.
cmake(none), outsourceThe port will use CMake for configuring and building. With the outsource argument, an out-of-source build will be performed. For more information see Section 6.4.4, “Using cmake.
compiler(none), c++11-lang, c++11-lib, c11, openmp, featuresDetermines which compiler to use based on any given wishes. Use c++11-lang if the port needs a C+11-capable compiler, and c++11-lib if the port also needs a C++11-ready standard library. If the port needs a compiler understanding C11 or OpenMP, the corresponding parameters can be used. Use features to request a list of features supported by the default compiler. After including bsd.port.pre.mk the port can inspect the results using these variables:
  • COMPILER_TYPE: the default compiler on the system, either gcc or clang

  • ALT_COMPILER_TYPE: the alternative compiler on the system, either gcc or clang. Only set if two compilers are present in the base system.

  • COMPILER_VERSION: the first two digits of the version of the default compiler.

  • ALT_COMPILER_VERSION: the first two digits of the version of the alternative compiler, if present.

  • CHOSEN_COMPILER_TYPE: the chosen compiler, either gcc or clang

  • COMPILER_FEATURES: the features supported by the default compiler. It currently lists the C++ library.

desktop-file-utils(none)Implies that the port uses the update-desktop-database from devel/desktop-file-utils. An extra post-install step will be run without interfering with any post-install steps already in the port Makefile. Lines will be inserted into the plist to run update-desktop-database on package install or removal.
display(none), ARGSSet up a virtual display environment. If the environment variable DISPLAY is not set, then Xvfb is added as a build dependency, and CONFIGURE_ENV is extended with the port number of the currently running instance of Xvfb. The ARGS parameter defaults to install and controls the phase around which to start and stop the virtual display.
dos2unix(none)The port has files with line endings in DOS format which need to be converted. Three variables can be set to control which files will be converted. The default is to convert all files, including binaries.
  • DOS2UNIX_REGEX: match file names based on a regular expression.

  • DOS2UNIX_FILES: match literal file names.

  • DOS2UNIX_GLOB: match file names based on a glob pattern.

fmake(none)Implies that the port uses devel/fmake as build-time dependency.
fuse(none)Implies the port will depend on the FUSE library and handle the dependency on the kernel module depending on the version of FreeBSD.
gettext(none), lib, build, runImplies that the port uses devel/gettext in one way or another. By default, with no arguments or with the lib argument, implies gettext with build-time and run-time dependencies, build implies a build-time dependency, and run implies a run-time dependency.
gmake(none)Implies that the port uses devel/gmake as build-time dependency.
iconv(none), lib, build, patchImplies that the port uses iconv functions, either from the port converters/libiconv as a build-time and run-time dependency, or from the base system on 10-CURRENT after a native iconv was committed in 254273. By default, with no arguments or with the lib argument, implies iconv with build-time and run-time dependencies, build implies a build-time dependency, and patch implies a patch-time dependency. For more information see Section 6.21, “Using iconv.
imake(none)Implies that the port uses devel/imake as build-time dependency.
kmod(none)Fills in the boilerplate for kernel module ports, currently:
  • Add kld to CATEGORIES.

  • Set SSP_UNSAFE.

  • Set IGNORE if the kernel sources are not found in SRC_BASE.

  • Define KMODDIR to /boot/modules by default, add it to PLIST_SUB and MAKE_ENV, and create it upon installation. If KMODDIR is set to /boot/kernel, it will be rewritten to /boot/modules. This prevents breaking packages when upgrading the kernel due to /boot/kernel being renamed to /boot/kernel.old in the process.

  • Handle cross-referencing kernel modules upon installation and deinstallation.

motif(none)Implies that the ports uses devel/open-motif as a library dependency. End users can set WANT_LESSTIF for the dependency to be on devel/lesstif instead of devel/open-motif.
ncurses(none), base, portImplies that the port uses ncurses, and causes some useful variables to be set.
pathfix(none)Look for the Makefile.in and configure files in the port's associated sources and fix common paths to make sure they respect the FreeBSD hierarchy.
perl5(none)Implies a dependency on Perl. The following variables can be set:
  • PERL_VERSION: Full version of Perl to use, or the default if not set

  • PERL_ARCH: Directory name of architecture dependent libraries, defaults to mach

  • PERL_PORT: Name of the Perl port to be installed, the default is derived from PERL_VERSION

  • SITE_PERL: Directory name for site specific Perl packages

  • USE_PERL5: Phases in which to use Perl, can be extract, patch, build, install, or run. It can also be configure, modbuild, or modbuildtiny when Makefile.PL, Build.PL, or the Module::Build::Tiny flavor of Build.PL is required. Defaults to build run.

pkgconfig(none), build, run, bothImplies that the port uses devel/pkgconf in one way or another. With no arguments or with the build argument, it implies pkg-config as a build-time dependency; run implies a run-time dependency; and both implies both run-time and build-time dependencies.
pure(none), ffiImplies that the port uses lang/pure in one way or another, but largely is used for building related pure ports. With the ffi argument, it implies devel/pure-ffi as a run-time dependency.
qmail(none), build, run, both, varsImplies that the port uses mail/qmail in one way or another. With the build argument, it implies qmail as a build-time dependency. run implies a run-time dependency. Using no argument or the both argument implies both run-time and build-time dependencies. vars will only set QMAIL variables for the port to use.
qmake(none), norecursiveThe port will use QMake for configuring. For more information see Section 6.10.3, “Using qmake.
readline(none), portImplies that the port uses readline as library dependency, and sets CPPFLAGS and LDFLAGS as necessary.
shared-mime-info(none)Implies that the port uses update-mime-database from misc/shared-mime-info. This uses will automatically add a post-install step in such a way that the port itself still can specify there own post-install step if needed. It also insert lines into the plist for package install and removal to run update-mime-data with the correct arguments.
shebangfix(none)A lot of software uses incorrect locations for script interpreters, most notably /usr/bin/perl and /bin/bash. This fixes shebang lines in scripts listed in SHEBANG_FILES. Currently Perl, Python, Bash, Ruby, and PHP are supported by default. To support another interpreter, set SHEBANG_LANG (for example SHEBANG_LANG=lua), then lua_OLD_CMD and lua_CMD.
uidfix(none)Changes some default behavior (mostly variables) of the build system to allow installing this port as a normal user. Try this in your port before adding NEED_ROOT=yes
webplugin(none), ARGSAutomatically create and remove symbolic links for each application that supports the webplugin framework. ARGS can be one of:
  • gecko: support plug-ins based on Gecko

  • native: support plug-ins for Gecko, Opera, and WebKit-GTK

  • linux: support Linux plug-ins

  • all (default, implicit): support all plug-in types

  • (individual entries): support only the browsers listed

The following variables can be adjusted:
  • WEBPLUGIN_FILES: No default, must be set manually. The plug-in files to install.

  • WEBPLUGIN_DIR: The directory to install the plug-in files to, default PREFIX/lib/browser_plugins/WEBPLUGIN_NAME. Set this if the port installs plug-in files outside of the default directory to prevent broken symbolic links.

  • WEBPLUGIN_NAME: The final directory to install the plug-in files into, default PKGBASE.

zenoss(none)Implies the port uses net-mgmt/zenoss in one way or another, but largely is used for building zenoss related zenpack ports.
zope(none)Implies that the port uses www/zope in one way or another, but is largely used for building zope related ports. ZOPE_VERSION can be used by a port to indicate that a specific version of zope shall be used.

All FreeBSD documents are available for download at http://ftp.FreeBSD.org/pub/FreeBSD/doc/

Questions that are not answered by the documentation may be sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.