Upstream changelog: https://github.com/PrismLauncher/PrismLauncher/releases/tag/8.0 (Imcomplete) list of changes in 8.0 relevant to PollyMC: - Prism has dropped support for Mojang accounts - https://github.com/PrismLauncher/PrismLauncher/pull/1656 - Added it back to PollyMC primarily since the Mojang authentication code is also used for authlib-injector accounts. Some users may also still want to be able to log in to Mojang accounts for some reason: https://github.com/fn2006/PollyMC/issues/115#issuecomment-1805384658, even if they do not provide authentication to multiplayer servers. - To my surprise, I could still log in to a Mojang account, get its skin, and launch the game. Authentication to servers, of course, did not work. - Tested: logging into authlib-injector, Mojang, and MSA accounts and launching the game. - Prism has added a built-in updater for Windows and Linux that I assume provides similar functionality to Sparkle on macOS: https://github.com/PrismLauncher/PrismLauncher/pull/1268. There is a Launcher_UPDATER_GITHUB_REPO variable in CMakeLists.txt that specifies the repo checked by the updater. I have changed this to the PollyMC repository, and since PollyMC follows almost the same CI/release patterns as Prism Launcher, it might work with PollyMC, too, but I have not tested it yet. - Add macOS support to Nix - https://github.com/PrismLauncher/PrismLauncher/pull/1485 - Untested - The "PollyMC-Linux-8.0.tar.gz" and similar build artifacts were renamed to "PollyMC-Linux-8.0-Qt5.tar.gz" to match their "PollyMC-Linux-8.0-Qt6.tar.gz" counterparts. - Removed Windows MSVC Legacy builds - Removed Quilt Beacon toggle, the beacon is now always disabled: https://github.com/PrismLauncher/PrismLauncher/pull/1547, https://github.com/PrismLauncher/meta/pull/23 - Prism removed FTB support in 7.0, but I tested creating an FTB instance to make sure it still works in 8.0 Signed-off-by: Evan Goode <mail@evangoo.de>
96 lines
2.0 KiB
Nix
96 lines
2.0 KiB
Nix
{
|
|
lib,
|
|
stdenv,
|
|
symlinkJoin,
|
|
pollymc-unwrapped,
|
|
wrapQtAppsHook,
|
|
addOpenGLRunpath,
|
|
qtbase, # needed for wrapQtAppsHook
|
|
qtsvg,
|
|
qtwayland,
|
|
xorg,
|
|
libpulseaudio,
|
|
libGL,
|
|
glfw,
|
|
openal,
|
|
jdk8,
|
|
jdk17,
|
|
gamemode,
|
|
flite,
|
|
mesa-demos,
|
|
udev,
|
|
libusb1,
|
|
msaClientID ? null,
|
|
gamemodeSupport ? stdenv.isLinux,
|
|
textToSpeechSupport ? stdenv.isLinux,
|
|
controllerSupport ? stdenv.isLinux,
|
|
jdks ? [jdk17 jdk8],
|
|
additionalLibs ? [],
|
|
additionalPrograms ? [],
|
|
}: let
|
|
pollymcFinal = pollymc-unwrapped.override {
|
|
inherit msaClientID gamemodeSupport;
|
|
};
|
|
in
|
|
symlinkJoin {
|
|
name = "pollymc-${pollymcFinal.version}";
|
|
|
|
paths = [pollymcFinal];
|
|
|
|
nativeBuildInputs = [
|
|
wrapQtAppsHook
|
|
];
|
|
|
|
buildInputs =
|
|
[
|
|
qtbase
|
|
qtsvg
|
|
]
|
|
++ lib.optional (lib.versionAtLeast qtbase.version "6" && stdenv.isLinux) qtwayland;
|
|
|
|
postBuild = ''
|
|
wrapQtAppsHook
|
|
'';
|
|
|
|
qtWrapperArgs = let
|
|
runtimeLibs =
|
|
(with xorg; [
|
|
libX11
|
|
libXext
|
|
libXcursor
|
|
libXrandr
|
|
libXxf86vm
|
|
])
|
|
++ [
|
|
# lwjgl
|
|
libpulseaudio
|
|
libGL
|
|
glfw
|
|
openal
|
|
stdenv.cc.cc.lib
|
|
|
|
# oshi
|
|
udev
|
|
]
|
|
++ lib.optional gamemodeSupport gamemode.lib
|
|
++ lib.optional textToSpeechSupport flite
|
|
++ lib.optional controllerSupport libusb1
|
|
++ additionalLibs;
|
|
|
|
runtimePrograms =
|
|
[
|
|
xorg.xrandr
|
|
mesa-demos # need glxinfo
|
|
]
|
|
++ additionalPrograms;
|
|
in
|
|
["--prefix POLLYMC_JAVA_PATHS : ${lib.makeSearchPath "bin/java" jdks}"]
|
|
++ lib.optionals stdenv.isLinux [
|
|
"--set LD_LIBRARY_PATH ${addOpenGLRunpath.driverLink}/lib:${lib.makeLibraryPath runtimeLibs}"
|
|
# xorg.xrandr needed for LWJGL [2.9.2, 3) https://github.com/LWJGL/lwjgl/issues/128
|
|
"--prefix PATH : ${lib.makeBinPath runtimePrograms}"
|
|
];
|
|
|
|
inherit (pollymcFinal) meta;
|
|
}
|