Download raw body.
NEW: games/Bugdom
On Mon, Jan 15, 2024 at 03:33:56PM +0100, izder456 wrote:
> On 2024-01-15 00:08, izder456 wrote:
> > Hey,
> >
> > I would like to import Bugdom (https://github.com/jorio/Bugdom),
> > which is an old Mac game that has a source port for modern systems.
> >
> > Its just a simple old Nostalgic game for me, the port can be found here:
> > (https://github.com/izder456/myports)
> >
> > Comments or OK to import?
> > --
> > -iz
>
> Hey sorry,
>
> Attached in the tarball.
>
> new to port maintenance.
>
> hopefully i packaged this up as i should have.
>
> --
> -iz
Thanks, I think that's a pretty good start. I built it and can run it
with some modifications (see my attached Makefile). There are some
things to clarify, here the most important parts:
1. The game is licensed CC-BY-NC-SA. CC license is generally *not*
recommended for software (see [1]). It looks like a couple of our
ports are marked with a CC license. It would be good to hear some
other sides on this. The main issue is that it doesn't address
redistribution and modification of source code. (This is of course
an upstream issue, but affects if we can PERMIT_PACKAGE. Also, the
license doesn't seem to be applied to the source code files though
that is a common omission on hobbyist GitHub projects.)
2. Ports are generally lower case, unless there is a strong reason to
avoid that. I don't see that being the case here, so the directory
should be changed from games/Bugdom to games/bugdom, and the PKGNAME
accordingly.
The rest of my comments are more nits/style things. I recommend to
start with a copy of Makefile.template (in
/usr/ports/infrasturcture/templates) which helps keep a certain
structure that's close to a common style. Here my notes:
- Tabs seem to be generally preferred over spaces in ports Makefiles.
- FULLPKGNAME shouldn't be needed; and by default PKGNAME is set to
DISTNAME, so some of that is superfluous.
- You did the legacy way of managing GitHub submodules - I changed it
to using DIST_TUPLE in the attached Makefile which simplifies things
a lot.
- Not sure how libsamplerate is used - as it's listed as both build
and run dependency, check if it's statically linked?
- Don't put sdl2 in all 3 *_DEPENDS. Having it as LIB_DEPENDS in this
case automatically turns it into build and run dependency (see
bsd.port.mk(5)).
- I've simplified do-install with some globs and removing one
unnecessary INSTALL_DATA_DIR.
- Regarding the script files/bugdom:
`cd /usr/local/lib/Bugdom` means that it won't be able to save any
core files if run with a normal user (which it should!). Not sure if
there is a better way; might have to check with upstream if they can
set things up to run the game from a separate location.
- Is ONLY_FOR_ARCHS=amd64 i386 really needed?
- portcheck(1) shows: `executable file: files/bugdom`. This should best
not be executable inside the ports tree and only after installation.
- Lastly, I don't find the COMMENT and pkg/DESCR very useful. Taking a
look at [2] and HOMEPAGE, I suggest for COMMENT one of:
family-friendly 3D action adventure
OR
source port of the 3D action adventure Bugdom
- DESCR could take some cues from [2], for example the text under "The
story".
[1] https://creativecommons.org/faq/
[2] https://jorio.itch.io/bugdom
ONLY_FOR_ARCHS = amd64 i386
COMMENT = source port of the 3D action adventure Bugdom
V = 1.3.4
PKGNAME = bugdom-${V}
DIST_TUPLE += github jorio Bugdom ${V} .
DIST_TUPLE += github jorio Pomme ef94150e2dcec522e3099f4d03a4e8f2639f7232 \
extern/Pomme
CATEGORIES = games
HOMEPAGE = https://pangeasoft.net/bug
MAINTAINER = izzy Meyer <izder456@disroot.org>
# CC-BY-NC SA 4.0
PERMIT_PACKAGE = Yes
WANTLIB += ${COMPILER_LIBCXX} GL SDL2 c m
# C++20
COMPILER = base-clang ports-gcc
MODULES = devel/cmake
BUILD_DEPENDS = audio/libsamplerate
LIB_DEPENDS = devel/sdl2
RUN_DEPENDS = audio/libsamplerate \
devel/desktop-file-utils \
x11/gtk+4,-guic
NO_TEST = Yes
CFLAGS += -I${X11BASE}/include
CXXFLAGS += -I${X11BASE}/include
CONFIGURE_ARGS += -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=${LOCALBASE}
do-install:
${INSTALL_DATA_DIR} ${PREFIX}/share/doc/Bugdom/
${INSTALL_DATA} ${WRKSRC}/*.md ${PREFIX}/share/doc/Bugdom/
${INSTALL_DATA_DIR} ${PREFIX}/lib/Bugdom/Data
${INSTALL_PROGRAM} ${WRKBUILD}/Bugdom ${PREFIX}/lib/Bugdom/
${INSTALL_SCRIPT} ${FILESDIR}/bugdom ${PREFIX}/bin/
cp -Rv ${WRKBUILD}/Data/* ${PREFIX}/lib/Bugdom/Data/
${INSTALL_DATA_DIR} ${PREFIX}/share/icons/hicolor/512x512/apps/ \
${PREFIX}/share/applications/
${INSTALL_DATA} ${FILESDIR}/io.jor.bugdom.png \
${PREFIX}/share/icons/hicolor/512x512/apps/
${SUBST_CMD} -c -m ${SHAREMODE} -o ${SHAREOWN} -g ${SHAREGRP} \
${FILESDIR}/io.jor.bugdom.desktop \
${PREFIX}/share/applications/io.jor.bugdom.desktop
.include <bsd.port.mk>
NEW: games/Bugdom