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!
love.tar.gz
Description: GNU Zip compressed data
