Skip to content

Add Version 20 with zstd#21

Merged
janisozaur merged 2 commits into
OpenRCT2:masterfrom
LRFLEW:zstd
Jul 31, 2025
Merged

Add Version 20 with zstd#21
janisozaur merged 2 commits into
OpenRCT2:masterfrom
LRFLEW:zstd

Conversation

@LRFLEW

@LRFLEW LRFLEW commented Jul 30, 2025

Copy link
Copy Markdown
Contributor

This is a PR to add the zstd dependency for OpenRCT2/OpenRCT2#24734.

While I was in here, I updated various libraries and tools (eg. Emscripten) as part of the release. Since these are significant updates, I pumped the version number from 19 to 20 to avoid overwriting the old version. This should include all the changes needed for OpenRCT2/OpenRCT2#24843 as well.

For testing with the CI, I wanted to be able to use the github workflow to push the images to my own docker.io account, but the workflow as written didn't support that. I made some changes to the script to allow for forks to push to their own accounts like I did. I made the assumption that secrets.dockerid is just the public account name 'openrct2'. If that assumption is wrong, then I can adjust the script to account for that. It also can be changed to be a public variable in that case, but for simplicity, I kept it as a secret.

@LRFLEW LRFLEW force-pushed the zstd branch 4 times, most recently from b631dc1 to dc4de4f Compare July 30, 2025 06:26
Comment thread 20/android/Dockerfile
Comment thread 20/android/Dockerfile
Comment thread .github/workflows/ci.yml Outdated
Comment thread 20/format/Dockerfile Outdated
@@ -0,0 +1,3 @@
# Image specifically designed to run clang-format on OpenRCT2 source files.
FROM alpine
RUN apk add --no-cache python3 clang19-extra-tools

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.

There's clang20 already, can you update it here as well? The main repo can then switch from 19-format to 20-format (version match is pure coincidental) in a separate change if necessary

@LRFLEW LRFLEW Jul 31, 2025

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.

Just a heads up, updating this to clang 20 caused new formatting issues to pop up, which probably need to be resolved in its own commit / PR.
https://github.com/OpenRCT2/OpenRCT2/actions/runs/16639115663/job/47085767032?pr=24734

Edit: To add, updating the image used for the AppImage build seems to have a similar issue, where the validation of openrct2.appdata.xml fails. That maybe also needs to be addressed separately, namely due to it requiring changes to identifiers (eg. it warns that the value in the <id> tag is not an rDNS value, but I don't know if changing the id will break things for people with the AppImage already installed).

Comment thread .github/workflows/ci.yml Outdated
Comment thread 20/bookworm/Dockerfile
@@ -0,0 +1,22 @@
# Supplementart image that can build OpenRCT2 for Linux (amd64).

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.

Typo in supplementary

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.

Suggested change
# Supplementart image that can build OpenRCT2 for Linux (amd64).
# Supplementary image that can build OpenRCT2 for Linux (amd64).

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.

That typo apparently come from the version 19 files I copied to make these, lol.
https://github.com/OpenRCT2/openrct2-docker-build/blob/master/19/bookworm/Dockerfile#L1

Comment thread 20/mingw/Dockerfile
USER root
RUN pacman -U mingw-w64-libzip-*.zst --noconfirm && pacman -Scc --noconfirm && rm -r /home/build/*

RUN wget https://github.com/nlohmann/json/releases/download/v3.11.3/include.zip -O /usr/i686-w64-mingw32/json.zip && unzip /usr/i686-w64-mingw32/json.zip -d /usr/i686-w64-mingw32/ && unzip /usr/i686-w64-mingw32/json.zip -d /usr/x86_64-w64-mingw32/

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.

This could use a comment as well

Comment thread 20/mingw/Dockerfile
# GMP and Nettle seem to have their mingw libraries misnamed. pkg-config
# points to .a, not .dll.a files; additionally cmake removes any such
# extensions, so symlink the files to their expected places
RUN ln -s /usr/i686-w64-mingw32/lib/libp11-kit.dll.a /usr/i686-w64-mingw32/lib/libp11-kit.a \

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.

still required

Comment thread 20/mingw/Dockerfile
RUN makepkg -sr --noconfirm
USER root
RUN pacman -U mingw-w64-libzip-*.zst --noconfirm && pacman -Scc --noconfirm && rm -r /home/build/*

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.

Suggested change
# 3.12.0 contains a major issue related to utf8 strings. Should be fixed when 3.12.1 releases

@janisozaur janisozaur merged commit a8c0234 into OpenRCT2:master Jul 31, 2025
7 checks passed
@LRFLEW

LRFLEW commented Aug 1, 2025

Copy link
Copy Markdown
Contributor Author

Just to note, you suggested some changes, but then merged the PR, which closed it, preventing me from accepting the changes. If you want to make those changes, you should probably just commit them directly.

@janisozaur

Copy link
Copy Markdown
Member

Yeah, I'm fully aware of that. Doesn't bother me too much, it can be fixed whenever - or not. I wanted to unblock testing with updated images already

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.

2 participants