pingus: unstable-0.7.6.0.20191104 -> 0.7.6-unstable-2025-07-21#451098
pingus: unstable-0.7.6.0.20191104 -> 0.7.6-unstable-2025-07-21#4510987c6f434c merged 13 commits intoNixOS:masterfrom
Conversation
There was a problem hiding this comment.
Review per https://github.com/NixOS/nixpkgs/tree/0b4defa2584313f3b781240b29d61f6f9f7e0df3/pkgs#package-updates
Reviewed points
- package name fits guidelines
- package version fits guidelines (see below)
- package builds on x86_64-linux (see below)
- executables tested on x86_64-linux (see below)
- any change of upstream are verified (see below)
- the motives for any special packaging choices are documented
- all depending packages build
- patches have a comment describing either the upstream URL or a reason why the patch wasn't upstreamed (none)
- patches that are remotely available are fetched rather than vendored (none)
Possible improvements
-
According to https://github.com/NixOS/nixpkgs/tree/0b4defa2584313f3b781240b29d61f6f9f7e0df3/pkgs#versioning , versions must start with a digit, so those need to be fixed (see also my inline comment at
pinguspackage). -
Non-blocking suggestion: Please move the commit "pingus: unstable-0.7.6.0.20191104 -> unstable-0.8.0-20250721" to the tip of the branch. That commit doesn't make sense without the other packages.
nixpkgsprobably even has problems evaluating with that commit alone, as it references missing packages. Reordering of commits would make it easier to do bisections in the repo later (even bisections that don't concern pingus or one of the new libraries would profit). -
With
hash = "sha256-jQYZM7VLqbl9/+QXyswEXdGmwOq/nxRzWARvcDqNM9M=";inpingus.src, I am able to build everything on my machine. However, starting$out/bin/pingusimmediatelly fails with an exception that is not further explained:$ rm -rf ~/.config/pingus* $ LANG=en_US.UTF-8 result/bin/pingus -D [INFO ] /build/source/src/util/system.cpp:257: System::create_dir: %1 [INFO ] /build/source/src/util/system.cpp:264: Successfully created: /home/pingu/.config/pingus-0.8 [INFO ] /build/source/src/util/system.cpp:257: System::create_dir: %1 [INFO ] /build/source/src/util/system.cpp:264: Successfully created: /home/pingu/.config/pingus-0.8/levels [INFO ] /build/source/src/util/system.cpp:257: System::create_dir: %1 [INFO ] /build/source/src/util/system.cpp:264: Successfully created: /home/pingu/.config/pingus-0.8/levels/dist [INFO ] /build/source/src/util/system.cpp:257: System::create_dir: %1 [INFO ] /build/source/src/util/system.cpp:264: Successfully created: /home/pingu/.config/pingus-0.8/themes [INFO ] /build/source/src/util/system.cpp:257: System::create_dir: %1 [INFO ] /build/source/src/util/system.cpp:264: Successfully created: /home/pingu/.config/pingus-0.8/savegames [INFO ] /build/source/src/util/system.cpp:257: System::create_dir: %1 [INFO ] /build/source/src/util/system.cpp:264: Successfully created: /home/pingu/.config/pingus-0.8/images [INFO ] /build/source/src/util/system.cpp:257: System::create_dir: %1 [INFO ] /build/source/src/util/system.cpp:264: Successfully created: /home/pingu/.config/pingus-0.8/cache [INFO ] /build/source/src/util/system.cpp:257: System::create_dir: %1 [INFO ] /build/source/src/util/system.cpp:264: Successfully created: /home/pingu/.config/pingus-0.8/demos [INFO ] /build/source/src/util/system.cpp:257: System::create_dir: %1 [INFO ] /build/source/src/util/system.cpp:264: Successfully created: /home/pingu/.config/pingus-0.8/backup [INFO ] /build/source/src/util/system.cpp:257: System::create_dir: %1 [INFO ] /build/source/src/util/system.cpp:264: Successfully created: /home/pingu/.config/pingus-0.8/screenshots [INFO ] /build/source/src/pingus/pingus_main.cpp:103: /home/pingu/.config/pingus-0.8/config: config file not found Welcome to Pingus 0.7.6-631-gb0ceeeeb9! ======================================= userdir: /home/pingu/.config/pingus-0.8/ datadir: /nix/store/6f61bagndzg5jnvdzahsyjr0d2ypqyra-pingus-unstable-0.8.0-20250721/share/pingus language: English (en) sound support: enabled music support: enabled fullscreen: disabled [INFO ] /build/source/src/engine/display/display.cpp:95: sdl isize(1024, 768) window [INFO ] /build/source/src/pingus/savegame_manager.cpp:48: /home/pingu/.config/pingus-0.8/savegames/savegames.scm: savegame file not found [DEBUG] /build/source/src/util/system.cpp:719: writing /home/pingu/.config/pingus-0.8/savegames/variables.scm [DEBUG] /build/source/src/util/system.cpp:719: writing /home/pingu/.config/pingus-0.8/savegames/variables.scm Pingus: Standard exception caught!: unknown formatI tried this on a NixOS 25.05 machine and again inside a VirtualBox with NixOS unstable running, each time within plasma6.
-
I verified all licenses, mostly by looking at what Github project page says. See my inline comments on where changes are or might be indicated.
I suggest we add some notes in commit messages about why the license is chosen as it is, so we can reconstruct that if questions arise later.
Should we open some issues upstream about missing/unclear licenses?
Dear @SchweGELBin , thank you so much for you efforts in rescuing pingus! I really and wholeheartedly appreciate that!
Edit: For the record: I performed these tests after rebasing this PR's branch onto current nixos-unstable.
|
@Yarny0, thank you very much for your detailed and helpful review! I answered most of your inline comments and want to add the following: Regarding the licenses: I will put the pingus changes at the end of the commits. Oh, I forgot to add: |
c7e66ef to
701e18f
Compare
701e18f to
c3723d6
Compare
|
Hey @Yarny0, I've implemented all your suggestions. I've also implemented checks/tests, added sexp-cpp as a dependency to priocpp and pingus works now: There was already sexpp in nixpkgs, but this version did not work. 1 check in wstsound fails, so I commented it and disabled this check. |
Yarny0
left a comment
There was a problem hiding this comment.
Besides the homepage, this looks alright.
I built everything on x86_64-linux (again after rebasing onto current nixos-unstable). Now pingus starts and I was able to play some levels without any issues. Sound effects and background music sound lovely. This is great!
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review
Commit: c3723d6b93967519dcd42c7fbeb4789ba5a2cd09
x86_64-linux
✅ 12 packages built:
- argpp
- geomcpp
- logmich
- pingus
- priocpp
- sexp-cpp
- strutcpp
- tinycmmc
- tinygettext
- uitest
- wstsound
- xdgcpp
c3723d6 to
e04d766
Compare
Yarny0
left a comment
There was a problem hiding this comment.
I have no further objections or remarks. This is great work, thanks!
|
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: |
|
one thing, we really should keep it 1 commit that should get merged, not 13 |
|
I can, but I thought that splitting them would make more sense. |
|
https://github.com/NixOS/nixpkgs/tree/0b4defa2584313f3b781240b29d61f6f9f7e0df3/pkgs#commit-conventions encourages one commit per new package and explains that proper commit titles even help automation. I don't really know anything about what's going on behind the scenes with CI, but I also don't see any problem with multiple commits. In light of that, I suggest to keep one commit per package. (However, I'm not a committer, so in the end, it's not my call.) |
|
|
I am not sure why CI does not build the added packages based on commit titles here. One commit per package looks fine though. Looks fine to me except for apparent duplication of one description. |
e04d766 to
392900b
Compare
|
@ofborg build pingus |
Resolves #450945
I thought it would be a simple package update. I was wrong...
The package builds but doesn't seem to act right.
The upstream repo moved and doesn't use submodules anymore.
I ported all the dependencies. I might have made some mistakes, but checked everything twice.
Things done
passthru.tests.nixpkgs-reviewon this PR. See nixpkgs-review usage../result/bin/.Add a 👍 reaction to pull requests you find important.