Thursday, November 22, 2018

Re: [WIP/NEW] 1oom - Master of Orion 1 engine

Hi Max --

Thanks for the port! Comments inline and a fixed up tarball attached.

On 11/22/18 7:51 PM, Max Fillinger wrote:
> Hi!
>
> I made a port for 1oom, an open-source engine recreation for the
> turn-based strategy game Master of Orion 1. The files from the original
> game are required to play. 1oom can use SDL1, SDL2 or Allegro4, but
> this port just builds the SDL2 version, to keep things simple.
>
> The game seems to work on my machine, but I haven't finished a full
> playthrough yet. Howver, during the `make configure` step, I get the
> following warning:
>
> configure: WARNING: unrecognized options: --disable-gtk-doc

This is normal and expected, really.

> This seems to be one of the default arguments that get added to
> CONFIGURE_ARGS. Is this a problem?

No.

>
> The post-install steps probably require some explanations:
> 1) The main binary is 1oom_classic_sdl2, create 1oom as a symlink for
> convenience.

I patched src/Makefile.in to name the executable 1oom from the get-go.

> 2) make install doesn't seem to recurse into the doc directory, so I
> added a hacky way to install the docs.

This was a quick 1-line patch in Makefile.in.

> 3) By default, the game tries to be bug-compatible with the original.
> Bugfixes can be enabled by specifying a patch file when running the
> program. For convenience, compile the patch file and put it in
> /usr/local/share/1oom.

That's fine I think since you detailed it in pkg/README.

> Is it ok to do 1 and 3, or am I messing around too much? And is there a
> better way to do 2?

Attached is a new tarball that fixes the following:
* Upstream has a stable, uploaded tarball that has a pre-generated
configure script. GitLab definitely does this wrong as compared to
GitHub, and MASTER_SITES will need to be updated whenever the game is
updated, but it's a real tarball and we should use it. Gets rid of all
your autoconf/automake stuff, as well as the DISTNAME/PKGNAME distinction.

* Preferred formatting for variables is VAR<space>=<tab> while you did
VAR=<tab>.

* No MAINTAINER--do you want it?

* License as far as I can tell is GPLv2 only, so change the license marker.

* Resynced LIB_DEPENDS and WANTLIB, they were wrong?

* Made the building of your fixbugs.pbx more sane and in the appropriate
places for the port. I added a comment explaining why we have a
post-build and post-install.

* Patch to install docs during the fake stage, so take that stuff out of
post-install.

* Patch to name binary 1oom by default, so take the symlink stuff out of
post-install.

* Tweak pkg/DESCR to explicitly mention the need to purchase software in
order to use this package.

* Tweak pkg/README a bit to change your hardcoded /usr/local to
${TRUEPREFIX}.

While I have no idea how to play this game, it launched fine and started
a new game fine. I guess I'm looking for oks for this now.

OK?

~Brian

No comments:

Post a Comment