From da17dc4d5d49abf9b6cce7ccc3caa93ae3291e8e Mon Sep 17 00:00:00 2001 From: Sefa Eyeoglu Date: Mon, 26 Sep 2022 15:58:05 +0200 Subject: [PATCH 1/6] maintainers: add Scrumplex Signed-off-by: Sefa Eyeoglu Signed-off-by: Skyler Grey --- maintainers/maintainer-list.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index e0dfa3131a21..9482888708b1 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -11466,6 +11466,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"; From 476bff3f96b9534b0b6162c77a4d95fdbe54bfb7 Mon Sep 17 00:00:00 2001 From: Sefa Eyeoglu Date: Mon, 26 Sep 2022 16:11:45 +0200 Subject: [PATCH 2/6] tomlplusplus: init at 3.2.0 Signed-off-by: Sefa Eyeoglu --- .../libraries/tomlplusplus/default.nix | 28 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 30 insertions(+) create mode 100644 pkgs/development/libraries/tomlplusplus/default.nix diff --git a/pkgs/development/libraries/tomlplusplus/default.nix b/pkgs/development/libraries/tomlplusplus/default.nix new file mode 100644 index 000000000000..be1c4b7d9c81 --- /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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 573bc2de9e28..e835a89c7956 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 { }; From f9b1cf5dddc09bb4e55a16e89063e48ce5fc8c99 Mon Sep 17 00:00:00 2001 From: Skyler Grey Date: Mon, 23 May 2022 09:47:30 +0100 Subject: [PATCH 3/6] maintainers: add minion3665 --- maintainers/maintainer-list.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 9482888708b1..09aedd9798d2 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"; From 0398dd769fa941ce8ce893b3f9e21dcd397e569e Mon Sep 17 00:00:00 2001 From: Skyler Grey Date: Tue, 18 Oct 2022 17:55:33 +0100 Subject: [PATCH 4/6] prismlauncher: init at 5.0 --- pkgs/games/prismlauncher/default.nix | 94 ++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 96 insertions(+) create mode 100644 pkgs/games/prismlauncher/default.nix diff --git a/pkgs/games/prismlauncher/default.nix b/pkgs/games/prismlauncher/default.nix new file mode 100644 index 000000000000..a7797861f30a --- /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/all-packages.nix b/pkgs/top-level/all-packages.nix index e835a89c7956..64dcb263bc95 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -32212,6 +32212,8 @@ with pkgs; polymc = libsForQt5.callPackage ../games/polymc { }; + prismlauncher = libsForQt5.callPackage ../games/prismlauncher { }; + pong3d = callPackage ../games/pong3d { }; pokerth = libsForQt5.callPackage ../games/pokerth { From 15d4e09deea04f4e6775abc6e12046535bd469d8 Mon Sep 17 00:00:00 2001 From: Skyler Grey Date: Tue, 18 Oct 2022 18:27:51 +0100 Subject: [PATCH 5/6] release-notes-2205: suggest using prismlauncher - Previously PolyMC was the suggested replacement for MultiMC - As PolyMC is marked as insecure and prismlauncher is a replacement, this commit suggests using it instead --- .../from_md/release-notes/rl-2205.section.xml | 20 +++++++++---------- .../manual/release-notes/rl-2205.section.md | 10 +++++++++- 2 files changed, 19 insertions(+), 11 deletions(-) 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 1ee0f0b8eea0..124387b7700c 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 cfd64973b924..f240449e1380 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` From eb58a0d3a7e1d110c4d34d976ea95f568551d94d Mon Sep 17 00:00:00 2001 From: Skyler Grey Date: Thu, 20 Oct 2022 09:01:04 +0100 Subject: [PATCH 6/6] multimc: suggest prismlauncher as an alternative - Previously PolyMC was the suggested alternative - This commit replaces that with prismlauncher, as PolyMC is no longer secure --- pkgs/top-level/aliases.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 3ba7d4b284c1..515952f22435 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;