USES= bison perl
Этот перевод может быть устаревшим. Для того, чтобы помочь с переводом, пожалуйста, обратитесь к Сервер переводов FreeBSD .
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),
5
,
6
Depends on an Ada-capable compiler, and sets
CC
accordingly.
Defaults to use gcc 5 from ports.
Use the
:_X_
version option to force building with a different 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
.
blaslapack
Possible arguments: (none),
atlas
,
netlib
(default),
gotoblas
,
openblas
Adds dependencies on Blas / Lapack libraries.
bdb
Possible arguments: (none),
48
,
5
(default),
6
Add dependency on the Berkeley DB library.
Default to
databases/db5
.
It can also depend on
databases/db48
when using the
:48
argument or
databases/db6
with
:6
.
It is possible to declare a range of acceptable values,
:48+
finds the highest installed version, and falls back to 4.8 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:48+
and Berkeley DB 5 is installed, it contains
5
.
|
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.
cabal
|
Ports should not be created for Haskell libraries, see Haskell Libraries for more information. |
Possible arguments: (none),
hpack
Sets default values and targets used to build Haskell software using Cabal.
A build dependency on the Haskell compiler port (GHC) is added.
If
hpack
argument is given, a build dependency on
devel/hs-hpack
is added and
hpack
is invoked at configuration step to generate.
cabal file.
The framework provides the following variables:
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, which are specified after the
_
symbol.
Automatic generation of 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.
EXECUTABLES
List of executable files installed by the port.
Default value:
${PORTNAME}
.
Items from this list are automatically added to pkg-plist.
SKIP_CABAL_PLIST
If defined, do not add items from
${EXECUTABLES}
to pkg-plist.
opt_USE_CABAL
Adds items to
${USE_CABAL}
depending on
opt
option.
opt_EXECUTABLES
Adds items to
${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.
FOO_DATADIR_VARS
For an executable named
FOO
list Haskell packages, whose data files should be accessible by the executable.
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
.
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.
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 6 module.
A Drupal 7 theme can be specified with
USES=drupal:7,theme
.
eigen
Possible arguments: 2, 3, build (default), run
Add dependency on math/eigen .
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
,
fcfontsdir
(default),
fontsdir
,
none
Adds a runtime dependency on tools needed to register fonts.
Depending on the argument, add a
@fc
${FONTSDIR}
line,
@fcfontsdir
${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
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.
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
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),
modules
,
no_targets
,
run
Sets default values and targets used to build Go software.
A build dependency on the Go compiler port selected via
GO_PORT
is added.
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
post-extract
and
do-{build,install,test}
targets.
run
will also add a run dependency on what is in
GO_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
.
GO_PORT
The Go compiler port to use.
By default this is
lang/go
but can be set to
lang/go-devel
in
make.conf
for testing with future Go versions.
|
This variable must not be set by individual ports! |
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
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.
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.
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 packags.
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
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-53
.
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 .
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.
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
.
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
for the dependency to be on
x11-toolkits/lesstif
instead of
x11-toolkits/open-motif
.
ncurses
Possible arguments: (none),
base
,
port
Uses ncurses, and causes some useful variables to be set.
objc
Possible arguments: (none)
Add objective C dependencies (compiler, runtime library) if the base system does not support it.
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/php56 .
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
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.
PYTHON_NO_DEPENDS=yes
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
,
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 one of
3d
,
activeqt
,
androidextras
,
base
,
canvas3d
,
charts
,
connectivity
,
datavis3d
,
declarative
,
doc
,
gamepad
,
graphicaleffects
,
imageformats
,
location
,
macextras
,
multimedia
,
networkauth
,
purchasing
,
quickcontrols2
,
quickcontrols
,
remoteobjects
,
script
,
scxml
,
sensors
,
serialbus
,
serialport
,
speech
,
svg
,
tools
,
translations
,
virtualkeyboard
,
wayland
,
webchannel
,
webengine
,
websockets
,
webview
,
winextras
,
x11extras
,
xmlpatterns
Provides support for building Qt 5 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
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
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:
SAMBAPORT
The origin of the default Samba port.
SAMBAINCLUDES
The location of the Samba header files.
SAMBALIBS
The directory where the Samba shared libraries are available.
scons
Possible arguments: (none)
Provide support for the use of
devel/scons
.
See
Using
scons
for more information.
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
USES=shebangfix
with
SHEBANG_REGEX
.
SHEBANG_GLOB
Contains a list of patterns used with the
-name
argument of
find(1)
.
See
USES=shebangfix
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
USES=shebangfix
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
Set
EXTRACT_SUFX
to
.tar
,
.tar.Z
,
.tar.bz2
,
.tar.bz2
,
.tar.lzma
,
.tbz
,
.tbz2
,
.tgz
,
.txz
or
.tar.xz
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
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
.
tk
Same as arguments for
tcl
Small wrapper when using both Tcl and Tk. The same variables are returned as when using Tcl.
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
,
6
Handle dependencies on Varnish Cache.
4
will add a dependency on
www/varnish4
.
6
will add a dependency on
www/varnish6
.
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.
Изменено : 18 февраля 2025 г. by Fernando Apesteguía