Skip to content

games: Add prismlauncher.

Cairn requested to merge CairnThePerson/games:prismlauncher into master

Hey! This is an update to replace my PolyMC merge request. The project was sabotaged by a user with commit access, and so Prism is the fork to replace it.


I started with the MultiMC definition, and I heavily referenced the Nix package definition for PolyMC. Here's a summary of my changes:

  • A desktop file (and icons) phase is no longer necessary, since Prism builds them by default.
  • A recent change to PolyMC was to use LD_LIBRARY_PATH instead of GAME_LIBRARY_PATH.
  • I wrote the inputs list using the new style.
  • Instead of applying the JDK using a phase, I simply added it as a propagated input. I reason it should be simpler to make a package variant using a different JDK version this way.
  • I upgraded to openjdk17 as recommended by the Prism build instructions.
  • Neither #:tests? #f nor any #:configure-flags seem necessary anymore. Tests succeed, and the current version's build flags are optional.
  • I added extra-cmake-modules as an input (per the build instructions), and made it a native input to match Nix's PolyMC definition.
  • Lastly, I matched Nix's description/synopsis, and I updated the licenses.

I tested all of this with versions 1.19.2 and b1.7.3. I found it was still necessary to include the patched path for xrandr to support older versions. Also, for b1.7.3, I needed to invoke a shell with icedtea, because the version needed OpenJDK 8 to run. In a normal profile, I believe a user would need to make a package variant of an earlier OpenJDK version to get it to coexist with OpenJDK 17. That's only for those who prefer to run earlier Minecraft versions though, so I don't think it needs to be a packaging issue.

The one thing I'm unable to test is if native Wayland support is still working (or if it's still necessary to the 'patch-paths phase). But if someone's able to confirm that, then this should be good to go!

Merge request reports