USES= bison perl
Chapter 17. Using USES Macros
Table of Contents
17.1. An Introduction to 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= tar:xz
USES= drupal:7,theme
USES= pgsql:9.3+ cpe python:2.7,build
17.2. 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.
17.3. ada
Possible arguments: (none), 6, 12, (run)
Depends on an Ada-capable compiler, and sets CC accordingly.
Defaults to use gcc6-aux from ports.
17.4. 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_VERSIONThe version of the
angrproject programs.ANGR_BINARIES_TAGNAMEThe tagname of the
angrbinaries.ANGR_NOSETESTSThe path to the
nosetestsprogram.
17.5. 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_CMDPath to the ansible program.
ANSIBLE_DOC_CMDPath to the ansible-doc program.
ANSIBLE_RUN_DEPENDSRUN_DEPENDS with the Ansible port.
ANSIBLE_DATADIRPath to the root of the directory structure where all Ansible’s modules and plugins are stored.
ANSIBLE_ETCDIRPath to the Ansible etc directory.
ANSIBLE_PLUGINS_PREFIXPath to the "plugins" directory within
${ANSIBLE_DATADIR}.ANSIBLE_MODULESDIRPath to the directory for local Ansible modules.
ANSIBLE_PLUGINSDIRPath to the directory for local Ansible plugins.
ANSIBLE_PLUGIN_TYPEAnsible plugin type (e.g., "connection", "inventory", or "vars").
17.6. 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_BUILDAutomatic module build
AP_GENPLISTAutomatic
PLISTgeneration plus add the module disabled into httpd.conf (only if nopkg-plistexist)MODULENAMEName of the Apache module. Default:
${PORTNAME}SHORTMODNAMEShort name of the Apache module. Default:
${MODULENAME:S/mod_//}SRC_FILESource file of the APACHE module. Default:
${MODULENAME}.c
The following variables can be accessed by the port:
APACHE_VERSIONThe major-minor release version of the chosen Apache server, e.g. 2.4
APACHEETCDIRLocation of the Apache configuration directory. Default: ${LOCALBASE}/etc/apache24
APACHEINCLUDEDIRLocation of the Apache include files Default: ${LOCALBASE}/include/apache24
APACHEMODDIRLocation of the Apache modules Default: ${LOCALBASE}/libxexec/apache24
APACHE_DEFAULT::Default Apache version
17.7. 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.
17.8. azurepy
Possible arguments: (none)
Provide support for py-azure* ports.
Removes azure namespaces and cleans up common files.
17.9. blaslapack
Possible arguments: (none), atlas, netlib (default), gotoblas, openblas
Adds dependencies on Blas / Lapack libraries.
17.10. 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_NAMEThe name of the Berkeley DB library. For example, when using databases/db5, it contains
db-5.3.BDB_LIB_CXX_NAMEThe name of the Berkeley DBC++ library. For example, when using databases/db5, it contains
db_cxx-5.3.BDB_INCLUDE_DIRThe location of the Berkeley DB include directory. For example, when using databases/db5, it will contain
${LOCALBASE}/include/db5.BDB_LIB_DIRThe location of the Berkeley DB library directory. For example, when using databases/db5, it contains
${LOCALBASE}/lib.BDB_VERThe detected Berkeley DB version. For example, if using
USES=bdb:5+and Berkeley DB 18 is installed, it contains18.
databases/db48 is deprecated and unsupported. It must not be used by any port. |
17.11. 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.
17.12. 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.
17.13. 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_REVISIONHaskell packages hosted on Hackage may have revisions. Set this knob to an integer number to pull in revised package description.
USE_CABALIf 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 withcabal.CABAL_FLAGSList of flags to be passed to
cabal-installduring 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. Passfooto enable thefooflag and-footo disable it.CABAL_EXECUTABLESList 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 anexecutablestanza in the .cabal file. Items from this list are automatically added to pkg-plist.SKIP_CABAL_PLISTIf defined, do not add items from
${CABAL_EXECUTABLES}to pkg-plist.opt_USE_CABALAdds items to
${USE_CABAL}depending onoptoption.opt_CABAL_EXECUTABLESAdds items to
${CABAL_EXECUTABLES}depending onoptoption.opt_CABAL_FLAGSIf
optis enabled, append the value to${CABAL_FLAGS}. Otherwise, append-valueto disable the flag. Note that this behavior is slightly different from the plainCABAL_FLAGSas it does not accept values starting with-.CABAL_WRAPPER_SCRIPTSA subset of
${CABAL_EXECUTABLES}containing Haskell programs to be wrapped into a shell script that sets*_datadirenvironment variables before running the program. This also causes the actual Haskell binary to be installed underlibexec/cabal/directory. This knob is needed for Haskell programs that install their data files undershare/directory.FOO_DATADIR_VARSList 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_PROJECTSome Haskell projects may already have a
cabal.projectfile, which is also generated by the ports framework. If that is the case, use this variable to specify what to do with the originalcabal.project. Setting this variable toremovewill cause the original file to be removed. Setting this variable toappendwill:Move the original file to
cabal.project.${PORTNAME}during theextractstage.Concatenate the original
cabal.project.${PORTNAME}and the generatedcabal.projectinto a single file after thepatchstage. Usingappendmakes it possible to perform patching on the original file before it gets merged.
17.14. 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.
17.15. 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.
17.16. cl
Possible arguments: (none)
Provides support for Common Lisp ports.
The framework provides the following variables that can be set by ports:
ASDF_MODULESList of
ASDFmodules to build whenFASL_TARGETis set (defaults toPORTNAME)FASL_TARGETBuild fasl variant of port (one of
ccl,clisp, orsbcl)USE_ASDFDepend on devel/cl-asdf
USE_ASDF_FASLDepend on
devel/cl-asdf-<FASL_TARGET>USE_CCLDepend on lang/ccl; implied when
FASL_TARGET=cclUSE_CLISPDepend on lang/clisp; implied when
FASL_TARGET=clispUSE_SBCLDepend on lang/sbcl; implied when
FASL_TARGET=SBCL
The framework provides the following variables that can be read by ports:
ASDF_PATHNAMEPath to CL source
ASDF_REGISTRYPath to CL registry containing asd files
CCLPath to the Clozure Common Lisp compiler
CLISPPath to the GNU Common Lisp compiler
CL_LIBDIR_RELCL library directory relative to
LOCALBASEorPREFIXFASL_DIR_RELRelative path to compiled fasl files; depends on
FASL_TARGETFASL_PATHNAMEPath to CL fasl
LISP_EXTRA_ARGExtra arguments used when building fasl
SBCLPath to the Steel Bank Common Lisp compiler
17.17. 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.
17.18. 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 clangALT_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 clangCOMPILER_FEATURES: the features supported by the default compiler. It currently lists the C++ library.
17.19. 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
cpetoUSESand compare the result ofmake -V CPE_STRto the CPE dictionary entry. Continue one step at a time untilmake -V CPE_STRis correct.If the product name (second field, defaults to
PORTNAME) is incorrect, defineCPE_PRODUCT.If the vendor name (first field, defaults to
CPE_PRODUCT) is incorrect, defineCPE_VENDOR.If the version field (third field, defaults to
PORTVERSION) is incorrect, defineCPE_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
PORTNAMEandPORTVERSION. Use variable modifiers to extract the relevant portions from these variables rather than hardcoding the name.Always run
make -V CPE_STRand check the output before committing anything that changesPORTNAMEorPORTVERSIONor any other variable which is used to deriveCPE_STR.
17.20. 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.
17.21. 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.
17.22. desthack
Possible arguments: (none)
Changes the behavior of GNU configure to properly support DESTDIR in case the original software does not.
17.23. 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.
17.24. 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}.
17.25. 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.
17.26. 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.
17.27. eigen
Possible arguments: 2, 3, build (default), run
Add dependency on math/eigen.
17.28. 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_FILESList of files to be symlinked from Electron distribution.
ELECTRONFIX_MAIN_EXECUTABLEFile name of the main executable to be replaced with the original Electron binary.
17.29. 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).
17.30. 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_NAMEElixir app name as installed in Elixir’s lib directory
ELIXIR_LIB_ROOTElixir default library path
ELIXIR_APP_ROOTRoot directory for this Elixir app
ELIXIR_HIDDENApplications to be hidden from the code path; usually ${PORTNAME}
ELIXIR_LOCALEAn UTF-8 locale to be used by Elixir during builds (any UTF-8 locale is good)
MIX_CMDThe
mixcommandMIX_COMPILEThe
mixcommand used to compile an Elixir appMIX_REWRITEAutomatically replace Mix dependencies with code paths
MIX_BUILD_DEPSList of
BUILD_DEPENDSin category/portname format (commonly referenced to as "deps" in Erlang and Elixir)MIX_RUN_DEPSList of
RUN_DEPENDSin category/portname formatMIX_DOC_DIRSExtra doc directories to be installed in
DOCSDIRMIX_DOC_FILESExtra doc files to be installed in
DOCSDIR(usually README.md)MIX_ENVEnvironment for the Mix build (same format as
MAKE_ENV)MIX_ENV_NAMEName of the Mix build environment, usually "prod"
MIX_BUILD_NAMEName of the build output in _build/, usually
${MIX_ENV_NAME}MIX_TARGETName of the Mix target, usually "compile"
MIX_EXTRA_APPSList of sub-applications to be built, if any
MIX_EXTRA_DIRSList of extra directories to be installed in
ELIXIR_APP_ROOTMIX_EXTRA_FILESList of extra files to be installed in
ELIXIR_APP_ROOT
17.31. 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_EXCLUDEDo NOT build these Emacs flavors. If
EMACS_FLAVORS_EXCLUDEis 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_DEPENDSDo 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_CMDEmacs command with full path (e.g. /usr/local/bin/emacs-30.1)
EMACS_FLAVORUsed for dependencies (e.g.
BUILD_DEPENDS= dash.el${EMACS_PKGNAMESUFFIX}>0:devel/dash@${EMACS_FLAVOR})EMACS_LIBDIREmacs Library directory without
${PREFIX}(e.g. share/emacs)EMACS_LIBDIR_WITH_VERLibrary directory without
${PREFIX}including version (e.g. share/emacs/30.1)EMACS_MAJOR_VEREmacs major version (e.g. 30)
EMACS_PKGNAMESUFFIXPKGNAMESUFFIXto distinguish Emacs flavorsEMACS_SITE_LISPDIREmacs site-lisp directory without
${PREFIX}(e.g. share/emacs/site-lisp)EMACS_VEREmacs version (e.g. 30.1)
EMACS_VERSION_SITE_LISPDIRInclude version (e.g. share/emacs/30.1/site-lisp)
17.32. 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 appREBAR_CMD: Path to the "rebar" commandREBAR3_CMD: Path to the "rebar3" commandREBAR_PROFILE: Rebar profileREBAR_TARGETS: Rebar target list (usually compile, maybe escriptize)ERL_BUILD_NAME: Build name for rebar3ERL_BUILD_DEPS: List of BUILD_DEPENDS in category/portname formatERL_RUN_DEPS: List of RUN_DEPENDS in category/portname formatERL_DOCS: List of documentation files and directories
17.33. 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.
17.34. 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.
17.35. firebird
Possible arguments: (none), 25
Add a dependency to the client library of the Firebird database.
17.36. 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
17.38. 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.
17.39. 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.
17.40. gem
Possible arguments: (none), noautoplist
Handle building with RubyGems.
If noautoplist is used, the packing list is not generated automatically.
This implies USES=ruby.
17.41. gettext
Possible arguments: (none)
Deprecated.
Will include both gettext-runtime and
gettext-tools.
17.42. 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.
17.43. 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.
17.44. 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.
17.45. 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:
egladd a library dependency on libEGL.so from graphics/libglvnd
gbmAdd a library dependency on libgbm.so from graphics/mesa-libs
glAdd a library dependency on libGL.so from graphics/libglvnd
glesv2Add a library dependency on libGLESv2.so from graphics/libglvnd
glewAdd a library dependency on libGLEW.so from graphics/glew
gluAdd a library dependency on libGLU.so from graphics/libGLU
glutAdd a library dependency on libglut.so from graphics/freeglut
openglAdd a library dependency on libOpenGL.so from graphics/libglvnd
17.46. 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.
17.47. 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:
atkatkmmcairocairommdconfesoundevolutiondataserver3gconf2gconfmm26gdkpixbufgdkpixbuf2glib12glib20glibmmgnomecontrolcenter3gnomedesktop3gnomedocutilsgnomemenus3gnomemimedatagnomeprefixgnomesharp20gnomevfs2gsoundgtk-update-icon-cachegtk12gtk20gtk30gtkhtml3gtkhtml4gtkmm20gtkmm24gtkmm30gtksharp20gtksourceviewgtksourceview2gtksourceview3gtksourceviewmm3gvfsintlhackintltoolintrospectionlibartlgpl2libbonobolibbonobouilibgda5libgda5-uilibgdamm5libglade2libgnomelibgnomecanvaslibgnomekbdlibgnomeprintlibgnomeprintuilibgnomeuilibgsflibgtkhtmllibgtksourceviewmmlibidllibrsvg2libsigc++12libsigc++20libwncklibwnck3libxml++26libxml2libxsltmetacitynautilus3orbit2pangopangommpangox-compatpy3gobject3pygnome2pygobjectpygobject3pygtk2pygtksourceviewreferencehackvtevte3
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.
17.48. 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_MODULEThe name of the application module as specified by the
moduledirective ingo.mod. In most cases, this is the only required variable for ports that use Go modules.GO_PKGNAMEThe 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 andGH_SUBDIRorGL_SUBDIRis present,GO_PKGNAMEwill be inferred from it. It is not needed when building in modules-aware mode.GO_TARGETThe packages to build. The default value is
${GO_PKGNAME}.GO_TARGETcan also be a tuple in the formpackage:pathwhere path can be either a simple filename or a full path starting with${PREFIX}.GO_TESTTARGETThe packages to test. The default value is
./…(the current package and all subpackages).CGO_CFLAGSAdditional
CFLAGSvalues to be passed to the C compiler bygo.CGO_LDFLAGSAdditional
LDFLAGSvalues to be passed to the C compiler bygo.GO_BUILDFLAGSAdditional build arguments to be passed to
go build.GO_TESTFLAGSAdditional build arguments to be passed to
go test.
See Building Go Applications for usage examples.
17.49. gperf
Possible arguments: (none)
Add a buildtime dependency on devel/gperf if gperf is not present in the base system.
17.50. 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.
17.51. groff
Possible arguments: build, run, both
Registers a dependency on textproc/groff if not present in the base system.
17.52. 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:
GSSAPIBASEDIRGSSAPICPPFLAGSGSSAPIINCDIRGSSAPILDFLAGSGSSAPILIBDIRGSSAPILIBSGSSAPI_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-gssapi17.53. 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:
a52decaalibamrnbamrwbdecaomassrenderbadbs2bcairocdiocdparanoiachromaprintcurldashdtlsdtsdvdvddvdreadediting-servicesfaacfaadflacflitegdkpixbufglgmegnonlingoodgsmgtk4gtkhalhlsjackjpegkatekmsladspalamelibavlibcacalibde265libmmslibvisuallv2mmmodplugmpeg2decmpeg2encmpg123mplexmusepackneonoggopencvopenexropenh264openjpegopenmptopuspangopngpulseqtresindvdrsvgrtmpshout2sidplaysmoothstreamingsndfilesndiosoundtouchsoupspandspspeexsrtptaglibtheorattmltwolameuglyv4l2vorbisvpxvulkanwavpackwebpwebrtcdspx264x265xximagesrczbar
17.54. 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.
17.55. 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.
17.56. 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.
17.57. 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.
17.58. 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_VERSIONList of space-separated suitable java versions for the port. An optional
+allows you to specify a range of versions. (allowed values8[+],11[+],17[+],18[+],19[+],20[+],21[+],22[+],22[+])JAVA_OSList of space-separated suitable JDK port operating systems for the port. (allowed values:
native,linux)JAVA_VENDORList 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_PORTThe name of the JDK port. (e.g. 'java/openjdk8')
JAVA_PORT_VERSIONThe version of the JDK port. (e.g. '8')
JAVA_PORT_OSThe operating system used by the JDK port. (e.g. 'linux')
JAVA_PORT_VENDORThe vendor of the JDK port. (e.g. 'openjdk')
JAVA_PORT_OS_DESCRIPTIONDescription of the operating system used by the JDK port. (e.g. 'Linux')
JAVA_PORT_VENDOR_DESCRIPTIONDescription of the vendor of the JDK port. (e.g. 'OpenJDK BSD Porting Team')
JAVA_HOMEPath to the installation directory of the JDK. (e.g. /usr/local/openjdk8)
JAVACPath to the Java compiler to use. (e.g. /usr/local/openjdk8/bin/javac or /usr/local/bin/javac)
JARPath to the JAR tool to use. (e.g. /usr/local/openjdk8/bin/jar or /usr/local/bin/fastjar)
APPLETVIEWERPath to the appletviewer utility. (e.g. /usr/local/linux-jdk1.8.0/bin/appletviewer)
JAVAPath to the
javaexecutable. Use this for executing Java programs. (e.g. /usr/local/openjdk8/bin/java)JAVADOCPath to the
javadocutility program.JAVAHPath to the
javahprogram.JAVAPPath to the
javapprogram.JAVA_KEYTOOLPath to the
keytoolutility program.JAVA_N2APath to the
native2asciitool.JAVA_POLICYTOOLPath to the
policytoolprogram.JAVA_SERIALVERPath to the
serialverutility program.RMICPath to the RMI stub/skeleton generator,
rmic.RMIREGISTRYPath to the RMI registry program,
rmiregistry.RMIDPath to the RMI daemon program.
JAVA_CLASSESPath to the archive that contains the JDK class files. On most JDKs, this is ${JAVA_HOME}/jre/lib/rt.jar.
JAVASHAREDIRThe base directory for all shared Java resources.
JAVAJARDIRThe directory where a port should install JAR files.
JAVALIBDIRThe directory where JAR files installed by other ports are located.
17.59. 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_PORTSpecifies the JPEG implementation to use. Possible values are:
graphics/jpeg-turbo (default)
17.60. kde
Possible arguments: 5
Add dependency on KDE components. See Using KDE for more information.
17.61. kmod
Possible arguments: (none), debug
Fills in the boilerplate for kernel module ports, currently:
Add
kldtoCATEGORIES.Set
SSP_UNSAFE.Set
IGNOREif the kernel sources are not found inSRC_BASE.Define
KMODDIRto /boot/modules by default, add it toPLIST_SUBandMAKE_ENV, and create it upon installation. IfKMODDIRis 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
debugargument is given, the port can install a debug version of the module into KERN_DEBUGDIR/KMODDIR. By default,KERN_DEBUGDIRis copied fromDEBUGDIRand set to /usr/lib/debug. The framework will take care of creating and removing any required directories.
17.62. 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.
17.63. 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_FILESList of lpi files. It must not be empty. Default: empty
LAZARUS_DIRPath to lazarus installation directory Default: ${LOCALBASE}/share/lazarus-${LAZARUS_VER}
LAZBUILD_ARGSlazbuild extra args. It could be
-din most of cases. See lazbuild(1) for more information. Default: emptyLAZARUS_NO_FLAVORSDo not build these lazarus flavors. If
LAZARUS_NO_FLAVORSis not defined then all valid lazarus flavors are assumed.WANT_LAZARUS_DEVELIf set to
yesthen use lazarus/devel as build dependency.
17.64. 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_OPENLDAPThis variable can be defined if the ports does not support one or more versions of OpenLDAP.
WITH_OPENLDAP_VERUser defined variable to set OpenLDAP version.
OPENLDAP_VERDetected OpenLDAP version.
17.66. libarchive
Possible arguments: (none)
Registers a dependency on archivers/libarchive.
Any ports depending on libarchive must include USES=libarchive.
17.67. libedit
Possible arguments: (none)
Registers a dependency on devel/libedit.
Any ports depending on libedit must include USES=libedit.
17.68. 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.
17.69. 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:
allegroalsa-plugins-ossalsa-plugins-pulseaudioalsalibatkavahi-libsbasecairocups-libscurlcyrus-sasl2dbusglibdbuslibsdevtoolsdriexpatflacfontconfiggdkpixbuf2gnutlsgraphite2gtk2harfbuzzjasperjbigkitjpeglibasyncnslibaudiofilelibelflibgcryptlibgfortranlibgpg-errorlibmnglibogglibpciaccesslibsndfilelibsouplibssh2libtasn1libthailibtheoralibv4llibvorbislibxml2mikmodnaslibsncurses-basensprnssopenalopenal-softopenldapopenmotifopensslpangopixmanpngpulseaudio-libsqtqt-x11qtwebkitscimlibssdl12sdlimagesdlmixersqlite3tcl85tcp_wrappers-libstifftk85uclxorglibs
17.70. 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_VERSIONVersion chosen from the arguments to llvm.mk
LLVM_PORTChosen llvm port
LLVM_CONFIGllvm-config of the chosen port
LLVM_LIBLLVMlibLLVM.so of the chosen port
LLVM_PREFIXInstallation prefix of the chosen port
17.71. 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.
17.72. 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.
17.73. 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_VERThe selected luajit version
LUAJIT_INCDIRThe path to luajit’s header files
LUAJIT_LUAVERWhich luajit spec version is selected (2.0 for luajit, else 2.1)
For more information see Using Lua.
17.74. 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.
17.75. 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.
17.76. makeinfo
Possible arguments: (none)
Add a build-time dependency on makeinfo if it is not present in the base system.
17.77. makeself
Possible arguments: (none)
Indicates that the distribution files are makeself archives and sets the appropriate dependencies.
17.78. 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:
autogencajacommoncontrolcenterdesktopdialogsdocutilsiconthemeintlhackintltoollibmatekbdlibmateweathermarcomenusnotificationdaemonpanelplumapolkitsessionsettingsdaemon
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
17.79. meson
Possible arguments: (none)
Provide support for Meson based projects.
For more information see Using meson.
17.80. 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.
17.81. minizip
Possible arguments: (none), ng
Adds a library dependency on archivers/minizip or archivers/minizip-ng respectively.
17.82. 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.
17.83. 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.
17.84. 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.
17.85. 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
17.86. 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_LIBSLibraries needed to link programs using
MPI.MPI_CFLAGSCompiler flags necessary to build programs using
MPI.MPICCLocation of the
mpiccexecutable. Default: ${MPI_HOME}/bin/mpicc.MPICXXLocation of the
mpicxxexecutable. Default: ${MPI_HOME}/bin/mpicxx.MPIF90Location of the
mpif90executable. Default: ${MPI_HOME}/bin/mpif90.MPIFCSame as above.
MPI_HOMEInstallation directory of
MPI. Defaults to${LOCALBASE}forMPICH.MPIEXECLocation of the
mpiexecexecutable. Default: ${MPI_HOME}/bin/mpiexec.MPIRUNLocation of the
mpirunexecutable. Default: ${MPI_HOME}/bin/mpirun.
17.87. ncurses
Possible arguments: (none), base, port
Uses ncurses, and causes some useful variables to be set.
17.88. nextcloud
Possible arguments: (none)
Adds support for Nextcloud applications by adding a run time dependency on www/nextcloud.
17.89. 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.
17.90. 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.
17.91. objc
Possible arguments: (none)
Add objective C dependencies (compiler, runtime library) if the base system does not support it.
17.92. 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_PKGDIRSDirectories under site-lib to be processed if the
findlibargument is specified. Default:${PORTNAME}OCAML_LDLIBSDirectories under
PREFIXto be automatically added/removed from ld.conf. Default:${OCAML_SITELIBDIR}/${PORTNAME}OCAML_PACKAGESList of packages to build and install. Default to
${PORTNAME}
17.93. octave
Possible arguments: (none), env
Uses math/octave.
env loads only one OCTAVE_VERSION environmental variable.
17.94. 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.
17.95. 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.
17.96. 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.
17.97. 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.
17.98. 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:
clientcontribdocspgtclplperlplpythonpltclserver
17.99. 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.
phpizeUse to build a PHP extension. Enables flavors.
extUse to build, install and register a PHP extension. Enables flavors.
zendUse to build, install and register a Zend extension. Enables flavors.
buildSet PHP also as a build-time dependency.
cliNeeds the CLI version of PHP.
cgiNeeds the CGI version of PHP.
modNeeds the Apache module for PHP.
webNeeds the Apache module or the CGI version of PHP.
embedNeeds the embedded library version of PHP.
peclProvide defaults for fetching PHP extensions from the PECL repository. Enables flavors.
flavorsEnable automatic PHP flavors generation. Flavors will be generated for all PHP versions, except the ones present in
IGNORE_WITH_PHP.noflavorsDisable 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_PHPThe list of required PHP extensions at run-time. Add
:buildto the extension name to add a build-time dependency. Example:pcre xml:build gettext
IGNORE_WITH_PHPThe port does not work with PHP of the given version. For possible values look at the content of
_ALL_PHP_VERSIONSin Mk/Uses/php.mk.
When building a PHP or Zend extension with :ext or :zend, these variables can be set:
PHP_MODNAMEThe name of the PHP or Zend extension. Default value is
${PORTNAME}.PHP_HEADER_DIRSA 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_PRIOThe priority at which to load the extension. It is a number between
00and99.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 to30. 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 of30. In that case, addPHP_MOD_PRIO=XXin 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_PKGNAMEPREFIXContains
php_XY_-where XY is the current flavor’s PHP version. Use with PHP extensions and modules.PHP_PKGNAMESUFFIXContains
-php_XY_where XY is the current flavor’s PHP version. Use with PHP applications.PECL_PKGNAMEPREFIXContains
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 |
17.100. 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.
17.101. 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.
17.102. 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:
coredbusdbussupportdemodesignerdesignerplugindocguimultimedianetworkopenglqscintilla2sipsqlsvgtestwebkitxmlxmlpatterns
These components are only available with PyQT4:
assistantdeclarativehelpphononscriptscripttools
These components are only available with PyQT5:
multimediawidgetsprintsupportqmlserialportwebkitwidgetswidgets
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
17.103. 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_ARGSAdditional arguments to pytest (defaults to empty).
PYTEST_IGNORED_TESTSlists of
pytest -kpatterns of tests to ignore (defaults to empty). For tests which are not expected to pass, such as ones requiring a database access.PYTEST_BROKEN_TESTSlists of
pytest -kpatterns 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_TESTSEnable tests which are otherwise ignored by
PYTEST_IGNORED_TESTS.PYTEST_ENABLE_BROKEN_TESTSEnable tests which are otherwise ignored by
PYTEST_BROKEN_TESTS.PYTEST_ENABLE_ALL_TESTSEnable tests which are otherwise ignored by
PYTEST_IGNORED_TESTSandPYTEST_BROKEN_TESTS.
17.104. 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.
17.105. 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.
17.106. qmake
Possible arguments: (none), norecursive, outsource, no_env, no_configure
Uses QMake for configuring. For more information see Using qmake.
17.107. 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.
17.108. 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:5The port is Qt 6’s websockets component, which is part of the websockets distribution file.
PORTNAME= websockets
PORTVERSION= ${QT6_VERSION}
USES= qt-dist:6If 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,base17.109. 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
17.110. 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_VERAlternative short version of ruby in the form of `x.y'.
RUBY_DEFAULT_VERSet to (e.g.)
2.7to useruby27as the default version.RUBY_ARCHSet the architecture name (e.g. i386-freebsd7).
The following variables are exported to be used by the port:
RUBYSet 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_VERandRUBY_VERSIONRUBY_VERSet to the alternative short version of ruby in the form of `x.y'.
RUBY_EXTCONFSet to the alternative name of extconf.rb (default: extconf.rb).
RUBY_EXTCONF_SUBDIRSSet to list of subdirectories, if multiple modules are included.
RUBY_SETUPSet to the alternative name of setup.rb (default: setup.rb).
17.111. 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_PORTThe origin of the default Samba port.
SAMBA_INCLUDEDIRThe location of the Samba header files.
SAMBA_LIBSThe directory where the Samba shared libraries are available.
SAMBA_LDB_PORTThe 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_PORTThe 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_PORTThe 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_PORTThe 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.
17.112. scons
Possible arguments: (none)
Provide support for the use of devel/scons.
See Using scons for more information.
17.113. 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
17.114. 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.
17.115. 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_REGEXContains one extended regular expressions, and is used with the
-iregexargument of find(1). SeeUSESshebangfixwithSHEBANG_REGEX.SHEBANG_GLOBContains a list of patterns used with the
-nameargument of find(1). SeeUSESshebangfixwithSHEBANG_GLOB.SHEBANG_FILESContains a list of files or sh(1) globs. The shebangfix macro is run from
${WRKSRC}, soSHEBANG_FILEScan contain paths that are relative to${WRKSRC}. It can also deal with absolute paths if files outside of${WRKSRC}require patching. SeeUSESshebangfixwithSHEBANG_FILES.
Currently Bash, Java, Ksh, Lua, Perl, PHP, Python, Ruby, Tcl, and Tk are supported by default.
There are three configuration variables:
SHEBANG_LANGThe list of supported interpreters.
_interp__CMDThe path to the command interpreter on FreeBSD. The default value is
${LOCALBASE}/bin/interp._interp__OLD_CMDThe 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
interp__OLD_CMD:"/usr/bin/env _interp" /bin/interp /usr/bin/interp /usr/local/bin/interp._interp__OLD_CMDcontain multiple values. Any entry with spaces must be quoted. See Specifying all the Paths When Adding an Interpreter toUSESshebangfix.
The fixing of shebangs is done during the Correct paths for supported interpreters are available in |
When used with |
USES=shebangfixTo add another interpreter, set SHEBANG_LANG.
For example:
SHEBANG_LANG= lua
USES=shebangfixIf it was not already defined, and there were no default values for _interpOLD_CMD and _interpCMD 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/kshSome 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_REGEXTo 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_GLOBTo fix all the files in ${WRKSRC} ending in .pl or .sh, do:
USES= shebangfix SHEBANG_GLOB= *.sh *.pl
USES=shebangfix with SHEBANG_FILESTo fix the files script/foobar.pl and script/*.sh in ${WRKSRC}, do:
USES= shebangfix SHEBANG_FILES= scripts/foobar.pl scripts/*.sh
17.116. 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.
17.118. 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:
OPENSSLBASEPath to the OpenSSL installation base.
OPENSSLDIRPath to OpenSSL’s configuration files.
OPENSSLLIBPath to the OpenSSL libraries.
OPENSSLINCPath to the OpenSSL includes.
OPENSSLRPATHIf 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 |
17.119. 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.
17.120. 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 TclTCLSH: full path of the Tcl interpreterTCL_LIBDIR: path of the Tcl librariesTCL_INCLUDEDIR: path of the Tcl C header filesTCL_PKG_LIB_PREFIX: Library prefix, as per TIP595TCL_PKG_STUB_POSTFIX: Stub library postfixTK_VER: chosen major.minor version of TkWISH: full path of the Tk interpreterTK_LIBDIR: path of the Tk librariesTK_INCLUDEDIR: path of the Tk C header files
17.121. terminfo
Possible arguments: (none)
Adds @terminfo to the plist.
Use when the port installs *.terminfo files in ${PREFIX}/share/misc.
17.122. 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_TEXThe list of required TEX extensions at run-time. Add
:buildto the extension name to add a build-time dependency,:runto add runtime dependency,:testfor test time dependency,:extractfor extract time dependency. Example:base texmf:build source:run
Current possible arguments are as follows:
basetexmfsourcedocsweb2ckpathseaptexencbasictlmgrtexluatexluajitsynctexxpdfopendvipskdvipdfmxxdvikgbklatexformatstexlatexpdftexjadetexluatexptexxetexxmltextexhashupdmapfmtutil
17.123. tk
Same as arguments for tcl
Small wrapper when using both Tcl and Tk. The same variables are returned as when using Tcl.
17.124. 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:
TRIGGERSList of triggers to package. Defaults to
${PORTNAME}.
Triggers are specified in UCL format and are usually placed in the files/ directory of the port.
17.125. 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.
17.126. 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.
17.128. varnish
Possible arguments: 4 (default), 6, 7
Handle dependencies on Varnish Cache. Adds a dependency on www/varnish*.
17.129. 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_CMDLocation of the
wafscript. Set this if thewafscript is not in WRKSRC/waf.CONFIGURE_TARGETConfiguretarget. Defaultconfigure.ALL_TARGETAlltarget. Defaultbuild.INSTALL_TARGETInstalltarget. Defaultinstall.
17.130. 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 Geckonative: support plug-ins for Gecko, Opera, and WebKit-GTKlinux: support Linux plug-insall(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, defaultPKGBASE.
17.131. 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.
17.132. 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 |
17.133. 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: February 20, 2025 by Fernando Apesteguía