Merge pull request #196624 from Minion3665/replace-polymc-with-prismlauncher
This commit is contained in:
commit
ab6c14bf9a
|
@ -1501,18 +1501,18 @@
|
|||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
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
|
||||
<literal>~/.local/share/multimc</literal> to
|
||||
<literal>~/.local/share/polymc</literal>. The main config
|
||||
file’s path has also moved from
|
||||
<literal>~/.local/share/PrismLauncher</literal>. The main
|
||||
config file’s path has also moved from
|
||||
<literal>~/.local/share/multimc/multimc.cfg</literal> to
|
||||
<literal>~/.local/share/polymc/polymc.cfg</literal>.
|
||||
<literal>~/.local/share/PrismLauncher/prismlauncher.cfg</literal>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
|
|
|
@ -38,6 +38,24 @@
|
|||
<literal>stdenv.buildPlatform.canExecute stdenv.hostPlatform</literal>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The <literal>polymc</literal> package has been removed due to
|
||||
a rogue maintainer. It has been replaced by
|
||||
<literal>prismlauncher</literal>, a fork by the rest of the
|
||||
maintainers. For more details, see
|
||||
<link xlink:href="https://github.com/NixOS/nixpkgs/pull/196624">the
|
||||
pull request that made this change</link> and
|
||||
<link xlink:href="https://github.com/NixOS/nixpkgs/issues/196460">this
|
||||
issue detailing the vulnerability</link>. Users with existing
|
||||
installations should rename
|
||||
<literal>~/.local/share/polymc</literal> to
|
||||
<literal>~/.local/share/PrismLauncher</literal>. The main
|
||||
config file’s path has also moved from
|
||||
<literal>~/.local/share/polymc/polymc.cfg</literal> to
|
||||
<literal>~/.local/share/PrismLauncher/prismlauncher.cfg</literal>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The <literal>nixpkgs.hostPlatform</literal> and
|
||||
|
|
|
@ -581,7 +581,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.<name>.execConfig.PrivateUsers = false`
|
||||
|
||||
|
|
|
@ -20,6 +20,16 @@ In addition to numerous new and upgraded packages, this release has the followin
|
|||
built for `stdenv.hostPlatform` (i.e. produced by `stdenv.cc`) by evaluating
|
||||
`stdenv.buildPlatform.canExecute stdenv.hostPlatform`.
|
||||
|
||||
- The `polymc` package has been removed due to a rogue maintainer. It has been
|
||||
replaced by `prismlauncher`, a fork by the rest of the maintainers. For more
|
||||
details, see [the pull request that made this
|
||||
change](https://github.com/NixOS/nixpkgs/pull/196624) and [this issue
|
||||
detailing the vulnerability](https://github.com/NixOS/nixpkgs/issues/196460).
|
||||
Users with existing installations should rename `~/.local/share/polymc` to
|
||||
`~/.local/share/PrismLauncher`. The main config file's path has also moved
|
||||
from `~/.local/share/polymc/polymc.cfg` to
|
||||
`~/.local/share/PrismLauncher/prismlauncher.cfg`.
|
||||
|
||||
- The `nixpkgs.hostPlatform` and `nixpkgs.buildPlatform` options have been added.
|
||||
These cover and override the `nixpkgs.{system,localSystem,crossSystem}` options.
|
||||
|
||||
|
|
|
@ -1,76 +0,0 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, jdk8
|
||||
, jdk
|
||||
, zlib
|
||||
, file
|
||||
, wrapQtAppsHook
|
||||
, xorg
|
||||
, libpulseaudio
|
||||
, qtbase
|
||||
, libGL
|
||||
, quazip
|
||||
, glfw
|
||||
, openal
|
||||
, msaClientID ? ""
|
||||
, jdks ? [ jdk jdk8 ]
|
||||
, extra-cmake-modules
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "polymc";
|
||||
version = "1.4.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "PolyMC";
|
||||
repo = "PolyMC";
|
||||
rev = version;
|
||||
sha256 = "sha256-mqLk7ZcSrtvlUziNUCtnH7xQplXBruuiuN2b1+VX1ng=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ extra-cmake-modules cmake file jdk wrapQtAppsHook ];
|
||||
buildInputs = [ qtbase zlib quazip ];
|
||||
|
||||
cmakeFlags = lib.optionals (msaClientID != "") [ "-DLauncher_MSA_CLIENT_ID=${msaClientID}" ];
|
||||
|
||||
dontWrapQtApps = true;
|
||||
|
||||
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/polymc \
|
||||
--set LD_LIBRARY_PATH /run/opengl-driver/lib:${libpath} \
|
||||
--prefix POLYMC_JAVA_PATHS : ${lib.makeSearchPath "bin/java" jdks} \
|
||||
--prefix PATH : ${lib.makeBinPath [ xorg.xrandr ]}
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://polymc.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/PolyMC/PolyMC/releases/tag/${version}";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ cleverca22 starcraft66 ];
|
||||
knownVulnerabilities = [ "OVE-20221017-0001" ];
|
||||
};
|
||||
}
|
94
pkgs/games/prismlauncher/default.nix
Normal file
94
pkgs/games/prismlauncher/default.nix
Normal file
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -934,7 +934,7 @@ mapAliases ({
|
|||
mpich2 = throw "'mpich2' has been renamed to/replaced by 'mpich'"; # Converted to throw 2022-02-22
|
||||
mqtt-bench = throw "mqtt-bench has been dropped due to the lack of maintenance from upstream since 2017"; # Added 2022-06-02
|
||||
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
|
||||
mutt-with-sidebar = mutt; # Added 2022-09-17
|
||||
|
@ -1151,6 +1151,7 @@ mapAliases ({
|
|||
pmtools = throw "'pmtools' has been renamed to/replaced by 'acpica-tools'"; # Converted to throw 2022-02-22
|
||||
pocketsphinx = throw "pocketsphinx has been removed: unmaintained"; # Added 2022-04-24
|
||||
polarssl = throw "'polarssl' has been renamed to/replaced by 'mbedtls'"; # Converted to throw 2022-02-22
|
||||
polymc = throw "PolyMC has been removed from nixpkgs due to a hostile takeover by a rogue maintainer. The rest of the maintainers have made a fork which is packaged as 'prismlauncher'"; # Added 2022-10-18
|
||||
polysh = throw "polysh has been removed from nixpkgs as the upstream has abandoned the project"; # Added 2022-01-01
|
||||
pond = throw "pond has been dropped due to the lack of maintanence from upstream since 2016"; # Added 2022-06-02
|
||||
poppler_qt5 = throw "'poppler_qt5' has been renamed to/replaced by 'libsForQt5.poppler'"; # Converted to throw 2022-02-22
|
||||
|
|
|
@ -34206,7 +34206,7 @@ with pkgs;
|
|||
|
||||
planetary_annihilation = callPackage ../games/planetaryannihilation { };
|
||||
|
||||
polymc = libsForQt5.callPackage ../games/polymc { };
|
||||
prismlauncher = libsForQt5.callPackage ../games/prismlauncher { };
|
||||
|
||||
pong3d = callPackage ../games/pong3d { };
|
||||
|
||||
|
|
Loading…
Reference in a new issue