Page MenuHomeFreeBSD

Uses/luajit.mk (DEFAULT_VERSIONS)
ClosedPublic

Authored by adamw on Oct 12 2022, 12:59 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Mar 10, 1:10 AM
Unknown Object (File)
Sun, Mar 10, 1:10 AM
Unknown Object (File)
Sun, Mar 10, 1:10 AM
Unknown Object (File)
Sun, Mar 10, 1:10 AM
Unknown Object (File)
Sun, Mar 10, 1:09 AM
Unknown Object (File)
Wed, Mar 6, 2:37 PM
Unknown Object (File)
Jan 30 2024, 1:06 PM
Unknown Object (File)
Jan 14 2024, 9:11 PM

Details

Reviewers
osa
mm
bapt
Group Reviewers
portmgr
Commits
R11:9d241a90370c: Mk: Add USES=luajit
Summary

We have three different valid luajit versions in the tree, and they all conflict. Neovim depends unconditionally on luajit-openresty, which breaks things for people using ports that depend unconditionally on other versions.

With DEFAULT_VERSIONS+=luajit=... we can hopefully put this issue to bed.

I've never mucked with bsd.default-versions.mk before, so I could use some eyes on this to make sure I'm not doing anything stupid.

@osa and @mm: Which stream should be the default? lang/luajit hasn't had a release in 5 years and it may never see another release. openresty hasn't been updated in a while (there's a release from a month ago that hasn't landed in the ports tree). Is it sensible to have LUAJIT_DEFAULT=luajit-devel?

Diff Detail

Repository
R11 FreeBSD ports repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

tcberner added a subscriber: tcberner.

Looks good to me.

bapt requested changes to this revision.Oct 12 2022, 3:21 PM
bapt added a subscriber: bapt.
bapt added inline comments.
Mk/Uses/luajit.mk
20

why a for loop here?

26

why a for loop here?

This revision now requires changes to proceed.Oct 12 2022, 3:21 PM
Mk/Uses/luajit.mk
20

You're absolutely right. I plagiarized this directly from Uses/firebird.mk, and didn't think that through. Neither of these for loops does anything.

Removed the useless .for loops.

Also, I've set the default luajit in this revision to be luajit-devel. This is contentious, and @osa has expressed a desire that our default be lang/luajit, so I'm putting this in here to encourage comments and input.

The last luajit release was v2.0.5, from 2017. The background here is that luajit upstream's official position regarding ever releasing again is that:

"Look at the git v2.1 history and judge yourself. Releases are an antiquated concept."
https://github.com/LuaJIT/LuaJIT/issues/665#issuecomment-784452583

Upstream's intention is that lang/luajit will never see another release, and everyone should use the latest git commits (which @osa tracks in lang/luajit-devel).

OpenBSD, Homebrew, Ubuntu, Debian, Fedora, MacPorts, and Arch all track luajit git. None of them even provide a luajit based on the tagged release. I assess defaulting to lang/luajit to be of no benefit at best, and dangerous at worst (bugs, security fixes, and memory corruption fixes will never appear in lang/luajit). I'm not sure that luajit should even be in VALID_LUAJIT_VER at all.

TL;DR - Upstream intends for everyone to use lang/luajit-devel and never lang/luajit, so I believe pretty strongly that we should do that.

Actually, those two blocks need to be combined, or the two IGNORE messages will overwrite each other for an invalid LUAJIT_DEFAULT.

@bapt when you have a chance, can you please re-review?

This revision is now accepted and ready to land.Oct 14 2022, 4:04 PM
This revision was automatically updated to reflect the committed changes.