On 12/24/17 10:47, Adam Wolk wrote:
On Sun, Dec 24, 2017 at 10:01:58AM -0500, Brian Callahan wrote:
On 12/24/17 06:29, Adam Wolk wrote:
On Sat, Dec 23, 2017 at 08:50:11PM -0500, Brian Callahan wrote:
Hi ports --

Attached is a new port, games/returntotheroots. Return to the Roots is an
open source engine remake of The Settlers 2.

---
pkg/DESCR:
Return To The Roots is a fan project which aims to renew the original
The Settlers 2.

We aim to create new features such as a multiplayer mode via the
Internet as well as support for modern hardware.

You will need an original copy of "The Settlers 2 Gold Edition" to play
Return To The Roots.

The Settlers 2 is a 4X game similar to Civilization and Alpha Centauri.
---

This is taken from the head of upstream's development and rolled by me.
Upstream claims that players normally use the head ("nightly builds")
instead of the latest release, so it is probably best to go this route for
multiplayer.

This requires a copy of The Settlers 2: Gold Edition. You can get it (on
deep discount as of this writing) on GOG:
https://www.gog.com/game/the_settlers_2_gold_edition

Also, slightly off-topic, I sent a port of freeserf, the first game in The
Settlers series, to ports@ some time ago and heard nothing back. Would be
nice to get both games in.

I don't own the game files for the first one. Sorry.

Works on amd64. Got nothing else that this would have a chance on.

OK?

~Brian

I tested on amd64 -current and it works fine. I have one gripe with the
port. The binaries are a bit of a mess:

fishtank$ grep bin pkg/PLIST
bin/RTTR/
@bin bin/RTTR/s-c_resample
@bin bin/RTTR/s25update
@bin bin/RTTR/sound-convert
bin/rttr.sh
@bin bin/s25client
@bin bin/s25edit


Is bin/rttr.sh even needed? It assumes bash is installed. I also never
saw a port dumping binaries to a new folder in /usr/local/bin.
As an experiment I deleted the bin/RTTR directory to see what would happen.
And nothing happens. The game is happy without them.

So how about something like this (and the relevant PLIST changes)?
# Remove unhelpful binaries and scripts from the package
post-install:
         @rm -rf ${PREFIX}/bin/RTTR ${PREFIX}/bin/rttr.sh

I'm OK with removing rttr.sh. However RTTR directory has some specifics.

a) s25update

This port takes a long time to build, no point building that code just to
delete it. The CMake seems to have an existing option to not build
the auto updater:

https://github.com/Return-To-The-Roots/s25client/blob/master/CMakeLists.txt#L419

option(RTTR_BUILD_UPDATER "Build auto-updater. Not advised when changing the default 
paths as the updater is configured specifically for the official builds." 
${RTTR_BUILD_UPDATER_DEF})

b) sound-convert and s-c_resample look like runtime dependencies. I found the 
sound-converter being
called on runtime when loading sound in this code snippet (comments are in 
german):

https://github.com/Return-To-The-Roots/s25client/blob/01cf1f7d586dde73ad3957eff1d9e8fcf594afae/src/Loader.cpp#L231

so I'm not sure they can just be removed with no consequences.

Apparently they have some settings for that:
  https://github.com/Return-To-The-Roots/s25client/issues/590
  https://github.com/Return-To-The-Roots/s25client/pull/591

both mention RTTR_LIBDIR & RTTR_DATADIR

Final gripe, the binary names are not obviously related to the port
name. Not sure how to handle that, rename them or mention what
they are used for in the readme?
I think the best way to handle this is two-pronged. First, people may do a
quick search for the binary name, in that case it would be helpful to have
the client binary name in the COMMENT (audio/mscore does this, for example)
COMMENT =       open source engine remake of The Settlers 2 (s25client)

And a helpful line added to the end of pkg/DESCR:
Comes with a game client (s25client) and map editor (s25edit).

I like the readme & comment changes.

~Brian

I tested by running s25client, didn't try other binaries.

Regards,
Adam

The more I think about it, the more I think that we should leave the binaries as-is for now, and petition upstream to make the change. Otherwise, it's just us keeping a diff to upstream for no real benefit.

Attached is a new tarball with the latest code.

OK?

~Brian

Attachment: returntotheroots.tgz
Description: Binary data

Reply via email to