diff options
| author | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 14:02:27 -0400 |
|---|---|---|
| committer | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 14:02:27 -0400 |
| commit | 6d8bdc65446a704d0750217efd05532fc641ea7d (patch) | |
| tree | 8ae6d698b3c9801750a8b117b3842fb369872a3a /static/openbsd/man5/opam-module.5 | |
| parent | 2f467bd7ff8f8db0dafa40426166491d7f57f368 (diff) | |
docs: OpenBSD Man Pages Added
Diffstat (limited to 'static/openbsd/man5/opam-module.5')
| -rw-r--r-- | static/openbsd/man5/opam-module.5 | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/static/openbsd/man5/opam-module.5 b/static/openbsd/man5/opam-module.5 new file mode 100644 index 00000000..262dba40 --- /dev/null +++ b/static/openbsd/man5/opam-module.5 @@ -0,0 +1,139 @@ +.\" $OpenBSD: opam-module.5,v 1.2 2025/02/18 22:08:17 jsg Exp $ +.\" +.\" Copyright (c) 2025 Sebastien Marie +.\" +.\" 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 18 2025 $ +.Dt OPAM-MODULE 5 +.Os +.Sh NAME +.Nm opam-module +.Nd sysutils/opam port module +.Sh DESCRIPTION +This manual page documents the behavior of setting +.Li MODULES=sysutils/opam +in the +.Xr ports 7 +tree. +.Pp +The module provides helpers for packaging a program using +.Xr opam 1 +(OCaml Package Manager). +.Pp +.Ev WRKSRC +is expected to contains opam packages, possibly with local customization. +All .opam files, at any depth, will be registered. +Unmodified dependencies should be omitted, which will be managed separately. +.Pp +To generate a standalone opam repository containing only the dependencies and +the sources files for compiling the specified sources tree, +the +.Xr make 1 +.Cm modopam-repository +target should be used. +It downloads an opam repository from +.Ev MODOPAM_REPO_URL +(defaults to official opam repository hosted on github), using +.Ev MODOPAM_REPO_COMMIT +commit (it is preferable to explicitly specify it for reproducibility, +but "master" is the default value). +The repository is named according to the +.Ev MODOPAM_REPO_NAME +variable. +Next, the repository is stripped to contain only the build dependencies of +.Ev MODOPAM_PACKAGES_REPOSITORY +(default to +.Ev MODOPAM_PACKAGES ). +After that the repository is filled with a local cache of package archives. +The resulting directory can be packaged and distributed. +It contains source code for building the opam packages. +.Pp +External dependencies can be hinted using the +.Xr make 1 +target +.Cm modopam-external . +The list of packages expected to be present at build time is shown. +.Pp +The module appends to +.Ev BUILD_DEPENDS +unless +.Ev MODOPAM_BUILDDEP +is set to `No'. +.Pp +It sets the +.Ev MODOPAM_PACKAGES +variable to +.Ev PKGSTEM , +as the default value for opam packages to build and install. +.Pp +It sets +.Ev MODOPAM_OPAMROOT , +.Ev MODOPAM_ENV , +.Ev MODOPAM_OPAM_BIN +and +.Ev MODOPAM_OPAM_RUN +accordingly. +.Pp +The opam options +.Fl --with-doc +and +.Fl --with-test +are available using +.Ev MODOPAM_WITH_DOC +and +.Ev MODOPAM_WITH_TEST . +They default to `No'. +.Pp +A +.Ev CONFIGURE_STYLE +"opam" is provided. +It is initialized to opam with the opam repository at +.Ev MODOPAM_REPO_DIR +(defaults to +.Pa ${WRKDIR}/${MODOPAM_REPO_NAME} ). +It is expected to have been generated previously by the +.Cm modopam-repository +target and distributed separately. +It will also pin the opam packages present in +.Ev WRKSRC , +possibly overriding opam packages from the repository. +.Pp +A default build target is used (except if +.Ev MODOPAM_BUILD +is set to `No'. +It uses the +.Ev MODOPAM_PACKAGES_BUILD +variable to list the opam packages to build (default to +.Ev MODOPAM_PACKAGES ). +.Pp +A default install target is used (except if +.Ev MODOPAM_INSTALL +is set to `No'). +It uses the +.Ev MODOPAM_PACKAGES_INSTALL +variable to list the opam packages to install (defaults to +.Ev MODOPAM_PACKAGES ). +.Sh SEE ALSO +.Xr opam 1 , +.Xr port-modules 5 |
