Skip to content

Add Rogue Collection install script - #308

Open
devin-ai-integration[bot] wants to merge 1 commit into
masterfrom
devin/1785159204-roguecollection
Open

Add Rogue Collection install script#308
devin-ai-integration[bot] wants to merge 1 commit into
masterfrom
devin/1785159204-roguecollection

Conversation

@devin-ai-integration

Copy link
Copy Markdown

Summary

New port scriptmodule scriptmodules/ports/roguecollection.sh building Rogue-Collection (six classic Rogue versions + Rog-O-Matic, Qt5/QML frontends) from source, plus a README entry.

Upstream's src/makefile doesn't build with modern gcc/Qt, so sources_ patches it before build_:

  • -Uunixunix is a predefined macro in gnu++ mode, and Rogue_PC_Core/text.cpp declares bool unix = ...
  • -fcommon on the C targets — gcc 10+ otherwise fails with multiple definition of 'release' (vers.o vs extern.o)
  • -Werror-Wno-deprecated-declarations in the .pro files — QFontMetrics::width is deprecated in Qt 5.15

Both frontends are installed, so two ports are registered:

addPort "$md_id" "roguecollection"      "Rogue Collection"       "XINIT:$script rogue-collection"        # lightweight
addPort "$md_id" "retroroguecollection" "Retro Rogue Collection" "XINIT:$script retro-rogue-collection"  # CRT effects

The launch script pushdes into $md_inst because the games are dlopened as ./lib-rogue-*.so and res/, data/ and rogue.opt are all resolved relative to the working directory; $md_inst is chowned to $user so saves and options can be written.

Verified end to end on x86_64: clean clone + the exact sed patches + make produces rogue-collection and retro-rogue-collection, and the binary launches without errors.

Link to Devin session: https://app.devin.ai/sessions/a11653530b7540d0943134b04989960c
Requested by: @Exarkuniv

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@Exarkuniv Exarkuniv self-assigned this Jul 27, 2026
@devin-ai-integration

Copy link
Copy Markdown
Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant