USES= bison perl
USES
USES
macros make it easy to declare requirements and settings for a port.
They can add dependencies, change building behavior, add metadata to packages, and so on, all by selecting simple, preset values.
Each section in this chapter describes a possible value for
USES
, along with its possible arguments.
Arguments are appended to the value after a colon (
:
).
Multiple arguments are separated by commas (
,
).
USES= bison perl
USES= tar:xz
USES= drupal:7,theme
USES= pgsql:9.3+ cpe python:2.7,build
7z
Possible arguments: (none),
p7zip
,
partial
Extract using
7z(1)
instead of
bsdtar(1)
and sets
EXTRACT_SUFX=.7z
.
The
p7zip
option forces a dependency on the
7z
from
archivers/p7zip
if the one from the base system is not able to extract the files.
EXTRACT_SUFX
is not changed if the
partial
option is used, this can be used if the main distribution file does not have a
.7z
extension.
ada
Possible arguments: (none),
6
,
12
,
(run)
Depends on an Ada-capable compiler, and sets
CC
accordingly.
Defaults to use
gcc6-aux
from ports.
angr
Possible arguments:
binaries
,
nose
Provide support for ports that need the angrinary analysis platform .
If the
binaries
argument is present, the port requires the special
angr
binaries for testing.
If the
nose
argument is present, the port uses
nosetests
for the test
target. This argument implies
USES=python:test
.
The framework provides the following variables to be set by the port:
ANGR_VERSION
The version of the
angr
project programs.
ANGR_BINARIES_TAGNAME
The tagname of the
angr
binaries.
ANGR_NOSETESTS
The path to the
nosetests
program.
ansible
Possible arguments:
env
,
module
,
plugin
Provide support for ports depending on sysutils/ansible .
If the
env
argument is present, the port does not depend on
sysutils/ansible
but needs some Ansible variables set.
If the
module
argument is present then the port is an Ansible module.
If the
plugin
argument is present then the port is an Ansible plugin.
The framework exposes the following variables to the port:
ANSIBLE_CMD
Path to the ansible program.
ANSIBLE_DOC_CMD
Path to the ansible-doc program.
ANSIBLE_RUN_DEPENDS
RUN_DEPENDS with the Ansible port.
ANSIBLE_DATADIR
Path to the root of the directory structure where all Ansible’s modules and plugins are stored.
ANSIBLE_ETCDIR
Path to the Ansible etc directory.
ANSIBLE_PLUGINS_PREFIX
Path to the "plugins" directory within
${ANSIBLE_DATADIR}
.
ANSIBLE_MODULESDIR
Path to the directory for local Ansible modules.
ANSIBLE_PLUGINSDIR
Path to the directory for local Ansible plugins.
ANSIBLE_PLUGIN_TYPE
Ansible plugin type (e.g., "connection", "inventory", or "vars").
apache
Possible arguments: (none),
2.4
,
build
,
run
,
server
Provide support for ports depending on the Apache web server.
The version argument can be used to require a specific Apache httpd version.
It is possible to set a specific version (
USES=apache:2.4
) a minimum version
(
USES=apache:2.4+
) or a maximum version (
USES=apache:-2.4
).
If the
build
argument is provided a build dependency is added to the port.
If the
run
argument is provided a run dependency is added to the port.
If the
server
argument is provided then it indicates the port is a server
port.
The framework provides the following variables to be set by the port:
AP_FAST_BUILD
Automatic module build
AP_GENPLIST
Automatic
PLIST
generation plus add the module disabled into
httpd.conf
(only if no
pkg-plist
exist)
MODULENAME
Name of the Apache module. Default:
${PORTNAME}
SHORTMODNAME
Short name of the Apache module. Default:
${MODULENAME:S/mod_//}
SRC_FILE
Source file of the APACHE module. Default:
${MODULENAME}.c
The following variables can be accessed by the port:
APACHE_VERSION
The major-minor release version of the chosen Apache server, e.g. 2.4
APACHEETCDIR
Location of the Apache configuration directory. Default: ${LOCALBASE}/etc/apache24
APACHEINCLUDEDIR
Location of the Apache include files Default: ${LOCALBASE}/include/apache24
APACHEMODDIR
Location of the Apache modules Default: ${LOCALBASE}/libxexec/apache24
APACHE_DEFAULT
::Default Apache version
autoreconf
Possible arguments: (none),
build
Runs
autoreconf
.
It encapsulates the
aclocal
,
autoconf
,
autoheader
,
automake
,
autopoint
, and
libtoolize
commands.
Each command applies to
${AUTORECONF_WRKSRC}/configure.ac
or its old name,
${AUTORECONF_WRKSRC}/configure.in
.
If
configure.ac
defines subdirectories with their own
configure.ac
using
AC_CONFIG_SUBDIRS
,
autoreconf
will recursively update those as well.
The
:build
argument only adds build time dependencies on those tools but does not run
autoreconf
.
A port can set
AUTORECONF_WRKSRC
if
WRKSRC
does not contain the path to
configure.ac
.
azurepy
Possible arguments: (none)
Provide support for
py-azure*
ports.
Removes
azure
namespaces and cleans up common files.
blaslapack
Possible arguments: (none),
atlas
,
netlib
(default),
gotoblas
,
openblas
Adds dependencies on Blas / Lapack libraries.
bdb
Possible arguments: (none),
5
(default),
18
Add dependency on the Berkeley DB library.
Default to
databases/db5
.
It can also depend on
databases/db18
when using the
:18
argument.
It is possible to declare a range of acceptable values,
:5+
finds the highest
installed version, and falls back to 5 if nothing else is installed.
INVALID_BDB_VER
can be used to specify versions which do not work with this port.
The framework exposes the following variables to the port:
BDB_LIB_NAME
The name of the Berkeley DB library.
For example, when using
databases/db5
, it contains
db-5.3
.
BDB_LIB_CXX_NAME
The name of the Berkeley DBC++ library.
For example, when using
databases/db5
, it contains
db_cxx-5.3
.
BDB_INCLUDE_DIR
The location of the Berkeley DB include directory.
For example, when using
databases/db5
, it will contain
${LOCALBASE}/include/db5
.
BDB_LIB_DIR
The location of the Berkeley DB library directory.
For example, when using
databases/db5
, it contains
${LOCALBASE}/lib
.
BDB_VER
The detected Berkeley DB version.
For example, if using
USES=bdb:5+
and Berkeley DB 18 is installed, it contains
18
.
|
databases/db48 is deprecated and unsupported. It must not be used by any port. |
bison
Possible arguments: (none),
build
,
run
,
both
Uses
devel/bison
By default, with no arguments or with the
build
argument, it implies
bison
is a build-time dependency,
run
implies a run-time dependency, and
both
implies both run-time and build-time dependencies.
budgie
Possible arguments: (none)
Provide support for the Budgie desktop environment.
Use
USE_BUDGIE
to select the components needed for the port.
See
Using Budgie
for more information.
cabal
|
Ports should not be created for Haskell libraries, see Haskell Libraries for more information. |
Possible arguments: (none),
hpack
,
nodefault
Sets default values and targets used to build Haskell software using Cabal.
A build dependency on the Haskell compiler port (
lang/ghc
) is added.
If there is some other version of GHC already listed in the
BUILD_DEPENDS
variable (for example,
lang/ghc810
), it would be used instead.
If the
hpack
argument is given, a build dependency on
devel/hs-hpack
is added and
hpack
is invoked at configuration step to
generate .cabal file.
If the
nodefault
argument is given, the framework will not try to pull the main distribution file from the Hackage.
This argument is implicitly added if
USE_GITHUB
or
USE_GITLAB
is present.
The framework provides the following variables:
CABAL_REVISION
Haskell packages hosted on Hackage may have revisions. Set this knob to an integer number to pull in revised package description.
USE_CABAL
If the software uses Haskell dependencies, list them in this variable.
Each item should be present on Hackage and be listed in form
packagename-
0.1.2
.
Dependencies can have revisions too, which are specified after the
_
symbol.
Automatic generation of the dependency list is supported, see
Building Haskell Applications with
cabal
.
CABAL_FLAGS
List of flags to be passed to
cabal-install
during the configuring and building stage.
The flags are passed verbatim.
This variable is usually used to enable or disable flags that are declared in the .cabal file.
Pass
foo
to enable the
foo
flag and
-foo
to disable it.
CABAL_EXECUTABLES
List of executable files installed by the port.
Default value:
${PORTNAME}
.
Consult the .cabal file of the project being ported to get a list of possible
values for this variable. Each value corresponds to an
executable
stanza in the .cabal file.
Items from this list are automatically added to pkg-plist.
SKIP_CABAL_PLIST
If defined, do not add items from
${CABAL_EXECUTABLES}
to pkg-plist.
opt_USE_CABAL
Adds items to
${USE_CABAL}
depending on
opt
option.
opt_CABAL_EXECUTABLES
Adds items to
${CABAL_EXECUTABLES}
depending on
opt
option.
opt_CABAL_FLAGS
If
opt
is enabled, append the value to
${CABAL_FLAGS}
.
Otherwise, append
-value
to disable the flag.
Note that this behavior is slightly different from the plain
CABAL_FLAGS
as it does not accept values starting with
-
.
CABAL_WRAPPER_SCRIPTS
A subset of
${CABAL_EXECUTABLES}
containing Haskell programs to be wrapped into a shell script
that sets
*_datadir
environment variables before running the program.
This also causes the actual Haskell binary to be installed under
libexec/cabal/
directory.
This knob is needed for Haskell programs that install their data files under
share/
directory.
FOO_DATADIR_VARS
List of extra Haskell packages, whose data files should be accessible by the executable named
FOO
.
The executable should be a part of
${CABAL_WRAPPER_SCRIPTS}
.
Haskell packages listed there should not have a version suffix.
CABAL_PROJECT
Some Haskell projects may already have a
cabal.project
file, which is also generated by the ports framework.
If that is the case, use this variable to specify what to do with the original
cabal.project
.
Setting this variable to
remove
will cause the original file to be removed.
Setting this variable to
append
will:
Move the original file to
cabal.project.${PORTNAME}
during the
extract
stage.
Concatenate the original
cabal.project.${PORTNAME}
and the generated
cabal.project
into a single file after the
patch
stage.
Using
append
makes it possible to perform patching on the original file before it gets merged.
cargo
Possible arguments: (none)
Uses Cargo for configuring, building, and testing.
It can be used to port Rust applications that use the Cargo build system.
For more information see
Building Rust Applications with
cargo
.
charsetfix
Possible arguments: (none)
Prevents the port from installing
charset.alias
.
This must 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
.
cl
Possible arguments: (none)
Provides support for Common Lisp ports.
The framework provides the following variables that can be set by ports:
ASDF_MODULES
List of
ASDF
modules to build when
FASL_TARGET
is set (defaults to
PORTNAME
)
FASL_TARGET
Build fasl variant of port (one of
ccl
,
clisp
, or
sbcl
)
USE_ASDF
Depend on devel/cl-asdf
USE_ASDF_FASL
Depend on
devel/cl-asdf-<FASL_TARGET>
USE_CCL
Depend on
lang/ccl
; implied when
FASL_TARGET=ccl
USE_CLISP
Depend on
lang/clisp
; implied when
FASL_TARGET=clisp
USE_SBCL
Depend on
lang/sbcl
; implied when
FASL_TARGET=SBCL
The framework provides the following variables that can be read by ports:
ASDF_PATHNAME
Path to CL source
ASDF_REGISTRY
Path to CL registry containing asd files
CCL
Path to the Clozure Common Lisp compiler
CLISP
Path to the GNU Common Lisp compiler
CL_LIBDIR_REL
CL library directory relative to
LOCALBASE
or
PREFIX
FASL_DIR_REL
Relative path to compiled fasl files; depends on
FASL_TARGET
FASL_PATHNAME
Path to CL fasl
LISP_EXTRA_ARG
Extra arguments used when building fasl
SBCL
Path to the Steel Bank Common Lisp compiler
cmake
Possible arguments: (none),
insource
,
noninja
,
run
,
testing
Use CMake for configuring the port and generating a build system.
By default an out-of-source build is performed, leaving the sources in
WRKSRC
free from build artifacts.
With the
insource
argument, an in-source build will be performed instead.
This argument should be an exception, used only when a regular out-of-source build does not work.
By default Ninja (
devel/ninja
) is used for the build.
In some cases this does not work correctly.
With the
noninja
argument, the build will use regular
make
for builds.
This argument should only be used if a Ninja-based build does not work.
With the
run
argument, a run dependency is registered in addition to a build dependency.
With the
testing
argument, a test-target is added that uses CTest.
When running tests the port will be re-configured for testing and re-built.
For more information see
Using
cmake
.
compiler
Possible arguments: (none),
env
(default, implicit),
C++17-lang
,
C++14-lang
,
C++11-lang
,
gcc-C++11-lib
,
C++11-lib
,
C++0x
,
c11
,
nestedfct
,
features
Determines which compiler to use based on any given wishes.
Use
C++17-lang
if the port needs a C++17-capable compiler,
C++14-lang
if the port needs a C++14-capable compiler,
C++11-lang
if the port needs a C++11-capable compiler,
gcc-C++11-lib
if the port needs the
g++
compiler with a C++11 library, or
C++11-lib
if the port needs a C++11-ready standard library.
If the port needs a compiler understanding C++0X, C11 or nested functions, the corresponding parameters should 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.
cpe
Possible arguments: (none)
Include Common Platform Enumeration (CPE) information in package manifest as a CPE 2.3 formatted string. See the CPE specification for details. To add CPE information to a port, follow these steps:
Search for the official CPE entry for the software product either by using the NVD’s CPE search engine or in the official CPE dictionary (warning, very large XML file). Do not ever make up CPE data.
Add
cpe
to
USES
and compare the result of
make -V CPE_STR
to the CPE dictionary entry. Continue one step at a time until
make -V CPE_STR
is correct.
If the product name (second field, defaults to
PORTNAME
) is incorrect, define
CPE_PRODUCT
.
If the vendor name (first field, defaults to
CPE_PRODUCT
) is incorrect, define
CPE_VENDOR
.
If the version field (third field, defaults to
PORTVERSION
) is incorrect, define
CPE_VERSION
.
If the update field (fourth field, defaults to empty) is incorrect, define
CPE_UPDATE
.
If it is still not correct, check Mk/Uses/cpe.mk for additional details, or contact the Ports Security Team < ports-secteam@FreeBSD.org >.
Derive as much as possible of the CPE name from existing variables such as
PORTNAME
and
PORTVERSION
. Use variable modifiers to extract the relevant portions from these variables rather than hardcoding the name.
Always
run
make -V CPE_STR
and check the output before committing anything that changes
PORTNAME
or
PORTVERSION
or any other variable which is used to derive
CPE_STR
.
cran
Possible arguments: (none),
auto-plist
,
compiles
Uses the Comprehensive R Archive Network.
Specify
auto-plist
to automatically generate
pkg-plist
.
Specify
compiles
if the port has code that need to be compiled.
desktop-file-utils
Possible arguments: (none)
Uses 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
.
A line with
@desktop-file-utils
will be added to the plist.
Only use this macro if the port provides a
.desktop
file which contains a
MimeType
entry.
desthack
Possible arguments: (none)
Changes the behavior of GNU configure to properly support
DESTDIR
in case the original software does not.
display
Possible arguments: (none), ARGS
Set 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
Possible arguments: (none)
The port has files with line endings in DOS format which need to be converted. Several variables can be set to control which files will be converted. The default is to convert all files, including binaries. See Simple Automatic Replacements for examples.
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.
DOS2UNIX_WRKSRC
: the directory from which to start the conversions. Defaults to
${WRKSRC}
.
drupal
Possible arguments:
7
,
module
,
theme
Automate installation of a port that is a Drupal theme or module.
Use with the version of Drupal that the port is expecting.
For example,
USES=drupal:7,module
says that this port creates a Drupal 7 module.
A Drupal 7 theme can be specified with
USES=drupal:7,theme
.
ebur128
Possible arguments: (none),
build
,
lib
,
run
,
test
Adds a dependency on
audio/ebur128
.
It allows to transparently depend on the
rust
or
legacy
variants by using
DEFAULT_VERSIONS
in
make.conf
.
For instance, to use the legacy version, use
DEFAULT_VERSIONS+=ebur128=legacy
When no arguments are used, the behavior is the same as if the
lib
argument
was provided.
The rest of the arguments provide the corresponding category of dependency.
eigen
Possible arguments: 2, 3, build (default), run
Add dependency on math/eigen .
electronfix
Possible arguments:
31
,
32
,
33
Provide support for easy porting of Electron applications that are distributed in binary form. Adds a build and run time dependency on devel/electron31 , devel/electron32 , or devel/electron33 depending on the argument used.
The framework provides the following variables that can be set by ports:
ELECTRONFIX_SYMLINK_FILES
List of files to be symlinked from Electron distribution.
ELECTRONFIX_MAIN_EXECUTABLE
File name of the main executable to be replaced with the original Electron binary.
elfctl
Possible arguments: (none),
build
(default),
stage
Set ELF binary feature control notes by setting
ELF_FEATURES
.
When either no argument or the
build
argument is supplied, binaries under
BUILD_WRKSRC
are operated on, and files listed in
ELF_FEATURES
are relative to
BUILD_WRKSRC
.
When the
stage
argument is supplied, binaries under
STAGEDIR
are operated on and files listed in
ELF_FEATURES
are relative to
STAGEDIR
.
ELF_FEATURES= featurelist:path/to/file1 \ featurelist:path/to/file2
The format of
featurelist
is described in
elfctl(1)
.
elixir
Possible arguments: (none)
Provide support for ports using lang/elixir . Adds a build and run time dependency on lang/elixir .
Variables provided by the framework:
ELIXIR_APP_NAME
Elixir app name as installed in Elixir’s lib directory
ELIXIR_LIB_ROOT
Elixir default library path
ELIXIR_APP_ROOT
Root directory for this Elixir app
ELIXIR_HIDDEN
Applications to be hidden from the code path; usually ${PORTNAME}
ELIXIR_LOCALE
An UTF-8 locale to be used by Elixir during builds (any UTF-8 locale is good)
MIX_CMD
The
mix
command
MIX_COMPILE
The
mix
command used to compile an Elixir app
MIX_REWRITE
Automatically replace Mix dependencies with code paths
MIX_BUILD_DEPS
List of
BUILD_DEPENDS
in category/portname format (commonly referenced to as "deps" in Erlang and Elixir)
MIX_RUN_DEPS
List of
RUN_DEPENDS
in category/portname format
MIX_DOC_DIRS
Extra doc directories to be installed in
DOCSDIR
MIX_DOC_FILES
Extra doc files to be installed in
DOCSDIR
(usually README.md)
MIX_ENV
Environment for the Mix build (same format as
MAKE_ENV
)
MIX_ENV_NAME
Name of the Mix build environment, usually "prod"
MIX_BUILD_NAME
Name of the build output in _build/, usually
${MIX_ENV_NAME}
MIX_TARGET
Name of the Mix target, usually "compile"
MIX_EXTRA_APPS
List of sub-applications to be built, if any
MIX_EXTRA_DIRS
List of extra directories to be installed in
ELIXIR_APP_ROOT
MIX_EXTRA_FILES
List of extra files to be installed in
ELIXIR_APP_ROOT
emacs
Possible arguments: (none) (default),
build
,
run
,
noflavors
Provides support for ports requiring Emacs.
The
build
argument creates a build dependency on Emacs.
The
run
argument creates a run dependency on Emacs.
If both the
build
and
run
arguments are absent, create build and run
dependencies on Emacs.
The
noflavors
argument prevents flavors, and is implied if there is no run dependency on Emacs.
The default Emacs flavor for ports with
USES=emacs
can be defined in
make.conf
.
For example, for the
nox
flavor, use
DEFAULT_VERSIONS+= emacs=nox
.
The valid flavors are:
full
,
canna
,
nox
,
wayland
,
devel_full
,
devel_nox
.
Variables, which can be set by ports:
EMACS_FLAVORS_EXCLUDE
Do NOT build these Emacs flavors.
If
EMACS_FLAVORS_EXCLUDE
is not defined and:
there is a run dependency on Emacs
the noflavors argument is not specified
then all valid Emacs flavors are assumed.
EMACS_NO_DEPENDS
Do NOT add build or run dependencies on Emacs. This will prevent flavors, and no byte code files will be generated as part of the package.
Variables, which can be read by ports:
EMACS_CMD
Emacs command with full path (e.g. /usr/local/bin/emacs-30.1 )
EMACS_FLAVOR
Used for dependencies (e.g.
BUILD_DEPENDS= dash.el${EMACS_PKGNAMESUFFIX}>0:devel/dash@${EMACS_FLAVOR}
)
EMACS_LIBDIR
Emacs Library directory without
${PREFIX}
(e.g.
share/emacs
)
EMACS_LIBDIR_WITH_VER
Library directory without
${PREFIX}
including version (e.g.
share/emacs/30.1
)
EMACS_MAJOR_VER
Emacs major version (e.g. 30)
EMACS_PKGNAMESUFFIX
PKGNAMESUFFIX
to distinguish Emacs flavors
EMACS_SITE_LISPDIR
Emacs site-lisp directory without
${PREFIX}
(e.g.
share/emacs/site-lisp
)
EMACS_VER
Emacs version (e.g. 30.1)
EMACS_VERSION_SITE_LISPDIR
Include version (e.g. share/emacs/30.1/site-lisp )
erlang
Possible arguments: (none),
enc
,
rebar
,
rebar3
Adds a build and run time dependency on
lang/erlang
.
Depending on the argument, it adds additional build dependencies.
enc
adds a
dependency on
devel/erlang-native-compiler
,
rebar
adds a dependency on
devel/rebar
and
rebar3
adds a dependency on
devel/rebar3
.
In addition, the following variables are available to the port:
ERL_APP_NAME
: Erlang app name as installed in Erlang’s lib dir (minus version)
ERL_APP_ROOT
: Root directory for this Erlang app
REBAR_CMD
: Path to the "rebar" command
REBAR3_CMD
: Path to the "rebar3" command
REBAR_PROFILE
: Rebar profile
REBAR_TARGETS
: Rebar target list (usually compile, maybe escriptize)
ERL_BUILD_NAME
: Build name for rebar3
ERL_BUILD_DEPS
: List of BUILD_DEPENDS in category/portname format
ERL_RUN_DEPS
: List of RUN_DEPENDS in category/portname format
ERL_DOCS
: List of documentation files and directories
fakeroot
Possible arguments: (none)
Changes some default behavior of build systems to allow installing as a user.
See
https://wiki.debian.org/FakeRoot
for more information on
fakeroot
.
fam
Possible arguments: (none),
fam
,
gamin
Uses a File Alteration Monitor as a library dependency, either devel/fam or devel/gamin . End users can set WITH_FAM_SYSTEM to specify their preference.
firebird
Possible arguments: (none),
25
Add a dependency to the client library of the Firebird database.
fonts
Possible arguments: (none),
fc
,
fontsdir
(default),
none
Adds a runtime dependency on tools needed to register fonts.
Depending on the argument, add a
@fc`
${FONTSDIR}` line,
@fontsdir`
${FONTSDIR}` line, or no line if the argument is
none
, to the plist.
FONTSDIR
defaults to
${PREFIX}/share/fonts/${FONTNAME}
and
FONTNAME
to
${PORTNAME}
.
Add
FONTSDIR
to
PLIST_SUB
and
SUB_LIST
fpc
Possible arguments: (none),
run
Provide support for Free Pascal based ports. It will install Free Pascal compiler and units.
Adds a build dependency on lang/fpc .
If the
run
argument is given a run dependency is also added.
fuse
Possible arguments:
2
(default),
3
The port will depend on the FUSE library and handle the dependency on the kernel module depending on the version of FreeBSD.
gem
Possible arguments: (none),
noautoplist
Handle building with RubyGems.
If
noautoplist
is used, the packing list is not generated automatically.
This implies
USES=ruby
.
gettext
Possible arguments: (none)
Deprecated.
Will include both
gettext-runtime
and
gettext-tools
.
gettext-runtime
Possible arguments: (none),
lib
(default),
build
,
run
Uses
devel/gettext-runtime
.
By default, with no arguments or with the
lib
argument, implies a library dependency on
libintl.so
.
build
and
run
implies, respectively a build-time and a run-time dependency on
gettext
.
gettext-tools
Possible arguments: (none),
build
(default),
run
Uses
devel/gettext-tools
.
By default, with no argument, or with the
build
argument, a build time dependency on
msgfmt
is registered.
With the
run
argument, a run-time dependency is registered.
ghostscript
Possible arguments:
X
,
build
,
run
,
nox11
A specific version
X
can be used. Possible versions are
7
,
8
,
9
, and
agpl
(default).
nox11
indicates that the
-nox11
version of the port is required.
build
and
run
add build- and run-time dependencies on Ghostscript.
The default is both build- and run-time dependencies.
gl
Possible arguments: (none)
Provides an easy way to depend on GL components.
The components should be listed in
USE_GL
.
The available components are:
egl
add a library dependency on libEGL.so from graphics/libglvnd
gbm
Add a library dependency on libgbm.so from graphics/mesa-libs
gl
Add a library dependency on libGL.so from graphics/libglvnd
glesv2
Add a library dependency on libGLESv2.so from graphics/libglvnd
glew
Add a library dependency on libGLEW.so from graphics/glew
glu
Add a library dependency on libGLU.so from graphics/libGLU
glut
Add a library dependency on libglut.so from graphics/freeglut
opengl
Add a library dependency on libOpenGL.so from graphics/libglvnd
gmake
Possible arguments: (none)
Uses
devel/gmake
as a build-time dependency and sets up the environment to use
gmake
as the default
make
for the build.
gnome
Possible arguments: (none)
Provides an easy way to depend on GNOME components.
The components should be listed in
USE_GNOME
.
The available components are:
atk
atkmm
cairo
cairomm
dconf
esound
evolutiondataserver3
gconf2
gconfmm26
gdkpixbuf
gdkpixbuf2
glib12
glib20
glibmm
gnomecontrolcenter3
gnomedesktop3
gnomedesktop4
gnomedocutils
gnomemenus3
gnomemimedata
gnomeprefix
gnomesharp20
gnomevfs2
gsound
gtk-update-icon-cache
gtk12
gtk20
gtk30
gtkhtml3
gtkhtml4
gtkmm20
gtkmm24
gtkmm30
gtksharp20
gtksourceview
gtksourceview2
gtksourceview3
gtksourceviewmm3
gvfs
intlhack
intltool
introspection
libartlgpl2
libbonobo
libbonoboui
libgda5
libgda5-ui
libgdamm5
libglade2
libgnome
libgnomecanvas
libgnomekbd
libgnomeprint
libgnomeprintui
libgnomeui
libgsf
libgtkhtml
libgtksourceviewmm
libidl
librsvg2
libsigc++12
libsigc++20
libwnck
libwnck3
libxml++26
libxml2
libxslt
metacity
nautilus3
orbit2
pango
pangomm
pangox-compat
py3gobject3
pygnome2
pygobject
pygobject3
pygtk2
pygtksourceview
referencehack
vte
vte3
The default dependency is build- and run-time, it can be changed with
:build
or
:run
.
For example:
USES= gnome USE_GNOME= gnomemenus3:build intlhack
See Using GNOME for more information.
go
|
Ports should not be created for Go libs, see Go Libraries for more information. |
Possible arguments: (none),
N.NN
,
N.NN-devel
,
modules
,
no_targets
,
run
Sets default values and targets used to build Go software.
A build dependency on the Go compiler port is added, port maintainers can set version required.
By default the build is performed in GOPATH mode.
If Go software uses modules, the modules-aware mode can be switched on with
modules
argument.
no_targets
will setup build environment like
GO_ENV
,
GO_BUILDFLAGS
but skip creating extract and build targets.
run
will also add a run dependency on the Go compiler port.
The build process is controlled by several variables:
GO_MODULE
The name of the application module as specified by the
module
directive in
go.mod
.
In most cases, this is the only required variable for ports that use Go modules.
GO_PKGNAME
The name of the Go package when building in GOPATH mode.
This is the directory that will be created in
${GOPATH}/src
.
If not set explicitly and
GH_SUBDIR
or
GL_SUBDIR
is present,
GO_PKGNAME
will be inferred from it.
It is not needed when building in modules-aware mode.
GO_TARGET
The packages to build.
The default value is
${GO_PKGNAME}
.
GO_TARGET
can also be a tuple in the form
package:path
where path can be either a simple filename or a full path starting with
${PREFIX}
.
GO_TESTTARGET
The packages to test.
The default value is
./…
(the current package and all subpackages).
CGO_CFLAGS
Additional
CFLAGS
values to be passed to the C compiler by
go
.
CGO_LDFLAGS
Additional
LDFLAGS
values to be passed to the C compiler by
go
.
GO_BUILDFLAGS
Additional build arguments to be passed to
go build
.
GO_TESTFLAGS
Additional build arguments to be passed to
go test
.
See Building Go Applications for usage examples.
gperf
Possible arguments: (none)
Add a buildtime dependency on
devel/gperf
if
gperf
is not present in the base system.
grantlee
Possible arguments:
5
,
selfbuild
Handle dependency on Grantlee.
Specify
5
to depend on the Qt5 based version,
devel/grantlee5
.
selfbuild
is used internally by
devel/grantlee5
to get their versions numbers.
groff
Possible arguments:
build
,
run
,
both
Registers a dependency on textproc/groff if not present in the base system.
gssapi
Possible arguments: (none),
base
(default),
heimdal
,
mit
,
flags
,
bootstrap
Handle dependencies needed by consumers of the GSS-API.
Only libraries that provide the Kerberos mechanism are available.
By default, or set to
base
, the GSS-API library from the base system is used.
Can also be set to
heimdal
to use
security/heimdal
, or
mit
to use
security/krb5
.
When the local Kerberos installation is not in
LOCALBASE
, set
HEIMDAL_HOME
(for
heimdal
) or
KRB5_HOME
(for
krb5
) to the location of the Kerberos installation.
These variables are exported for the ports to use:
GSSAPIBASEDIR
GSSAPICPPFLAGS
GSSAPIINCDIR
GSSAPILDFLAGS
GSSAPILIBDIR
GSSAPILIBS
GSSAPI_CONFIGURE_ARGS
The
flags
option can be given alongside
base
,
heimdal
, or
mit
to automatically add
GSSAPICPPFLAGS
,
GSSAPILDFLAGS
, and
GSSAPILIBS
to
CFLAGS
,
LDFLAGS
, and
LDADD
, respectively.
For example, use
base,flags
.
The
bootstrap
option is a special prefix only for use by
security/krb5
and
security/heimdal
.
For example, use
bootstrap,mit
.
OPTIONS_SINGLE= GSSAPI
OPTIONS_SINGLE_GSSAPI= GSSAPI_BASE GSSAPI_HEIMDAL GSSAPI_MIT GSSAPI_NONE
GSSAPI_BASE_USES= gssapi
GSSAPI_BASE_CONFIGURE_ON= --with-gssapi=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS}
GSSAPI_HEIMDAL_USES= gssapi:heimdal
GSSAPI_HEIMDAL_CONFIGURE_ON= --with-gssapi=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS}
GSSAPI_MIT_USES= gssapi:mit
GSSAPI_MIT_CONFIGURE_ON= --with-gssapi=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS}
GSSAPI_NONE_CONFIGURE_ON= --without-gssapi
gstreamer
Possible arguments: (none)
Provides an easy way to depend on GStreamer components.
The components should be listed in
USE_GSTREAMER
.
The available components are:
a52dec
aalib
amrnb
amrwbdec
aom
assrender
bad
bs2b
cairo
cdio
cdparanoia
chromaprint
curl
dash
dtls
dts
dv
dvd
dvdread
editing-services
faac
faad
flac
flite
gdkpixbuf
gl
gme
gnonlin
good
gsm
gtk4
gtk
hal
hls
jack
jpeg
kate
kms
ladspa
lame
libav
libcaca
libde265
libmms
libvisual
lv2
mm
modplug
mpeg2dec
mpeg2enc
mpg123
mplex
musepack
neon
ogg
opencv
openexr
openh264
openjpeg
openmpt
opus
pango
png
pulse
qt
resindvd
rsvg
rtmp
shout2
sidplay
smoothstreaming
sndfile
sndio
soundtouch
soup
spandsp
speex
srtp
taglib
theora
ttml
twolame
ugly
v4l2
vorbis
vpx
vulkan
wavpack
webp
webrtcdsp
x264
x265
x
ximagesrc
zbar
guile
Possible arguments: (none),
X.Y
,
flavors
,
build
,
run
,
alias
,
conflicts
Adds a dependency on Guile.
By default this is a library dependency on the appropriate
libguile*.so
, unless overridden by the
build
and/or
run
option.
The
alias
option configures
BINARY_ALIAS
appropriately (see
Use
BINARY_ALIAS
).
The default version is set by the usual
DEFAULT_VERSIONS
mechanism;
if the default version is not one of the listed versions, then the latest available listed version is used.
Applications using Guile are normally built for only a single Guile version.
However, extension or library modules should use the
flavors
option to build with multiple flavors.
For more information see Using Guile .
horde
Possible arguments: (none)
Add buildtime and runtime dependencies on
devel/pear-channel-horde
.
Other Horde dependencies can be added with
USE_HORDE_BUILD
and
USE_HORDE_RUN
.
See
Horde Modules
for more information.
iconv
Possible arguments: (none),
lib
,
build
,
patch
,
translit
,
wchar_t
Uses
iconv
functions, either from the port
converters/libiconv
as a build-time and run-time dependency, or from the base system.
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.
If the port uses the
WCHAR_T
or
//TRANSLIT
iconv extensions, add the relevant arguments so that the correct iconv is used.
For more information see
Using
iconv
.
imake
Possible arguments: (none),
env
,
notall
,
noman
Add
devel/imake
as a build-time dependency and run
xmkmf -a
during the
configure
stage.
If the
env
argument is given, the
configure
target is not set.
If the
-a
flag is a problem for the port, add the
notall
argument.
If
xmkmf
does not generate a
install.man
target, add the
noman
argument.
java
Possible arguments: (none),
ant
,
build
,
extract
,
run
Defaults to
USES=java:build,run
if no arguments are provided and
NO_BUILD
is undefined. If
NO_BUILD
is defined,
USES=java:run
is used.
If the
ant
argument is given, the port uses Apache Ant.
If the
build
argument is given, a JDK port is added to the build dependencies.
If the
extract
argument is given, a JDK port is added to the extract dependencies.
If the
run
argument is given, a JDK port is added to the run dependencies.
The framework provides the following variables to be set by the port:
JAVA_VERSION
List of space-separated suitable java versions for the port. An optional
+
allows you to specify a range of versions. (allowed values
8[+]
,
11[+]
,
17[+]
,
18[+]
,
19[+]
,
20[+]
,
21[+]
,
22[+]
,
22[+]
)
JAVA_OS
List of space-separated suitable JDK port operating systems for the port.
(allowed values:
native
,
linux
)
JAVA_VENDOR
List of space-separated suitable JDK port vendors for the port. (allowed
values:
openjdk
,
oracle
)
The framework exposes the following variables to be read by the port:
JAVA_PORT
The name of the JDK port. (e.g. 'java/openjdk8')
JAVA_PORT_VERSION
The version of the JDK port. (e.g. '8')
JAVA_PORT_OS
The operating system used by the JDK port. (e.g. 'linux')
JAVA_PORT_VENDOR
The vendor of the JDK port. (e.g. 'openjdk')
JAVA_PORT_OS_DESCRIPTION
Description of the operating system used by the JDK port. (e.g. 'Linux')
JAVA_PORT_VENDOR_DESCRIPTION
Description of the vendor of the JDK port. (e.g. 'OpenJDK BSD Porting Team')
JAVA_HOME
Path to the installation directory of the JDK. (e.g. /usr/local/openjdk8 )
JAVAC
Path to the Java compiler to use. (e.g. /usr/local/openjdk8/bin/javac or /usr/local/bin/javac )
JAR
Path to the JAR tool to use. (e.g. /usr/local/openjdk8/bin/jar or /usr/local/bin/fastjar )
APPLETVIEWER
Path to the appletviewer utility. (e.g. /usr/local/linux-jdk1.8.0/bin/appletviewer )
JAVA
Path to the
java
executable. Use this for executing Java programs. (e.g.
/usr/local/openjdk8/bin/java
)
JAVADOC
Path to the
javadoc
utility program.
JAVAH
Path to the
javah
program.
JAVAP
Path to the
javap
program.
JAVA_KEYTOOL
Path to the
keytool
utility program.
JAVA_N2A
Path to the
native2ascii
tool.
JAVA_POLICYTOOL
Path to the
policytool
program.
JAVA_SERIALVER
Path to the
serialver
utility program.
RMIC
Path to the RMI stub/skeleton generator,
rmic
.
RMIREGISTRY
Path to the RMI registry program,
rmiregistry
.
RMID
Path to the RMI daemon program.
JAVA_CLASSES
Path to the archive that contains the JDK class files. On most JDKs, this is ${JAVA_HOME}/jre/lib/rt.jar .
JAVASHAREDIR
The base directory for all shared Java resources.
JAVAJARDIR
The directory where a port should install JAR files.
JAVALIBDIR
The directory where JAR files installed by other ports are located.
jpeg
Possible arguments:
lib
(default, implicit),
build
,
run
Help handling dependencies on
jpeg
.
If the
lib
argument is provided or no arguments are provided then a lib
dependency is added to the port.
If the
build
argument is provided then a build dependency is added to the
port.
If the
run
argument is provided then a run dependency is added to the
port.
If the
both
argument is provided then a build dependency and a run dependency
are added to the port.
The framework provides the following variable that can be set by ports:
JPEG_PORT
Specifies the JPEG implementation to use. Possible values are:
graphics/jpeg-turbo (default)
kde
Possible arguments:
5
Add dependency on KDE components. See Using KDE for more information.
kmod
Possible arguments: (none),
debug
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, using
@kld
.
If the
debug
argument is given, the port can install a debug version of the module into
KERN_DEBUGDIR
/
KMODDIR
. By default,
KERN_DEBUGDIR
is copied from
DEBUGDIR
and set to
/usr/lib/debug
. The framework will take care of creating and removing any required directories.
kodi
Possible arguments: (none),
noautoplist
Provide support for
multimedia/kodi
add-ons.
If the
noautoplist
argument is provided it does not generate the
plist
automatically.
lazarus
Possible arguments: (none),
gtk2
(default),
qt5
,
qt6
,
flavors
Provide support for editors/lazarus based ports.
If no arguments are provided or if
gtk2
is provided the lazarus-app is built with
a
gtk2
interface the
editors/lazarus
port will be built with the
gtk2
interface.
If the
qt5
argument is provided, the lazarus-app is built with a
qt5
interface.
If the
qt6
argument is provided, the lazarus-app is built with a
qt6
interface.
If the
flavors
argument is provided the lazarus-app is built with flavors
feature.
If the port does not require compiling lazarus project files automatically, the following variable can be defined:
NO_LAZBUILD
=
yes
The following variables are available for ports:
LAZARUS_PROJECT_FILES
List of lpi files. It must not be empty. Default: empty
LAZARUS_DIR
Path to lazarus installation directory Default: ${LOCALBASE}/share/lazarus-${LAZARUS_VER}
LAZBUILD_ARGS
lazbuild extra args. It could be
-d
in most of cases.
See
lazbuild(1)
for more information.
Default: empty
LAZARUS_NO_FLAVORS
Do not build these lazarus flavors.
If
LAZARUS_NO_FLAVORS
is not defined then all valid lazarus flavors are assumed.
WANT_LAZARUS_DEVEL
If set to
yes
then use
lazarus/devel
as build dependency.
ldap
Possible arguments: (none), <version>, client, server
Registers a dependency on
net/openldap
.
It uses the specific
<version>
(without the dot notation) if set.
Otherwise it tries to find the currently installed version.
If necessary it falls back to the default version found in
bsd.default-versions.mk
.
client
specifies a runtime dependency on the client library. This is also the
default.
server
specifies a runtime dependency on the server.
The following variables can be accessed by the port:
IGNORE_WITH_OPENLDAP
This variable can be defined if the ports does not support one or more versions of OpenLDAP.
WITH_OPENLDAP_VER
User defined variable to set OpenLDAP version.
OPENLDAP_VER
Detected OpenLDAP version.
libarchive
Possible arguments: (none)
Registers a dependency on
archivers/libarchive
.
Any ports depending on libarchive must include
USES=libarchive
.
libedit
Possible arguments: (none)
Registers a dependency on
devel/libedit
.
Any ports depending on libedit must include
USES=libedit
.
libtool
Possible arguments: (none),
keepla
,
build
Patches
libtool
scripts. This must be added to all ports that use
libtool
.
The
keepla
argument can be used to keep
.la
files.
Some ports do not ship with their own copy of libtool and need a build time dependency on
devel/libtool
, use the
:build
argument to add such dependency.
linux
Possible arguments:
c6
,
c7
Ports Linux compatibility framework.
Specify
c6
to depend on CentOS 6 packages.
Specify
c7
to depend on CentOS 7 packages. The available packages are:
allegro
alsa-plugins-oss
alsa-plugins-pulseaudio
alsalib
atk
avahi-libs
base
cairo
cups-libs
curl
cyrus-sasl2
dbusglib
dbuslibs
devtools
dri
expat
flac
fontconfig
gdkpixbuf2
gnutls
graphite2
gtk2
harfbuzz
jasper
jbigkit
jpeg
libasyncns
libaudiofile
libelf
libgcrypt
libgfortran
libgpg-error
libmng
libogg
libpciaccess
libsndfile
libsoup
libssh2
libtasn1
libthai
libtheora
libv4l
libvorbis
libxml2
mikmod
naslibs
ncurses-base
nspr
nss
openal
openal-soft
openldap
openmotif
openssl
pango
pixman
png
pulseaudio-libs
qt
qt-x11
qtwebkit
scimlibs
sdl12
sdlimage
sdlmixer
sqlite3
tcl85
tcp_wrappers-libs
tiff
tk85
ucl
xorglibs
llvm
Possible arguments: (none),
XY
, min=
XY
, max=
XY
, build, run, lib
Adds a dependency on LLVM.
By default this is a build dependency unless overridden by the
run
or
lib
options.
The default version is the one set in
LLVM_DEFAULT
. A specific version can be
specified as well. The minimum and maximum versions can be specified with the
min
and
max
parameters respectively.
The ports framework export the following variables to the port:
LLVM_VERSION
Version chosen from the arguments to llvm.mk
LLVM_PORT
Chosen llvm port
LLVM_CONFIG
llvm-config of the chosen port
LLVM_LIBLLVM
libLLVM.so of the chosen port
LLVM_PREFIX
Installation prefix of the chosen port
localbase
Possible arguments: (none),
ldflags
Ensures that libraries from dependencies in
LOCALBASE
are used instead of the ones from the base system.
Specify
ldflags
to add
-L${LOCALBASE}/lib
to
LDFLAGS
instead of
LIBS
.
Ports that depend on libraries that are also present in the base system should use this.
It is also used internally by a few other
USES
.
lua
Possible arguments: (none),
XY
,
XY
+
,
-
XY
,
XY
-
ZA
,
module
,
flavors
,
build
,
run
,
env
Adds a dependency on Lua.
By default this is a library dependency, unless overridden by the
build
and/or
run
option.
The
env
option prevents the addition of any dependency, while still defining all the usual variables.
The default version is set by the usual
DEFAULT_VERSIONS
mechanism, unless a version or range of versions is specified as an argument, for example,
51
or
51-54
.
Applications using Lua are normally built for only a single Lua version.
However, library modules intended to be loaded by Lua code should use the
module
option to build with multiple flavors.
For more information see Using Lua .
luajit
Possible arguments: (none),
X
Adds a dependency on luajit runtime.
A specific version
X
can be used. Possible versions are
luajit
,
luajit-devel
,
luajit-openresty
After including bsd.port.options.mk or bsd.port.pre.mk the port can inspect these variables:
LUAJIT_VER
The selected luajit version
LUAJIT_INCDIR
The path to luajit’s header files
LUAJIT_LUAVER
Which luajit spec version is selected (2.0 for luajit, else 2.1)
For more information see Using Lua .
lxqt
Possible arguments: (none)
Handle dependencies for the LXQt Desktop Environment.
Use
USE_LXQT
to select the components needed for the port.
See
Using LXQt
for more information.
magick
Possible arguments: (none),
X
,
build
,
nox11
,
run
,
test
Add a library dependency on
ImageMagick
.
A specific version
X
can be used. Possible versions are
6
and
7
(default).
nox11
indicates that the
-nox11
version of the port is required.
build
,
run
and
test
add build-, run-time and test dependencies on ImageMagick.
makeinfo
Possible arguments: (none)
Add a build-time dependency on
makeinfo
if it is not present in the base system.
makeself
Possible arguments: (none)
Indicates that the distribution files are makeself archives and sets the appropriate dependencies.
mate
Possible arguments: (none)
Provides an easy way to depend on MATE components.
The components should be listed in
USE_MATE
.
The available components are:
autogen
caja
common
controlcenter
desktop
dialogs
docutils
icontheme
intlhack
intltool
libmatekbd
libmateweather
marco
menus
notificationdaemon
panel
pluma
polkit
session
settingsdaemon
The default dependency is build- and run-time, it can be changed with
:build
or
:run
.
For example:
USES= mate USE_MATE= menus:build intlhack
meson
Possible arguments: (none)
Provide support for Meson based projects.
For more information see
Using
meson
.
metaport
Possible arguments: (none)
Sets the following variables to make it easier to create a metaport:
MASTER_SITES
,
DISTFILES
,
EXTRACT_ONLY
,
NO_BUILD
,
NO_INSTALL
,
NO_MTREE
,
NO_ARCH
.
minizip
Possible arguments: (none),
ng
Adds a library dependency on archivers/minizip or archivers/minizip-ng respectively.
mlt
Possible arguments:
7
,
nodepend
Provide support for ports depending on multimedia/mlt7 .
If the
nodepend
argument is provided no library dependency is generated. This
argument only makes sense for multimedia/mlt7* ports.
mysql
Possible arguments: (none),
version
,
client
(default),
server
,
embedded
Provide support for MySQL
If no version is given, try to find the current installed version.
Fall back to the default version, MySQL-5.6.
The possible versions are
55
,
55m
,
55p
,
56
,
56p
,
56w
,
57
,
57p
,
80
,
100m
,
101m
, and
102m
.
The
m
and
p
suffixes are for the MariaDB and Percona variants of MySQL.
server
and
embedded
add a build- and run-time dependency on the MySQL server.
When using
server
or
embedded
, add
client
to also add a dependency on
libmysqlclient.so
.
A port can set
IGNORE_WITH_MYSQL
if some versions are not supported.
The framework sets
MYSQL_VER
to the detected MySQL version.
mono
Possible arguments: (none),
nuget
Adds a dependency on the Mono (currently only C#) framework by setting the appropriate dependencies.
Specify
nuget
when the port uses nuget packages.
NUGET_DEPENDS
needs to be set with the names and versions of the nuget packages in the format
name
=
version
.
An optional package origin can be added using
name
=
version
:_origin_
.
The helper target,
buildnuget
, will output the content of the
NUGET_DEPENDS
based on the provided
packages.config
.
motif
Possible arguments: (none)
Uses
x11-toolkits/open-motif
as a library dependency.
End users can set
WANT_LESSTIF
in
make.conf
to use
x11-toolkits/lesstif
as dependency instead of
x11-toolkits/open-motif
.
Similarly setting
WANT_OPEN_MOTIF_DEVEL
in
make.conf
will add a
dependency on
x11-toolkits/open-motif-devel
mpi
Possible arguments:
mpich
(default),
openmpi
Provide support for ports depending on
MPI
.
If the
mpich
argument is provided a dependency on
net/mpich
is added
to the port.
If the
openmpi
argument is provided a dependency on
net/openmpi
is
added to the port.
The ports framework provides the following variables that can be read by the port:
MPI_LIBS
Libraries needed to link programs using
MPI
.
MPI_CFLAGS
Compiler flags necessary to build programs using
MPI
.
MPICC
Location of the
mpicc
executable. Default:
${MPI_HOME}/bin/mpicc
.
MPICXX
Location of the
mpicxx
executable. Default:
${MPI_HOME}/bin/mpicxx
.
MPIF90
Location of the
mpif90
executable. Default:
${MPI_HOME}/bin/mpif90
.
MPIFC
Same as above.
MPI_HOME
Installation directory of
MPI
. Defaults to
${LOCALBASE}
for
MPICH
.
MPIEXEC
Location of the
mpiexec
executable. Default:
${MPI_HOME}/bin/mpiexec
.
MPIRUN
Location of the
mpirun
executable. Default:
${MPI_HOME}/bin/mpirun
.
ncurses
Possible arguments: (none),
base
,
port
Uses ncurses, and causes some useful variables to be set.
nextcloud
Possible arguments: (none)
Adds support for Nextcloud applications by adding a run time dependency on www/nextcloud .
ninja
Possible arguments: (none),
build
,
make
(default),
run
If
build
or
run
arguments are specify, it respectively adds a build or run
time dependency on
devel/ninja
.
If
make
or no arguments are provided, use ninja to build the port instead of make.
make
implies
build
.
If the variable
NINJA_DEFAULT
is set to
samurai
, then the dependencies are set
on
devel/samurai
instead.
nodejs
Possible arguments: (none),
build
,
run
,
current
,
lts
,
10
,
14
,
16
,
17
.
Uses nodejs. Adds a dependency on
www/node*
. If a supported version is
specified then
run
and/or
build
must be specified too.
objc
Possible arguments: (none)
Add objective C dependencies (compiler, runtime library) if the base system does not support it.
ocaml
Possible arguments: (none),
build
,
camlp4
,
dune
,
findlib
,
findplist
,
ldconfig
,
run
,
tk
,
tkbuild
,
tkrun
,
wash
Provide support for OCaml.
If no arguments are provided, it defaults to
build
,
run
.
If the
build
argument is provided then
lang/ocamlc
is added to
BUILD_DEPENDS
,
EXTRACT
and
PATCH_DEPENDS
.
If the
camlp4
argument is provided then
devel/ocamlp4
is used to build.
If the
dune
argument is provided then
devel/ocaml-dune
is used as build system.
If the
findlib
argument is provided then
ocamlfind
will be used to install packages. Package directories will be automatically deleted.
If the
findplist
argument is provided then contents of the
findlib
target directories will be added automatically.
If the
ldconfig
argument is provided then OCaml’s
ld.conf
file
will be automatically processed. When
dune
is used Dune may install stublibs
in site-lib package directory(ies) or in a single directory below
DUNE_LIBDIR
site-lib directory.
Set if your port installs shared libraries into ocaml
If the
run
argument is provided add ocamlc to
RUN_DEPENDS
.
If the
tk
argument is provided then a build and run dependency on
x11-toolkits/ocaml-labltk
is added to the port. Implies
tkbuild
and
tkrun
.
If the
tkbuild
argument is provided then
x11-toolkits/ocaml-labltk
is added to
BUILD_DEPENDS
,
EXTRACT
and
PATCH_DEPENDS
.
If the
tkrun
argument is provided then
x11-toolkits/ocaml-labltk
is
added to
RUN_DEPENDS
.
If the
wash
argument is provided Ocaml’s shared directories will be purged on
uninstall. Useful when installing to non-standard
PREFIX
.
The following variables can be set by the port:
OCAML_PKGDIRS
Directories under site-lib to be processed if the
findlib
argument is specified. Default:
${PORTNAME}
OCAML_LDLIBS
Directories under
PREFIX
to be automatically added/removed from
ld.conf
.
Default:
${OCAML_SITELIBDIR}/${PORTNAME}
OCAML_PACKAGES
List of packages to build and install. Default to
${PORTNAME}
octave
Possible arguments: (none), env
Uses
math/octave
.
env
loads only one
OCTAVE_VERSION
environmental variable.
openal
Possible arguments:
al
,
soft
(default),
si
,
alut
Uses OpenAL.
The backend can be specified, with the software implementation as the default.
The user can specify a preferred backend with
WANT_OPENAL
.
Valid values for this knob are
soft
(default) and
si
.
pathfix
Possible arguments: (none)
Look for
Makefile.in
and
configure
in
PATHFIX_WRKSRC
(defaults to
WRKSRC
) and fix common paths to make sure they respect the FreeBSD hierarchy.
For example, it fixes the installation directory of
pkgconfig’s
.pc
files to
${PREFIX}/libdata/pkgconfig
.
If the port uses `USES=autoreconf
,
Makefile.am
will be added to
PATHFIX_MAKEFILEIN
automatically.
If the port
USES=cmake
it will look for
CMakeLists.txt
in
PATHFIX_WRKSRC
.
If needed, that default filename can be changed with
PATHFIX_CMAKELISTSTXT
.
pear
Possible arguments:
env
Adds a dependency on
devel/pear
.
It will setup default behavior for software using the PHP Extension and Application Repository.
Using the
env
arguments only sets up the PEAR environment variables.
See
PEAR Modules
for more information.
perl5
Possible arguments: (none)
Depends on Perl. The configuration is done using
USE_PERL5
.
USE_PERL5
can contain the phases in which to use Perl, can be
extract
,
patch
,
build
,
run
, or
test
.
USE_PERL5
can also contain
configure
,
modbuild
, or
modbuildtiny
when
Makefile.PL
,
Build.PL
,
or Module::Build::Tiny’s flavor of
Build.PL
is required.
USE_PERL5
defaults to
build run
.
When using
configure
,
modbuild
, or
modbuildtiny
,
build
and
run
are implied.
See Using Perl for more information.
pgsql
Possible arguments: (none),
X.Y
,
X.Y
+
,
X.Y
-
,
X.Y
-
Z.A
Provide support for PostgreSQL.
Port maintainer can set version required.
Minimum and maximum versions or a range can be specified; for example,
9.0-
,
8.4+
,
8.4-9.2.
By default, the added dependency will be the client, but if the port requires additional components,
this can be done using
WANT_PGSQL=
component[:target]
;
for example,
WANT_PGSQL=server:configure pltcl plperl
.
The available components are:
client
contrib
docs
pgtcl
plperl
plpython
pltcl
server
php
Possible arguments: (none),
phpize
,
ext
,
zend
,
build
,
cli
,
cgi
,
mod
,
web
,
embed
,
pecl
,
flavors
,
noflavors
Provide support for PHP. Add a runtime dependency on the default PHP version, lang/php81 .
phpize
Use to build a PHP extension. Enables flavors.
ext
Use to build, install and register a PHP extension. Enables flavors.
zend
Use to build, install and register a Zend extension. Enables flavors.
build
Set PHP also as a build-time dependency.
cli
Needs the CLI version of PHP.
cgi
Needs the CGI version of PHP.
mod
Needs the Apache module for PHP.
web
Needs the Apache module or the CGI version of PHP.
embed
Needs the embedded library version of PHP.
pecl
Provide defaults for fetching PHP extensions from the PECL repository. Enables flavors.
flavors
Enable automatic
PHP flavors
generation.
Flavors will be generated for all PHP versions, except the ones present in
IGNORE_WITH_PHP
.
noflavors
Disable automatic PHP flavors generation. Must only be used with extensions provided by PHP itself.
Variables are used to specify which PHP modules are required, as well as which version of PHP are supported.
USE_PHP
The list of required PHP extensions at run-time.
Add
:build
to the extension name to add a build-time dependency.
Example:
pcre xml:build gettext
IGNORE_WITH_PHP
The port does not work with PHP of the given version.
For possible values look at the content of
_ALL_PHP_VERSIONS
in
Mk/Uses/php.mk
.
When building a PHP or Zend extension with
:ext
or
:zend
, these variables can be set:
PHP_MODNAME
The name of the PHP or Zend extension.
Default value is
${PORTNAME}
.
PHP_HEADER_DIRS
A list of subdirectories from which to install header files. The framework will always install the header files that are present in the same directory as the extension.
PHP_MOD_PRIO
The priority at which to load the extension.
It is a number between
00
and
99
.
For extensions that do not depend on any extension, the priority is automatically set to
20
, for extensions that depend on another extension, the priority is automatically set to
30
.
Some extensions may need to be loaded before every other extension, for example
www/php56-opcache
.
Some may need to be loaded after an extension with a priority of
30
.
In that case, add
PHP_MOD_PRIO=
XX
in the port’s Makefile. For example:
USES= php:ext USE_PHP= wddx PHP_MOD_PRIO= 40
These variables are available to use in
PKGNAMEPREFIX
or
PKGNAMESUFFIX
:
PHP_PKGNAMEPREFIX
Contains
php_XY_-
where
XY
is the current flavor’s PHP version.
Use with PHP extensions and modules.
PHP_PKGNAMESUFFIX
Contains
-php_XY_
where
XY
is the current flavor’s PHP version.
Use with PHP applications.
PECL_PKGNAMEPREFIX
Contains
php_XY_-pecl-
where
XY
is the current flavor’s PHP version.
Use with PECL modules.
|
With flavors, all PHP extensions, PECL extensions, PEAR modules
must have
a different package name,
so they must all use one of these three variables in their
|
pkgconfig
Possible arguments: (none),
build
(default),
run
,
both
Uses
devel/pkgconf
.
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
Possible arguments: (none),
ffi
Uses
lang/pure
.
Largely used for building related pure ports.
With the
ffi
argument, it implies
devel/pure-ffi
as a run-time dependency.
pyqt
Possible arguments: (none),
4
,
5
Uses PyQt. If the port is part of PyQT itself, set
PYQT_DIST
.
Use
USE_PYQT
to select the components the port needs.
The available components are:
core
dbus
dbussupport
demo
designer
designerplugin
doc
gui
multimedia
network
opengl
qscintilla2
sip
sql
svg
test
webkit
xml
xmlpatterns
These components are only available with PyQT4:
assistant
declarative
help
phonon
script
scripttools
These components are only available with PyQT5:
multimediawidgets
printsupport
qml
serialport
webkitwidgets
widgets
The default dependency for each component is build- and run-time, to select only build or run, add
_build
or
_run
to the component name. For example:
USES= pyqt USE_PYQT= core doc_build designer_run
pytest
Possible arguments: (none), 4
Introduces a new dependency on
devel/pytest
. It defines a
do-test
target which will run the tests properly.
Use the argument to depend on a specific
devel/pytest
version.
For ports using
devel/pytest
consider using this instead of a specific
do-test
target.
The framework exposes the following variables to the port:
PYTEST_ARGS
Additional arguments to pytest (defaults to empty).
PYTEST_IGNORED_TESTS
lists of
pytest -k
patterns of tests to ignore (defaults to empty). For tests
which are not expected to pass, such as ones requiring a database access.
PYTEST_BROKEN_TESTS
lists of
pytest -k
patterns of tests to ignore (defaults to empty). For broken
tests which require fixing.
In addition the following variables may be set by the user:
PYTEST_ENABLE_IGNORED_TESTS
Enable tests which are otherwise ignored by
PYTEST_IGNORED_TESTS
.
PYTEST_ENABLE_BROKEN_TESTS
Enable tests which are otherwise ignored by
PYTEST_BROKEN_TESTS
.
PYTEST_ENABLE_ALL_TESTS
Enable tests which are otherwise ignored by
PYTEST_IGNORED_TESTS
and
PYTEST_BROKEN_TESTS
.
python
Possible arguments: (none),
X.Y
,
X.Y+
,
-X.Y
,
X.Y-Z.A
,
patch
,
build
,
run
,
test
Uses Python. A supported version or version range can be specified.
If Python is only needed at build time, run time or for the tests, it can be set as a build, run or test dependency with
build
,
run
, or
test
.
If Python is also needed during the patch phase, use
patch
.
See
Using Python
for more information.
USES=python:env
can be used when the variables exported by the framework are needed but a dependency on Python is not.
It can happen when using with
USES=shebangfix
, and the goal is only to fix the shebangs but not add a dependency on Python.
qmail
Possible arguments: (none),
build
,
run
,
both
,
vars
Uses
mail/qmail
. 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
Possible arguments: (none),
norecursive
,
outsource
,
no_env
,
no_configure
Uses QMake for configuring. For more information see
Using
qmake
.
qt
Possible arguments:
5
,
6
,
no_env
Add dependency on Qt components.
no_env
is passed directly to
USES= qmake
.
See
Using Qt
for more information.
qt-dist
Possible arguments: (none) or
5
and (none) or
6
and (none) or one of
3d
,
5compat
,
base
,
charts
,
connectivity
,
datavis3d
,
declarative
,
doc
languageserver
,
gamepad
,
graphicaleffects
,
imageformats
,
locat ion
,
lottie
,
multimedia
,
networkauth
,
positioning
,
quick3d
,
quickcontrols2
,
quickcontrols
,
quicktimeline
,
remoteobjects
,
script
,
scxml `, `sensors
,
serialbus
,
serialport
,
shadertools
,
speech
,
svg
,
tools
,
translations
,
virtualkeyboard
,
wayland
,
webchannel
,
webengine
,
webglplugin
,
websockets
,
webview
,
x11extras
,
xmlpatterns
.
Provides support for building Qt 5 and Qt 6 components. It takes care of setting up the appropriate configuration environment for the port to build.
The port is Qt 5’s
networkauth
component, which is part of the
networkauth
distribution file.
PORTNAME= networkauth
DISTVERSION= ${QT5_VERSION}
USES= qt-dist:5
The port is Qt 6’s
websockets
component, which is part of the
websockets
distribution file.
PORTNAME= websockets
PORTVERSION= ${QT6_VERSION}
USES= qt-dist:6
If
PORTNAME
does not match the component name, it can be passed as an argument to
qt-dist
.
The port is Qt 5’s
gui
component, which is part of the
base
distribution file.
PORTNAME= gui
DISTVERSION= ${QT5_VERSION}
USES= qt-dist:5,base
readline
Possible arguments: (none),
port
Uses readline as a library dependency, and sets
CPPFLAGS
and
LDFLAGS
as necessary.
If the
port
argument is used or if readline is not present in the base system, add a dependency on
devel/readline
ruby
Possible arguments: (none),
build
,
extconf
,
run
,
setup
Provide support for Ruby related ports.
(none)
without arguments adds runtime dependency on
lang/ruby
.
build
adds a dependency on
lang/ruby
at build time.
extconf
states that the port uses extconf.rb to configure.
run
adds a dependency on
lang/ruby
at run time. This is also the default.
setup
states that the port uses setup.rb to configure and build.
The user may have the following variables defined:
RUBY_VER
Alternative short version of ruby in the form of `x.y'.
RUBY_DEFAULT_VER
Set to (e.g.)
2.7
to use
ruby27
as the default version.
RUBY_ARCH
Set the architecture name (e.g. i386-freebsd7).
The following variables are exported to be used by the port:
RUBY
Set to full path of ruby.
If set, the values of the following variables are automatically obtained from
the ruby executable:
RUBY_ARCH
,
RUBY_ARCHLIBDIR
,
RUBY_LIBDIR
,
RUBY_SITEARCHLIBDIR
,
RUBY_SITELIBDIR
,
RUBY_VER
and
RUBY_VERSION
RUBY_VER
Set to the alternative short version of ruby in the form of `x.y'.
RUBY_EXTCONF
Set to the alternative name of extconf.rb (default: extconf.rb).
RUBY_EXTCONF_SUBDIRS
Set to list of subdirectories, if multiple modules are included.
RUBY_SETUP
Set to the alternative name of setup.rb (default: setup.rb).
samba
Possible arguments:
build
,
env
,
lib
,
run
Handle dependency on Samba.
env
will not add any dependency and only set up the variables.
build
and
run
will add build-time and run-time dependency on
smbd
.
lib
will add a dependency on
libsmbclient.so
.
The variables that are exported are:
SAMBA_PORT
The origin of the default Samba port.
SAMBA_INCLUDEDIR
The location of the Samba header files.
SAMBA_LIBS
The directory where the Samba shared libraries are available.
SAMBA_LDB_PORT
The origin of the ldb port used by the selected Samba version (e.g., databases/ldb28 ). It should be used if a port needs to depend on the same ldb version as the selected Samba version.
SAMBA_TALLOC_PORT
The origin of the talloc port used by the selected Samba version. It should be used if a port needs to depend on the same talloc version as the selected Samba version.
SAMBA_TDB_PORT
The origin of the TDB port used by the selected Samba version. It should be used if a port needs to depend on the same TDB version as the selected Samba version.
SAMBA_TEVENT_PORT
The origin of the tevent port used by the selected Samba version. It should be used if a port needs to depend on the same tevent version as the selected Samba version.
scons
Possible arguments: (none)
Provide support for the use of
devel/scons
.
See
Using
scons
for more information.
sdl
Possible arguments:
sdl
Provide support for the use of
SDL
packages.
The variable
USE_SDL
is mandatory and specifies which components to add as
dependencies.
The current supported
SDL1.2
modules are:
sdl
console
gfx
image
mixer
mm
net
pango
sound
ttf
The current supported
SDL2
modules are:
sdl2
gfx2
image2
mixer2
net2
sound2
ttf2
The current supported
SDL3
modules are:
sdl3
image3
ttf3
shared-mime-info
Possible arguments: (none)
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 add an
@shared-mime-info
entry to the plist.
shebangfix
Possible arguments: (none)
A lot of software uses incorrect locations for script interpreters, most notably
/usr/bin/perl
and
/bin/bash
.
The shebangfix macro fixes shebang lines in scripts listed in
SHEBANG_REGEX
,
SHEBANG_GLOB
, or
SHEBANG_FILES
.
SHEBANG_REGEX
Contains
one
extended regular expressions, and is used with the
-iregex
argument of
find(1)
.
See
USESshebangfix
with
SHEBANG_REGEX
.
SHEBANG_GLOB
Contains a list of patterns used with the
-name
argument of
find(1)
.
See
USESshebangfix
with
SHEBANG_GLOB
.
SHEBANG_FILES
Contains a list of files or
sh(1)
globs.
The shebangfix macro is run from
${WRKSRC}
, so
SHEBANG_FILES
can contain paths that are relative to
${WRKSRC}
.
It can also deal with absolute paths if files outside of
${WRKSRC}
require patching.
See
USESshebangfix
with
SHEBANG_FILES
.
Currently Bash, Java, Ksh, Lua, Perl, PHP, Python, Ruby, Tcl, and Tk are supported by default.
There are three configuration variables:
SHEBANG_LANG
The list of supported interpreters.
_interp__CMD
The path to the command interpreter on FreeBSD.
The default value is
${LOCALBASE}/bin/
interp
.
_interp__OLD_CMD
The list of wrong invocations of interpreters.
These are typically obsolete paths, or paths used on other operating systems that are incorrect on FreeBSD.
They will be replaced by the correct path in
_interp__CMD
.
|
These will
always
be part of
|
|
|
|
The fixing of shebangs is done during the
Correct paths for supported interpreters are available in
|
|
When used with
|
USES=shebangfix
To add another interpreter, set
SHEBANG_LANG
.
For example:
SHEBANG_LANG= lua
USES=shebangfix
If it was not already defined, and there were no default values for
_interp
OLD_CMD
and
_interp
CMD
the Ksh entry could be defined as:
SHEBANG_LANG= ksh
ksh_OLD_CMD= "/usr/bin/env ksh" /bin/ksh /usr/bin/ksh
ksh_CMD= ${LOCALBASE}/bin/ksh
Some software uses strange locations for an interpreter. For example, an application might expect Python to be located in /opt/bin/python2.7 . The strange path to be replaced can be declared in the port Makefile :
python_OLD_CMD= /opt/bin/python2.7
USES=shebangfix
with
SHEBANG_REGEX
To fix all the files in
${WRKSRC}/scripts
ending in
.pl
,
.sh
, or
.cgi
do:
USES= shebangfix SHEBANG_REGEX= ./scripts/.*\.(sh|pl|cgi)
|
|
USES=shebangfix
with
SHEBANG_GLOB
To fix all the files in
${WRKSRC}
ending in
.pl
or
.sh
, do:
USES= shebangfix SHEBANG_GLOB= *.sh *.pl
USES=shebangfix
with
SHEBANG_FILES
To fix the files
script/foobar.pl
and
script/*.sh
in
${WRKSRC}
, do:
USES= shebangfix SHEBANG_FILES= scripts/foobar.pl scripts/*.sh
sqlite
Possible arguments: (none),
2
,
3
Add a dependency on SQLite.
The default version used is 3, but version 2 is also possible using the
:2
modifier.
ssl
Possible arguments: (none),
build
,
run
Provide support for OpenSSL.
A build- or run-time only dependency can be specified using
build
or
run
.
These variables are available for the port’s use, they are also added to
MAKE_ENV
:
OPENSSLBASE
Path to the OpenSSL installation base.
OPENSSLDIR
Path to OpenSSL’s configuration files.
OPENSSLLIB
Path to the OpenSSL libraries.
OPENSSLINC
Path to the OpenSSL includes.
OPENSSLRPATH
If defined, the path the linker needs to use to find the OpenSSL libraries.
|
If a port does not build with an OpenSSL flavor, set the
BROKEN_SSL= libressl BROKEN_SSL_REASON_libressl= needs features only available in OpenSSL |
tar
Possible arguments: (none),
Z
,
bz2
,
bzip2
,
lzma
,
tbz
,
tbz2
,
tgz
,
txz
,
xz
,
zst
,
zstd
Set
EXTRACT_SUFX
to
.tar
,
.tar.Z
,
.tar.bz2
,
.tar.bz2
,
.tar.lzma
,
.tbz
,
.tbz2
,
.tgz
,
.txz
,
.tar.xz
,
.tar.zst
or
.tar.zstd
respectively.
tcl
Possible arguments:
version
,
wrapper
,
build
,
run
,
tea
Add a dependency on Tcl. A specific version can be requested using
version
.
The version can be empty, one or more exact version numbers (currently
84
,
85
, or
86
), or a minimal version number (currently
84+
,
85+
or
86+
).
To only request a non version specific wrapper, use
wrapper
.
A build- or run-time only dependency can be specified using
build
or
run
.
To build the port using the Tcl Extension Architecture, use
tea
.
After including
bsd.port.pre.mk
the port can inspect the results using these variables:
TCL_VER
: chosen major.minor version of Tcl
TCLSH
: full path of the Tcl interpreter
TCL_LIBDIR
: path of the Tcl libraries
TCL_INCLUDEDIR
: path of the Tcl C header files
TCL_PKG_LIB_PREFIX
: Library prefix, as per TIP595
TCL_PKG_STUB_POSTFIX
: Stub library postfix
TK_VER
: chosen major.minor version of Tk
WISH
: full path of the Tk interpreter
TK_LIBDIR
: path of the Tk libraries
TK_INCLUDEDIR
: path of the Tk C header files
terminfo
Possible arguments: (none)
Adds
@terminfo
to the
plist
.
Use when the port installs
*.terminfo
files in
${PREFIX}/share/misc
.
tex
Possible arguments: (none)
Provide support for tex. Loads all the default variables for TEX related ports and does not add any dependency on any ports.
Variables are used to specify which TEX modules are required.
USE_TEX
The list of required TEX extensions at run-time.
Add
:build
to the extension name to add a build-time dependency,
:run
to add runtime dependency,
:test
for test time dependency,
:extract
for extract time dependency.
Example:
base texmf:build source:run
Current possible arguments are as follows:
base
texmf
source
docs
web2c
kpathsea
ptexenc
basic
tlmgr
texlua
texluajit
synctex
xpdfopen
dvipsk
dvipdfmx
xdvik
gbklatex
formats
tex
latex
pdftex
jadetex
luatex
ptex
xetex
xmltex
texhash
updmap
fmtutil
tk
Same as arguments for
tcl
Small wrapper when using both Tcl and Tk. The same variables are returned as when using Tcl.
trigger
Possible arguments: (none)
Provide support for ports requiring triggers to be executed by pkg(8) . Triggers are executed at the end of a transaction if the conditions are met.
The following variable can be set by ports:
TRIGGERS
List of triggers to package. Defaults to
${PORTNAME}
.
Triggers are specified in UCL format and are usually placed in the files/ directory of the port.
uidfix
Possible arguments: (none)
Changes some default behavior (mostly variables) of the build system to allow installing this port as a normal user.
Try this in the port before using
USES=fakeroot
or patching.
uniquefiles
Possible arguments: (none),
dirs
Make files or directories 'unique', by adding a prefix or suffix.
If the
dirs
argument is used, the port needs a prefix (and only a prefix) based on
UNIQUE_PREFIX
for standard directories
DOCSDIR
,
EXAMPLESDIR
,
DATADIR
,
WWWDIR
,
ETCDIR
.
These variables are available for ports:
UNIQUE_PREFIX
: The prefix to be used for directories and files. Default:
${PKGNAMEPREFIX}
.
UNIQUE_PREFIX_FILES
: A list of files that need to be prefixed. Default: empty.
UNIQUE_SUFFIX
: The suffix to be used for files. Default:
${PKGNAMESUFFIX}
.
UNIQUE_SUFFIX_FILES
: A list of files that need to be suffixed. Default: empty.
varnish
Possible arguments:
4
(default),
6
,
7
Handle dependencies on Varnish Cache. Adds a dependency on www/varnish* .
waf
Possible arguments: (none)
Provide support for ports using the
waf
build system.
It implies
USES=python:build
.
The following variables are exported to be used by the port:
WAF_CMD
Location of the
waf
script. Set this if the
waf
script is not in
WRKSRC/waf
.
CONFIGURE_TARGET
Configure
target. Default
configure
.
ALL_TARGET
All
target. Default
build
.
INSTALL_TARGET
Install
target. Default
install
.
webplugin
Possible arguments: (none),
ARGS
Automatically 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
These 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
.
xfce
Possible arguments: (none),
gtk2
Provide support for Xfce related ports. See Using Xfce for details.
The
gtk2
argument specifies that the port requires GTK2 support.
It adds additional features provided by some core components, for example,
x11/libxfce4menu
and
x11-wm/xfce4-panel
.
xorg
Possible arguments: (none)
Provides an easy way to depend on X.org components.
The components should be listed in
USE_XORG
.
The available components are:
| Name | Description |
|---|---|
|
|
DMX extension library |
|
|
The fontenc Library |
|
|
Create an index of X font files in a directory |
|
|
Inter Client Exchange library for X11 |
|
|
The FS library |
|
|
Generic PCI access library |
|
|
Low-level pixel manipulation library |
|
|
Session Management library for X11 |
|
|
X11 library |
|
|
Authentication Protocol library for X11 |
|
|
X Athena Widgets library |
|
|
X Athena Widgets library |
|
|
X Athena Widgets library |
|
|
X.Org bitmaps data |
|
|
The X protocol C-language Binding (XCB) library |
|
|
X Composite extension library |
|
|
X client-side cursor loading library |
|
|
X Damage extension library |
|
|
X Display Manager Control Protocol library |
|
|
X11 Extension library |
|
|
X Fixes extension library |
|
|
X font library |
|
|
X font library |
|
|
Client-sided font API for X applications |
|
|
X Input extension library |
|
|
X11 Xinerama library |
|
|
XKB file library |
|
|
X Miscellaneous Utilities libraries |
|
|
X Miscellaneous Utilities libraries |
|
|
X.Org development aclocal macros |
|
|
X.Org X server and related programs |
|
|
xorg protocol headers |
|
|
X Pixmap library |
|
|
X Present Extension library |
|
|
X Resize and Rotate extension library |
|
|
X Render extension library |
|
|
X Resource usage library |
|
|
The XScrnSaver library |
|
|
Shared memory 'SyncFence' synchronization primitive |
|
|
X Toolkit library |
|
|
Abstract network code for X |
|
|
X Test extension |
|
|
X Video Extension library |
|
|
X Video Extension Motion Compensation library |
|
|
X DGA Extension |
|
|
X Vidmode Extension |
xorg-cat
Possible arguments:
app
,
data
,
doc
,
driver
,
font
,
lib
,
proto
,
util
,
xserver
and (none) or one off
autotools
(default),
meson
Provide support for building Xorg components. It takes care of setting up common dependencies and an appropriate configuration environment needed. This is intended only for Xorg components.
The category has to match upstream categories.
The second argument is the build system to use. autotools is the default, but meson is also supported.
Last modified on : June 10, 2025 by Fernando Apesteguía