Skip site navigation (1)Skip section navigation (2)
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>