portgen1
Port modules on the fly
Usage
portgen [-m
makeopt]
type
module-name
Overview
The portgen utility creates ports for the given module-name from type module framework. The module is downloaded, analyzed and translated into a port. Any missing dependencies are handled recursively. New ports will land under ${PORTSDIR}/mystuff. The PORTSDIR value will be taken from current user environment, and defaults to /usr/ports.
The options are as follows:
-
-m makeopt -
Pass makeopt to make(1) invocations while resolving missing dependencies, mostly useful with ‘FETCH_PACKAGES=’ to avoid building everything from scratch.
The portgen utility currently supports the following type values:
p5-
for Perl modules on CPAN.
ruby-
for Ruby gems.
go-
for Go modules.
A go module may be used with an @version suffix to specify a tag or branch to port. The default suffix is @latest, which is interpreted as the latest release.
The following packages must be installed prior to the invocation of portgen:
-
sqlports -
p5-DBI -
p5-DBD-SQLite
Exit status
The portgen utility exits 0 on success, and >0 if an error occurs.
Examples
The following command will download the latest version of Config::AutoConf from CPAN, parse it and create a port for it:
portgen p5 Config::AutoConf
Caveats
Not every module could be converted to a port.
History
- OpenBSD 8.0-current (2026-11-01) to OpenBSD 7.2: the text shown here
- OpenBSD 7.1
- OpenBSD 7.0 to OpenBSD 6.9
- OpenBSD 6.8
- OpenBSD 6.7
- OpenBSD 6.6
- OpenBSD 6.5 to OpenBSD 6.4
-m since OpenBSD 7.1.