PORTGEN(1)

NAME
portgen - port modules on the fly

SYNOPSIS
portgen [-m makeopt] type module-name

DESCRIPTION
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.
py for Python modules on PyPI.
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

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

SEE ALSO
port-modules(5), ports(7)

HISTORY
The portgen utility first appeared in OpenBSD 5.9 as a result of Google Summer of Code 2015.

AUTHORS
Giannis Tsaraias <tsg@openbsd.org>

CAVEATS
Not every module could be converted to a port.