Page MenuHomeFreeBSD

add games/openbor port
AbandonedPublic

Authored by jbeich on Jan 25 2015, 4:09 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Feb 7, 8:43 AM
Unknown Object (File)
Jan 3 2025, 8:53 PM
Unknown Object (File)
Dec 16 2024, 10:19 AM
Unknown Object (File)
Nov 8 2024, 8:39 AM
Unknown Object (File)
Nov 8 2024, 5:31 AM
Unknown Object (File)
Nov 7 2024, 7:13 PM
Unknown Object (File)
Nov 7 2024, 8:14 AM
Unknown Object (File)
Nov 2 2024, 9:08 AM

Details

Reviewers
bapt
flo
Group Reviewers
games
Summary

Add new port games/openbor

PR: 196657
nReviewed by: games (danfe, partial of earlier version?)
Approved by: bapt (mentor, earlier version?)

OpenBOR is a continuation of the Beats Of Rage 2D game engine, which
was originally created by Senile Team[1].

History

In 2004, Senile Team released Beats of Rage, a free beat-'em-up for
DOS inspired by SEGA's Streets of Rage series and using sprites from
SNK Playmore's King of Fighters series. The game spread only by word
of mouth, but it nonetheless amassed popularity very quickly. Senile
Team soon released an edit pack allowing anyone interested to create a
mod for the BOR engine.

In 2005, Kirby2000 asked Senile Team to open the source code to BOR.
They agreed, and OpenBOR was born. Development on the engine was
continued by the community, and still is to this day.

WWW: http://www.chronocrash.com

IMPORTANT: An example list of things to review:
  • files/patch-* logic
  • BOOTSTRAP sanity (PORTVERSION vs. SVN_REV, etc)
  • icon size (is 128x128 too large?)
  • .desktop file category (ArcadeGame or Emulator or Development?)
  • naming (OpenBOR vs. openbor) of the program and save directory
  • general style and/or not keeping up with infra changes
  • maintainability aka bus factor
Test Plan

poudriere bulk -t logs:

Before launching openbor get a few game packs from the homepage and put them under ~/.openbor/Paks/. Maybe find a gamepad as well.

Memory stats are kind of useless despite the care taken to approximate Linux notion of Free.

Diff Detail

Repository
rP FreeBSD ports repository
Lint
No Lint Coverage
Unit
No Test Coverage

Event Timeline

jbeich retitled this revision from to add games/openbor port.
jbeich updated this object.
jbeich edited the test plan for this revision. (Show Details)
jbeich added reviewers: games, flo.
jbeich updated this object.
  • replaced shell wrapper with C template per @amdmi3's tips.
  • lowercase s/.OpenBOR/.openbor/ rootdir to be consistent with binary name and inconsistent with AUR package

http://slexy.org/view/s2W6yZxHAx (8.4R amd64)

jbeich added inline comments.
games/openbor/Makefile
22
In D1696, @bapt wrote:

This is known to be buggy our ld(1), and every ld(1) (a bit less on newer ld(1)), I will trust you on having tested the final binary making sure it is linked properly to the right libs
In particular what you have to care about is to ensure the link to pthread if any is kept (this is mandatory if the binary dlopen an shared object linked to pthread) also note that this issue have been fixed in head and will be merged soon to 10 if not merged yet

Unlikely to cause any issues before rS276630 as openbor itself has no dlopen() or pthread_* calls and sdl20/sdl12 directly link against libpthread.

Otherwise, build would fail during linking due to undefined references.

bapt added a reviewer: bapt.
This revision is now accepted and ready to land.Jan 30 2015, 12:12 PM
jbeich edited the test plan for this revision. (Show Details)
jbeich edited edge metadata.
jbeich edited the test plan for this revision. (Show Details)
jbeich updated this object.
jbeich edited edge metadata.
jbeich updated this object.
jbeich edited the test plan for this revision. (Show Details)
jbeich added subscribers: danfe, ak.
  • update to r4107 snapshot
  • don't even pretend to strip(1) the binary during build
  • attempt to unbreak build for non-x86 architectures
  • add a comment about the origin of -DBOOTSTRAP mode

Can @ak or @danfe help review with games hat on?

This revision now requires review to proceed.Feb 5 2015, 9:32 PM

Hmm, arc diff kindly reverted my changes to SUMMARY and TEST PLAN.

jbeich edited the test plan for this revision. (Show Details)
jbeich edited edge metadata.
games/openbor/Makefile
25

I would've probably added a linefeed after LDFLAGS+= (build-related knob) and PLIST_FILES (packaging-related knob).

67

Generally I don't like single-line makefiles created to be included just to pass a variable. Can it be propagated to inner make(1) or compiler on the command line?

Another possible way is to edit appropriate Makefile with sed(1) (something like you're doing on the line 91).

Even if you prefer to > .../Makefile.svn_rev, why is it being added to the repository as an empty file below?

games/openbor/files/patch-sdl__sdlport.c
2

Would you mind recreating this patchfile with make makepatch? Then it will have better name (sans ugly double underscore) and --- line would be in standard form, thus lowering the change it will be gratuitously change on future updates.

games/openbor/files/patch-source__ramlib__ram.c
2

Ditto.

games/openbor/Makefile
25

​DOS2UNIX_FILES isn't build-related. The grouping here tries to avoid too many newlines, and variables are sorted according to the order they're passed during build.

It's consistent with other my ports. Not that you're wrong, I just need one more person in favor of the change but with a bit different take on visual cues.

games/openbor/files/patch-source__ramlib__ram.c
2

Unfortunately, make makepatch is often run too late and from-file-modification-time always changes due to REINPLACE_CMD rule in post-patch.

jbeich updated this object.
jbeich edited the test plan for this revision. (Show Details)

inb4 someone implements USES=svn...

  • update to r4125 snapshot (crashes since r4127)
  • [upstream] drop SDL2=off support
  • fix getUsedRam(byte_size != 1) logic
  • move sole icon under share/pixmaps
  • [review] terminate WWW with a slash
  • [review] add make makepatch dates for --- lines
  • [review] rewrite BOOTSTRAP to substitute SVN_REV inplace
  • [clarity] convert SVN_URL to :svn in MASTER_SITES
  • [clarity] swap SVN_REV and PORTVERSION
  • [clarity] give examples how do-fetch in svn-mode works
  • fix SVN_FETCH without BOOTSTRAP
  • try to invoke scp(1) only if MAINTAINER
  • s/DISTDIR/_DISTDIR/ to account for DIST_SUBDIR
  • s/.tar.xz/EXTRACT_SUFX/, making tar(1) flags depend on USES=tar:foo is a bit harder

bulk -t logs: 84amd64 93i386 100amd64 101i386

jbeich edited the test plan for this revision. (Show Details)

Closed by commit rP383919 (authored by @jbeich). Minor modifications are present:

  • update to r4138 snapshot (has WEBM support)
  • install README instead of dumping history into pkg-descr
  • drop -fno-ident line as it fixed warning on no longer supported clang 3.3 (FreeBSD 10.0R)
  • fixup style of substitutions to properly remove surrounding space and not touch unrelated lines (-g vs. linux-gnueabi)