split off the large module documentations, so that port-modules is less of
authorespie <espie@openbsd.org>
Thu, 25 Feb 2021 09:13:18 +0000 (09:13 +0000)
committerespie <espie@openbsd.org>
Thu, 25 Feb 2021 09:13:18 +0000 (09:13 +0000)
a monster.

okay sthen@

share/man/man5/Makefile
share/man/man5/cargo-module.5 [new file with mode: 0644]
share/man/man5/gnome-module.5 [new file with mode: 0644]
share/man/man5/go-module.5 [new file with mode: 0644]
share/man/man5/port-modules.5
share/man/man5/python-module.5 [new file with mode: 0644]
share/man/man5/qmake-module.5 [new file with mode: 0644]

index 4a54fd3..60183d7 100644 (file)
@@ -1,4 +1,4 @@
-#      $OpenBSD: Makefile,v 1.58 2020/11/29 20:14:06 deraadt Exp $
+#      $OpenBSD: Makefile,v 1.59 2021/02/25 09:13:18 espie Exp $
 #      $NetBSD: Makefile,v 1.14 1995/05/11 23:13:15 cgd Exp $
 
 MAN=   acct.5 ar.5 bsd.port.mk.5 bsd.port.arch.mk.5 bsd.regress.mk.5 \
@@ -7,8 +7,11 @@ MAN=   acct.5 ar.5 bsd.port.mk.5 bsd.port.arch.mk.5 bsd.regress.mk.5 \
        fs.5 fstab.5 genassym.cf.5 group.5 hostname.if.5 hosts.5 installurl.5 \
        intro.5 login.conf.5 mandoc.db.5 mixerctl.conf.5 \
        mk.conf.5 moduli.5 motd.5 mygate.5 myname.5 netgroup.5 passwd.5 \
-       pf.conf.5 pf.os.5 port-modules.5 printcap.5 protocols.5 \
-       ranlib.5 remote.5 resolv.conf.5 rpc.5 ruby-module.5 \
+       pf.conf.5 pf.os.5 port-modules.5 \
+       cargo-module.5 gnome-module.5 go-module.5 python-module.5 qmake-module.5 \
+       ruby-module.5 \
+       printcap.5 protocols.5 \
+       ranlib.5 remote.5 resolv.conf.5 rpc.5 \
        services.5 shells.5 \
        spamd.conf.5 sysctl.conf.5 utmp.5 wsconsctl.conf.5
        
diff --git a/share/man/man5/cargo-module.5 b/share/man/man5/cargo-module.5
new file mode 100644 (file)
index 0000000..d6702af
--- /dev/null
@@ -0,0 +1,122 @@
+.\"    $OpenBSD: cargo-module.5,v 1.1 2021/02/25 09:13:18 espie Exp $
+.\"
+.\" Copyright (c) 2008 Marc Espie
+.\"
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.Dd $Mdocdate: February 25 2021 $
+.Dt CARGO-MODULE 5
+.Os
+.Sh NAME
+.Nm cargo-module
+.Nd devel/cargo port module
+.Sh DESCRIPTION
+This manual page documents the behavior of setting
+.Li MODULE=Devel/cargo
+in the
+.Xr ports 7
+tree.
+.Pp
+Automates download and compilation of dependencies of a Rust project using
+.Xr cargo 1 .
+During
+.Cm fetch ,
+static dependencies ("crates") listed in
+.Ev MODCARGO_CRATES
+are downloaded using
+.Ev MODCARGO_DIST_SUBDIR
+as
+.Ev DIST_SUBDIR .
+During
+.Cm post-extract ,
+crates defined in
+.Ev MODCARGO_CRATES
+are moved to the
+.Ev MODCARGO_VENDOR_DIR
+directory.
+During
+.Cm post-patch ,
+crate-metadata are generated using
+.Pa devel/cargo-generate-vendor .
+With
+.Ev CONFIGURE_STYLE
+set to
+.Sq cargo ,
+cargo is configured to use
+.Ev MODCARGO_VENDOR_DIR
+instead of the standard crates-io network source.
+Finally, any crates listed in
+.Ev MODCARGO_CRATES_UPDATE
+are updated.
+.Ev MODCARGO_RUSTFLAGS
+can be used to pass custom flags to all
+.Xr rustc 1
+invocations.
+.Pp
+.Pa lang/rust ,
+.Pa devel/cargo
+and
+.Pa devel/cargo-generate-vendor
+are added to
+.Ev BUILD_DEPENDS .
+By default
+.Ev MASTER_SITES9
+is used to download the crates.
+.Pp
+This module defines:
+.Bl -tag -width MODCARGO_CRATES_UPDATE
+.It MODCARGO_CARGOTOML
+Path to cargo manifest.
+Defaults to
+.Pa ${WRKSRC}/Cargo.toml .
+.It MODCARGO_CRATES
+Crates that will be downloaded by the module.
+.It MODCARGO_CRATES_UPDATE
+List of crates to update, overriding the version listed in Cargo.lock.
+.It MODCARGO_FEATURES
+List of features to be used when building.
+.It MODCARGO_VENDOR_DIR
+Name of the local directory for vendoring crates.
+Defaults to
+.Pa ${WRKSRC}/modcargo-crates .
+.El
+.Pp
+This module adds three
+.Xr make 1
+targets:
+.Bl -tag -width modcargo-gen-crates-licenses
+.It Cm modcargo-metadata
+Rerun the generation of crates' metadata.
+.It Cm modcargo-gen-crates
+Generate the
+.Ev MODCARGO_CRATES
+list from Cargo.lock (a preliminary crates list is not required).
+.It Cm modcargo-gen-crates-licenses
+Generate the
+.Ev MODCARGO_CRATES
+list with license information from crates present in the
+.Ev MODCARGO_VENDOR_DIR
+directory.
+.El
+.Sh SEE ALSO
+.Xr port-modules 5
diff --git a/share/man/man5/gnome-module.5 b/share/man/man5/gnome-module.5
new file mode 100644 (file)
index 0000000..d47bfcf
--- /dev/null
@@ -0,0 +1,180 @@
+.\"    $OpenBSD: gnome-module.5,v 1.1 2021/02/25 09:13:18 espie Exp $
+.\"
+.\" Copyright (c) 2008 Marc Espie
+.\"
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.Dd $Mdocdate: February 25 2021 $
+.Dt GNOME-MODULE 5
+.Os
+.Sh NAME
+.Nm gnome-module
+.Nd x11/gnome port module
+.Sh DESCRIPTION
+This manual page documents the behavior of setting
+.Li MODULE=x11/gnome
+in the
+.Xr ports 7
+tree.
+.Pp
+This module has full support for the
+.Ar gnu ,
+.Ar simple
+and
+.Ar cmake
+CONFIGURE_STYLE.
+.Pp
+If both
+.Ev GNOME_PROJECT
+and
+.Ev GNOME_VERSION
+are set, this module defines
+.Ev DISTNAME ,
+.Ev VERSION ,
+.Ev MASTER_SITES ,
+adds x11/gnome to
+.Ev CATEGORIES
+and
+.Ev EXTRACT_SUFX
+will default to .tar.xz if unset.
+Unless
+.Li NO_BUILD=Yes ,
+.Pa textproc/intltool
+is also appended to
+.Ev MODULES
+and when CONFIGURE_STYLE is set to
+.Ar gnu
+or
+.Ar simple ,
+.Ev USE_GMAKE
+is set to "Yes".
+.Pp
+When CONFIGURE_STYLE is set to
+.Ar gnu
+or
+.Ar simple ,
+if none of
+.Ev AUTOCONF_VERSION
+nor
+.Ev AUTOMAKE_VERSION
+are defined, then "--disable-maintainer-mode" is appended to
+.Ev CONFIGURE_ARGS .
+When CONFIGURE_STYLE is set to
+.Ar cmake ,
+"-DENABLE_MAINTAINER_MODE=OFF" and -DSYSCONF_INSTALL_DIR=${SYSCONFDIR}
+are appended to CONFIGURE_ARGS.
+.Pp
+MODGNOME_CPPFLAGS and MODGNOME_LDFLAGS can be used to add compiler and linker
+flags.
+.Li CPPFLAGS="-I${LOCALBASE}/include"
+and
+.Li LDFLAGS="-L${LOCALBASE}/lib"
+are always appended to
+.Ev CONFIGURE_ENV .
+.Pp
+Certain build/run dependencies and configure arguments and environment
+can be set by appending desktop-file-utils, docbook, gobject-introspection,
+gtk-update-icon-cache, shared-mime-info, vala and/or yelp to
+.Ev MODGNOME_TOOLS .
+They are disabled otherwise.
+If
+.Ev MODGNOME_TOOLS
+is set to desktop-file-utils,
+a dependency on
+.Pa devel/desktop-file-utils
+is appended to
+.Ev MODGNOME_RUN_DEPENDS
+and a link to /usr/bin/true is created under
+.Pa ${WRKDIR}/bin/desktop-file-validate .
+If
+.Ev MODGNOME_TOOLS
+is set to docbook,
+.Pa textproc/docbook-xsl
+is appended to
+.Ev MODGNOME_BUILD_DEPENDS .
+This option is used when the generation of the man pages included in the
+source tarball requires docbook XML/SGML/XSL definitions and stylesheets.
+If
+.Ev MODGNOME_TOOLS
+is set to gtk-update-icon-cache, a dependency on
+.Pa x11/gtk+3,-guic
+is appended to
+.Ev MODGNOME_RUN_DEPENDS .
+If
+.Ev MODGNOME_TOOLS
+is set to shared-mime-info, a dependency on
+.Pa misc/shared-mime-info
+is appended to
+.Ev MODGNOME_RUN_DEPENDS
+and a link to /usr/bin/true is created under
+.Pa ${WRKDIR}/bin/update-mime-database .
+If
+.Ev MODGNOME_TOOLS
+is set to yelp,
+.Pa textproc/itstool
+and
+.Pa x11/gnome/doc-utils
+are appended to
+.Ev MODGNOME_BUILD_DEPENDS .
+Furthermore,
+.Pa x11/gnome/yelp
+is appended to
+.Ev MODGNOME_RUN_DEPENDS
+if
+.Ev MODGNOME_TOOLS
+also contains "desktop-file-utils"
+This option is to be used when any files are installed into
+.Pa share/gnome/help/
+or page files are installed into
+.Pa share/help/ .
+.Ev MODGNOME_BUILD_DEPENDS
+and
+.Ev MODGNOME_RUN_DEPENDS
+are appended to the
+corresponding
+.Ev BUILD_DEPENDS
+and
+.Ev RUN_DEPENDS .
+.Pp
+Some tools require the following goo in the PLIST:
+.Pp
+.Ar desktop-file-utils
+.Bd -literal -offset indent
+@exec %D/bin/update-desktop-database
+@unexec-delete %D/bin/update-desktop-database
+.Ed
+.Pp
+.Ar gtk-update-icon-cache
+($icon-theme is the theme directory)
+.Bd -literal -offset indent
+@exec %D/bin/gtk-update-icon-cache -q -t %D/share/icons/$icon-theme
+@unexec-delete %D/bin/gtk-update-icon-cache -q -t %D/share/icons/$icon-theme
+.Ed
+.Pp
+.Ar shared-mime-info
+.Bd -literal -offset indent
+@exec %D/bin/update-mime-database %D/share/mime
+@unexec-delete %D/bin/update-mime-database %D/share/mime
+.Ed
+.Sh SEE ALSO
+.Xr port-modules 5
diff --git a/share/man/man5/go-module.5 b/share/man/man5/go-module.5
new file mode 100644 (file)
index 0000000..fa9ad73
--- /dev/null
@@ -0,0 +1,201 @@
+.\"    $OpenBSD: go-module.5,v 1.1 2021/02/25 09:13:18 espie Exp $
+.\"
+.\" Copyright (c) 2008 Marc Espie
+.\"
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.Dd $Mdocdate: February 25 2021 $
+.Dt GO-MODULE 5
+.Os
+.Sh NAME
+.Nm go-module
+.Nd lang/go port module
+.Sh DESCRIPTION
+This manual page documents the behavior of setting
+.Li MODULE=lang/go
+in the
+.Xr ports 7
+tree.
+.Pp
+Adds Go toolchain support.
+Requires
+.Ev ALL_TARGET
+to be set to canonical Go import path of port.
+(Module sets it automatically for ports that use
+.Ev GH_ACCOUNT
+and
+.Ev GH_PROJECT
+macros.)
+.Pp
+During execution of
+.Cm pre-configure
+target module moves source code from
+.Pa ${MODGO_SUBDIR}
+to
+.Pa ${WRKSRC} ,
+subdirectory of
+.Pa ${MODGO_WORKSPACE}
+- specially-crafted Go workspace located at
+.Pa ${WRKDIR}/go .
+During
+.Cm do-build
+module calls
+.Dq go install
+with
+.Ev GOPATH
+set to
+.Pa ${MODGO_WORKSPACE} ,
+runs its output through sed to prevent writes outside
+.Ev WRKDIR
+sandbox and sends output to
+.Xr sh 1 .
+During
+.Cm do-install
+it copies executables from
+.Pa ${MODGO_WORKSPACE}/bin
+to
+.Pa ${PREFIX}/bin ,
+and/or directories
+.Pa ${MODGO_WORKSPACE}/pkg
+and
+.Pa ${MODGO_WORKSPACE}/src
+to
+.Pa ${PREFIX}/go ,
+depending on
+.Ev MODGO_TYPE
+contents.
+.Pp
+Sets
+.Ev BUILD_DEPENDS ,
+.Ev RUN_DEPENDS ,
+.Ev ALL_TARGET ,
+.Ev TEST_TARGET ,
+.Ev ONLY_FOR_ARCHS ,
+.Ev SEPARATE_BUILD ,
+and
+.Ev WRKSRC .
+.Pp
+Appends to
+.Ev CATEGORIES .
+.Pp
+Defines:
+.Bl -tag -width MODGO_WORKSPACE
+.It Ev MODGO_TYPE
+Type of port.
+May be any combination of:
+.Bl -tag -width lib
+.It bin
+ordinary binary, which should be installed to
+.Pa ${PREFIX}/bin ,
+.It lib
+library, which should come with source code.
+.El
+.Pp
+Defaults to
+.Ar bin .
+.It Ev MODGO_WORKSPACE
+Path to Go workspace set up for port build process.
+Defaults to
+.Pa ${WRKDIR}/go .
+See Go documentation for details.
+.It Ev MODGO_SUBDIR
+Path to Go source code within port's sources tarball.
+Defaults to
+.Pa ${WRKDIST} .
+.It Ev MODGO_SETUP_WORKSPACE
+Commands setting up Go workspace for building ports.
+By default, happens during execution of
+.Cm pre-configure
+target.
+.It Ev MODGO_BUILDDEP
+Controls whether contents of
+.Ev MODGO_BUILD_DEPENDS
+are appended to port's
+.Ev BUILD_DEPENDS .
+Defaults to
+.Ar Yes .
+.It Ev MODGO_MODNAME
+is the module name as defined in the
+.Pa go.mod
+file contained in a project.
+If this is set,
+.Ev MODGO_MODULES ,
+.Ev MODGO_MODFILES
+and
+.Ev MODGO_VERSION
+need to be defined as well.
+Setting this will also set
+.Ev ALL_TARGET .
+When
+.Ev MODGO_MODFILES
+is set, and a "cmd" directory is found in
+.Ev WRKSRC ,
+"cmd/..." is appended to
+.Ev ALL_TARGET
+in
+.Cm do-build
+automatically.
+.It Ev MODGO_VERSION
+Sets the specific version of a Go module to use.
+For example: v0.1.3.
+.It Ev MODGO_MODULES
+List of modules and their specific versions that an application depends on.
+.It Ev MODGO_MODFILES
+List of go.mod files and their versions that are required for dependency
+resolution.
+These are required by Go to determine the full dependency graph.
+.El
+.Pp
+Additionally defines
+.Ev MODGO_PACKAGES ,
+.Ev MODGO_SOURCES
+and
+.Ev MODGO_TOOLS
+(paths for installed Go packages, sources and tools respectively),
+.Ev MODGO_CMD
+and
+.Ev MODGO_FLAGS
+(source code build command and flags passed as its arguments),
+.Ev MODGO_LDFLAGS ,
+.Ev MODGO_BUILD_CMD
+and
+.Ev MODGO_TEST_CMD
+(commands for building and testing go packages; normally called with canonical
+Go package names as arguments),
+.Ev MODGO_{BUILD,INSTALL,TEST}_TARGET
+and
+.Ev MODGO_{BUILD,RUN}_DEPENDS .
+.Pp
+This module adds one
+.Xr make 1
+target:
+.Bl -tag -width modgo-gen-modules
+.It Cm modgo-gen-modules
+Generate the
+.Ev MODGO_MODULES
+and the
+.Ev MODGO_MODFILES
+lists.
+.El
+.Sh SEE ALSO
+.Xr port-modules 5
index 2d47c06..f39ae7e 100644 (file)
@@ -1,4 +1,4 @@
-.\"    $OpenBSD: port-modules.5,v 1.253 2021/02/10 12:44:13 espie Exp $
+.\"    $OpenBSD: port-modules.5,v 1.254 2021/02/25 09:13:18 espie Exp $
 .\"
 .\" Copyright (c) 2008 Marc Espie
 .\"
@@ -24,7 +24,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd $Mdocdate: February 10 2021 $
+.Dd $Mdocdate: February 25 2021 $
 .Dt PORT-MODULES 5
 .Os
 .Sh NAME
@@ -588,87 +588,8 @@ Also,
 is added to DPB_PROPERTIES because CMake's include files parser cheats
 too much.
 .It devel/cargo
-Automates download and compilation of dependencies of a Rust project using
-.Xr cargo 1 .
-During
-.Cm fetch ,
-static dependencies ("crates") listed in
-.Ev MODCARGO_CRATES
-are downloaded using
-.Ev MODCARGO_DIST_SUBDIR
-as
-.Ev DIST_SUBDIR .
-During
-.Cm post-extract ,
-crates defined in
-.Ev MODCARGO_CRATES
-are moved to the
-.Ev MODCARGO_VENDOR_DIR
-directory.
-During
-.Cm post-patch ,
-crate-metadata are generated using
-.Pa devel/cargo-generate-vendor .
-With
-.Ev CONFIGURE_STYLE
-set to
-.Sq cargo ,
-cargo is configured to use
-.Ev MODCARGO_VENDOR_DIR
-instead of the standard crates-io network source.
-Finally, any crates listed in
-.Ev MODCARGO_CRATES_UPDATE
-are updated.
-.Ev MODCARGO_RUSTFLAGS
-can be used to pass custom flags to all
-.Xr rustc 1
-invocations.
-.Pp
-.Pa lang/rust ,
-.Pa devel/cargo
-and
-.Pa devel/cargo-generate-vendor
-are added to
-.Ev BUILD_DEPENDS .
-By default
-.Ev MASTER_SITES9
-is used to download the crates.
-.Pp
-This module defines:
-.Bl -tag -width MODCARGO_CRATES_UPDATE
-.It MODCARGO_CARGOTOML
-Path to cargo manifest.
-Defaults to
-.Pa ${WRKSRC}/Cargo.toml .
-.It MODCARGO_CRATES
-Crates that will be downloaded by the module.
-.It MODCARGO_CRATES_UPDATE
-List of crates to update, overriding the version listed in Cargo.lock.
-.It MODCARGO_FEATURES
-List of features to be used when building.
-.It MODCARGO_VENDOR_DIR
-Name of the local directory for vendoring crates.
-Defaults to
-.Pa ${WRKSRC}/modcargo-crates .
-.El
-.Pp
-This module adds three
-.Xr make 1
-targets:
-.Bl -tag -width modcargo-gen-crates-licenses
-.It Cm modcargo-metadata
-Rerun the generation of crates' metadata.
-.It Cm modcargo-gen-crates
-Generate the
-.Ev MODCARGO_CRATES
-list from Cargo.lock (a preliminary crates list is not required).
-.It Cm modcargo-gen-crates-licenses
-Generate the
-.Ev MODCARGO_CRATES
-list with license information from crates present in the
-.Ev MODCARGO_VENDOR_DIR
-directory.
-.El
+See
+.Xr cargo-module 5 .
 .It devel/dconf
 Sets
 .Ev CONFIGURE_ARGS ,
@@ -747,83 +668,8 @@ It appends
 to
 .Ev BUILD_DEPENDS .
 .It devel/qmake
-This module automates usage of qmake, independently of the actual
-version of Qt being used.
-This module requires that one of the
-.Pa x11/qt3 ,
-.Pa x11/qt4
-or
-.Pa x11/qt5
-to be used as well.
-.Pp
-If
-.Ev CONFIGURE_STYLE
-was not set before, sets its value to
-.Sq qmake .
-If
-.Ev CONFIGURE_STYLE
-contains
-.Sq qmake
-the module will define each of the
-.Ar do-build
-and
-.Ar do-install
-targets, unless port already defines one; also,
-.Ev SEPARATE_BUILD
-will be set to
-.Sq Yes
-unless it's already set to some value.
-Also, unless
-.Ev NO_TEST
-is set, the
-.Ar do-test
-target will be defined.
-.Pp
-The following variables could be used in qmake-based ports:
-.Bl -tag -width 1234
-.It Ev MODQMAKE_ARGS
-Additional arguments for qmake invocation.
-The module already defines some.
-.It Ev MODQMAKE_INSTALL_ROOT
-Root directory for fake install.
-Normally, it's a WRKINST, but some (broken) ports require another value,
-like PREFIX.
-.It Ev MODQMAKE_PROJECTS
-List of qmake project files to be used, relative to WRKSRC.
-Directories containing those projects could be used as well,
-see qmake documentation for details.
-Defaults to
-.Sq \&. ,
-which means the (only) project in WRKSRC directory.
-.It Ev MODQMAKE_RECURSIVE
-If
-.Sq Yes ,
-then qmake will be run recursively during configure stage;
-otherwise, only projects mentioned in
-.Ev MODQMAKE_PROJECTS
-will be processed during configure stage, and their descendants will
-be visited during main build phase.
-Sometimes a qmake project processing depends on files generated
-by other qmake project during build, and recursive builds break this.
-For Qt4+ defaults to
-.Sq Yes ,
-and Qt3 doesn't support recursive configuring.
-.It Ev MODQMAKE_build
-Actual commands that module will use to build all
-.Ev MODQMAKE_PROJECTS
-provided.
-To be used in complicated cases, when port have to use its own
-.Ar do-build
-target or mix different
-.Ev CONFIGURE_STYLE
-values.
-.It Ev MODQMAKE_install
-Same as for
-.Ev MODQMAKE_build ,
-but used in
-.Ar do-install
-stage.
-.El
+See
+.Xr qmake-module 5 .
 .It devel/scons
 Adds
 .Pa devel/scons
@@ -1015,166 +861,8 @@ command can be specified with
 and
 .Ev MODGHC_SETUP_CONF_ENV .
 .It lang/go
-Adds Go toolchain support.
-Requires
-.Ev ALL_TARGET
-to be set to canonical Go import path of port.
-(Module sets it automatically for ports that use
-.Ev GH_ACCOUNT
-and
-.Ev GH_PROJECT
-macros.)
-.Pp
-During execution of
-.Cm pre-configure
-target module moves source code from
-.Pa ${MODGO_SUBDIR}
-to
-.Pa ${WRKSRC} ,
-subdirectory of
-.Pa ${MODGO_WORKSPACE}
-- specially-crafted Go workspace located at
-.Pa ${WRKDIR}/go .
-During
-.Cm do-build
-module calls
-.Dq go install
-with
-.Ev GOPATH
-set to
-.Pa ${MODGO_WORKSPACE} ,
-runs its output through sed to prevent writes outside
-.Ev WRKDIR
-sandbox and sends output to
-.Xr sh 1 .
-During
-.Cm do-install
-it copies executables from
-.Pa ${MODGO_WORKSPACE}/bin
-to
-.Pa ${PREFIX}/bin ,
-and/or directories
-.Pa ${MODGO_WORKSPACE}/pkg
-and
-.Pa ${MODGO_WORKSPACE}/src
-to
-.Pa ${PREFIX}/go ,
-depending on
-.Ev MODGO_TYPE
-contents.
-.Pp
-Sets
-.Ev BUILD_DEPENDS ,
-.Ev RUN_DEPENDS ,
-.Ev ALL_TARGET ,
-.Ev TEST_TARGET ,
-.Ev ONLY_FOR_ARCHS ,
-.Ev SEPARATE_BUILD ,
-and
-.Ev WRKSRC .
-.Pp
-Appends to
-.Ev CATEGORIES .
-.Pp
-Defines:
-.Bl -tag -width MODGO_WORKSPACE
-.It Ev MODGO_TYPE
-Type of port.
-May be any combination of:
-.Bl -tag -width lib
-.It bin
-ordinary binary, which should be installed to
-.Pa ${PREFIX}/bin ,
-.It lib
-library, which should come with source code.
-.El
-.Pp
-Defaults to
-.Ar bin .
-.It Ev MODGO_WORKSPACE
-Path to Go workspace set up for port build process.
-Defaults to
-.Pa ${WRKDIR}/go .
-See Go documentation for details.
-.It Ev MODGO_SUBDIR
-Path to Go source code within port's sources tarball.
-Defaults to
-.Pa ${WRKDIST} .
-.It Ev MODGO_SETUP_WORKSPACE
-Commands setting up Go workspace for building ports.
-By default, happens during execution of
-.Cm pre-configure
-target.
-.It Ev MODGO_BUILDDEP
-Controls whether contents of
-.Ev MODGO_BUILD_DEPENDS
-are appended to port's
-.Ev BUILD_DEPENDS .
-Defaults to
-.Ar Yes .
-.It Ev MODGO_MODNAME
-is the module name as defined in the
-.Pa go.mod
-file contained in a project.
-If this is set,
-.Ev MODGO_MODULES ,
-.Ev MODGO_MODFILES
-and
-.Ev MODGO_VERSION
-need to be defined as well.
-Setting this will also set
-.Ev ALL_TARGET .
-When
-.Ev MODGO_MODFILES
-is set, and a "cmd" directory is found in
-.Ev WRKSRC ,
-"cmd/..." is appended to
-.Ev ALL_TARGET
-in
-.Cm do-build
-automatically.
-.It Ev MODGO_VERSION
-Sets the specific version of a Go module to use.
-For example: v0.1.3.
-.It Ev MODGO_MODULES
-List of modules and their specific versions that an application depends on.
-.It Ev MODGO_MODFILES
-List of go.mod files and their versions that are required for dependency
-resolution.
-These are required by Go to determine the full dependency graph.
-.El
-.Pp
-Additionally defines
-.Ev MODGO_PACKAGES ,
-.Ev MODGO_SOURCES
-and
-.Ev MODGO_TOOLS
-(paths for installed Go packages, sources and tools respectively),
-.Ev MODGO_CMD
-and
-.Ev MODGO_FLAGS
-(source code build command and flags passed as its arguments),
-.Ev MODGO_LDFLAGS ,
-.Ev MODGO_BUILD_CMD
-and
-.Ev MODGO_TEST_CMD
-(commands for building and testing go packages; normally called with canonical
-Go package names as arguments),
-.Ev MODGO_{BUILD,INSTALL,TEST}_TARGET
-and
-.Ev MODGO_{BUILD,RUN}_DEPENDS .
-.Pp
-This module adds one
-.Xr make 1
-target:
-.Bl -tag -width modgo-gen-modules
-.It Cm modgo-gen-modules
-Generate the
-.Ev MODGO_MODULES
-and the
-.Ev MODGO_MODFILES
-lists.
-.El
+See
+.Xr go-module 5 .
 .It lang/lua
 Sets
 .Ev MODLUA_BIN ,
@@ -1401,117 +1089,8 @@ Sets a default
 and appends to
 .Ev CATEGORIES .
 .It lang/python
-Sets
-.Ev MODPY_VERSION ,
-.Ev MODPY_BIN ,
-.Ev MODPY_INCDIR ,
-.Ev MODPY_LIBDIR ,
-.Ev MODPY_SITEPKG ,
-.Ev MODPY_SETUP ,
-.Ev MODPY_TEST_DIR ,
-.Ev MODPY_TEST_LOCALE ,
-.Ev MODPY_WANTLIB ,
-.Ev MODPY_LIB_DEPENDS ,
-.Ev MODPY_RUN_DEPENDS ,
-.Ev MODPY_TEST_DEPENDS ,
-.Ev MODPY_BUILD_DEPENDS ,
-and
-.Ev MODPY_ADJ_FILES .
-Appends to
-.Ev RUN_DEPENDS
-unless
-.Ev MODPY_RUNDEP
-is set to No.
-Appends to
-.Ev BUILD_DEPENDS
-unless
-.Ev MODPY_BUILDDEP
-is set to No or
-.Ev NO_BUILD
-is set to Yes.
-Appends to
-.Ev TEST_DEPENDS
-if
-.Ev MODPY_PYTEST
-is set to Yes
-unless
-.Ev MODPY_TESTDEP
-is set to No.
-Appends
-.Ev MODPY_TEST_LOCALE
-to
-.Ev TEST_ENV .
-Changes to the directory specified in
-.Ev MODPY_TEST_DIR ,
-by default WRKSRC, before running tests.
-.Ev MODPY_VERSION
-is the default version used by all python modules.
-Ports which use the setuptools module should set
-.Ev MODPY_SETUPTOOLS
-to Yes.
-Ports which use the pytest module should set
-.Ev MODPY_PYTEST
-to Yes.
-Arguments can be passed to pytest during
-.Cm test
-with
-.Ev MODPY_PYTEST_ARGS .
-All ports that generate egg-info files should set
-.Ev MODPY_EGG_VERSION
-to the version string used by the
-.Fn setup
-function in the port's
-.Pa setup.py .
-Arguments can be passed to setup.py during
-.Cm configure
-with
-.Ev MODPY_SETUP_ARGS .
-Extra arguments to the build and install commands can be passed via
-.Ev MODPY_DISTUTILS_BUILDARGS
-and
-.Ev MODPY_DISTUTILS_INSTALLARGS .
-If any files have a python shebang line which needs to be replaced
-using MODPY_BIN, list them in
-.Ev MODPY_ADJ_FILES .
-These are prefixed with WRKSRC and replaced automatically
-at the end of
-.Cm pre-configure .
-Also affects
-.Ev CATEGORIES ,
-.Ev MAKE_ENV ,
-.Ev CONFIGURE_ENV ,
-and
-.Ev SUBST_VARS .
-May affect the
-.Cm test
-target.
-If
-.Ev MODPY_PI
-is set to Yes it will set
-.Ev HOMEPAGE
-and
-.Ev MASTER_SITES .
-The subdirectory can be overridden with
-.Ev MODPY_PI_DIR .
-.Pp
-Python 2.x places .pyc files in the same directory as the associated .py file.
-Python 3.x places these in a separate __pycache__ directory and uses an
-additional suffix.
-In some cases, an ABI tag is also used for names of compiled extensions.
-The python module defines variables to allow a single PLIST to be
-used for both versions.
-Generate or update the PLIST using the python3
-.Ev FLAVOR ,
-then edit it to prefix any lines creating
-.Ev MODPY_PYCACHE
-directories with
-.Ev MODPY_COMMENT .
-As python2 and python3 packages should permit being installed together,
-it may be necessary to suffix names of common binaries or directories,
-or split common files into a subpackage.
-If updating the PLIST without using the python3 flavor,
-take care not to remove ${MODPY_PYCACHE}, ${MODPY_PYC_MAGIC_TAG}, or
-${MODPY_ABI_TAG} variables from the PLIST.
+See
+.Xr python-module 5 .
 .It lang/ruby
 See
 .Xr ruby-module 5 .
@@ -1680,145 +1259,8 @@ and also sets
 .Ev NO_TEST
 to Yes.
 .It x11/gnome
-This module has full support for the
-.Ar gnu ,
-.Ar simple
-and
-.Ar cmake
-CONFIGURE_STYLE.
-.Pp
-If both
-.Ev GNOME_PROJECT
-and
-.Ev GNOME_VERSION
-are set, this module defines
-.Ev DISTNAME ,
-.Ev VERSION ,
-.Ev MASTER_SITES ,
-adds x11/gnome to
-.Ev CATEGORIES
-and
-.Ev EXTRACT_SUFX
-will default to .tar.xz if unset.
-Unless
-.Li NO_BUILD=Yes ,
-.Pa textproc/intltool
-is also appended to
-.Ev MODULES
-and when CONFIGURE_STYLE is set to
-.Ar gnu
-or
-.Ar simple ,
-.Ev USE_GMAKE
-is set to "Yes".
-.Pp
-When CONFIGURE_STYLE is set to
-.Ar gnu
-or
-.Ar simple ,
-if none of
-.Ev AUTOCONF_VERSION
-nor
-.Ev AUTOMAKE_VERSION
-are defined, then "--disable-maintainer-mode" is appended to
-.Ev CONFIGURE_ARGS .
-When CONFIGURE_STYLE is set to
-.Ar cmake ,
-"-DENABLE_MAINTAINER_MODE=OFF" and -DSYSCONF_INSTALL_DIR=${SYSCONFDIR}
-are appended to CONFIGURE_ARGS.
-.Pp
-MODGNOME_CPPFLAGS and MODGNOME_LDFLAGS can be used to add compiler and linker
-flags.
-.Li CPPFLAGS="-I${LOCALBASE}/include"
-and
-.Li LDFLAGS="-L${LOCALBASE}/lib"
-are always appended to
-.Ev CONFIGURE_ENV .
-.Pp
-Certain build/run dependencies and configure arguments and environment
-can be set by appending desktop-file-utils, docbook, gobject-introspection,
-gtk-update-icon-cache, shared-mime-info, vala and/or yelp to
-.Ev MODGNOME_TOOLS .
-They are disabled otherwise.
-If
-.Ev MODGNOME_TOOLS
-is set to desktop-file-utils,
-a dependency on
-.Pa devel/desktop-file-utils
-is appended to
-.Ev MODGNOME_RUN_DEPENDS
-and a link to /usr/bin/true is created under
-.Pa ${WRKDIR}/bin/desktop-file-validate .
-If
-.Ev MODGNOME_TOOLS
-is set to docbook,
-.Pa textproc/docbook-xsl
-is appended to
-.Ev MODGNOME_BUILD_DEPENDS .
-This option is used when the generation of the man pages included in the
-source tarball requires docbook XML/SGML/XSL definitions and stylesheets.
-If
-.Ev MODGNOME_TOOLS
-is set to gtk-update-icon-cache, a dependency on
-.Pa x11/gtk+3,-guic
-is appended to
-.Ev MODGNOME_RUN_DEPENDS .
-If
-.Ev MODGNOME_TOOLS
-is set to shared-mime-info, a dependency on
-.Pa misc/shared-mime-info
-is appended to
-.Ev MODGNOME_RUN_DEPENDS
-and a link to /usr/bin/true is created under
-.Pa ${WRKDIR}/bin/update-mime-database .
-If
-.Ev MODGNOME_TOOLS
-is set to yelp,
-.Pa textproc/itstool
-and
-.Pa x11/gnome/doc-utils
-are appended to
-.Ev MODGNOME_BUILD_DEPENDS .
-Furthermore,
-.Pa x11/gnome/yelp
-is appended to
-.Ev MODGNOME_RUN_DEPENDS
-if
-.Ev MODGNOME_TOOLS
-also contains "desktop-file-utils"
-This option is to be used when any files are installed into
-.Pa share/gnome/help/
-or page files are installed into
-.Pa share/help/ .
-.Ev MODGNOME_BUILD_DEPENDS
-and
-.Ev MODGNOME_RUN_DEPENDS
-are appended to the
-corresponding
-.Ev BUILD_DEPENDS
-and
-.Ev RUN_DEPENDS .
-.Pp
-Some tools require the following goo in the PLIST:
-.Pp
-.Ar desktop-file-utils
-.Bd -literal -offset indent
-@exec %D/bin/update-desktop-database
-@unexec-delete %D/bin/update-desktop-database
-.Ed
-.Pp
-.Ar gtk-update-icon-cache
-($icon-theme is the theme directory)
-.Bd -literal -offset indent
-@exec %D/bin/gtk-update-icon-cache -q -t %D/share/icons/$icon-theme
-@unexec-delete %D/bin/gtk-update-icon-cache -q -t %D/share/icons/$icon-theme
-.Ed
-.Pp
-.Ar shared-mime-info
-.Bd -literal -offset indent
-@exec %D/bin/update-mime-database %D/share/mime
-@unexec-delete %D/bin/update-mime-database %D/share/mime
-.Ed
+See
+.Xr gnome-module 5 .
 .It x11/gnustep
 .It x11/qt3, x11/qt4 and x11/qt5
 All qt* modules share a common
diff --git a/share/man/man5/python-module.5 b/share/man/man5/python-module.5
new file mode 100644 (file)
index 0000000..634c1e6
--- /dev/null
@@ -0,0 +1,152 @@
+.\"    $OpenBSD: python-module.5,v 1.1 2021/02/25 09:13:18 espie Exp $
+.\"
+.\" Copyright (c) 2008 Marc Espie
+.\"
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.Dd $Mdocdate: February 25 2021 $
+.Dt PYTHON-MODULE 5
+.Os
+.Sh NAME
+.Nm python-module
+.Nd lang/python port module
+.Sh DESCRIPTION
+This manual page documents the behavior of setting
+.Li MODULE=lang/python
+in the
+.Xr ports 7
+tree.
+.Pp
+Sets
+.Ev MODPY_VERSION ,
+.Ev MODPY_BIN ,
+.Ev MODPY_INCDIR ,
+.Ev MODPY_LIBDIR ,
+.Ev MODPY_SITEPKG ,
+.Ev MODPY_SETUP ,
+.Ev MODPY_TEST_DIR ,
+.Ev MODPY_TEST_LOCALE ,
+.Ev MODPY_WANTLIB ,
+.Ev MODPY_LIB_DEPENDS ,
+.Ev MODPY_RUN_DEPENDS ,
+.Ev MODPY_TEST_DEPENDS ,
+.Ev MODPY_BUILD_DEPENDS ,
+and
+.Ev MODPY_ADJ_FILES .
+Appends to
+.Ev RUN_DEPENDS
+unless
+.Ev MODPY_RUNDEP
+is set to No.
+Appends to
+.Ev BUILD_DEPENDS
+unless
+.Ev MODPY_BUILDDEP
+is set to No or
+.Ev NO_BUILD
+is set to Yes.
+Appends to
+.Ev TEST_DEPENDS
+if
+.Ev MODPY_PYTEST
+is set to Yes
+unless
+.Ev MODPY_TESTDEP
+is set to No.
+Appends
+.Ev MODPY_TEST_LOCALE
+to
+.Ev TEST_ENV .
+Changes to the directory specified in
+.Ev MODPY_TEST_DIR ,
+by default WRKSRC, before running tests.
+.Ev MODPY_VERSION
+is the default version used by all python modules.
+Ports which use the setuptools module should set
+.Ev MODPY_SETUPTOOLS
+to Yes.
+Ports which use the pytest module should set
+.Ev MODPY_PYTEST
+to Yes.
+Arguments can be passed to pytest during
+.Cm test
+with
+.Ev MODPY_PYTEST_ARGS .
+All ports that generate egg-info files should set
+.Ev MODPY_EGG_VERSION
+to the version string used by the
+.Fn setup
+function in the port's
+.Pa setup.py .
+Arguments can be passed to setup.py during
+.Cm configure
+with
+.Ev MODPY_SETUP_ARGS .
+Extra arguments to the build and install commands can be passed via
+.Ev MODPY_DISTUTILS_BUILDARGS
+and
+.Ev MODPY_DISTUTILS_INSTALLARGS .
+If any files have a python shebang line which needs to be replaced
+using MODPY_BIN, list them in
+.Ev MODPY_ADJ_FILES .
+These are prefixed with WRKSRC and replaced automatically
+at the end of
+.Cm pre-configure .
+Also affects
+.Ev CATEGORIES ,
+.Ev MAKE_ENV ,
+.Ev CONFIGURE_ENV ,
+and
+.Ev SUBST_VARS .
+May affect the
+.Cm test
+target.
+If
+.Ev MODPY_PI
+is set to Yes it will set
+.Ev HOMEPAGE
+and
+.Ev MASTER_SITES .
+The subdirectory can be overridden with
+.Ev MODPY_PI_DIR .
+.Pp
+Python 2.x places .pyc files in the same directory as the associated .py file.
+Python 3.x places these in a separate __pycache__ directory and uses an
+additional suffix.
+In some cases, an ABI tag is also used for names of compiled extensions.
+The python module defines variables to allow a single PLIST to be
+used for both versions.
+Generate or update the PLIST using the python3
+.Ev FLAVOR ,
+then edit it to prefix any lines creating
+.Ev MODPY_PYCACHE
+directories with
+.Ev MODPY_COMMENT .
+As python2 and python3 packages should permit being installed together,
+it may be necessary to suffix names of common binaries or directories,
+or split common files into a subpackage.
+If updating the PLIST without using the python3 flavor,
+take care not to remove ${MODPY_PYCACHE}, ${MODPY_PYC_MAGIC_TAG}, or
+${MODPY_ABI_TAG} variables from the PLIST.
+.Sh SEE ALSO
+.Xr port-modules 5
diff --git a/share/man/man5/qmake-module.5 b/share/man/man5/qmake-module.5
new file mode 100644 (file)
index 0000000..5b3a3a2
--- /dev/null
@@ -0,0 +1,118 @@
+.\"    $OpenBSD: qmake-module.5,v 1.1 2021/02/25 09:13:18 espie Exp $
+.\"
+.\" Copyright (c) 2008 Marc Espie
+.\"
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.Dd $Mdocdate: February 25 2021 $
+.Dt QMAKE-MODULE 5
+.Os
+.Sh NAME
+.Nm qmake-module
+.Nd devel/qmake port module
+.Sh DESCRIPTION
+This manual page documents the behavior of setting
+.Li MODULE=devel/qmake
+in the
+.Xr ports 7
+tree.
+.Pp
+This module automates usage of qmake, independently of the actual
+version of Qt being used.
+This module requires that one of the
+.Pa x11/qt3 ,
+.Pa x11/qt4
+or
+.Pa x11/qt5
+to be used as well.
+.Pp
+If
+.Ev CONFIGURE_STYLE
+was not set before, sets its value to
+.Sq qmake .
+If
+.Ev CONFIGURE_STYLE
+contains
+.Sq qmake
+the module will define each of the
+.Ar do-build
+and
+.Ar do-install
+targets, unless port already defines one; also,
+.Ev SEPARATE_BUILD
+will be set to
+.Sq Yes
+unless it's already set to some value.
+Also, unless
+.Ev NO_TEST
+is set, the
+.Ar do-test
+target will be defined.
+.Pp
+The following variables could be used in qmake-based ports:
+.Bl -tag -width 1234
+.It Ev MODQMAKE_ARGS
+Additional arguments for qmake invocation.
+The module already defines some.
+.It Ev MODQMAKE_INSTALL_ROOT
+Root directory for fake install.
+Normally, it's a WRKINST, but some (broken) ports require another value,
+like PREFIX.
+.It Ev MODQMAKE_PROJECTS
+List of qmake project files to be used, relative to WRKSRC.
+Directories containing those projects could be used as well,
+see qmake documentation for details.
+Defaults to
+.Sq \&. ,
+which means the (only) project in WRKSRC directory.
+.It Ev MODQMAKE_RECURSIVE
+If
+.Sq Yes ,
+then qmake will be run recursively during configure stage;
+otherwise, only projects mentioned in
+.Ev MODQMAKE_PROJECTS
+will be processed during configure stage, and their descendants will
+be visited during main build phase.
+Sometimes a qmake project processing depends on files generated
+by other qmake project during build, and recursive builds break this.
+For Qt4+ defaults to
+.Sq Yes ,
+and Qt3 doesn't support recursive configuring.
+.It Ev MODQMAKE_build
+Actual commands that module will use to build all
+.Ev MODQMAKE_PROJECTS
+provided.
+To be used in complicated cases, when port have to use its own
+.Ar do-build
+target or mix different
+.Ev CONFIGURE_STYLE
+values.
+.It Ev MODQMAKE_install
+Same as for
+.Ev MODQMAKE_build ,
+but used in
+.Ar do-install
+stage.
+.El
+.Sh SEE ALSO
+.Xr port-modules 5