aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Weinberger <adamw@FreeBSD.org>2022-10-14 16:50:39 +0000
committerAdam Weinberger <adamw@FreeBSD.org>2022-10-14 17:07:39 +0000
commit9d241a90370c9410d997be37db5e3a5657bdb4ca (patch)
tree9b35de72ec1393d5aec2ced791e12a4baf99e411
parent9c91cdb96cd57ed8ef496735848652b799c2dfb2 (diff)
downloadports-9d241a90370c9410d997be37db5e3a5657bdb4ca.tar.gz
ports-9d241a90370c9410d997be37db5e3a5657bdb4ca.zip
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.mk27
-rw-r--r--Mk/bsd.default-versions.mk9
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