forgot to mention another thing: I'm building all the versions of love
with lua 5.1. I don't know if all the games are fine with lua 5.1 or
if some titles wants a newer version. Building flavored versions of
each love version is not difficult (except maybe for the ugliness of
the binaries, we'd end up with stuff like love-11.4-5.3 :/) but I
prefer we figure out if it's needed or not. (and current tarball only
uses 5.1)
When testing a title and being in doubt, building a version of love
targetting another lua version is easy:
$ make clean='package plist'
$ make MODLUA_VERSION=5.4 clean repackage reinstall
further testing is welcome :)
On 2022/12/24 13:40:20 +0100, Omar Polo <[email protected]> wrote:
> Here's another attempt at updating games/love, this time by using
> multiple versions, thfr@ and bentley@ reminded me that's needed to run
> more games (retrocompatibility is not really a thing.)
>
> The idea then is to move the current port for the 0.8.0 (assuming we
> want to keep it) as games/love/0.8.0 and add some other versions too,
> for the time being 0.10.4 and 11.4 (the latest.) 11.1 doesn't compile
> out of the box, and we can always add other versions later.
>
> There's some tweaking around to allow multiple versions to be
> installed at the same time:
>
> - love/0.8.0 only ship the bin/love executable. it gains a @pkgpath
> for the updates (that I've tested successfully with pkg_add -u) and
> it's renamed bin/love-0.8.0. i've also bumped the revision and
> regenerated the wantlibs, otherwise it's basically the current
> packaged version.
>
> % cd /usr/ports/packages/amd64/all
> % ls
> love-0.10.2.tgz love-11.4.tgz
> love-0.8.0p14.tgz love-mime-0.1.tgz
> % doas env TRUSTED_PKG_PATH=./ pkg_add -u love
> love-0.8.0p13->0.8.0p14: ok
>
> - love/0.10.4 and 11.4 install a shared library and I had to patch
> the Makefile.am to convince libtool to generate shared libraries
> that the ports tree may like. They also install a symlink, a
> static library and the .la file that I'm removing in a post-install
> hook. Playing with --disable-static didn't help.
>
> - love/0.10.4 and 11.4 (and versions in between) also ship the MIME
> type thingy for the desktops. I've moved this to a subpackage
> love-mime and added it as RDEP on the affected versions to avoid
> conflicts. love-mime just ship an icon and the xml for the mime
> type applications/x-love-game definition.
>
> There's no file conflict between the currently packaged love-0.8.0 and
> the new set of love ports, hence only the @pkgpath for the update and
> no @conflict. I've added @option is-branch and @option
> no-default-conflict that, per pkg_create(1), seems to be needed in
> this case, but I'm still getting an error making the packages:
>
> % make package
> [...]
> Creating package love-0.10.2
> Warning: @option no-default-conflict without @conflict
>
> Anyway, all the versions are installable at the same time and seems to
> work:
>
> % pkg_info | grep love
> love-0.10.2 2D games framework for use with Lua
> love-0.8.0p14 2D games framework for use with Lua
> love-11.4 2D games framework for use with Lua
> love-mime-0.1 MIME definition for applications/x-love-game
>
>
> Since I'm changing the structure of games/love quite a bit, I'm just
> attaching a tarball instead of generating a diff, hope it's fine.
>
> OK/comments welcome!