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?
