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!


Reply via email to