PORTGEN(1) | General Commands Manual | 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.
`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

# 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.

August 13, 2022 | Debian