Date: Fri, 14 Oct 2022 21:34:13 +0200 From: Piotr Kubaj <pkubaj@anongoth.pl> To: Adam Weinberger <adamw@freebsd.org> Cc: ports-committers@freebsd.org, dev-commits-ports-all@freebsd.org, dev-commits-ports-main@freebsd.org Subject: Re: git: 9d241a90370c - main - Mk: Add USES=luajit Message-ID: <Y0m5tT6gRZ0aalYJ@KGPE-D16> In-Reply-To: <CAP7rwciL%2BY9d-8Cg9yVyL0sMDRi_4rpnEG5PUKu=twmwfZo-MA@mail.gmail.com> References: <202210141707.29EH7i08013647@gitrepo.freebsd.org> <Y0mxWT01SkaxD3n/@KGPE-D16> <CAP7rwciL%2BY9d-8Cg9yVyL0sMDRi_4rpnEG5PUKu=twmwfZo-MA@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--sdk+N+knqHjIinW1 Content-Type: text/plain; charset=utf-8; format=flowed Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On 22-10-14 13:01:25, Adam Weinberger wrote: >On Fri, Oct 14, 2022 at 12:58 PM Piotr Kubaj <pkubaj@anongoth.pl> wrote: > >> On 22-10-14 17:07:44, Adam Weinberger wrote: >> >The branch main has been updated by adamw: >> > >> >URL: >> https://cgit.FreeBSD.org/ports/commit/?id=3D9d241a90370c9410d997be37db5e= 3a5657bdb4ca >> > >> >commit 9d241a90370c9410d997be37db5e3a5657bdb4ca >> >Author: Adam Weinberger <adamw@FreeBSD.org> >> >AuthorDate: 2022-10-14 16:50:39 +0000 >> >Commit: Adam Weinberger <adamw@FreeBSD.org> >> >CommitDate: 2022-10-14 17:07:39 +0000 >> > >> > Mk: Add USES=3Dluajit >> > >> > USES=3Dluajit 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 compati= ble >> > with luajit-devel (though not the other direction) >> > >> > For the vast majority of situations, USES=3Dluajit will be sufficie= nt. >> > Ports that use openresty's API additions can specify >> > USES=3Dluajit: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 confl= ict >> > 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 >> >--- >> > Mk/Uses/luajit.mk | 27 +++++++++++++++++++++++++++ >> > 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=3D luajit[:version] >> >+# MAINTAINER: adamw@FreeBSD.org >> >+ >> >+.if !defined(_INCLUDE_USES_LUAJIT_MK) >> >+_INCLUDE_USES_LUAJIT_MK=3Dyes >> >+ >> >+.if !empty(luajit_ARGS) >> >+LUAJIT_VER=3D ${luajit_ARGS} >> >+.else >> >+LUAJIT_VER=3D ${LUAJIT_DEFAULT} >> >+.endif >> >+ >> >+# When adding a version, please keep the comment in >> >+# Mk/bsd.default-versions.mk in sync >> >+VALID_LUAJIT_VER=3D luajit luajit-devel luajit-openresty >> >+ >> >+.if empty(VALID_LUAJIT_VER:M${LUAJIT_DEFAULT}) >> >+IGNORE=3D Invalid luajit default version ${LUAJIT_DEFAULT}: valid >> versions are ${VALID_LUAJIT_VER} >> >+.elif empty(VALID_LUAJIT_VER:M${LUAJIT_VER}) >> >+IGNORE=3D Invalid luajit version ${LUAJIT_VER}: valid versions a= re >> ${VALID_LUAJIT_VER} >> >+.endif >> >+ >> >+LIB_DEPENDS=3D 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=3D yes >> > >> > LOCALBASE?=3D /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 VARNI= SH >> >+. 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+=3D "The variable ${lang}_DEFAULT is set and it should onl= y be >> defined through DEFAULT_VERSIONS+=3D${lang:tl}=3D${${lang}_DEFAULT} in >> /etc/make.conf" >> > . endif >> >@@ -86,6 +87,8 @@ LLVM_DEFAULT?=3D 90 >> > . endif >> > # Possible values: 5.1, 5.2, 5.3, 5.4 >> > LUA_DEFAULT?=3D 5.2 >> >+# Possible values: luajit, luajit-devel, luajit-openresty >> >+LUAJIT_DEFAULT?=3D luajit-devel >> > # Possible values: 5.10, 5.20, 6.8 >> > MONO_DEFAULT=3D 5.10 >> > # Possible values: 5.6, 5.7, 8.0, 10.3m, 10.4m, 10.5m, 5.7p, 5.7w >> >> Could you make USES=3Dluajit default to openresty on powerpc64 and >> powerpc64le? lang/luajit and lang/luajit-devel don't support those, but >> openresty fork does. >> >> I believe aarch64 is in similar situation, except that it's also >> supported by luajit-devel. >> > >Are you positive on that? luajit-devel just has IGNORE_riscv64 (which no >luajit works on), and includes a block specifically for powerpc*. It was originally added in https://cgit.freebsd.org/ports/commit/lang/luajit/Makefile?id=3Dd2ac3fee9c8= 94bb6f10ab489a4b165f974fc1b03. The review (at https://reviews.freebsd.org/D13804) says: Successfully built on powerpc. Does not build for powerpc64, though. Later, that was copied to luajit-devel. Here's the most recent build on powerpc64le: https://talos.anongoth.pl/data/latest-per-pkg/luajit-devel/2.1.0.20220815/p= owerpc64le-default.log So that: =2Eif ${ARCH:Mpowerpc*} || ${ARCH:Mmips*} || ${ARCH:Msparc*} can be replaced by just: =2Eif ${ARCH} =3D=3D powerpc || ${ARCH} =3D=3D powerpcspe If you wish, the mips* and sparc64 parts can be added too, but I don't think there are any users left. > ># Adam > > >--=20 >Adam Weinberger >adamw@adamw.org // adamw@FreeBSD.org >https://www.adamw.org --sdk+N+knqHjIinW1 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQJkBAABCgBOFiEEycyIeNkkgohzsoorelmbhSCDnJ0FAmNJubUwFIAAAAAAFQAS cGthLWFkZHJlc3NAZ251cGcub3JncGt1YmFqQGFub25nb3RoLnBsAAoJEHpZm4Ug g5ydaiYQAII4xsuRoBTC59mFDj/2NupmFIS0Me073OAA2MATQenDRZXGegyyc9cn LifzLe/CA/2m3+BPa7PeuQGMRFGAGMCVeIqlGgArAwgu1MEurGbmEX33HWMkjxpd Ok4KjdQPlp5pJM/kjbHb7qcoayP+355Rj/BxAWlqpyZIW6pJxSxCrUAx/raDV0uH RPdndx80ErQPXe/6rbUZidyfGqeDRBcZNSCU2GWGRINUfqLDl7h5gUKtb/s2l5TH bTuSEjbSIpScsfWEakdwif+w/2xlVA13FjwnPWKratii/YEyDMC0J68Pu6rEKkCn QUqfwSxBkgmGLWmZXggEKBnYXHRBJcrZES3NxeuTM0ffd5N/zEbZkV1mYfmv/8mQ NLC08Kq96AibgSPl2yKBXNCMy4Iv6gLiZCpgmR1wPmlglMVno8UXuntiydPVQMzG XtPgS+vdABfurZp8+PgMq4tlQrOI5XivpZx9M56ehgFVeao0QZl8APtgPRoQfTAg UgJD3MWJ042sCvbv2rdeZVB+hhDJSTkTo2RYWT5Kxgzce7zLkMKRw6Xzamn+HMcA 7EOaRmSyz+WSId801RBrR1Vm/dZM05XVYc40ydZxj89P3TUmO/neizbgy8Ge9hEI 1iVp0q5tHvYqa8DKQcNIDnPwFyEGtcsdKg6vpiLG/LRe5R12bnr/ =CZcy -----END PGP SIGNATURE----- --sdk+N+knqHjIinW1--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Y0m5tT6gRZ0aalYJ>