diff options
author | Adam Weinberger <adamw@FreeBSD.org> | 2022-10-14 16:50:39 +0000 |
---|---|---|
committer | Adam Weinberger <adamw@FreeBSD.org> | 2022-10-14 17:07:39 +0000 |
commit | 9d241a90370c9410d997be37db5e3a5657bdb4ca (patch) | |
tree | 9b35de72ec1393d5aec2ced791e12a4baf99e411 | |
parent | 9c91cdb96cd57ed8ef496735848652b799c2dfb2 (diff) |
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
-rw-r--r-- | Mk/Uses/luajit.mk | 27 | ||||
-rw-r--r-- | Mk/bsd.default-versions.mk | 9 |
2 files changed, 33 insertions, 3 deletions
diff --git a/Mk/Uses/luajit.mk b/Mk/Uses/luajit.mk new file mode 100644 index 000000000000..75e54407d484 --- /dev/null +++ b/Mk/Uses/luajit.mk @@ -0,0 +1,27 @@ +# Select your favorite luajit runtime +# Feature: luajit +# Usage: USES= luajit[:version] +# MAINTAINER: adamw@FreeBSD.org + +.if !defined(_INCLUDE_USES_LUAJIT_MK) +_INCLUDE_USES_LUAJIT_MK=yes + +.if !empty(luajit_ARGS) +LUAJIT_VER= ${luajit_ARGS} +.else +LUAJIT_VER= ${LUAJIT_DEFAULT} +.endif + +# When adding a version, please keep the comment in +# Mk/bsd.default-versions.mk in sync +VALID_LUAJIT_VER= luajit luajit-devel luajit-openresty + +.if empty(VALID_LUAJIT_VER:M${LUAJIT_DEFAULT}) +IGNORE= Invalid luajit default version ${LUAJIT_DEFAULT}: valid versions are ${VALID_LUAJIT_VER} +.elif empty(VALID_LUAJIT_VER:M${LUAJIT_VER}) +IGNORE= Invalid luajit version ${LUAJIT_VER}: valid versions are ${VALID_LUAJIT_VER} +.endif + +LIB_DEPENDS= libluajit-5.1.so:lang/${LUAJIT_VER} + +.endif diff --git a/Mk/bsd.default-versions.mk b/Mk/bsd.default-versions.mk index bbf3d5880c70..5a36e0b9c4d0 100644 --- a/Mk/bsd.default-versions.mk +++ b/Mk/bsd.default-versions.mk @@ -17,9 +17,10 @@ _INCLUDE_BSD_DEFAULT_VERSIONS_MK= yes LOCALBASE?= /usr/local -. for lang in APACHE BDB COROSYNC EMACS FIREBIRD FORTRAN FPC GCC GHOSTSCRIPT GL GO \ - IMAGEMAGICK JAVA LAZARUS LIBRSVG2 LINUX LLVM LUA MONO MYSQL NINJA NODEJS PERL5 \ - PGSQL PHP PYTHON PYTHON2 PYTHON3 RUBY RUST SAMBA SSL TCLTK VARNISH +. for lang in APACHE BDB COROSYNC EMACS FIREBIRD FORTRAN FPC GCC \ + GHOSTSCRIPT GL GO IMAGEMAGICK JAVA LAZARUS LIBRSVG2 LINUX LLVM \ + LUA LUAJIT MONO MYSQL NINJA NODEJS PERL5 PGSQL PHP PYTHON \ + PYTHON2 PYTHON3 RUBY RUST SAMBA SSL TCLTK VARNISH . if defined(${lang}_DEFAULT) ERROR+= "The variable ${lang}_DEFAULT is set and it should only be defined through DEFAULT_VERSIONS+=${lang:tl}=${${lang}_DEFAULT} in /etc/make.conf" . endif @@ -86,6 +87,8 @@ LLVM_DEFAULT?= 90 . endif # Possible values: 5.1, 5.2, 5.3, 5.4 LUA_DEFAULT?= 5.2 +# Possible values: luajit, luajit-devel, luajit-openresty +LUAJIT_DEFAULT?= luajit-devel # Possible values: 5.10, 5.20, 6.8 MONO_DEFAULT= 5.10 # Possible values: 5.6, 5.7, 8.0, 10.3m, 10.4m, 10.5m, 5.7p, 5.7w |