diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index e0dfa3131a211..09aedd9798d22 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -8473,6 +8473,17 @@
fingerprint = "3196 83D3 9A1B 4DE1 3DC2 51FD FEA8 88C9 F5D6 4F62";
}];
};
+ minion3665 = {
+ name = "Skyler Grey";
+ email = "skyler3665@gmail.com";
+ matrix = "@minion3665:matrix.org";
+ github = "Minion3665";
+ githubId = 34243578;
+ keys = [{
+ longkeyid = "rsa4096/0x1AFD10256B3C714D";
+ fingerprint = "D520 AC8D 7C96 9212 5B2B BD3A 1AFD 1025 6B3C 714D";
+ }];
+ };
mir06 = {
email = "armin.leuprecht@uni-graz.at";
github = "mir06";
@@ -11466,6 +11477,17 @@
githubId = 3598650;
name = "Fritz Otlinghaus";
};
+ Scrumplex = {
+ name = "Sefa Eyeoglu";
+ email = "contact@scrumplex.net";
+ matrix = "@Scrumplex:duckhub.io";
+ github = "Scrumplex";
+ githubId = 11587657;
+ keys = [{
+ longkeyid = "rsa2048/0xC10411294912A422";
+ fingerprint = "AF1F B107 E188 CB97 9A94 FD7F C104 1129 4912 A422";
+ }];
+ };
scubed2 = {
email = "scubed2@gmail.com";
github = "scubed2";
diff --git a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
index 1ee0f0b8eea05..124387b7700cf 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
@@ -1524,18 +1524,18 @@
- MultiMC has been replaced with the fork PolyMC due to upstream
- developers being hostile to 3rd party package maintainers.
- PolyMC removes all MultiMC branding and is aimed at providing
- proper 3rd party packages like the one contained in Nixpkgs.
- This change affects the data folder where game instances and
- other save and configuration files are stored. Users with
- existing installations should rename
+ MultiMC has been replaced with the fork PrismLauncher due to
+ upstream developers being hostile to 3rd party package
+ maintainers. PrismLauncher removes all MultiMC branding and is
+ aimed at providing proper 3rd party packages like the one
+ contained in Nixpkgs. This change affects the data folder
+ where game instances and other save and configuration files
+ are stored. Users with existing installations should rename
~/.local/share/multimc to
- ~/.local/share/polymc. The main config
- file’s path has also moved from
+ ~/.local/share/PrismLauncher. The main
+ config file’s path has also moved from
~/.local/share/multimc/multimc.cfg to
- ~/.local/share/polymc/polymc.cfg.
+ ~/.local/share/PrismLauncher/prismlauncher.cfg.
diff --git a/nixos/doc/manual/release-notes/rl-2205.section.md b/nixos/doc/manual/release-notes/rl-2205.section.md
index cfd64973b924f..f240449e13800 100644
--- a/nixos/doc/manual/release-notes/rl-2205.section.md
+++ b/nixos/doc/manual/release-notes/rl-2205.section.md
@@ -587,7 +587,15 @@ In addition to numerous new and upgraded packages, this release has the followin
- The `miller` package has been upgraded from 5.10.3 to [6.2.0](https://github.com/johnkerl/miller/releases/tag/v6.2.0). See [What's new in Miller 6](https://miller.readthedocs.io/en/latest/new-in-miller-6).
-- MultiMC has been replaced with the fork PolyMC due to upstream developers being hostile to 3rd party package maintainers. PolyMC removes all MultiMC branding and is aimed at providing proper 3rd party packages like the one contained in Nixpkgs. This change affects the data folder where game instances and other save and configuration files are stored. Users with existing installations should rename `~/.local/share/multimc` to `~/.local/share/polymc`. The main config file's path has also moved from `~/.local/share/multimc/multimc.cfg` to `~/.local/share/polymc/polymc.cfg`.
+- MultiMC has been replaced with the fork PrismLauncher due to upstream
+ developers being hostile to 3rd party package maintainers. PrismLauncher
+ removes all MultiMC branding and is aimed at providing proper 3rd party
+ packages like the one contained in Nixpkgs. This change affects the data
+ folder where game instances and other save and configuration files are stored.
+ Users with existing installations should rename `~/.local/share/multimc` to
+ `~/.local/share/PrismLauncher`. The main config file's path has also moved
+ from `~/.local/share/multimc/multimc.cfg` to
+ `~/.local/share/PrismLauncher/prismlauncher.cfg`.
- `systemd-nspawn@.service` settings have been reverted to the default systemd behaviour. User namespaces are now activated by default. If you want to keep running nspawn containers without user namespaces you need to set `systemd.nspawn..execConfig.PrivateUsers = false`
diff --git a/pkgs/development/libraries/tomlplusplus/default.nix b/pkgs/development/libraries/tomlplusplus/default.nix
new file mode 100644
index 0000000000000..be1c4b7d9c81e
--- /dev/null
+++ b/pkgs/development/libraries/tomlplusplus/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, stdenv
+, meson
+, ninja
+, fetchFromGitHub
+}:
+
+stdenv.mkDerivation rec {
+ pname = "tomlplusplus";
+ version = "3.2.0";
+
+ src = fetchFromGitHub {
+ owner = "marzer";
+ repo = pname;
+ rev = "v${version}";
+ hash = "sha256-nohO4eySs73BSgjvq+uzybiE5lw2rFY5YqGbl/oqGek=";
+ };
+
+ nativeBuildInputs = [ meson ninja ];
+
+ meta = with lib;{
+ homepage = "https://github.com/marzer/tomlplusplus";
+ description = "Header-only TOML config file parser and serializer for C++17";
+ license = licenses.mit;
+ maintainers = with maintainers; [ Scrumplex ];
+ platforms = with platforms; unix;
+ };
+}
diff --git a/pkgs/games/prismlauncher/default.nix b/pkgs/games/prismlauncher/default.nix
new file mode 100644
index 0000000000000..a7797861f30ab
--- /dev/null
+++ b/pkgs/games/prismlauncher/default.nix
@@ -0,0 +1,94 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, jdk8
+, jdk
+, zlib
+, file
+, wrapQtAppsHook
+, xorg
+, libpulseaudio
+, qtbase
+, libGL
+, quazip
+, glfw
+, openal
+, extra-cmake-modules
+, tomlplusplus
+, ghc_filesystem
+, msaClientID ? ""
+, jdks ? [ jdk jdk8 ]
+,
+}:
+let
+ libnbtplusplus = fetchFromGitHub {
+ owner = "PrismLauncher";
+ repo = "libnbtplusplus";
+ rev = "2203af7eeb48c45398139b583615134efd8d407f";
+ sha256 = "sha256-TvVOjkUobYJD9itQYueELJX3wmecvEdCbJ0FinW2mL4=";
+ };
+in
+stdenv.mkDerivation rec {
+ pname = "prismlauncher";
+ version = "5.0";
+
+ src = fetchFromGitHub {
+ owner = "PrismLauncher";
+ repo = "PrismLauncher";
+ rev = version;
+ sha256 = "sha256-oN+DpJ08N/ar5wLAahgpBV9DeHtMTwSrE7uOwT3A+Yo=";
+ };
+
+ nativeBuildInputs = [ extra-cmake-modules ghc_filesystem cmake file jdk wrapQtAppsHook ];
+ buildInputs = [ qtbase zlib quazip tomlplusplus ];
+
+ cmakeFlags = lib.optionals (msaClientID != "") [ "-DLauncher_MSA_CLIENT_ID=${msaClientID}" ];
+ dontWrapQtApps = true;
+
+ postUnpack = ''
+ rm -rf source/libraries/libnbtplusplus
+ mkdir source/libraries/libnbtplusplus
+ ln -s ${libnbtplusplus}/* source/libraries/libnbtplusplus
+ chmod -R +r+w source/libraries/libnbtplusplus
+ chown -R $USER: source/libraries/libnbtplusplus
+ '';
+
+ postInstall =
+ let
+ libpath = with xorg;
+ lib.makeLibraryPath [
+ libX11
+ libXext
+ libXcursor
+ libXrandr
+ libXxf86vm
+ libpulseaudio
+ libGL
+ glfw
+ openal
+ stdenv.cc.cc.lib
+ ];
+ in
+ ''
+ # xorg.xrandr needed for LWJGL [2.9.2, 3) https://github.com/LWJGL/lwjgl/issues/128
+ wrapQtApp $out/bin/prismlauncher \
+ --set LD_LIBRARY_PATH /run/opengl-driver/lib:${libpath} \
+ --prefix PRISMLAUNCHER_JAVA_PATHS : ${lib.makeSearchPath "bin/java" jdks} \
+ --prefix PATH : ${lib.makeBinPath [xorg.xrandr]}
+ '';
+
+ meta = with lib; {
+ homepage = "https://prismlauncher.org/";
+ description = "A free, open source launcher for Minecraft";
+ longDescription = ''
+ Allows you to have multiple, separate instances of Minecraft (each with
+ their own mods, texture packs, saves, etc) and helps you manage them and
+ their associated options with a simple interface.
+ '';
+ platforms = platforms.linux;
+ changelog = "https://github.com/PrismLauncher/PrismLauncher/releases/tag/${version}";
+ license = licenses.gpl3Only;
+ maintainers = with maintainers; [ minion3665 Scrumplex ];
+ };
+}
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 3ba7d4b284c1d..515952f22435b 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -858,7 +858,7 @@ mapAliases ({
mpd_clientlib = libmpdclient; # Added 2021-02-11
mpich2 = throw "'mpich2' has been renamed to/replaced by 'mpich'"; # Converted to throw 2022-02-22
msf = throw "'msf' has been renamed to/replaced by 'metasploit'"; # Converted to throw 2022-02-22
- multimc = throw "multimc was removed from nixpkgs; use polymc instead (see https://github.com/NixOS/nixpkgs/pull/154051 for more information)"; # Added 2022-01-08
+ multimc = throw "multimc was removed from nixpkgs; use prismlauncher instead (see https://github.com/NixOS/nixpkgs/pull/154051 for more information)"; # Added 2022-01-08
mumble_git = pkgs.mumble; # Added 2019-08-01
murmur_git = pkgs.murmur; # Added 2019-08-01
mysql-client = hiPrio mariadb.client;
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 573bc2de9e288..64dcb263bc95c 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -21009,6 +21009,8 @@ with pkgs;
tomlcpp = callPackage ../development/libraries/tomlcpp { };
+ tomlplusplus = callPackage ../development/libraries/tomlplusplus { };
+
tokyocabinet = callPackage ../development/libraries/tokyo-cabinet { };
tokyotyrant = callPackage ../development/libraries/tokyo-tyrant { };
@@ -32210,6 +32212,8 @@ with pkgs;
polymc = libsForQt5.callPackage ../games/polymc { };
+ prismlauncher = libsForQt5.callPackage ../games/prismlauncher { };
+
pong3d = callPackage ../games/pong3d { };
pokerth = libsForQt5.callPackage ../games/pokerth {