Skip to content

Pin Amiga CI to GCC 15.2 - #8661

Merged
AJenbo merged 2 commits into
diasurgical:masterfrom
JennaScvl:amiga-gcc15-sdl-prep
Aug 9, 2026
Merged

Pin Amiga CI to GCC 15.2#8661
AJenbo merged 2 commits into
diasurgical:masterfrom
JennaScvl:amiga-gcc15-sdl-prep

Conversation

@JennaScvl

Copy link
Copy Markdown
Contributor

Move the pinned m68k-amigaos-gcc10 digest from GCC 13.2 to the current GCC 15.2 build, keeping a fixed digest rather than floating on the tag (the whole reason it was pinned in the first place). Also patches prep.sh so AmigaPorts' libSDL12 still builds: GCC 14+ promotes several legacy-C conformance warnings to hard errors by default, which this 1990s-vintage codebase trips on every one of. The fix is gated on the actual compiler's major version, so it's a no-op under GCC 13.2 and only applies under 14+ -- verified both ways with a clean build. Requires #8660 (Restore AmigaOS build and runtime support) to actually build successfully; without those fixes this compiler alone still hits the same failures documented there.

Comment thread Packaging/amiga/prep.sh
# change; Make variable assignments apply regardless of where they appear.
GCC_MAJOR_VERSION="$(m68k-amigaos-gcc -dumpversion | cut -d. -f1)"
if [ "$GCC_MAJOR_VERSION" -ge 14 ]; then
printf '\nGCCFLAGS += -Wno-error=implicit-function-declaration -Wno-error=implicit-int -Wno-error=int-conversion -Wno-error=incompatible-pointer-types -Wno-error=return-mismatch -Wno-error=return-type -Wno-error=pointer-sign -Wno-error=pointer-to-int-cast -Wno-error=int-to-pointer-cast\n' >> Makefile

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Feels like this could be sent upstream. Though, the maintainer might actually prefer to fix the errors rather than convert them to warnings, in which case it ought to be okay to keep this fix here for now. At the very least, we should probably open an issue there before merging, just for the sake of due diligence.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They were warnings in previous versions. But yes, it probably should be sent upstream. From my perspective it's a reversion in 15.2.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The upstream repo is archived so never mind about sending this upstream. Instead, we should consider experimenting with the replacement repo, or possibly even the SDL2/3 implementation.
SDL1: https://github.com/AmigaPorts/SDL-1.2
SDL2/3: https://github.com/AmigaPorts/SDL/tree/AmigaOS3

Comment thread .github/workflows/amiga-m68k.yml Outdated
JennaScvl and others added 2 commits August 9, 2026 10:37
Move the pinned m68k-amigaos-gcc10 digest from GCC 13.2 to the current
GCC 15.2 build, keeping a fixed digest rather than floating on the tag
(the whole reason it was pinned in the first place). Also patches
prep.sh so AmigaPorts' libSDL12 still builds: GCC 14+ promotes several
legacy-C conformance warnings to hard errors by default, which this
1990s-vintage codebase trips on every one of. The fix is gated on the
actual compiler's major version, so it's a no-op under GCC 13.2 and
only applies under 14+ -- verified both ways with a clean build.
Requires diasurgical#8660 (Restore AmigaOS build and runtime support) to actually
build successfully; without those fixes this compiler alone still hits
the same failures documented there.
@StephenCWills

Copy link
Copy Markdown
Member

Rebased to fix the CI failure and unpinned the Docker image.

@AJenbo
AJenbo merged commit 882b836 into diasurgical:master Aug 9, 2026
24 checks passed
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.

4 participants