HomeFreeBSD

Mk: Add USES=luajit

Description

Mk: Add USES=luajit

USES=luajit centralizes luajit dependencies via bsd.default-versions.mk
(defaulting to luajit-devel).

Ports currently depend on:

lang/luajit: 42
lang/luajit-devel: 0
lang/luajit-openresty: 51

The difficulty here is that:

  • They all conflict with each other
  • Upstream is very clear about not intending for users to use the version in lang/luajit at all, and wants all luajit users to use lang/luajit-devel
  • luajit-openresty is very aggressive about being drop-in compatible with luajit-devel (though not the other direction)

For the vast majority of situations, USES=luajit will be sufficient.
Ports that use openresty's API additions can specify
USES=luajit:openresty.

I'm adding this into head very early in the 2022Q4 cycle so that there's
ample time to address the default. It's a difficult decision. osa, the
maintainer of luajit and luajit-devel, prefers that the default be
luajit, but I went the other direction because it's in direct conflict
with upstream's clear stated intention. It's not a simple decision; see
the review below for a little discussion on it.

The TL;DR here is that this defaults to the one luajit version that no
port currently depends on. However, this version is what OpenBSD,
Homebrew, Ubuntu, Debian, Fedora, MacPorts, and Arch default to (and
none of them even provide the stale version lang/luajit provides).
This will bring FreeBSD in line with nearly every other OS package
system, and with upstream's intention.

See also PRs 225342, 257051.

Reviewed by: bapt, tcberner
Approved by: portmgr (bapt, tcberner)
Differential Revision: https://reviews.freebsd.org/D36947

Details

Provenance
adamwAuthored on Oct 14 2022, 4:50 PM
Reviewer
bapt
Differential Revision
D36947: Uses/luajit.mk (DEFAULT_VERSIONS)
Parents
R11:9c91cdb96cd5: sysutils/synergy: Fix build sysutils/synergy without AVAHI_LIBDNS option
Branches
Unknown
Tags
Unknown