Hi George,

Thanks for the port! This has been a glaring omission in our tree.

George Koehler writes:
> A moment ago, I posted most of the patches at
> https://forum.simutrans.com/index.php/topic,18587.0.html

It looks like they've since been committed upstream, so please add
upstream revision numbers in the patch comments.

> Simutrans needs a pakset for graphics.  In this port, I propose to
> install only Pak64.  I like to play Pak128, but I chose Pak64 because
> it is small.  Pak64 takes 12.7M; Pak128 takes 404M.

First, are paks architecture-independent? If so, they should be packaged
separately from simutrans, with PKG_ARCH = *.

Second, can Pak64 and Pak128 be installed side-by-side, or are they
mutually incompatible? If installing both is possible, I'd like to
see packages for both, perhaps with simutrans only having a RUN_DEPENDS
on the smaller one. If only one can be picked, the package should be
flavored.

> I include a README about adding paksets; I suggest
> in the README to run `chmod g+wt ${PREFIX}/share/simutrans` so users
> in group wheel can add paksets.

I don't know about messing with directory permissions... would rather
just say which directory to place them in, and trust the user to set
up doas or some other method properly.

> My port also builds makeobj as a subpackage (like Debian).  Most
> distros don't build makeobj.  I wanted no conflict with bin/makeobj in
> x11/kde4/dev-scripts.  I tried bin/simutrans-makeobj, but that name
> was too long: `pgrep makeobj` didn't work, and core dumps were
> simutrans-makeob.core (no j).  Debian installs lib/simutrans/makeobj,
> so my port now installs libexec/simutrans/makeobj.  Because I build
> makeobj from simutrans-src-120-4-1.zip, the version number of
> simutrans-makeobj-120.4.1 is the version of simutrans, not the version
> of makeobj.  (Debian also uses the version of simutrans.)

If they're separately versioned, better to have a separate port with the
correct version number, even if they're built from the same distfile.

> DISTNAME =              simutrans-src-120-4-1
> PAKNAME =               simupak64-120-4-1
> CXXFLAGS +=             -DREVISION=8588
> PKGNAME =               simutrans-120.4.1
> PKGNAME-main =          ${PKGNAME}
> PKGNAME-makeobj =       simutrans-makeobj-120.4.1

Rather than repeat the version number four times (and thus require four
lines to be changed each update), please set V=120.4.1 and use
${V:S/./-/g} for the hyphenated version.

You shouldn't be setting VARIABLE alongside VARIABLE-main and
VARIABLE-makeobj. Set VARIABLE if both need the same value, or set the
VARIABLE-* individually if they differ. (Moving makeobj to its own port
makes this moot, though.)

> MAKE_FLAGS =            BACKEND=mixer_sdl2 COLOUR_DEPTH=16 \
>                         OSTYPE=freebsd OPTIMISE=0 \
>                         USE_FREETYPE=1 USE_UPNP=1 VERBOSE=1 \
>                         CXX='${CXX}' FLAGS='${CXXFLAGS}'

Please put one variable assignment per line.

> do-build:
>         cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} \
>             sh -c 'unset CFLAGS && exec "$$0" "$$@"' \
>             gmake ${MAKE_FLAGS} ${ALL_TARGET}

This should use ${MAKE_PROGRAM} instead of gmake. But can you find
some way to avoid defining do-build by setting MAKE_FLAGS?

Reply via email to