diff options
Diffstat (limited to 'en_US.ISO8859-1/books/porters-handbook/uses/chapter.xml')
-rw-r--r-- | en_US.ISO8859-1/books/porters-handbook/uses/chapter.xml | 3882 |
1 files changed, 0 insertions, 3882 deletions
diff --git a/en_US.ISO8859-1/books/porters-handbook/uses/chapter.xml b/en_US.ISO8859-1/books/porters-handbook/uses/chapter.xml deleted file mode 100644 index 37ef848f02..0000000000 --- a/en_US.ISO8859-1/books/porters-handbook/uses/chapter.xml +++ /dev/null @@ -1,3882 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!-- - The FreeBSD Documentation Project - - $FreeBSD$ - ---> - -<!-- - - Document up-to date with r441983 revision of the ports tree. - - This file documents the values of the USES make variable. The - format is easy to grasp from the already-added entries below (or use - this scheme below as a skeleton): - - <sect1 xml:id="uses-FEATURE"> - <title><literal>FEATURE</literal></title> - - <para>Possible arguments: ARGUMENTS</para> - - <para>DESCRIPTION</para> - </sect1> - ---> -<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink= - "http://www.w3.org/1999/xlink" version="5.0" xml:id="uses"> - - <title>Using <varname>USES</varname> Macros</title> - - <sect1 xml:id="uses-intro"> - <title>An Introduction to <varname>USES</varname></title> - - <para><varname>USES</varname> 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.</para> - - <para>Each section in this chapter describes a possible value for - <varname>USES</varname>, along with its possible arguments. - Arguments are appeneded to the value after a colon - (<literal>:</literal>). Multiple arguments are separated by - commas (<literal>,</literal>).</para> - - <example xml:id="uses-intro-ex1"> - <title>Using Multiple Values</title> - - <programlisting>USES= bison perl</programlisting> - </example> - - <example xml:id="uses-intro-ex2"> - <title>Adding an Argument</title> - - <programlisting>USES= tar:xz</programlisting> - </example> - - <example xml:id="uses-intro-ex3"> - <title>Adding Multiple Arguments</title> - - <programlisting>USES= drupal:7,theme</programlisting> - </example> - - <example xml:id="uses-intro-ex4"> - <title>Mixing it All Together</title> - - <programlisting>USES= pgsql:9.3+ cpe python:2.7,build</programlisting> - </example> - </sect1> - - <sect1 xml:id="uses-7z"> - <title><literal>7z</literal></title> - - <para>Possible arguments: (none), <literal>p7zip</literal>, - <literal>partial</literal></para> - - <para>Extract using &man.7z.1; instead of &man.bsdtar.1; and sets - <literal>EXTRACT_SUFX=.7z</literal>. The - <literal>p7zip</literal> option forces a dependency on the - <command>7z</command> from <package - role="port">archivers/p7zip</package> if the one from the base - system is not able to extract the files. - <varname>EXTRACT_SUFX</varname> is not changed if the - <literal>partial</literal> option is used, this can be used if - the main distribution file does not have a - <filename>.7z</filename> extension.</para> - </sect1> - - <sect1 xml:id="uses-ada"> - <title><literal>ada</literal></title> - - <para>Possible arguments: (none), - <literal>5</literal>, - <literal>6</literal></para> - - <para>Depends on an <application>Ada</application>-capable - compiler, and sets <varname>CC</varname> accordingly. Defaults - to use <application>gcc</application> 5 from ports. Use the - <literal>:<replaceable>X</replaceable></literal> version option - to force building with a different version.</para> - </sect1> - - <sect1 xml:id="uses-autoreconf"> - <title><literal>autoreconf</literal></title> - - <para>Possible arguments: (none), <literal>build</literal></para> - - <para>Runs <command>autoreconf</command>. It encapsulates the - <command>aclocal</command>, <command>autoconf</command>, - <command>autoheader</command>, <command>automake</command>, - <command>autopoint</command>, and <command>libtoolize</command> - commands. Each command applies to - <filename>${AUTORECONF_WRKSRC}/configure.ac</filename> or its - old name, - <filename>${AUTORECONF_WRKSRC}/configure.in</filename>. If - <filename>configure.ac</filename> defines subdirectories with - their own <filename>configure.ac</filename> using - <literal>AC_CONFIG_SUBDIRS</literal>, - <command>autoreconf</command> will recursively update those as - well. The <literal>:build</literal> argument only adds build - time dependencies on those tools but does not run - <command>autoreconf</command>. A port can set - <varname>AUTORECONF_WRKSRC</varname> if - <varname>WRKSRC</varname> does not contain the path to - <filename>configure.ac</filename>.</para> - </sect1> - - <sect1 xml:id="uses-blaslapack"> - <title><literal>blaslapack</literal></title> - - <para>Possible arguments: (none), <literal>atlas</literal>, - <literal>netlib</literal> (default), - <literal>gotoblas</literal>, <literal>openblas</literal></para> - - <para>Adds dependencies on Blas / Lapack libraries.</para> - </sect1> - - <sect1 xml:id="uses-bdb"> - <title><literal>bdb</literal></title> - - <para>Possible arguments: (none), <literal>48</literal>, - <literal>5</literal> (default), <literal>6</literal></para> - - <para>Add dependency on the <application>Berkeley DB</application> - library. Default to <package - role="port">databases/db5</package>. It can also depend on - <package role="port">databases/db48</package> when using the - <literal>:48</literal> argument or <package - role="port">databases/db6</package> with - <literal>:6</literal>. It is possible to declare a range of - acceptable values, <literal>:48+</literal> finds the highest - installed version, and falls back to 4.8 if nothing else is - installed. <varname>INVALID_BDB_VER</varname> can be used to - specify versions which do not work with this port. The - framework exposes the following variables to the port:</para> - - <variablelist> - <varlistentry> - <term><varname>BDB_LIB_NAME</varname></term> - - <listitem> - <para>The name of the <application>Berkeley DB</application> - library. For example, when using <package - role="port">databases/db5</package>, it contains - <literal>db-5.3</literal>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>BDB_LIB_CXX_NAME</varname></term> - - <listitem> - <para>The name of the <application>Berkeley DB</application> - <application>C++</application> library. For example, when - using <package role="port">databases/db5</package>, it - contains <literal>db_cxx-5.3</literal>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>BDB_INCLUDE_DIR</varname></term> - - <listitem> - <para>The location of the <application>Berkeley - DB</application> include directory. For example, when - using <package role="port">databases/db5</package>, it - will contain - <literal>${LOCALBASE}/include/db5</literal>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>BDB_LIB_DIR</varname></term> - - <listitem> - <para>The location of the <application>Berkeley - DB</application> library directory. For example, when - using <package role="port">databases/db5</package>, it - contains <literal>${LOCALBASE}/lib</literal>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>BDB_VER</varname></term> - - <listitem> - <para>The detected <application>Berkeley DB</application> - version. For example, if using - <literal>USES=bdb:48+</literal> and <application>Berkeley - DB</application> 5 is installed, it contains - <literal>5</literal>.</para> - </listitem> - </varlistentry> - </variablelist> - - - <important> - <para><package role="port">databases/db48</package> is - deprecated and unsupported. It must not be used by any - port.</para> - </important> - </sect1> - - <sect1 xml:id="uses-bison"> - <title><literal>bison</literal></title> - - <para>Possible arguments: (none), <literal>build</literal>, - <literal>run</literal>, <literal>both</literal></para> - - <para>Uses <package role="port">devel/bison</package> By default, - with no arguments or with the <literal>build</literal> argument, - it implies <command>bison</command> is a build-time dependency, - <literal>run</literal> implies a run-time dependency, and - <literal>both</literal> implies both run-time and build-time - dependencies.</para> - </sect1> - - <sect1 xml:id="uses-cabal"> - <title><literal>cabal</literal></title> - - <important> - <para>Ports should not be created for Haskell libraries, see - <xref linkend="haskell-libs"/> for more information.</para> - </important> - - <para>Possible arguments: (none), <literal>hpack</literal></para> - - <para>Sets default values and targets used to build - <application>Haskell</application> software using Cabal. - A build dependency on the Haskell compiler port (GHC) - is added. If <literal>hpack</literal> argument is given, - a build dependency on <package role="port">devel/hs-hpack</package> - is added and <command>hpack</command> is invoked at - configuration step to generate .cabal file.</para> - - <para>The framework provides the following variables:</para> - - <variablelist> - <varlistentry> - <term><varname>USE_CABAL</varname></term> - - <listitem> - <para>If the software uses Haskell dependencies, list them in - this variable. Each item should be present on Hackage and - be listed in form <literal>packagename-<replaceable>0.1.2</replaceable></literal>. - Dependencies can have revisions, which are specified after the - <literal>_</literal> symbol. Automatic generation of dependency - list is supported, see <xref linkend="using-cabal"/>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>CABAL_FLAGS</varname></term> - - <listitem> - <para>List of flags to be passed to <command>cabal-install</command> - during the configuring and building stage. The flags are - passed verbatim.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>EXECUTABLES</varname></term> - - <listitem> - <para>List of executable files installed by the port. - Default value: <varname>${PORTNAME}</varname>. - Items from this list are automatically added to pkg-plist.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>SKIP_CABAL_PLIST</varname></term> - - <listitem> - <para>If defined, do not add items from - <varname>${EXECUTABLES}</varname> to pkg-plist.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>opt_USE_CABAL</varname></term> - - <listitem> - <para>Adds items to <varname>${USE_CABAL}</varname> - depending on <literal>opt</literal> option.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>opt_EXECUTABLES</varname></term> - - <listitem> - <para>Adds items to <varname>${EXECUTABLES}</varname> - depending on <literal>opt</literal> option.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>opt_CABAL_FLAGS</varname></term> - - <listitem> - <para>If <option>opt</option> is enabled, append the value - to <varname>${CABAL_FLAGS}</varname>. Otherwise, append - <literal>-value</literal> to disable the flag.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>FOO_DATADIR_VARS</varname></term> - - <listitem> - <para>For an executable named <literal>FOO</literal> - list Haskell packages, whose data files - should be accessible by the executable.</para> - </listitem> - </varlistentry> - </variablelist> - </sect1> - - <sect1 xml:id="uses-cargo"> - <title><literal>cargo</literal></title> - - <para>Possible arguments: (none)</para> - - <para>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 <xref - linkend="using-cargo" />.</para> - </sect1> - - <sect1 xml:id="uses-charsetfix"> - <title><literal>charsetfix</literal></title> - - <para>Possible arguments: (none)</para> - - <para>Prevents the port from installing - <filename>charset.alias</filename>. This must be installed only - by <package role="port">converters/libiconv</package>. - <varname>CHARSETFIX_MAKEFILEIN</varname> can be set to a path - relative to <varname>WRKSRC</varname> if - <filename>charset.alias</filename> is not installed by - <filename>${WRKSRC}/Makefile.in</filename>.</para> - </sect1> - - <sect1 xml:id="uses-cmake"> - <title><literal>cmake</literal></title> - - <para>Possible arguments: (none), <literal>insource</literal>, - <literal>noninja</literal>, <literal>run</literal></para> - - <para>Uses <application>CMake</application> for configuring and - building.</para> - - <para>By default an out-of-source build is performed, leaving the - sources in <varname>WRKSRC</varname> free from build artifacts. - With the <literal>insource</literal> argument, an in-source - build will be performed instead. Setting it should be the - exception when a regular out-of-source build does not - work.</para> - - <para>By default <application>Ninja</application> is used for - the build. In some cases this does not work correctly. With - the <literal>noninja</literal> argument, the build will - fallback to using regular <command>make</command> for builds. - It should only be used if a - <application>Ninja</application>-based build does not - work.</para> - - <para>With the <literal>run</literal> argument, a run dependency - is registered in addition to a build dependency.</para> - - <para>For more information see <xref linkend="using-cmake"/>.</para> - </sect1> - - <sect1 xml:id="uses-compiler"> - <title><literal>compiler</literal></title> - - <para>Possible arguments: (none), <literal>env</literal> - (default, implicit), <literal>c++17-lang</literal>, - <literal>c++14-lang</literal>, - <literal>c++11-lang</literal>, <literal>gcc-c++11-lib</literal>, - <literal>c++11-lib</literal>, <literal>c++0x</literal>, - <literal>c11</literal>, <literal>openmp</literal>, - <literal>nestedfct</literal>, <literal>features</literal></para> - - <para>Determines which compiler to use based on any given wishes. - Use <literal>c++17-lang</literal> if the port needs a - C++17-capable compiler, - <literal>c++14-lang</literal> if the port needs a - C++14-capable compiler, <literal>c++11-lang</literal> - if the port needs a C++11-capable compiler, - <literal>gcc-c++11-lib</literal> if the - port needs the <command>g++</command> compiler with a C++11 - library, or <literal>c++11-lib</literal> if the port needs - a C++11-ready standard library. If the port needs a compiler - understanding C++0X, C11, OpenMP, or nested functions, - the corresponding parameters should be used.</para> - - <para>Use - <literal>features</literal> to request a list of features - supported by the default compiler. After including - <filename>bsd.port.pre.mk</filename> the port can inspect the - results using these variables:</para> - - <itemizedlist> - <listitem> - <para><varname>COMPILER_TYPE</varname>: the default compiler - on the system, either gcc or clang</para> - </listitem> - - <listitem> - <para><varname>ALT_COMPILER_TYPE</varname>: the alternative - compiler on the system, either gcc or clang. Only set if - two compilers are present in the base system.</para> - </listitem> - - <listitem> - <para><varname>COMPILER_VERSION</varname>: the first two - digits of the version of the default compiler.</para> - </listitem> - - <listitem> - <para><varname>ALT_COMPILER_VERSION</varname>: the first two - digits of the version of the alternative compiler, if - present.</para> - </listitem> - - <listitem> - <para><varname>CHOSEN_COMPILER_TYPE</varname>: the chosen - compiler, either gcc or clang</para> - </listitem> - - <listitem> - <para><varname>COMPILER_FEATURES</varname>: the features - supported by the default compiler. It currently lists the - C++ library.</para> - </listitem> - </itemizedlist> - </sect1> - - <sect1 xml:id="uses-cpe"> - <title><literal>cpe</literal></title> - - <para>Possible arguments: (none)</para> - - <para>Include Common Platform Enumeration - (<acronym>CPE</acronym>) information in package manifest as a - <acronym>CPE</acronym> 2.3 formatted string. See the <link - xlink:href="http://scap.nist.gov/specifications/cpe/"><acronym>CPE</acronym> - specification</link> for details. To add - <acronym>CPE</acronym> information to a port, follow these - steps:</para> - - <procedure> - <step> - <para>Search for the official CPE entry for the software - product either by using the NVD's <link - xlink:href="http://web.nvd.nist.gov/view/cpe/search"><acronym>CPE</acronym> - search engine</link> or in the <link - xlink:href="http://static.nvd.nist.gov/feeds/xml/cpe/dictionary/official-cpe-dictionary_v2.3.xml">official - <acronym>CPE</acronym> dictionary</link> (warning, very - large <acronym>XML</acronym> file). <emphasis>Do not ever - make up <acronym>CPE</acronym> data.</emphasis></para> - </step> - - <step> - <para>Add <literal>cpe</literal> to <varname>USES</varname> - and compare the result of <command>make -V CPE_STR</command> - to the <acronym>CPE</acronym> dictionary entry. Continue one - step at a time until <command>make -V CPE_STR</command> is - correct.</para> - </step> - - <step> - <para>If the product name (second field, defaults to - <varname>PORTNAME</varname>) is incorrect, define - <varname>CPE_PRODUCT</varname>.</para> - </step> - - <step> - <para>If the vendor name (first field, defaults to - <varname>CPE_PRODUCT</varname>) is incorrect, define - <varname>CPE_VENDOR</varname>.</para> - </step> - - <step> - <para>If the version field (third field, defaults to - <varname>PORTVERSION</varname>) is incorrect, define - <varname>CPE_VERSION</varname>.</para> - </step> - - <step> - <para>If the update field (fourth field, defaults to empty) is - incorrect, define <varname>CPE_UPDATE</varname>.</para> - </step> - - <step> - <para>If it is still not correct, check - <filename>Mk/Uses/cpe.mk</filename> for additional details, - or contact the &a.ports-secteam;.</para> - </step> - - <step> - <para>Derive as much as possible of the <acronym>CPE</acronym> - name from existing variables such as - <varname>PORTNAME</varname> and - <varname>PORTVERSION</varname>. Use variable modifiers to - extract the relevant portions from these variables rather - than hardcoding the name.</para> - </step> - - <step> - <para><emphasis>Always</emphasis> run <command>make -V - CPE_STR</command> and check the output before committing - anything that changes <varname>PORTNAME</varname> or - <varname>PORTVERSION</varname> or any other variable which - is used to derive <varname>CPE_STR</varname>.</para> - </step> - </procedure> - </sect1> - - <sect1 xml:id="uses-cran"> - <title><literal>cran</literal></title> - - <para>Possible arguments: (none), - <literal>auto-plist</literal>, - <literal>compiles</literal></para> - - <para>Uses the Comprehensive R Archive Network. Specify - <varname>auto-plist</varname> to automatically generate - <filename>pkg-plist</filename>. Specify - <literal>compiles</literal> if the port has code that need to be - compiled.</para> - </sect1> - - <sect1 xml:id="uses-desktop-file-utils"> - <title><literal>desktop-file-utils</literal></title> - - <para>Possible arguments: (none)</para> - - <para>Uses <application>update-desktop-database</application> from - <package role="port">devel/desktop-file-utils</package>. An - extra post-install step will be run without interfering with any - post-install steps already in the port - <filename>Makefile</filename>. A line with <link - linkend="plist-keywords-desktop-file-utils"><literal>@desktop-file-utils</literal></link> - will be added to the plist.</para> - </sect1> - - <sect1 xml:id="uses-desthack"> - <title><literal>desthack</literal></title> - - <para>Possible arguments: (none)</para> - - <para>Changes the behavior of GNU configure to properly support - <varname>DESTDIR</varname> in case the original software does - not.</para> - </sect1> - - <sect1 xml:id="uses-display"> - <title><literal>display</literal></title> - - <para>Possible arguments: (none), - <replaceable>ARGS</replaceable></para> - - <para>Set up a virtual display environment. If the environment - variable <varname>DISPLAY</varname> is not set, then - <application>Xvfb</application> is added as a build dependency, - and <varname>CONFIGURE_ENV</varname> is extended with the port - number of the currently running instance of - <application>Xvfb</application>. The - <replaceable>ARGS</replaceable> - parameter defaults to <literal>install</literal> and controls - the phase around which to start and stop the virtual - display.</para> - </sect1> - - <sect1 xml:id="uses-dos2unix"> - <title><literal>dos2unix</literal></title> - - <para>Possible arguments: (none)</para> - - <para>The port has files with line endings in - <acronym>DOS</acronym> format which need to be converted. - Several variables can be set to control which files will be - converted. The default is to convert <emphasis>all</emphasis> - files, including binaries. See <xref - linkend="slow-patch-automatic-replacements"/> for - examples.</para> - - <itemizedlist> - <listitem> - <para><varname>DOS2UNIX_REGEX</varname>: match file names - based on a regular expression.</para> - </listitem> - - <listitem> - <para><varname>DOS2UNIX_FILES</varname>: match literal file - names.</para> - </listitem> - - <listitem> - <para><varname>DOS2UNIX_GLOB</varname>: match file names based - on a glob pattern.</para> - </listitem> - - <listitem> - <para><varname>DOS2UNIX_WRKSRC</varname>: the directory from - which to start the conversions. Defaults to - <literal>${WRKSRC}</literal>.</para> - </listitem> - </itemizedlist> - </sect1> - - <sect1 xml:id="uses-drupal"> - <title><literal>drupal</literal></title> - - <para>Possible arguments: - <literal>7</literal>, <literal>module</literal>, - <literal>theme</literal></para> - - <para>Automate installation of a port that is a - <application>Drupal</application> theme or module. Use with the - version of Drupal that the port is expecting. For example, - <literal>USES=drupal:7,module</literal> says that this port - creates a Drupal 6 module. A Drupal 7 theme can be specified - with <literal>USES=drupal:7,theme</literal>.</para> - </sect1> - - <sect1 xml:id="uses-eigen"> - <title><literal>eigen</literal></title> - - <para>Possible arguments: 2, 3, build (default), run</para> - - <para>Add dependency on <package - role="port">math/eigen</package>.</para> - </sect1> - - <sect1 xml:id="uses-fakeroot"> - <title><literal>fakeroot</literal></title> - - <para>Possible arguments: (none)</para> - - <para>Changes some default behavior of build systems to allow - installing as a user. See <link - xlink:href="https://wiki.debian.org/FakeRoot"/> for more - information on <command>fakeroot</command>.</para> - </sect1> - - <sect1 xml:id="uses-fam"> - <title><literal>fam</literal></title> - - <para>Possible arguments: (none), <literal>fam</literal>, - <literal>gamin</literal></para> - - <para>Uses a File Alteration Monitor as a library dependency, - either <package role="port">devel/fam</package> or <package - role="port">devel/gamin</package>. End users can set - WITH_FAM_SYSTEM to specify their preference.</para> - </sect1> - - <sect1 xml:id="uses-firebird"> - <title><literal>firebird</literal></title> - - <para>Possible arguments: (none), <literal>25</literal></para> - - <para>Add a dependency to the client library of the Firebird - database.</para> - </sect1> - - <sect1 xml:id="uses-fonts"> - <title><literal>fonts</literal></title> - - <para>Possible arguments: (none), <literal>fc</literal>, - <literal>fcfontsdir</literal> (default), - <literal>fontsdir</literal>, <literal>none</literal></para> - - <para>Adds a runtime dependency on tools needed to register fonts. - Depending on the argument, add a <literal><link - linkend="plist-keywords-fc">@fc</link> ${FONTSDIR}</literal> - line, <literal><link - linkend="plist-keywords-fcfontsdir">@fcfontsdir</link> - ${FONTSDIR}</literal> line, <literal><link - linkend="plist-keywords-fontsdir">@fontsdir</link> - ${FONTSDIR}</literal> line, or no line if the argument is - <literal>none</literal>, to the plist. - <varname>FONTSDIR</varname> defaults to - <filename>${PREFIX}/share/fonts/${FONTNAME}</filename> and - <varname>FONTNAME</varname> to <literal>${PORTNAME}</literal>. - Add <literal>FONTSDIR</literal> to <varname>PLIST_SUB</varname> - and <varname>SUB_LIST</varname></para> - </sect1> - - <sect1 xml:id="uses-fortran"> - <title><literal>fortran</literal></title> - - <para>Possible arguments: <literal>gcc</literal> (default)</para> - - <para>Uses the GNU Fortran compiler.</para> - </sect1> - - <sect1 xml:id="uses-fuse"> - <title><literal>fuse</literal></title> - - <para>Possible arguments: <literal>2</literal> (default), - <literal>3</literal></para> - - <para>The port will depend on the FUSE library and handle the - dependency on the kernel module depending on the version of - &os;.</para> - </sect1> - - <sect1 xml:id="uses-gem"> - <title><literal>gem</literal></title> - - <para>Possible arguments: (none), - <literal>noautoplist</literal></para> - - <para>Handle building with <application>RubyGems</application>. - If <literal>noautoplist</literal> is used, the packing list is - not generated automatically.</para> - </sect1> - - <sect1 xml:id="uses-gettext"> - <title><literal>gettext</literal></title> - - <para>Possible arguments: (none)</para> - - <para>Deprecated. Will include both <link - linkend="uses-gettext-runtime"><literal>gettext-runtime</literal></link> - and <link - linkend="uses-gettext-tools"><literal>gettext-tools</literal></link>.</para> - </sect1> - - <sect1 xml:id="uses-gettext-runtime"> - <title><literal>gettext-runtime</literal></title> - - <para>Possible arguments: (none), <literal>lib</literal> - (default), <literal>build</literal>, - <literal>run</literal></para> - - <para>Uses <package role="port">devel/gettext-runtime</package>. - By default, with no arguments or with the <literal>lib</literal> - argument, implies a library dependency on - <filename>libintl.so</filename>. <literal>build</literal> and - <literal>run</literal> implies, respectively a build-time and a - run-time dependency on <filename>gettext</filename>.</para> - </sect1> - - <sect1 xml:id="uses-gettext-tools"> - <title><literal>gettext-tools</literal></title> - - <para>Possible arguments: (none), <literal>build</literal> - (default), <literal>run</literal></para> - - <para>Uses <package role="port">devel/gettext-tools</package>. By - default, with no argument, or with the <literal>build</literal> - argument, a build time dependency on <filename>msgfmt</filename> - is registered. With the <literal>run</literal> argument, a - run-time dependency is registered.</para> - </sect1> - - <sect1 xml:id="uses-ghostscript"> - <title><literal>ghostscript</literal></title> - - <para>Possible arguments: <replaceable>X</replaceable>, - <literal>build</literal>, <literal>run</literal>, - <literal>nox11</literal></para> - - <para>A specific version <replaceable>X</replaceable> can be used. - Possible versions are <literal>7</literal>, - <literal>8</literal>, <literal>9</literal>, and - <literal>agpl</literal> (default). <literal>nox11</literal> - indicates - that the <literal>-nox11</literal> version of the port is - required. <literal>build</literal> and <literal>run</literal> - add build- and run-time dependencies on - <application>Ghostscript</application>. The default is both - build- and run-time dependencies.</para> - </sect1> - - <sect1 xml:id="uses-gl"> - <title><literal>gl</literal></title> - - <para>Possible arguments: (none)</para> - - <para>Provides an easy way to depend on - <application>GL</application> components. The components - should be listed in <varname>USE_GL</varname>. The available - components are:</para> - - <variablelist> - <varlistentry> - <term><literal>egl</literal></term> - - <listitem> - <para>add a library dependency on <filename>libEGL.so</filename> - from <package role="port">graphics/mesa-libs</package></para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>gbm</literal></term> - - <listitem> - <para>Add a library dependency on <filename>libgbm.so</filename> - from <package role="port">graphics/mesa-libs</package></para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>gl</literal></term> - - <listitem> - <para>Add a library dependency on <filename>libGL.so</filename> - from <package role="port">graphics/mesa-libs</package></para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>glesv2</literal></term> - - <listitem> - <para>Add a library dependency on <filename>libGLESv2.so</filename> - from <package role="port">graphics/mesa-libs</package></para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>glew</literal></term> - - <listitem> - <para>Add a library dependency on <filename>libGLEW.so</filename> - from <package role="port">graphics/glew</package></para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>glu</literal></term> - - <listitem> - <para>Add a library dependency on <filename>libGLU.so</filename> - from <package role="port">graphics/libGLU</package></para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>glut</literal></term> - - <listitem> - <para>Add a library dependency on <filename>libglut.so</filename> - from <package role="port">graphics/freeglut</package></para> - </listitem> - </varlistentry> - </variablelist> - </sect1> - - <sect1 xml:id="uses-gmake"> - <title><literal>gmake</literal></title> - - <para>Possible arguments: (none)</para> - - <para>Uses <package role="port">devel/gmake</package> as a - build-time dependency and sets up the environment to use - <command>gmake</command> as the default <command>make</command> - for the build.</para> - </sect1> - - <sect1 xml:id="uses-gnome"> - <title><literal>gnome</literal></title> - - <para>Possible arguments: (none)</para> - - <para>Provides an easy way to depend on - <application>GNOME</application> components. The components - should be listed in <varname>USE_GNOME</varname>. The available - components are:</para> - - <!-- - From any port with USES=gnome, run: - $ make -V '${_USE_GNOME_ALL:O:u:C,.*,<listitem> <para><literal>&</literal></para> </listitem> ,}' - replace all spaces with new lines and reindent. - --> - <itemizedlist> - <listitem> - <para><literal>atk</literal></para> - </listitem> - - <listitem> - <para><literal>atkmm</literal></para> - </listitem> - - <listitem> - <para><literal>cairo</literal></para> - </listitem> - - <listitem> - <para><literal>cairomm</literal></para> - </listitem> - - <listitem> - <para><literal>dconf</literal></para> - </listitem> - - <listitem> - <para><literal>esound</literal></para> - </listitem> - - <listitem> - <para><literal>evolutiondataserver3</literal></para> - </listitem> - - <listitem> - <para><literal>gconf2</literal></para> - </listitem> - - <listitem> - <para><literal>gconfmm26</literal></para> - </listitem> - - <listitem> - <para><literal>gdkpixbuf</literal></para> - </listitem> - - <listitem> - <para><literal>gdkpixbuf2</literal></para> - </listitem> - - <listitem> - <para><literal>glib12</literal></para> - </listitem> - - <listitem> - <para><literal>glib20</literal></para> - </listitem> - - <listitem> - <para><literal>glibmm</literal></para> - </listitem> - - <listitem> - <para><literal>gnomecontrolcenter3</literal></para> - </listitem> - - <listitem> - <para><literal>gnomedesktop3</literal></para> - </listitem> - - <listitem> - <para><literal>gnomedocutils</literal></para> - </listitem> - - <listitem> - <para><literal>gnomemenus3</literal></para> - </listitem> - - <listitem> - <para><literal>gnomemimedata</literal></para> - </listitem> - - <listitem> - <para><literal>gnomeprefix</literal></para> - </listitem> - - <listitem> - <para><literal>gnomesharp20</literal></para> - </listitem> - - <listitem> - <para><literal>gnomevfs2</literal></para> - </listitem> - - <listitem> - <para><literal>gsound</literal></para> - </listitem> - - <listitem> - <para><literal>gtk-update-icon-cache</literal></para> - </listitem> - - <listitem> - <para><literal>gtk12</literal></para> - </listitem> - - <listitem> - <para><literal>gtk20</literal></para> - </listitem> - - <listitem> - <para><literal>gtk30</literal></para> - </listitem> - - <listitem> - <para><literal>gtkhtml3</literal></para> - </listitem> - - <listitem> - <para><literal>gtkhtml4</literal></para> - </listitem> - - <listitem> - <para><literal>gtkmm20</literal></para> - </listitem> - - <listitem> - <para><literal>gtkmm24</literal></para> - </listitem> - - <listitem> - <para><literal>gtkmm30</literal></para> - </listitem> - - <listitem> - <para><literal>gtksharp20</literal></para> - </listitem> - - <listitem> - <para><literal>gtksourceview</literal></para> - </listitem> - - <listitem> - <para><literal>gtksourceview2</literal></para> - </listitem> - - <listitem> - <para><literal>gtksourceview3</literal></para> - </listitem> - - <listitem> - <para><literal>gtksourceviewmm3</literal></para> - </listitem> - - <listitem> - <para><literal>gvfs</literal></para> - </listitem> - - <listitem> - <para><literal>intlhack</literal></para> - </listitem> - - <listitem> - <para><literal>intltool</literal></para> - </listitem> - - <listitem> - <para><literal>introspection</literal></para> - </listitem> - - <listitem> - <para><literal>libartlgpl2</literal></para> - </listitem> - - <listitem> - <para><literal>libbonobo</literal></para> - </listitem> - - <listitem> - <para><literal>libbonoboui</literal></para> - </listitem> - - <listitem> - <para><literal>libgda5</literal></para> - </listitem> - - <listitem> - <para><literal>libgda5-ui</literal></para> - </listitem> - - <listitem> - <para><literal>libgdamm5</literal></para> - </listitem> - - <listitem> - <para><literal>libglade2</literal></para> - </listitem> - - <listitem> - <para><literal>libgnome</literal></para> - </listitem> - - <listitem> - <para><literal>libgnomecanvas</literal></para> - </listitem> - - <listitem> - <para><literal>libgnomekbd</literal></para> - </listitem> - - <listitem> - <para><literal>libgnomeprint</literal></para> - </listitem> - - <listitem> - <para><literal>libgnomeprintui</literal></para> - </listitem> - - <listitem> - <para><literal>libgnomeui</literal></para> - </listitem> - - <listitem> - <para><literal>libgsf</literal></para> - </listitem> - - <listitem> - <para><literal>libgtkhtml</literal></para> - </listitem> - - <listitem> - <para><literal>libgtksourceviewmm</literal></para> - </listitem> - - <listitem> - <para><literal>libidl</literal></para> - </listitem> - - <listitem> - <para><literal>librsvg2</literal></para> - </listitem> - - <listitem> - <para><literal>libsigc++12</literal></para> - </listitem> - - <listitem> - <para><literal>libsigc++20</literal></para> - </listitem> - - <listitem> - <para><literal>libwnck</literal></para> - </listitem> - - <listitem> - <para><literal>libwnck3</literal></para> - </listitem> - - <listitem> - <para><literal>libxml++26</literal></para> - </listitem> - - <listitem> - <para><literal>libxml2</literal></para> - </listitem> - - <listitem> - <para><literal>libxslt</literal></para> - </listitem> - - <listitem> - <para><literal>metacity</literal></para> - </listitem> - - <listitem> - <para><literal>nautilus3</literal></para> - </listitem> - - <listitem> - <para><literal>orbit2</literal></para> - </listitem> - - <listitem> - <para><literal>pango</literal></para> - </listitem> - - <listitem> - <para><literal>pangomm</literal></para> - </listitem> - - <listitem> - <para><literal>pangox-compat</literal></para> - </listitem> - - <listitem> - <para><literal>py3gobject3</literal></para> - </listitem> - - <listitem> - <para><literal>pygnome2</literal></para> - </listitem> - - <listitem> - <para><literal>pygobject</literal></para> - </listitem> - - <listitem> - <para><literal>pygobject3</literal></para> - </listitem> - - <listitem> - <para><literal>pygtk2</literal></para> - </listitem> - - <listitem> - <para><literal>pygtksourceview</literal></para> - </listitem> - - <listitem> - <para><literal>referencehack</literal></para> - </listitem> - - <listitem> - <para><literal>vte</literal></para> - </listitem> - - <listitem> - <para><literal>vte3</literal></para> - </listitem> - </itemizedlist> - - <para>The default dependency is build- and run-time, it can be - changed with <literal>:build</literal> or - <literal>:run</literal>. For example:</para> - - <programlisting>USES= gnome -USE_GNOME= gnomemenus3:build intlhack</programlisting> - - <para>See <xref linkend="using-gnome"/> for more - information.</para> - </sect1> - - <sect1 xml:id="uses-go"> - <title><literal>go</literal></title> - - <important> - <para>Ports should not be created for Go libs, see - <xref linkend="go-libs"/> for more information.</para> - </important> - - <para>Possible arguments: (none), <literal>modules</literal>, - <literal>no_targets</literal>, <literal>run</literal></para> - - <para>Sets default values and targets used to build - <application>Go</application> software. A build dependency - on the Go compiler port selected via <varname>GO_PORT</varname> - 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 <literal>modules</literal> argument. - <literal>no_targets</literal> will setup build environment like - <varname>GO_ENV</varname>, <varname>GO_BUILDFLAGS</varname> but - skip creating <buildtarget>post-extract</buildtarget> and - <buildtarget>do-{build,install,test}</buildtarget> targets. - <literal>run</literal> will also add a run dependency on - what is in <varname>GO_PORT</varname>.</para> - - <para>The build process is controlled by several variables:</para> - - <variablelist> - <varlistentry> - <term><varname>GO_PKGNAME</varname></term> - - <listitem> - <para>The name of the <application>Go</application> package - when building in GOPATH mode. This is the directory that - will be created in <literal>${GOPATH}/src</literal>. If - not set explicitly and <varname>GH_SUBDIR</varname> or - <varname>GL_SUBDIR</varname> is present, - <varname>GO_PKGNAME</varname> will be inferred from it. - It is not needed when building in modules-aware - mode.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>GO_TARGET</varname></term> - - <listitem> - <para>The packages to build. The default - value is <varname>${GO_PKGNAME}</varname>. - <varname>GO_TARGET</varname> can also be a tuple in the - form <literal>package:path</literal> where path can be - either a simple filename or a full path starting with - <literal>${PREFIX}</literal>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>GO_TESTTARGET</varname></term> - - <listitem> - <para>The packages to test. The default - value is <literal>./...</literal> (the current package - and all subpackages).</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>CGO_CFLAGS</varname></term> - - <listitem> - <para>Additional <varname>CFLAGS</varname> values to be - passed to the <application>C</application> compiler by - <command>go</command>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>CGO_LDFLAGS</varname></term> - - <listitem> - <para>Additional <varname>LDFLAGS</varname> values to be - passed to the <application>C</application> compiler by - <command>go</command>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>GO_BUILDFLAGS</varname></term> - - <listitem> - <para>Additional build arguments to be passed to - <command>go build</command>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>GO_TESTFLAGS</varname></term> - - <listitem> - <para>Additional build arguments to be passed to - <command>go test</command>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>GO_PORT</varname></term> - - <listitem> - <para>The Go compiler port to use. By default this is - <package role="port">lang/go</package> but can be set - to <package role="port">lang/go-devel</package> in - <literal>make.conf</literal> for testing with future Go - versions.</para> - - <warning> - <para>This variable must not be set by individual - ports!</para> - </warning> - </listitem> - </varlistentry> - </variablelist> - - <para>See <xref linkend="using-go" /> for usage examples.</para> - </sect1> - - <sect1 xml:id="uses-gperf"> - <title><literal>gperf</literal></title> - - <para>Possible arguments: (none)</para> - - <para>Add a buildtime dependency on <package - role="port">devel/gperf</package> if <command>gperf</command> - is not present in the base system.</para> - </sect1> - - <sect1 xml:id="uses-grantlee"> - <title><literal>grantlee</literal></title> - - <para>Possible arguments: <literal>5</literal>, - <literal>selfbuild</literal></para> - - <para>Handle dependency on <application>Grantlee</application>. - Specify <literal>5</literal> to depend on the - <application>Qt5</application> based version, <package - role="port">devel/grantlee5</package>. - <literal>selfbuild</literal> is used internally by <package - role="port">devel/grantlee5</package> to get their versions - numbers.</para> - </sect1> - - <sect1 xml:id="uses-groff"> - <title><literal>groff</literal></title> - - <para>Possible arguments: <literal>build</literal>, - <literal>run</literal>, <literal>both</literal></para> - - <para>Registers a dependency on <package - role="port">textproc/groff</package> if not present in the - base system.</para> - </sect1> - - <sect1 xml:id="uses-gssapi"> - <title><literal>gssapi</literal></title> - - <para>Possible arguments: (none), <literal>base</literal> - (default), <literal>heimdal</literal>, <literal>mit</literal>, - <literal>flags</literal>, <literal>bootstrap</literal></para> - - <para>Handle dependencies needed by consumers of the - <acronym>GSS-API</acronym>. Only libraries that provide the - <application>Kerberos</application> mechanism are available. By - default, or set to <literal>base</literal>, the - <acronym>GSS-API</acronym> library from the base system is used. - Can also be set to <literal>heimdal</literal> to use <package - role="port">security/heimdal</package>, or - <literal>mit</literal> to use <package - role="port">security/krb5</package>.</para> - - <para>When the local <application>Kerberos</application> - installation is not in <varname>LOCALBASE</varname>, set - <varname>HEIMDAL_HOME</varname> (for <literal>heimdal</literal>) - or <varname>KRB5_HOME</varname> (for <literal>krb5</literal>) to - the location of the <application>Kerberos</application> - installation.</para> - - <para>These variables are exported for the ports to use:</para> - - <itemizedlist> - <listitem> - <para><varname>GSSAPIBASEDIR</varname></para> - </listitem> - - <listitem> - <para><varname>GSSAPICPPFLAGS</varname></para> - </listitem> - - <listitem> - <para><varname>GSSAPIINCDIR</varname></para> - </listitem> - - <listitem> - <para><varname>GSSAPILDFLAGS</varname></para> - </listitem> - - <listitem> - <para><varname>GSSAPILIBDIR</varname></para> - </listitem> - - <listitem> - <para><varname>GSSAPILIBS</varname></para> - </listitem> - - <listitem> - <para><varname>GSSAPI_CONFIGURE_ARGS</varname></para> - </listitem> - </itemizedlist> - - <para>The <literal>flags</literal> option can be given alongside - <literal>base</literal>, <literal>heimdal</literal>, or - <literal>mit</literal> to automatically add - <varname>GSSAPICPPFLAGS</varname>, - <varname>GSSAPILDFLAGS</varname>, and - <varname>GSSAPILIBS</varname> to <varname>CFLAGS</varname>, - <varname>LDFLAGS</varname>, and <varname>LDADD</varname>, - respectively. For example, use - <literal>base,flags</literal>.</para> - - <para>The <literal>bootstrap</literal> option is a special prefix - only for use by <package role="port">security/krb5</package> and - <package role="port">security/heimdal</package>. For example, - use <literal>bootstrap,mit</literal>.</para> - - <example xml:id="uses-gssapi-ex1"> - <title>Typical Use</title> - - <programlisting>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</programlisting> - </example> - </sect1> - - <sect1 xml:id="uses-horde"> - <title><literal>horde</literal></title> - - <para>Possible arguments: (none)</para> - - <para>Add buildtime and runtime dependencies on <package - role="port">devel/pear-channel-horde</package>. Other - <application>Horde</application> dependencies can be added - with <varname>USE_HORDE_BUILD</varname> and - <varname>USE_HORDE_RUN</varname>. See <xref - linkend="php-horde"/> for more information.</para> - </sect1> - - <sect1 xml:id="uses-iconv"> - <title><literal>iconv</literal></title> - - <para>Possible arguments: (none), <literal>lib</literal>, - <literal>build</literal>, - <literal>patch</literal>, <literal>translit</literal>, - <literal>wchar_t</literal></para> - - <para>Uses <command>iconv</command> functions, either from the - port <package role="port">converters/libiconv</package> as a - build-time and run-time dependency, or from the base system on - 10-CURRENT after a native <command>iconv</command> was committed - in <revnumber>254273</revnumber>. By default, with no arguments - or with the <literal>lib</literal> argument, implies - <command>iconv</command> with build-time and run-time - dependencies. <literal>build</literal> implies a build-time - dependency, and <literal>patch</literal> implies a patch-time - dependency. If the port uses the <literal>WCHAR_T</literal> or - <literal>//TRANSLIT</literal> iconv extensions, add the relevant - arguments so that the correct iconv is used. For more - information see <xref linkend="using-iconv"/>.</para> - </sect1> - - <sect1 xml:id="uses-imake"> - <title><literal>imake</literal></title> - - <para>Possible arguments: (none), <literal>env</literal>, - <literal>notall</literal>, <literal>noman</literal></para> - - <para>Add <package role="port">devel/imake</package> as a - build-time dependency and run <command>xmkmf -a</command> during - the <buildtarget>configure</buildtarget> stage. If the - <literal>env</literal> argument is given, the - <buildtarget>configure</buildtarget> target is not set. If the - <option>-a</option> flag is a problem for the port, add the - <literal>notall</literal> argument. If <command>xmkmf</command> - does not generate a <buildtarget>install.man</buildtarget> - target, add the <literal>noman</literal> argument.</para> - </sect1> - - <sect1 xml:id="uses-kde"> - <title><literal>kde</literal></title> - - <para>Possible arguments: <literal>5</literal></para> - - <para>Add dependency on <application>KDE</application> components. - See <xref linkend="using-kde"/> for more information.</para> - </sect1> - - <sect1 xml:id="uses-kmod"> - <title><literal>kmod</literal></title> - - <para>Possible arguments: (none), <literal>debug</literal></para> - - <para>Fills in the boilerplate for kernel module ports, - currently:</para> - - <itemizedlist> - <listitem> - <para>Add <literal>kld</literal> to - <varname>CATEGORIES</varname>.</para> - </listitem> - - <listitem> - <para>Set <varname>SSP_UNSAFE</varname>.</para> - </listitem> - - <listitem> - <para>Set <varname>IGNORE</varname> if the kernel sources are - not found in <varname>SRC_BASE</varname>.</para> - </listitem> - - <listitem> - <para>Define <varname>KMODDIR</varname> to - <filename>/boot/modules</filename> by default, add it to - <varname>PLIST_SUB</varname> and - <varname>MAKE_ENV</varname>, and create it upon - installation. If <varname>KMODDIR</varname> is set to - <filename>/boot/kernel</filename>, it will be rewritten to - <filename>/boot/modules</filename>. This prevents breaking - packages when upgrading the kernel due to - <filename>/boot/kernel</filename> being renamed to - <filename>/boot/kernel.old</filename> in the process.</para> - </listitem> - - <listitem> - <para>Handle cross-referencing kernel modules upon - installation and deinstallation, using <link - linkend="plist-keywords-kld"><literal>@kld</literal></link>.</para> - </listitem> - - <listitem> - <para>If the <literal>debug</literal> argument is given, the - port can install a debug version of the module into - <filename>KERN_DEBUGDIR</filename>/<filename>KMODDIR</filename>. - By default, <varname>KERN_DEBUGDIR</varname> is copied from - <varname>DEBUGDIR</varname> and set to - <filename>/usr/lib/debug</filename>. The framework will - take care of creating and removing any required - directories.</para> - </listitem> - </itemizedlist> - </sect1> - - <sect1 xml:id="uses-lha"> - <title><literal>lha</literal></title> - - <para>Possible arguments: (none)</para> - - <para>Set <varname>EXTRACT_SUFX</varname> to - <literal>.lzh</literal></para> - </sect1> - - <sect1 xml:id="uses-libarchive"> - <title><literal>libarchive</literal></title> - - <para>Possible arguments: (none)</para> - - <para>Registers a dependency on <package - role="port">archivers/libarchive</package>. Any ports - depending on <application>libarchive</application> must include - <literal>USES=libarchive</literal>.</para> - </sect1> - - <sect1 xml:id="uses-libedit"> - <title><literal>libedit</literal></title> - - <para>Possible arguments: (none)</para> - - <para>Registers a dependency on <package - role="port">devel/libedit</package>. Any ports depending on - <application>libedit</application> must include - <literal>USES=libedit</literal>.</para> - </sect1> - - <sect1 xml:id="uses-libtool"> - <title><literal>libtool</literal></title> - - <para>Possible arguments: (none), <literal>keepla</literal>, - <literal>build</literal></para> - - <para>Patches <command>libtool</command> scripts. This must be - added to all ports that use <command>libtool</command>. The - <literal>keepla</literal> argument can be used to keep - <filename>.la</filename> files. Some ports do not ship with - their own copy of libtool and need a build time dependency on - <package role="port">devel/libtool</package>, use the - <literal>:build</literal> argument to add such - dependency.</para> - </sect1> - - <sect1 xml:id="uses-linux"> - <title><literal>linux</literal></title> - - <para>Possible arguments: <literal>c6</literal>, - <literal>c7</literal></para> - - <para>Ports <application>Linux</application> compatibility - framework. Specify <literal>c6</literal> to depend on - <application>CentOS</application> 6 packags. Specify - <literal>c7</literal> to depend on - <application>CentOS</application> 7 packages. The available - packages are:</para> - - <!-- - $ sed -ne 's/^linux_\(.*\)_DEP=.*/\1/p' Mk/Uses/linux.mk |sort -u|sed -e 's,.*,<listitem> <para><literal>&</literal></para> </listitem> ,' - --> - <itemizedlist> - <listitem> - <para><literal>allegro</literal></para> - </listitem> - - <listitem> - <para><literal>alsa-plugins-oss</literal></para> - </listitem> - - <listitem> - <para><literal>alsa-plugins-pulseaudio</literal></para> - </listitem> - - <listitem> - <para><literal>alsalib</literal></para> - </listitem> - - <listitem> - <para><literal>atk</literal></para> - </listitem> - - <listitem> - <para><literal>avahi-libs</literal></para> - </listitem> - - <listitem> - <para><literal>base</literal></para> - </listitem> - - <listitem> - <para><literal>cairo</literal></para> - </listitem> - - <listitem> - <para><literal>cups-libs</literal></para> - </listitem> - - <listitem> - <para><literal>curl</literal></para> - </listitem> - - <listitem> - <para><literal>cyrus-sasl2</literal></para> - </listitem> - - <listitem> - <para><literal>dbusglib</literal></para> - </listitem> - - <listitem> - <para><literal>dbuslibs</literal></para> - </listitem> - - <listitem> - <para><literal>devtools</literal></para> - </listitem> - - <listitem> - <para><literal>dri</literal></para> - </listitem> - - <listitem> - <para><literal>expat</literal></para> - </listitem> - - <listitem> - <para><literal>flac</literal></para> - </listitem> - - <listitem> - <para><literal>fontconfig</literal></para> - </listitem> - - <listitem> - <para><literal>gdkpixbuf2</literal></para> - </listitem> - - <listitem> - <para><literal>gnutls</literal></para> - </listitem> - - <listitem> - <para><literal>graphite2</literal></para> - </listitem> - - <listitem> - <para><literal>gtk2</literal></para> - </listitem> - - <listitem> - <para><literal>harfbuzz</literal></para> - </listitem> - - <listitem> - <para><literal>jasper</literal></para> - </listitem> - - <listitem> - <para><literal>jbigkit</literal></para> - </listitem> - - <listitem> - <para><literal>jpeg</literal></para> - </listitem> - - <listitem> - <para><literal>libasyncns</literal></para> - </listitem> - - <listitem> - <para><literal>libaudiofile</literal></para> - </listitem> - - <listitem> - <para><literal>libelf</literal></para> - </listitem> - - <listitem> - <para><literal>libgcrypt</literal></para> - </listitem> - - <listitem> - <para><literal>libgfortran</literal></para> - </listitem> - - <listitem> - <para><literal>libgpg-error</literal></para> - </listitem> - - <listitem> - <para><literal>libmng</literal></para> - </listitem> - - <listitem> - <para><literal>libogg</literal></para> - </listitem> - - <listitem> - <para><literal>libpciaccess</literal></para> - </listitem> - - <listitem> - <para><literal>libsndfile</literal></para> - </listitem> - - <listitem> - <para><literal>libsoup</literal></para> - </listitem> - - <listitem> - <para><literal>libssh2</literal></para> - </listitem> - - <listitem> - <para><literal>libtasn1</literal></para> - </listitem> - - <listitem> - <para><literal>libthai</literal></para> - </listitem> - - <listitem> - <para><literal>libtheora</literal></para> - </listitem> - - <listitem> - <para><literal>libv4l</literal></para> - </listitem> - - <listitem> - <para><literal>libvorbis</literal></para> - </listitem> - - <listitem> - <para><literal>libxml2</literal></para> - </listitem> - - <listitem> - <para><literal>mikmod</literal></para> - </listitem> - - <listitem> - <para><literal>naslibs</literal></para> - </listitem> - - <listitem> - <para><literal>ncurses-base</literal></para> - </listitem> - - <listitem> - <para><literal>nspr</literal></para> - </listitem> - - <listitem> - <para><literal>nss</literal></para> - </listitem> - - <listitem> - <para><literal>openal</literal></para> - </listitem> - - <listitem> - <para><literal>openal-soft</literal></para> - </listitem> - - <listitem> - <para><literal>openldap</literal></para> - </listitem> - - <listitem> - <para><literal>openmotif</literal></para> - </listitem> - - <listitem> - <para><literal>openssl</literal></para> - </listitem> - - <listitem> - <para><literal>pango</literal></para> - </listitem> - - <listitem> - <para><literal>pixman</literal></para> - </listitem> - - <listitem> - <para><literal>png</literal></para> - </listitem> - - <listitem> - <para><literal>pulseaudio-libs</literal></para> - </listitem> - - <listitem> - <para><literal>qt</literal></para> - </listitem> - - <listitem> - <para><literal>qt-x11</literal></para> - </listitem> - - <listitem> - <para><literal>qtwebkit</literal></para> - </listitem> - - <listitem> - <para><literal>scimlibs</literal></para> - </listitem> - - <listitem> - <para><literal>sdl12</literal></para> - </listitem> - - <listitem> - <para><literal>sdlimage</literal></para> - </listitem> - - <listitem> - <para><literal>sdlmixer</literal></para> - </listitem> - - <listitem> - <para><literal>sqlite3</literal></para> - </listitem> - - <listitem> - <para><literal>tcl85</literal></para> - </listitem> - - <listitem> - <para><literal>tcp_wrappers-libs</literal></para> - </listitem> - - <listitem> - <para><literal>tiff</literal></para> - </listitem> - - <listitem> - <para><literal>tk85</literal></para> - </listitem> - - <listitem> - <para><literal>ucl</literal></para> - </listitem> - - <listitem> - <para><literal>xorglibs</literal></para> - </listitem> - </itemizedlist> - - </sect1> - - <sect1 xml:id="uses-localbase"> - <title><literal>localbase</literal></title> - - <para>Possible arguments: (none), - <literal>ldflags</literal></para> - - <para>Ensures that libraries from dependencies in - <varname>LOCALBASE</varname> are used instead of the ones from - the base system. Specify <literal>ldflags</literal> to add - <literal>-L${LOCALBASE}/lib</literal> to - <varname>LDFLAGS</varname> instead of <varname>LIBS</varname>. - 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 <varname>USES</varname>.</para> - </sect1> - - <sect1 xml:id="uses-lua"> - <title><literal>lua</literal></title> - - <para>Possible arguments: (none), - <literal><replaceable>XY</replaceable></literal>, - <literal><replaceable>XY</replaceable>+</literal>, - <literal>-<replaceable>XY</replaceable></literal>, - <literal><replaceable>XY</replaceable>-<replaceable>ZA</replaceable></literal>, - <literal>module</literal>, <literal>flavors</literal>, - <literal>build</literal>, <literal>run</literal>, - <literal>env</literal></para> - - <para>Adds a dependency on <application>Lua</application>. By - default this is a library dependency, unless overridden by the - <literal>build</literal> and/or <literal>run</literal> option. - The <literal>env</literal> option prevents the addition of any - dependency, while still defining all the usual variables.</para> - - <para>The default version is set by the usual - <literal>DEFAULT_VERSIONS</literal> mechanism, unless a version or - range of versions is specified as an argument, for - example, <literal>51</literal> or <literal>51-53</literal>.</para> - - <para>Applications using <application>Lua</application> are - normally built for only a single <application>Lua</application> - version. However, library modules intended to be loaded by - <application>Lua</application> code should use the - <literal>module</literal> option to build with multiple - flavors.</para> - - <para>For more information see <xref linkend="using-lua" />.</para> - </sect1> - - <sect1 xml:id="uses-lxqt"> - <title><literal>lxqt</literal></title> - - <para>Possible arguments: (none)</para> - - <para>Handle dependencies for the <application>LXQt Desktop - Environment</application>. Use <varname>USE_LXQT</varname> to - select the components needed for the port. See <xref - linkend="using-lxqt"/> for more information.</para> - </sect1> - - <sect1 xml:id="uses-makeinfo"> - <title><literal>makeinfo</literal></title> - - <para>Possible arguments: (none)</para> - - <para>Add a build-time dependency on <command>makeinfo</command> - if it is not present in the base system.</para> - </sect1> - - <sect1 xml:id="uses-makeself"> - <title><literal>makeself</literal></title> - - <para>Possible arguments: (none)</para> - - <para>Indicates that the distribution files are makeself archives - and sets the appropriate dependencies.</para> - </sect1> - - <sect1 xml:id="uses-mate"> - <title><literal>mate</literal></title> - - <para>Possible arguments: (none)</para> - - <para>Provides an easy way to depend on - <application>MATE</application> components. The components - should be listed in <varname>USE_MATE</varname>. The available - components are:</para> - - <itemizedlist> - <listitem> - <para><literal>autogen</literal></para> - </listitem> - - <listitem> - <para><literal>caja</literal></para> - </listitem> - - <listitem> - <para><literal>common</literal></para> - </listitem> - - <listitem> - <para><literal>controlcenter</literal></para> - </listitem> - - <listitem> - <para><literal>desktop</literal></para> - </listitem> - - <listitem> - <para><literal>dialogs</literal></para> - </listitem> - - <listitem> - <para><literal>docutils</literal></para> - </listitem> - - <listitem> - <para><literal>icontheme</literal></para> - </listitem> - - <listitem> - <para><literal>intlhack</literal></para> - </listitem> - - <listitem> - <para><literal>intltool</literal></para> - </listitem> - - <listitem> - <para><literal>libmatekbd</literal></para> - </listitem> - - <listitem> - <para><literal>libmateweather</literal></para> - </listitem> - - <listitem> - <para><literal>marco</literal></para> - </listitem> - - <listitem> - <para><literal>menus</literal></para> - </listitem> - - <listitem> - <para><literal>notificationdaemon</literal></para> - </listitem> - - <listitem> - <para><literal>panel</literal></para> - </listitem> - - <listitem> - <para><literal>pluma</literal></para> - </listitem> - - <listitem> - <para><literal>polkit</literal></para> - </listitem> - - <listitem> - <para><literal>session</literal></para> - </listitem> - - <listitem> - <para><literal>settingsdaemon</literal></para> - </listitem> - </itemizedlist> - - <para>The default dependency is build- and run-time, it can be - changed with <literal>:build</literal> or - <literal>:run</literal>. For example:</para> - - <programlisting>USES= mate -USE_MATE= menus:build intlhack</programlisting> - </sect1> - - <sect1 xml:id="uses-meson"> - <title><literal>meson</literal></title> - - <para>Possible arguments: (none)</para> - - <para>Provide support for Meson based projects. For more - information see <xref linkend="using-meson" />.</para> - </sect1> - - <sect1 xml:id="uses-metaport"> - <title><literal>metaport</literal></title> - - <para>Possible arguments: (none)</para> - - <para>Sets the following variables to make it easier to create a - metaport: <varname>MASTER_SITES</varname>, - <varname>DISTFILES</varname>, <varname>EXTRACT_ONLY</varname>, - <varname>NO_BUILD</varname>, <varname>NO_INSTALL</varname>, - <varname>NO_MTREE</varname>, <varname>NO_ARCH</varname>.</para> - </sect1> - - <sect1 xml:id="uses-mysql"> - <title><literal>mysql</literal></title> - - <para>Possible arguments: (none), - <literal><replaceable>version</replaceable></literal>, - <literal>client</literal> (default), <literal>server</literal>, - <literal>embedded</literal></para> - - <para>Provide support for <application>MySQL</application>. 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 <literal>55</literal>, <literal>55m</literal>, - <literal>55p</literal>, <literal>56</literal>, - <literal>56p</literal>, <literal>56w</literal>, - <literal>57</literal>, <literal>57p</literal>, - <literal>80</literal>, <literal>100m</literal>, - <literal>101m</literal>, and <literal>102m</literal>. The - <literal>m</literal> and <literal>p</literal> suffixes are for - the <application>MariaDB</application> and - <application>Percona</application> variants of - <application>MySQL</application>. <literal>server</literal> and - <literal>embedded</literal> add a build- and run-time dependency - on the <application>MySQL</application> server. When using - <literal>server</literal> or <literal>embedded</literal>, add - <literal>client</literal> to also add a dependency on - <filename>libmysqlclient.so</filename>. A port can set - <varname>IGNORE_WITH_MYSQL</varname> if some versions are not - supported.</para> - - <para>The framework sets <varname>MYSQL_VER</varname> to the - detected MySQL version.</para> - </sect1> - - <sect1 xml:id="uses-mono"> - <title><literal>mono</literal></title> - - <para>Possible arguments: (none), <literal>nuget</literal></para> - - <para>Adds a dependency on the <application>Mono</application> - (currently only C#) framework by setting the appropriate - dependencies.</para> - - <para>Specify <literal>nuget</literal> when the port uses nuget - packages. <varname>NUGET_DEPENDS</varname> needs to be set with - the names and versions of the nuget packages in the format - <literal><replaceable>name</replaceable>=<replaceable>version</replaceable></literal>. - An optional package origin can be added using - <literal><replaceable>name</replaceable>=<replaceable>version</replaceable>:<replaceable>origin</replaceable></literal>.</para> - - <para>The helper target, <buildtarget>buildnuget</buildtarget>, - will output the content of the <varname>NUGET_DEPENDS</varname> - based on the provided - <filename>packages.config</filename>.</para> - </sect1> - - <sect1 xml:id="uses-motif"> - <title><literal>motif</literal></title> - - <para>Possible arguments: (none)</para> - - <para>Uses <package role="port">x11-toolkits/open-motif</package> - as a library dependency. End users can set - <varname>WANT_LESSTIF</varname> for the dependency to be on - <package role="port">x11-toolkits/lesstif</package> instead of - <package role="port">x11-toolkits/open-motif</package>.</para> - </sect1> - - <sect1 xml:id="uses-ncurses"> - <title><literal>ncurses</literal></title> - - <para>Possible arguments: (none), <literal>base</literal>, - <literal>port</literal></para> - - <para>Uses <application>ncurses</application>, and causes some - useful variables to be set.</para> - </sect1> - - <sect1 xml:id="uses-ninja"> - <title><literal>ninja</literal></title> - - <para>Possible arguments: (none)</para> - - <para>Uses <application>ninja</application> to build the - port.</para> - </sect1> - - <sect1 xml:id="uses-objc"> - <title><literal>objc</literal></title> - - <para>Possible arguments: (none)</para> - - <para>Add objective C dependencies (compiler, runtime library) if - the base system does not support it.</para> - </sect1> - - <sect1 xml:id="uses-openal"> - <title><literal>openal</literal></title> - - <para>Possible arguments: <literal>al</literal>, - <literal>soft</literal> (default), <literal>si</literal>, - <literal>alut</literal></para> - - <para>Uses <application>OpenAL</application>. The backend can be - specified, with the software implementation as the default. The - user can specify a preferred backend with - <varname>WANT_OPENAL</varname>. Valid values for this knob are - <literal>soft</literal> (default) and - <literal>si</literal>.</para> - </sect1> - - <sect1 xml:id="uses-pathfix"> - <title><literal>pathfix</literal></title> - - <para>Possible arguments: (none)</para> - - <para>Look for <filename>Makefile.in</filename> and - <filename>configure</filename> in - <varname>PATHFIX_WRKSRC</varname> (defaults to - <varname>WRKSRC</varname>) - and fix common paths to make sure they respect the &os; - hierarchy. For example, it fixes the installation directory - of <command>pkgconfig</command>'s <filename>.pc</filename> files - to <filename>${PREFIX}/libdata/pkgconfig</filename>. If - the port uses <literal>USES=autoreconf</literal>, - <filename>Makefile.am</filename> will be added to - <varname>PATHFIX_MAKEFILEIN</varname> automatically.</para> - - <para>If the port <link - linkend="uses-cmake"><literal>USES=cmake</literal></link> it - will look for <filename>CMakeLists.txt</filename> in - <varname>PATHFIX_WRKSRC</varname>. If needed, that default - filename can be changed with - <varname>PATHFIX_CMAKELISTSTXT</varname>.</para> - </sect1> - - <sect1 xml:id="uses-pear"> - <title><literal>pear</literal></title> - - <para>Possible arguments: <literal>env</literal></para> - - <para>Adds a dependency on <package - role="port">devel/pear</package>. It will setup default - behavior for software using the <application>PHP</application> - Extension and Application Repository. Using the - <literal>env</literal> arguments only sets up the - <application>PEAR</application> environment variables. See - <xref linkend="php-pear"/> for more information.</para> - </sect1> - - <sect1 xml:id="uses-perl5"> - <title><literal>perl5</literal></title> - - <para>Possible arguments: (none)</para> - - <para>Depends on <application>Perl</application>. The - configuration is done using <varname>USE_PERL5</varname>.</para> - - <para><varname>USE_PERL5</varname> can contain the phases in which - to use <application>Perl</application>, can be - <literal>extract</literal>, <literal>patch</literal>, - <literal>build</literal>, <literal>run</literal>, or - <literal>test</literal>.</para> - - <para><varname>USE_PERL5</varname> can also contain - <literal>configure</literal>, - <literal>modbuild</literal>, or <literal>modbuildtiny</literal> - when <filename>Makefile.PL</filename>, - <filename>Build.PL</filename>, or - <application>Module::Build::Tiny</application>'s flavor of - <filename>Build.PL</filename> is required.</para> - - <para><varname>USE_PERL5</varname> defaults to <literal>build - run</literal>. When using <literal>configure</literal>, - <literal>modbuild</literal>, or <literal>modbuildtiny</literal>, - <literal>build</literal> and <literal>run</literal> are - implied.</para> - - <para>See <xref linkend="using-perl"/> for more - information.</para> - </sect1> - - <sect1 xml:id="uses-pgsql"> - <title><literal>pgsql</literal></title> - - <para>Possible arguments: (none), - <literal><replaceable>X.Y</replaceable></literal>, - <literal><replaceable>X.Y</replaceable>+</literal>, - <literal><replaceable>X.Y</replaceable>-</literal>, - <literal><replaceable>X.Y</replaceable>-<replaceable>Z.A</replaceable></literal></para> - - <para>Provide support for PostgreSQL. - Port maintainer can set version required. - Minimum and maximum versions or a range can be specified; for - example, <literal>9.0-</literal>, <literal>8.4+</literal>, - <literal>8.4-9.2.</literal></para> - - <para>By default, the added dependency will be the client, but if - the port requires additional components, this can be done using - <literal>WANT_PGSQL=<replaceable>component[:target]</replaceable></literal>; - for example, - <literal>WANT_PGSQL=server:configure pltcl plperl</literal>. - The available components are:</para> - - <itemizedlist> - <listitem> - <para><literal>client</literal></para> - </listitem> - - <listitem> - <para><literal>contrib</literal></para> - </listitem> - - <listitem> - <para><literal>docs</literal></para> - </listitem> - - <listitem> - <para><literal>pgtcl</literal></para> - </listitem> - - <listitem> - <para><literal>plperl</literal></para> - </listitem> - - <listitem> - <para><literal>plpython</literal></para> - </listitem> - - <listitem> - <para><literal>pltcl</literal></para> - </listitem> - - <listitem> - <para><literal>server</literal></para> - </listitem> - </itemizedlist> - </sect1> - - <sect1 xml:id="uses-php"> - <title><literal>php</literal></title> - - <para>Possible arguments: (none), <literal>phpize</literal>, - <literal>ext</literal>, <literal>zend</literal>, - <literal>build</literal>, <literal>cli</literal>, - <literal>cgi</literal>, <literal>mod</literal>, - <literal>web</literal>, <literal>embed</literal>, - <literal>pecl</literal>, <literal>flavors</literal>, - <literal>noflavors</literal></para> - - <para>Provide support for <application>PHP</application>. Add a - runtime dependency on the default PHP version, <package - role="port">lang/php56</package>.</para> - - <variablelist> - <varlistentry> - <term><literal>phpize</literal></term> - <listitem> - <para>Use to build a <application>PHP</application> - extension. Enables flavors.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>ext</literal></term> - <listitem> - <para>Use to build, install and register a - <application>PHP</application> extension. Enables - flavors.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>zend</literal></term> - <listitem> - <para>Use to build, install and register a Zend - extension. Enables flavors.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>build</literal></term> - <listitem> - <para>Set <application>PHP</application> also as a - build-time dependency.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>cli</literal></term> - <listitem> - <para>Needs the CLI version of - <application>PHP</application>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>cgi</literal></term> - <listitem> - <para>Needs the CGI version of - <application>PHP</application>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>mod</literal></term> - <listitem> - <para>Needs the <application>Apache</application> module for - <application>PHP</application>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>web</literal></term> - <listitem> - <para>Needs the <application>Apache</application> module or - the <acronym>CGI</acronym> version of - <application>PHP</application>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>embed</literal></term> - <listitem> - <para>Needs the embedded library version of - <application>PHP</application>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>pecl</literal></term> - <listitem> - <para>Provide defaults for fetching - <application>PHP</application> extensions from the PECL - repository. Enables flavors.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>flavors</literal></term> - <listitem> - <para>Enable automatic <link - linkend="flavors-auto-php"><application>PHP</application> - flavors</link> generation. Flavors will be generated - for all PHP versions, except the ones present in - <link linkend="uses-php-ignore"><varname>IGNORE_WITH_PHP</varname></link>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>noflavors</literal></term> - <listitem> - <para>Disable automatic <application>PHP</application> - flavors generation. <emphasis>Must only</emphasis> be - used with extensions provided by - <application>PHP</application> itself.</para> - </listitem> - </varlistentry> - </variablelist> - - <para>Variables are used to specify which - <application>PHP</application> modules are required, as well as - which version of <application>PHP</application> are - supported.</para> - - <variablelist> - <varlistentry> - <term><varname>USE_PHP</varname></term> - <listitem> - <para>The list of required <application>PHP</application> - extensions at run-time. Add <literal>:build</literal> to - the extension name to add a build-time dependency. - Example: <literal>pcre xml:build gettext</literal></para> - </listitem> - </varlistentry> - - <varlistentry xml:id="uses-php-ignore"> - <term><varname>IGNORE_WITH_PHP</varname></term> - <listitem> - <para>The port does not work with - <application>PHP</application> of the given version. For - possible values look at the content of - <varname>_ALL_PHP_VERSIONS</varname> in - <filename>Mk/Uses/php.mk</filename>.</para> - </listitem> - </varlistentry> - </variablelist> - - <para>When building a <application>PHP</application> or - <application>Zend</application> extension with - <literal>:ext</literal> or <literal>:zend</literal>, these - variables can be set:</para> - - <variablelist> - <varlistentry> - <term><varname>PHP_MODNAME</varname></term> - <listitem> - <para>The name of the <application>PHP</application> or - <application>Zend</application> extension. Default value - is <literal>${PORTNAME}</literal>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>PHP_HEADER_DIRS</varname></term> - <listitem> - <para>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.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>PHP_MOD_PRIO</varname></term> - <listitem> - <para>The priority at which to load the extension. It is a - number between <literal>00</literal> and - <literal>99</literal>.</para> - - <para>For extensions that do not depend on any extension, - the priority is automatically set to - <literal>20</literal>, for extensions that depend on - another extension, the priority is automatically set to - <literal>30</literal>. Some extensions may need to be - loaded before every other extension, for example <package - role="port">www/php56-opcache</package>. Some may need - to be loaded after an extension with a priority of - <literal>30</literal>. In that case, add - <literal>PHP_MOD_PRIO=<replaceable>XX</replaceable></literal> - in the port's Makefile. For example:</para> - - <programlisting>USES= php:ext -USE_PHP= wddx -PHP_MOD_PRIO= 40</programlisting> - </listitem> - </varlistentry> - </variablelist> - - <para>These variables are available to use in - <varname>PKGNAMEPREFIX</varname> or - <varname>PKGNAMESUFFIX</varname>:</para> - - <variablelist> - <varlistentry> - <term><varname>PHP_PKGNAMEPREFIX</varname></term> - <listitem> - <para>Contains - <literal>php<replaceable>XY</replaceable>-</literal> where - <replaceable>XY</replaceable> is the current flavor's PHP - version. Use with PHP extensions and modules.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>PHP_PKGNAMESUFFIX</varname></term> - <listitem> - <para>Contains - <literal>-php<replaceable>XY</replaceable></literal> where - <replaceable>XY</replaceable> is the current flavor's PHP - version. Use with PHP applications.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>PECL_PKGNAMEPREFIX</varname></term> - <listitem> - <para>Contains - <literal>php<replaceable>XY</replaceable>-pecl-</literal> - where <replaceable>XY</replaceable> is the current - flavor's PHP version. Use with - <application>PECL</application> modules.</para> - </listitem> - </varlistentry> - </variablelist> - - <important> - <para>With flavors, all PHP extensions, PECL extensions, PEAR - modules <emphasis>must have</emphasis> a different package - name, so they must all use one of these three variables in - their <varname>PKGNAMEPREFIX</varname> or - <varname>PKGNAMESUFFIX</varname>.</para> - </important> - </sect1> - - <sect1 xml:id="uses-pkgconfig"> - <title><literal>pkgconfig</literal></title> - - <para>Possible arguments: (none), <literal>build</literal> - (default), <literal>run</literal>, - <literal>both</literal></para> - - <para>Uses <package role="port">devel/pkgconf</package>. With no - arguments or with the <literal>build</literal> argument, it - implies <command>pkg-config</command> as a build-time - dependency. <literal>run</literal> implies a run-time - dependency and <literal>both</literal> implies both run-time and - build-time dependencies.</para> - </sect1> - - <sect1 xml:id="uses-pure"> - <title><literal>pure</literal></title> - - <para>Possible arguments: (none), <literal>ffi</literal></para> - - <para>Uses <package role="port">lang/pure</package>. Largely used - for building related <application>pure</application> ports. - With the <literal>ffi</literal> argument, it implies <package - role="port">devel/pure-ffi</package> as a run-time - dependency.</para> - </sect1> - - <sect1 xml:id="uses-pyqt"> - <title><literal>pyqt</literal></title> - - <para>Possible arguments: (none), <literal>4</literal>, - <literal>5</literal></para> - - <para>Uses <application>PyQt</application>. If the port is part - of PyQT itself, set <varname>PYQT_DIST</varname>. Use - <varname>USE_PYQT</varname> to select the components the port - needs. The available components are:</para> - - <itemizedlist> - <listitem> - <para><literal>core</literal></para> - </listitem> - - <listitem> - <para><literal>dbus</literal></para> - </listitem> - - <listitem> - <para><literal>dbussupport</literal></para> - </listitem> - - <listitem> - <para><literal>demo</literal></para> - </listitem> - - <listitem> - <para><literal>designer</literal></para> - </listitem> - - <listitem> - <para><literal>designerplugin</literal></para> - </listitem> - - <listitem> - <para><literal>doc</literal></para> - </listitem> - - <listitem> - <para><literal>gui</literal></para> - </listitem> - - <listitem> - <para><literal>multimedia</literal></para> - </listitem> - - <listitem> - <para><literal>network</literal></para> - </listitem> - - <listitem> - <para><literal>opengl</literal></para> - </listitem> - - <listitem> - <para><literal>qscintilla2</literal></para> - </listitem> - - <listitem> - <para><literal>sip</literal></para> - </listitem> - - <listitem> - <para><literal>sql</literal></para> - </listitem> - - <listitem> - <para><literal>svg</literal></para> - </listitem> - - <listitem> - <para><literal>test</literal></para> - </listitem> - - <listitem> - <para><literal>webkit</literal></para> - </listitem> - - <listitem> - <para><literal>xml</literal></para> - </listitem> - - <listitem> - <para><literal>xmlpatterns</literal></para> - </listitem> - </itemizedlist> - - <para>These components are only available with - <application>PyQT4</application>:</para> - - <itemizedlist> - <listitem> - <para><literal>assistant</literal></para> - </listitem> - - <listitem> - <para><literal>declarative</literal></para> - </listitem> - - <listitem> - <para><literal>help</literal></para> - </listitem> - - <listitem> - <para><literal>phonon</literal></para> - </listitem> - - <listitem> - <para><literal>script</literal></para> - </listitem> - - <listitem> - <para><literal>scripttools</literal></para> - </listitem> - </itemizedlist> - - <para>These components are only available with - <application>PyQT5</application>:</para> - - <itemizedlist> - <listitem> - <para><literal>multimediawidgets</literal></para> - </listitem> - - <listitem> - <para><literal>printsupport</literal></para> - </listitem> - - <listitem> - <para><literal>qml</literal></para> - </listitem> - - <listitem> - <para><literal>serialport</literal></para> - </listitem> - - <listitem> - <para><literal>webkitwidgets</literal></para> - </listitem> - - <listitem> - <para><literal>widgets</literal></para> - </listitem> - </itemizedlist> - - <para>The default dependency for each component is build- and - run-time, to select only build or run, add - <literal>_build</literal> or <literal>_run</literal> to the - component name. For example:</para> - - <programlisting>USES= pyqt -USE_PYQT= core doc_build designer_run</programlisting> - </sect1> - - <sect1 xml:id="uses-python"> - <title><literal>python</literal></title> - - <para>Possible arguments: (none), - <literal><replaceable>X.Y</replaceable></literal>, - <literal><replaceable>X.Y+</replaceable></literal>, - <literal><replaceable>-X.Y</replaceable></literal>, - <literal><replaceable>X.Y-Z.A</replaceable></literal>, - <literal>patch</literal>, - <literal>build</literal>, <literal>run</literal>, - <literal>test</literal></para> - - <para>Uses <application>Python</application>. 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 <literal>build</literal>, - <literal>run</literal>, or <literal>test</literal>. If Python - is also needed during the patch phase, use - <literal>patch</literal>. See - <xref linkend="using-python"/> for more information.</para> - - <para><literal>PYTHON_NO_DEPENDS=yes</literal> can be used when - the variables exported by the framework are needed but a - dependency on <application>Python</application> is not. It can - happen when using with <link - linkend="uses-shebangfix"><literal>USES=shebangfix</literal></link>, - and the goal is only to fix the shebangs but not add a - dependency on <application>Python</application>.</para> - </sect1> - - <sect1 xml:id="uses-qmail"> - <title><literal>qmail</literal></title> - - <para>Possible arguments: (none), <literal>build</literal>, - <literal>run</literal>, <literal>both</literal>, - <literal>vars</literal></para> - - <para>Uses <package role="port">mail/qmail</package>. With the - <literal>build</literal> argument, it implies - <command>qmail</command> as a build-time dependency. - <literal>run</literal> implies a run-time dependency. Using no - argument or the <literal>both</literal> argument implies both - run-time and build-time dependencies. <literal>vars</literal> - will only set QMAIL variables for the port to use.</para> - </sect1> - - <sect1 xml:id="uses-qmake"> - <title><literal>qmake</literal></title> - - <para>Possible arguments: (none), <literal>norecursive</literal>, - <literal>outsource</literal>, <literal>no_env</literal>, - <literal>no_configure</literal></para> - - <para>Uses <application>QMake</application> for configuring. For - more information see <xref linkend="using-qmake"/>.</para> - </sect1> - - <sect1 xml:id="uses-qt"> - <title><literal>qt</literal></title> - - <para>Possible arguments: <literal>5</literal>, - <literal>no_env</literal></para> - - <para>Add dependency on <application>Qt</application> components. - <literal>no_env</literal> is passed directly to - <literal>USES= qmake</literal>. See <xref linkend="using-qt"/> - for more information.</para> - </sect1> - - <sect1 xml:id="uses-qt-dist"> - <title><literal>qt-dist</literal></title> - - <para>Possible arguments: (none) or <literal>5</literal> and - (none) or one of <literal>3d</literal>, - <literal>activeqt</literal>, <literal>androidextras</literal>, - <literal>base</literal>, <literal>canvas3d</literal>, - <literal>charts</literal>, <literal>connectivity</literal>, - <literal>datavis3d</literal>, <literal>declarative</literal>, - <literal>doc</literal>, <literal>gamepad</literal>, - <literal>graphicaleffects</literal>, - <literal>imageformats</literal>, <literal>location</literal>, - <literal>macextras</literal>, <literal>multimedia</literal>, - <literal>networkauth</literal>, <literal>purchasing</literal>, - <literal>quickcontrols2</literal>, - <literal>quickcontrols</literal>, - <literal>remoteobjects</literal>, <literal>script</literal>, - <literal>scxml</literal>, <literal>sensors</literal>, - <literal>serialbus</literal>, <literal>serialport</literal>, - <literal>speech</literal>, <literal>svg</literal>, - <literal>tools</literal>, <literal>translations</literal>, - <literal>virtualkeyboard</literal>, <literal>wayland</literal>, - <literal>webchannel</literal>, <literal>webengine</literal>, - <literal>websockets</literal>, <literal>webview</literal>, - <literal>winextras</literal>, <literal>x11extras</literal>, - <literal>xmlpatterns</literal></para> - - <para>Provides support for building <application>Qt - 5</application> components. It takes care of setting up the - appropriate configuration environment for the port to - build.</para> - - <example xml:id="qt5-dist-example"> - <title>Building Qt 5 Components</title> - - <para>The port is <application>Qt 5</application>'s - <literal>networkauth</literal> component, which is part of - the <literal>networkauth</literal> distribution file.</para> - - <programlisting>PORTNAME= networkauth -DISTVERSION= ${QT5_VERSION} - -USES= qt-dist:5</programlisting> - </example> - - <para>If <varname>PORTNAME</varname> does not match the - component name, it can be passed as an argument to - <literal>qt-dist</literal>.</para> - - <example xml:id="qt5-dist-example-explicit"> - <title>Building Qt 5 Components with Different Names</title> - - <para>The port is <application>Qt 5</application>'s - <literal>gui</literal> component, which is part of the - <literal>base</literal> distribution file.</para> - - <programlisting>PORTNAME= gui -DISTVERSION= ${QT5_VERSION} - -USES= qt-dist:5,base</programlisting> - </example> - </sect1> - - <sect1 xml:id="uses-readline"> - <title><literal>readline</literal></title> - - <para>Possible arguments: (none), <literal>port</literal></para> - - <para>Uses <application>readline</application> as a library - dependency, and sets <varname>CPPFLAGS</varname> and - <varname>LDFLAGS</varname> as necessary. If the - <literal>port</literal> argument is used or if readline is not - present in the base system, add a dependency on <package - role="port">devel/readline</package></para> - </sect1> - - <sect1 xml:id="uses-samba"> - <title><literal>samba</literal></title> - - <para>Possible arguments: <literal>build</literal>, - <literal>env</literal>, <literal>lib</literal>, - <literal>run</literal></para> - - <para>Handle dependency on <application>Samba</application>. - <literal>env</literal> will not add any dependency and only set - up the variables. <literal>build</literal> and - <literal>run</literal> will add build-time and run-time - dependency on <filename>smbd</filename>. <literal>lib</literal> - will add a dependency on <filename>libsmbclient.so</filename>. - The variables that are exported are:</para> - - <variablelist> - <varlistentry> - <term><varname>SAMBAPORT</varname></term> - <listitem> - <para>The origin of the default - <application>Samba</application> port.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>SAMBAINCLUDES</varname></term> - <listitem> - <para>The location of the <application>Samba</application> - header files.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>SAMBALIBS</varname></term> - <listitem> - <para>The directory where the - <application>Samba</application> shared libraries are - available.</para> - </listitem> - </varlistentry> - </variablelist> - </sect1> - - <sect1 xml:id="uses-scons"> - <title><literal>scons</literal></title> - - <para>Possible arguments: (none)</para> - - <para>Provide support for the use of <package - role="port">devel/scons</package>. See <xref - linkend="using-scons"/> for more information.</para> - </sect1> - - <sect1 xml:id="uses-shared-mime-info"> - <title><literal>shared-mime-info</literal></title> - - <para>Possible arguments: (none)</para> - - <para>Uses <application>update-mime-database</application> from - <package role="port">misc/shared-mime-info</package>. 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 <link - linkend="plist-keywords-shared-mime-info"><literal>@shared-mime-info</literal></link> - entry to the plist.</para> - </sect1> - - <sect1 xml:id="uses-shebangfix"> - <title><literal>shebangfix</literal></title> - - <para>Possible arguments: (none)</para> - - <para>A lot of software uses incorrect locations for script - interpreters, most notably <filename>/usr/bin/perl</filename> - and <filename>/bin/bash</filename>. The shebangfix macro fixes - shebang lines in scripts listed in - <varname>SHEBANG_REGEX</varname>, - <varname>SHEBANG_GLOB</varname>, or - <varname>SHEBANG_FILES</varname>.</para> - - <variablelist> - <varlistentry> - <term><varname>SHEBANG_REGEX</varname></term> - - <listitem> - <para>Contains <emphasis>one</emphasis> extended regular - expressions, and is used with the - <literal>-iregex</literal> argument of &man.find.1;. See - <xref linkend="uses-shebangfix-ex-regex"/>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>SHEBANG_GLOB</varname></term> - - <listitem> - <para>Contains a list of patterns used with the - <literal>-name</literal> argument of &man.find.1;. See - <xref linkend="uses-shebangfix-ex-glob"/>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>SHEBANG_FILES</varname></term> - - <listitem> - <para>Contains a list of files or &man.sh.1; globs. The - shebangfix macro is run from <literal>${WRKSRC}</literal>, - so <varname>SHEBANG_FILES</varname> can contain paths that - are relative to <literal>${WRKSRC}</literal>. It can also - deal with absolute paths if files outside of - <literal>${WRKSRC}</literal> require patching. See <xref - linkend="uses-shebangfix-ex-files" />.</para> - </listitem> - </varlistentry> - </variablelist> - - <para>Currently - <application>Bash</application>, - <application>Java</application>, <application>Ksh</application>, - <application>Lua</application>, - <application>Perl</application>, <application>PHP</application>, - <application>Python</application>, - <application>Ruby</application>, <application>Tcl</application>, - and <application>Tk</application> are supported by - default.</para> - - <para>There are three configuration variables:</para> - - <variablelist> - <varlistentry> - <term><varname>SHEBANG_LANG</varname></term> - - <listitem> - <para>The list of supported interpreters.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname><replaceable>interp</replaceable>_CMD</varname></term> - - <listitem> - <para>The path to the command interpreter on &os;. The - default value is - <literal>${LOCALBASE}/bin/<replaceable>interp</replaceable></literal>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname><replaceable>interp</replaceable>_OLD_CMD</varname></term> - <listitem> - <para>The list of wrong invocations of interpreters. These - are typically obsolete paths, or paths used on other - operating systems that are incorrect on &os;. They - will be replaced by the correct path in - <varname><replaceable>interp</replaceable>_CMD</varname>.</para> - - <note> - <para>These will <emphasis>always</emphasis> be part of - <varname><replaceable>interp</replaceable>_OLD_CMD</varname>: - <literal>"/usr/bin/env - <replaceable>interp</replaceable>" - /bin/<replaceable>interp</replaceable> - /usr/bin/<replaceable>interp</replaceable> - /usr/local/bin/<replaceable>interp</replaceable></literal>.</para> - </note> - - <tip> - <para><varname><replaceable>interp</replaceable>_OLD_CMD</varname> - contain multiple values. Any entry with spaces must be - quoted. See <xref - linkend="uses-shebangfix-ex-ksh"/>.</para> - </tip> - </listitem> - </varlistentry> - </variablelist> - - <important> - <para>The fixing of shebangs is done during the - <buildtarget>patch</buildtarget> phase. If scripts are - created with incorrect shebangs during the - <buildtarget>build</buildtarget> phase, the build process (for - example, the <filename>configure</filename> script, or the - <filename>Makefiles</filename>) must be patched or given the - right path (for example, with - <varname>CONFIGURE_ENV</varname>, - <varname>CONFIGURE_ARGS</varname>, - <varname>MAKE_ENV</varname>, or <varname>MAKE_ARGS</varname>) - to generate the right shebangs.</para> - - <para>Correct paths for supported interpreters - are available in - <literal><replaceable>interp</replaceable>_CMD</literal>.</para> - </important> - - <tip> - <para>When used with <link - linkend="uses-python"><literal>USES=python</literal></link>, - and the aim is only to fix the shebangs but a dependency on - <application>Python</application> itself is not wanted, use - <literal>PYTHON_NO_DEPENDS=yes</literal>.</para> - </tip> - - <example xml:id="uses-shebangfix-ex-lua"> - <title>Adding Another Interpreter to - <literal>USES=shebangfix</literal></title> - - <para>To add another interpreter, set - <varname>SHEBANG_LANG</varname>. For example:</para> - - <programlisting>SHEBANG_LANG= lua</programlisting> - </example> - - <example xml:id="uses-shebangfix-ex-ksh"> - <title>Specifying all the Paths When Adding an Interpreter to - <literal>USES=shebangfix</literal></title> - - <para>If it was not already defined, and there were no default - values for - <varname><replaceable>interp</replaceable>_OLD_CMD</varname> - and <varname><replaceable>interp</replaceable>_CMD</varname> - the <application>Ksh</application> entry could be defined - as:</para> - - <programlisting>SHEBANG_LANG= ksh -ksh_OLD_CMD= "/usr/bin/env ksh" /bin/ksh /usr/bin/ksh -ksh_CMD= ${LOCALBASE}/bin/ksh</programlisting> - </example> - - <example xml:id="uses-shebangfix-ex-strange"> - <title>Adding a Strange Location for an Interpreter</title> - - <para>Some software uses strange locations for an interpreter. - For example, an application might expect - <application>Python</application> to be located in - <filename>/opt/bin/python2.7</filename>. The strange path to - be replaced can be declared in the port - <filename>Makefile</filename>:</para> - - <programlisting>python_OLD_CMD= /opt/bin/python2.7</programlisting> - </example> - - <example xml:id="uses-shebangfix-ex-regex"> - <title><literal>USES=shebangfix</literal> with - <varname>SHEBANG_REGEX</varname></title> - - <para>To fix all the files in - <literal>${WRKSRC}/scripts</literal> ending in - <filename>.pl</filename>, <filename>.sh</filename>, or - <filename>.cgi</filename> do:</para> - - <programlisting>USES= shebangfix -SHEBANG_REGEX= ./scripts/.*\.(sh|pl|cgi)</programlisting> - - <note> - <para><varname>SHEBANG_REGEX</varname> is used by running - <command>find -E</command>, which uses modern regular - expressions also known as extended regular expressions. See - &man.re.format.7; for more information.</para> - </note> - </example> - - <example xml:id="uses-shebangfix-ex-glob"> - <title><literal>USES=shebangfix</literal> with - <varname>SHEBANG_GLOB</varname></title> - - <para>To fix all the files in <literal>${WRKSRC}</literal> - ending in <filename>.pl</filename> or - <filename>.sh</filename>, do:</para> - - <programlisting>USES= shebangfix -SHEBANG_GLOB= *.sh *.pl</programlisting> - </example> - - <example xml:id="uses-shebangfix-ex-files"> - <title><literal>USES=shebangfix</literal> with - <varname>SHEBANG_FILES</varname></title> - - <para>To fix the files <filename>script/foobar.pl</filename> and - <filename>script/*.sh</filename> in - <literal>${WRKSRC}</literal>, do:</para> - - <programlisting>USES= shebangfix -SHEBANG_FILES= scripts/foobar.pl scripts/*.sh</programlisting> - </example> - </sect1> - - <sect1 xml:id="uses-sqlite"> - <title><literal>sqlite</literal></title> - - <para>Possible arguments: (none), <literal>2</literal>, - <literal>3</literal></para> - - <para>Add a dependency on <application>SQLite</application>. The - default version used is 3, but version 2 is also possible using - the <literal>:2</literal> modifier.</para> - </sect1> - - <sect1 xml:id="uses-ssl"> - <title><literal>ssl</literal></title> - - <para>Possible arguments: (none), <literal>build</literal>, - <literal>run</literal></para> - - <para>Provide support for <application>OpenSSL</application>. - A build- or run-time only dependency can be specified using - <literal>build</literal> or <literal>run</literal>. - These variables are available for the port's use, they are also - added to <varname>MAKE_ENV</varname>:</para> - - <variablelist> - <varlistentry> - <term><varname>OPENSSLBASE</varname></term> - - <listitem> - <para>Path to the OpenSSL installation base.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>OPENSSLDIR</varname></term> - - <listitem> - <para>Path to <application>OpenSSL</application>'s - configuration files.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>OPENSSLLIB</varname></term> - - <listitem> - <para>Path to the <application>OpenSSL</application> - libraries.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>OPENSSLINC</varname></term> - - <listitem> - <para>Path to the <application>OpenSSL</application> - includes.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>OPENSSLRPATH</varname></term> - - <listitem> - <para>If defined, the path the linker needs to use to find - the <application>OpenSSL</application> libraries.</para> - </listitem> - </varlistentry> - </variablelist> - - <tip> - <para>If a port does not build with an - <application>OpenSSL</application> flavor, set the - <varname>BROKEN_SSL</varname> variable, and possibly the - <varname>BROKEN_SSL_REASON_<replaceable>flavor</replaceable></varname>:</para> - - <programlisting>BROKEN_SSL= libressl -BROKEN_SSL_REASON_libressl= needs features only available in OpenSSL</programlisting> - </tip> - </sect1> - - <sect1 xml:id="uses-tar"> - <title><literal>tar</literal></title> - - <para>Possible arguments: (none), <literal>Z</literal>, - <literal>bz2</literal>, <literal>bzip2</literal>, - <literal>lzma</literal>, <literal>tbz</literal>, - <literal>tbz2</literal>, - <literal>tgz</literal>, <literal>txz</literal>, - <literal>xz</literal></para> - - <para>Set <varname>EXTRACT_SUFX</varname> to - <literal>.tar</literal>, <literal>.tar.Z</literal>, - <literal>.tar.bz2</literal>, <literal>.tar.bz2</literal>, - <literal>.tar.lzma</literal>, <literal>.tbz</literal>, - <literal>.tbz2</literal>, - <literal>.tgz</literal>, <literal>.txz</literal> or - <literal>.tar.xz</literal> respectively.</para> - </sect1> - - <sect1 xml:id="uses-tcl"> - <title><literal>tcl</literal></title> - - <para>Possible arguments: <replaceable>version</replaceable>, - <literal>wrapper</literal>, <literal>build</literal>, - <literal>run</literal>, <literal>tea</literal></para> - - <para>Add a dependency on <application>Tcl</application>. A - specific version can be requested using - <replaceable>version</replaceable>. The version can be empty, - one or more exact version numbers (currently - <literal>84</literal>, <literal>85</literal>, or - <literal>86</literal>), or a minimal version number (currently - <literal>84+</literal>, <literal>85+</literal> or - <literal>86+</literal>). To only request a non version specific - wrapper, use <literal>wrapper</literal>. A build- or run-time - only dependency can be specified using <literal>build</literal> - or <literal>run</literal>. To build the port using the - <application>Tcl Extension Architecture</application>, use - <literal>tea</literal>. After including - <filename>bsd.port.pre.mk</filename> the port can inspect the - results using these variables:</para> - - <itemizedlist> - <listitem> - <para><varname>TCL_VER</varname>: chosen major.minor version - of <application>Tcl</application></para> - </listitem> - - <listitem> - <para><varname>TCLSH</varname>: full path of the - <application>Tcl</application> interpreter</para> - </listitem> - - <listitem> - <para><varname>TCL_LIBDIR</varname>: path of the - <application>Tcl</application> libraries</para> - </listitem> - - <listitem> - <para><varname>TCL_INCLUDEDIR</varname>: path of the - <application>Tcl</application> C header files</para> - </listitem> - - <listitem> - <para><varname>TK_VER</varname>: chosen major.minor version of - <application>Tk</application></para> - </listitem> - - <listitem> - <para><varname>WISH</varname>: full path of the - <application>Tk</application> interpreter</para> - </listitem> - - <listitem> - <para><varname>TK_LIBDIR</varname>: path of the - <application>Tk</application> libraries</para> - </listitem> - - <listitem> - <para><varname>TK_INCLUDEDIR</varname>: path of the - <application>Tk</application> C header files</para> - </listitem> - </itemizedlist> - </sect1> - - <sect1 xml:id="uses-terminfo"> - <title><literal>terminfo</literal></title> - - <para>Possible arguments: (none)</para> - - <para>Adds <link - linkend="plist-keywords-terminfo"><literal>@terminfo</literal></link> - to the <filename>plist</filename>. Use when the port installs - <filename><replaceable>*</replaceable>.terminfo</filename> files - in <filename>${PREFIX}/share/misc</filename>.</para> - </sect1> - - <sect1 xml:id="uses-tk"> - <title><literal>tk</literal></title> - - <para>Same as arguments for <literal>tcl</literal></para> - - <para>Small wrapper when using both <application>Tcl</application> - and <application>Tk</application>. The same variables are - returned as when using <application>Tcl</application>.</para> - </sect1> - - <sect1 xml:id="uses-uidfix"> - <title><literal>uidfix</literal></title> - - <para>Possible arguments: (none)</para> - - <para>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 <link - linkend="uses-fakeroot">USES=fakeroot</link> or - patching.</para> - </sect1> - - <sect1 xml:id="uses-uniquefiles"> - <title><literal>uniquefiles</literal></title> - - <para>Possible arguments: (none), <literal>dirs</literal></para> - - <para>Make files or directories 'unique', by adding a prefix or - suffix. If the <literal>dirs</literal> argument is used, the - port needs a prefix (and only a prefix) based on - <varname>UNIQUE_PREFIX</varname> for standard directories - <varname>DOCSDIR</varname>, <varname>EXAMPLESDIR</varname>, - <varname>DATADIR</varname>, <varname>WWWDIR</varname>, - <varname>ETCDIR</varname>. These variables are available for - ports:</para> - - <itemizedlist> - <listitem> - <para><varname>UNIQUE_PREFIX</varname>: The prefix to be used - for directories and files. Default: - <varname>${PKGNAMEPREFIX}</varname>.</para> - </listitem> - - <listitem> - <para><varname>UNIQUE_PREFIX_FILES</varname>: A list of files - that need to be prefixed. Default: empty.</para> - </listitem> - - <listitem> - <para><varname>UNIQUE_SUFFIX</varname>: The suffix to be used - for files. Default: - <varname>${PKGNAMESUFFIX}</varname>.</para> - </listitem> - - <listitem> - <para><varname>UNIQUE_SUFFIX_FILES</varname>: A list of files - that need to be suffixed. Default: empty.</para> - </listitem> - </itemizedlist> - </sect1> - - <sect1 xml:id="uses-varnish"> - <title><literal>varnish</literal></title> - - <para>Possible arguments: <literal>4</literal>, - <literal>5</literal></para> - - <para>Handle dependencies on <application>Varnish - Cache</application>. <literal>4</literal> will add a - dependency on <package role="port">www/varnish4</package>. - <literal>5</literal> will add a dependency on <package - role="port">www/varnish5</package>.</para> - </sect1> - - <sect1 xml:id="uses-webplugin"> - <title><literal>webplugin</literal></title> - - <para>Possible arguments: (none), <literal>ARGS</literal></para> - - <para>Automatically create and remove symbolic links for each - application that supports the webplugin framework. - <literal>ARGS</literal> can be one of:</para> - - <itemizedlist> - <listitem> - <para><literal>gecko</literal>: support plug-ins based on - Gecko</para> - </listitem> - - <listitem> - <para><literal>native</literal>: support plug-ins for Gecko, - Opera, and WebKit-GTK</para> - </listitem> - - <listitem> - <para><literal>linux</literal>: support Linux plug-ins</para> - </listitem> - - <listitem> - <para><literal>all</literal> (default, implicit): support all - plug-in types</para> - </listitem> - - <listitem> - <para>(individual entries): support only the browsers - listed</para> - </listitem> - </itemizedlist> - - <para>These variables can be adjusted:</para> - - <itemizedlist> - <listitem> - <para><varname>WEBPLUGIN_FILES</varname>: No default, must be - set manually. The plug-in files to install.</para> - </listitem> - - <listitem> - <para><varname>WEBPLUGIN_DIR</varname>: The directory to - install the plug-in files to, default - <filename><replaceable>PREFIX</replaceable>/lib/browser_plugins/<replaceable>WEBPLUGIN_NAME</replaceable></filename>. - Set this if the port installs plug-in files outside of the - default directory to prevent broken symbolic links.</para> - </listitem> - - <listitem> - <para><varname>WEBPLUGIN_NAME</varname>: The final directory - to install the plug-in files into, default - <varname>PKGBASE</varname>.</para> - </listitem> - </itemizedlist> - </sect1> - - <sect1 xml:id="uses-xfce"> - <title><literal>xfce</literal></title> - - <para>Possible arguments: (none), <literal>gtk2</literal></para> - - <para>Provide support for <application>Xfce</application> related - ports. See <xref linkend="using-xfce"/> for details.</para> - - <para>The <literal>gtk2</literal> argument specifies that the port - requires <application>GTK2</application> support. It adds - additional features provided by some core components, for - example, <package role="port">x11/libxfce4menu</package> and - <package role="port">x11-wm/xfce4-panel</package>.</para> - </sect1> - - <sect1 xml:id="uses-xorg"> - <title><literal>xorg</literal></title> - - <para>Possible arguments: (none)</para> - - <para>Provides an easy way to depend on - <application>X.org</application> components. The components - should be listed in <varname>USE_XORG</varname>. The available - components are:</para> - - <table frame="none" xml:id="using-x11-components"> - <title>Available X.Org Components</title> - - <tgroup cols="2"> - <thead> - <row> - <entry>Name</entry> - <entry>Description</entry> - </row> - </thead> - - <!-- From any ports checkout, run - for m in $(make -C x11/libX11 -V XORG_MODULES:O); do - port=$(make -C x11/libX11 -V "${m}_LIB_PC_DEPENDS:C/^.*://") - if [ -z "$port" ]; then - port=$(make -C x11/libX11 -V "${m}_BUILD_DEPENDS:C/^.*://") - fi - description=$(make -C "$port" -V COMMENT) - printf "<row>\n <entry><literal>$m</literal></entry>\n <entry>$description</entry>\n</row>\n\n" - done - --> - <tbody> - <row> - <entry><literal>dmx</literal></entry> - <entry>DMX extension library</entry> - </row> - - <row> - <entry><literal>fontenc</literal></entry> - <entry>The fontenc Library</entry> - </row> - - <row> - <entry><literal>fontutil</literal></entry> - <entry>Create an index of X font files in a directory</entry> - </row> - - <row> - <entry><literal>ice</literal></entry> - <entry>Inter Client Exchange library for X11</entry> - </row> - - <row> - <entry><literal>libfs</literal></entry> - <entry>The FS library</entry> - </row> - - <row> - <entry><literal>pciaccess</literal></entry> - <entry>Generic PCI access library</entry> - </row> - - <row> - <entry><literal>pixman</literal></entry> - <entry>Low-level pixel manipulation library</entry> - </row> - - <row> - <entry><literal>sm</literal></entry> - <entry>Session Management library for X11</entry> - </row> - - <row> - <entry><literal>x11</literal></entry> - <entry>X11 library</entry> - </row> - - <row> - <entry><literal>xau</literal></entry> - <entry>Authentication Protocol library for X11</entry> - </row> - - <row> - <entry><literal>xaw</literal></entry> - <entry>X Athena Widgets library</entry> - </row> - - <row> - <entry><literal>xaw6</literal></entry> - <entry>X Athena Widgets library</entry> - </row> - - <row> - <entry><literal>xaw7</literal></entry> - <entry>X Athena Widgets library</entry> - </row> - - <row> - <entry><literal>xbitmaps</literal></entry> - <entry>X.Org bitmaps data</entry> - </row> - - <row> - <entry><literal>xcb</literal></entry> - <entry>The X protocol C-language Binding (XCB) library</entry> - </row> - - <row> - <entry><literal>xcomposite</literal></entry> - <entry>X Composite extension library</entry> - </row> - - <row> - <entry><literal>xcursor</literal></entry> - <entry>X client-side cursor loading library</entry> - </row> - - <row> - <entry><literal>xdamage</literal></entry> - <entry>X Damage extension library</entry> - </row> - - <row> - <entry><literal>xdmcp</literal></entry> - <entry>X Display Manager Control Protocol library</entry> - </row> - - <row> - <entry><literal>xext</literal></entry> - <entry>X11 Extension library</entry> - </row> - - <row> - <entry><literal>xfixes</literal></entry> - <entry>X Fixes extension library</entry> - </row> - - <row> - <entry><literal>xfont</literal></entry> - <entry>X font library</entry> - </row> - - <row> - <entry><literal>xfont2</literal></entry> - <entry>X font library</entry> - </row> - - <row> - <entry><literal>xft</literal></entry> - <entry>Client-sided font API for X applications</entry> - </row> - - <row> - <entry><literal>xi</literal></entry> - <entry>X Input extension library</entry> - </row> - - <row> - <entry><literal>xinerama</literal></entry> - <entry>X11 Xinerama library</entry> - </row> - - <row> - <entry><literal>xkbfile</literal></entry> - <entry>XKB file library</entry> - </row> - - <row> - <entry><literal>xmu</literal></entry> - <entry>X Miscellaneous Utilities libraries</entry> - </row> - - <row> - <entry><literal>xmuu</literal></entry> - <entry>X Miscellaneous Utilities libraries</entry> - </row> - - <row> - <entry><literal>xorg-macros</literal></entry> - <entry>X.Org development aclocal macros</entry> - </row> - - <row> - <entry><literal>xorg-server</literal></entry> - <entry>X.Org X server and related programs</entry> - </row> - - <row> - <entry><literal>xorgproto</literal></entry> - <entry>xorg protocol headers</entry> - </row> - - <row> - <entry><literal>xpm</literal></entry> - <entry>X Pixmap library</entry> - </row> - - <row> - <entry><literal>xpresent</literal></entry> - <entry>X Present Extension library</entry> - </row> - - <row> - <entry><literal>xrandr</literal></entry> - <entry>X Resize and Rotate extension library</entry> - </row> - - <row> - <entry><literal>xrender</literal></entry> - <entry>X Render extension library</entry> - </row> - - <row> - <entry><literal>xres</literal></entry> - <entry>X Resource usage library</entry> - </row> - - <row> - <entry><literal>xscrnsaver</literal></entry> - <entry>The XScrnSaver library</entry> - </row> - - <row> - <entry><literal>xshmfence</literal></entry> - <entry>Shared memory 'SyncFence' synchronization primitive</entry> - </row> - - <row> - <entry><literal>xt</literal></entry> - <entry>X Toolkit library</entry> - </row> - - <row> - <entry><literal>xtrans</literal></entry> - <entry>Abstract network code for X</entry> - </row> - - <row> - <entry><literal>xtst</literal></entry> - <entry>X Test extension</entry> - </row> - - <row> - <entry><literal>xv</literal></entry> - <entry>X Video Extension library</entry> - </row> - - <row> - <entry><literal>xvmc</literal></entry> - <entry>X Video Extension Motion Compensation library</entry> - </row> - - <row> - <entry><literal>xxf86dga</literal></entry> - <entry>X DGA Extension</entry> - </row> - - <row> - <entry><literal>xxf86vm</literal></entry> - <entry>X Vidmode Extension</entry> - </row> - </tbody> - </tgroup> - </table> - </sect1> - - <sect1 xml:id="uses-xorg-cat"> - <title><literal>xorg-cat</literal></title> - - <para>Possible arguments: <literal>app</literal>, <literal>data</literal>, - <literal>doc</literal>, <literal>driver</literal>, - <literal>font</literal>, <literal>lib</literal>, <literal>proto</literal>, - <literal>util</literal>, <literal>xserver</literal> and (none) or one off - <literal>autotools</literal> (default), <literal>meson</literal></para> - - <para>Provide support for building <application>Xorg</application> - components. It takes care of setting up common dependencies and an - appropriate configuration environment needed. This is intended only - for <application>Xorg</application> components.</para> - - <para>The category has to match upstream categories.</para> - - <para>The second argument is the build system to use. - <application>autotools</application> is the default, but - <application>meson</application> is also supported.</para> - </sect1> - - <sect1 xml:id="uses-zip"> - <title><literal>zip</literal></title> - - <para>Possible arguments: (none), - <literal>infozip</literal></para> - - <para>Indicates that the distribution files use the ZIP - compression algorithm. For files using the InfoZip algorithm - the <literal>infozip</literal> argument must be passed to set - the appropriate dependencies.</para> - </sect1> -</chapter> |