···1501 </listitem>
1502 <listitem>
1503 <para>
1504- MultiMC has been replaced with the fork PolyMC due to upstream
1505- developers being hostile to 3rd party package maintainers.
1506- PolyMC removes all MultiMC branding and is aimed at providing
1507- proper 3rd party packages like the one contained in Nixpkgs.
1508- This change affects the data folder where game instances and
1509- other save and configuration files are stored. Users with
1510- existing installations should rename
1511 <literal>~/.local/share/multimc</literal> to
1512- <literal>~/.local/share/polymc</literal>. The main config
1513- file’s path has also moved from
1514 <literal>~/.local/share/multimc/multimc.cfg</literal> to
1515- <literal>~/.local/share/polymc/polymc.cfg</literal>.
1516 </para>
1517 </listitem>
1518 <listitem>
···1501 </listitem>
1502 <listitem>
1503 <para>
1504+ MultiMC has been replaced with the fork PrismLauncher due to
1505+ upstream developers being hostile to 3rd party package
1506+ maintainers. PrismLauncher removes all MultiMC branding and is
1507+ aimed at providing proper 3rd party packages like the one
1508+ contained in Nixpkgs. This change affects the data folder
1509+ where game instances and other save and configuration files
1510+ are stored. Users with existing installations should rename
1511 <literal>~/.local/share/multimc</literal> to
1512+ <literal>~/.local/share/PrismLauncher</literal>. The main
1513+ config file’s path has also moved from
1514 <literal>~/.local/share/multimc/multimc.cfg</literal> to
1515+ <literal>~/.local/share/PrismLauncher/prismlauncher.cfg</literal>.
1516 </para>
1517 </listitem>
1518 <listitem>
···40 </listitem>
41 <listitem>
42 <para>
00000000000000000043 The <literal>nixpkgs.hostPlatform</literal> and
44 <literal>nixpkgs.buildPlatform</literal> options have been
45 added. These cover and override the
···40 </listitem>
41 <listitem>
42 <para>
43+ The <literal>polymc</literal> package has been removed due to
44+ a rogue maintainer. It has been replaced by
45+ <literal>prismlauncher</literal>, a fork by the rest of the
46+ maintainers. For more details, see
47+ <link xlink:href="https://github.com/NixOS/nixpkgs/pull/196624">the
48+ pull request that made this change</link> and
49+ <link xlink:href="https://github.com/NixOS/nixpkgs/issues/196460">this
50+ issue detailing the vulnerability</link>. Users with existing
51+ installations should rename
52+ <literal>~/.local/share/polymc</literal> to
53+ <literal>~/.local/share/PrismLauncher</literal>. The main
54+ config file’s path has also moved from
55+ <literal>~/.local/share/polymc/polymc.cfg</literal> to
56+ <literal>~/.local/share/PrismLauncher/prismlauncher.cfg</literal>.
57+ </para>
58+ </listitem>
59+ <listitem>
60+ <para>
61 The <literal>nixpkgs.hostPlatform</literal> and
62 <literal>nixpkgs.buildPlatform</literal> options have been
63 added. These cover and override the
+9-1
nixos/doc/manual/release-notes/rl-2205.section.md
···581582- 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).
583584-- 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`.
00000000585586- `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`
587
···581582- 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).
583584+- MultiMC has been replaced with the fork PrismLauncher due to upstream
585+ developers being hostile to 3rd party package maintainers. PrismLauncher
586+ removes all MultiMC branding and is aimed at providing proper 3rd party
587+ packages like the one contained in Nixpkgs. This change affects the data
588+ folder where game instances and other save and configuration files are stored.
589+ Users with existing installations should rename `~/.local/share/multimc` to
590+ `~/.local/share/PrismLauncher`. The main config file's path has also moved
591+ from `~/.local/share/multimc/multimc.cfg` to
592+ `~/.local/share/PrismLauncher/prismlauncher.cfg`.
593594- `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`
595
+10
nixos/doc/manual/release-notes/rl-2211.section.md
···20 built for `stdenv.hostPlatform` (i.e. produced by `stdenv.cc`) by evaluating
21 `stdenv.buildPlatform.canExecute stdenv.hostPlatform`.
22000000000023- The `nixpkgs.hostPlatform` and `nixpkgs.buildPlatform` options have been added.
24 These cover and override the `nixpkgs.{system,localSystem,crossSystem}` options.
25
···20 built for `stdenv.hostPlatform` (i.e. produced by `stdenv.cc`) by evaluating
21 `stdenv.buildPlatform.canExecute stdenv.hostPlatform`.
2223+- The `polymc` package has been removed due to a rogue maintainer. It has been
24+ replaced by `prismlauncher`, a fork by the rest of the maintainers. For more
25+ details, see [the pull request that made this
26+ change](https://github.com/NixOS/nixpkgs/pull/196624) and [this issue
27+ detailing the vulnerability](https://github.com/NixOS/nixpkgs/issues/196460).
28+ Users with existing installations should rename `~/.local/share/polymc` to
29+ `~/.local/share/PrismLauncher`. The main config file's path has also moved
30+ from `~/.local/share/polymc/polymc.cfg` to
31+ `~/.local/share/PrismLauncher/prismlauncher.cfg`.
32+33- The `nixpkgs.hostPlatform` and `nixpkgs.buildPlatform` options have been added.
34 These cover and override the `nixpkgs.{system,localSystem,crossSystem}` options.
35
+6-6
nixos/modules/services/web-apps/freshrss.nix
···238 # do installation or reconfigure
239 if test -f ${cfg.dataDir}/config.php; then
240 # reconfigure with settings
241- ${pkgs.php}/bin/php ./cli/reconfigure.php ${settingsFlags}
242- ${pkgs.php}/bin/php ./cli/update-user.php --user ${cfg.defaultUser} --password "$(cat ${cfg.passwordFile})"
243 else
244 # Copy the user data template directory
245 cp -r ./data ${cfg.dataDir}
246247 # check correct folders in data folder
248- ${pkgs.php}/bin/php ./cli/prepare.php
249 # install with settings
250- ${pkgs.php}/bin/php ./cli/do-install.php ${settingsFlags}
251- ${pkgs.php}/bin/php ./cli/create-user.php --user ${cfg.defaultUser} --password "$(cat ${cfg.passwordFile})"
252 fi
253 '';
254 };
···267 Group = "freshrss";
268 StateDirectory = "freshrss";
269 WorkingDirectory = cfg.package;
270- ExecStart = "${pkgs.php}/bin/php ./app/actualize_script.php";
271 } // systemd-hardening;
272 };
273 };
···238 # do installation or reconfigure
239 if test -f ${cfg.dataDir}/config.php; then
240 # reconfigure with settings
241+ ./cli/reconfigure.php ${settingsFlags}
242+ ./cli/update-user.php --user ${cfg.defaultUser} --password "$(cat ${cfg.passwordFile})"
243 else
244 # Copy the user data template directory
245 cp -r ./data ${cfg.dataDir}
246247 # check correct folders in data folder
248+ ./cli/prepare.php
249 # install with settings
250+ ./cli/do-install.php ${settingsFlags}
251+ ./cli/create-user.php --user ${cfg.defaultUser} --password "$(cat ${cfg.passwordFile})"
252 fi
253 '';
254 };
···267 Group = "freshrss";
268 StateDirectory = "freshrss";
269 WorkingDirectory = cfg.package;
270+ ExecStart = "./app/actualize_script.php";
271 } // systemd-hardening;
272 };
273 };
···13, bazel ? bazelPkg
14, bazelFlags ? []
15, bazelBuildFlags ? []
016, bazelFetchFlags ? []
17, bazelTarget
018, buildAttrs
19, fetchAttrs
2021-# Newer versions of Bazel are moving away from built-in rules_cc and instead
22-# allow fetching it as an external dependency in a WORKSPACE file[1]. If
23-# removed in the fixed-output fetch phase, building will fail to download it.
24-# This can be seen e.g. in #73097
25-#
26-# This option allows configuring the removal of rules_cc in cases where a
27-# project depends on it via an external dependency.
28-#
29-# [1]: https://github.com/bazelbuild/rules_cc
30, removeRulesCC ? true
31, removeLocalConfigCc ? true
32, removeLocal ? true
3334-# Use build --nobuild instead of fetch. This allows fetching the dependencies
35-# required for the build as configured, rather than fetching all the dependencies
36-# which may not work in some situations (e.g. Java code which ends up relying on
37-# Debian-specific /usr/share/java paths, but doesn't in the configured build).
38, fetchConfigured ? true
3940-# Don’t add Bazel --copt and --linkopt from NIX_CFLAGS_COMPILE /
41-# NIX_LDFLAGS. This is necessary when using a custom toolchain which
42-# Bazel wants all headers / libraries to come from, like when using
43-# CROSSTOOL. Weirdly, we can still get the flags through the wrapped
44-# compiler.
45, dontAddBazelOpts ? false
46, ...
47}:
···50 fArgs = removeAttrs args [ "buildAttrs" "fetchAttrs" "removeRulesCC" ];
51 fBuildAttrs = fArgs // buildAttrs;
52 fFetchAttrs = fArgs // removeAttrs fetchAttrs [ "sha256" ];
53-54-in stdenv.mkDerivation (fBuildAttrs // {
55- inherit name bazelFlags bazelBuildFlags bazelFetchFlags bazelTarget;
000000000000000000005657 deps = stdenv.mkDerivation (fFetchAttrs // {
58 name = "${name}-deps.tar.gz";
59- inherit bazelFlags bazelBuildFlags bazelFetchFlags bazelTarget;
6061 impureEnvVars = lib.fetchers.proxyImpureEnvVars ++ fFetchAttrs.impureEnvVars or [];
62···77 buildPhase = fFetchAttrs.buildPhase or ''
78 runHook preBuild
7980- # Bazel computes the default value of output_user_root before parsing the
81- # flag. The computation of the default value involves getting the $USER
82- # from the environment. I don't have that variable when building with
83- # sandbox enabled. Code here
84- # https://github.com/bazelbuild/bazel/blob/9323c57607d37f9c949b60e293b573584906da46/src/main/cpp/startup_options.cc#L123-L124
85- #
86- # On macOS Bazel will use the system installed Xcode or CLT toolchain instead of the one in the PATH unless we pass BAZEL_USE_CPP_ONLY_TOOLCHAIN
87-88 # We disable multithreading for the fetching phase since it can lead to timeouts with many dependencies/threads:
89 # https://github.com/bazelbuild/bazel/issues/6502
90 BAZEL_USE_CPP_ONLY_TOOLCHAIN=1 \
···97 --loading_phase_threads=1 \
98 $bazelFlags \
99 $bazelFetchFlags \
100- $bazelTarget
0101102 runHook postBuild
103 '';
···189 # the wrappers are expecting will not be set. So instead of relying on the
190 # wrappers picking them up, pass them in explicitly via `--copt`, `--linkopt`
191 # and related flags.
192- #
193 copts=()
194 host_copts=()
195 linkopts=()
···209 done
210 fi
211212- BAZEL_USE_CPP_ONLY_TOOLCHAIN=1 \
213- USER=homeless-shelter \
214- bazel \
215- --batch \
216- --output_base="$bazelOut" \
217- --output_user_root="$bazelUserRoot" \
218- build \
219- --curses=no \
220- -j $NIX_BUILD_CORES \
221- "''${copts[@]}" \
222- "''${host_copts[@]}" \
223- "''${linkopts[@]}" \
224- "''${host_linkopts[@]}" \
225- $bazelFlags \
226- $bazelBuildFlags \
227- $bazelTarget
228-229 runHook postBuild
230 '';
231})
00000000
···13, bazel ? bazelPkg
14, bazelFlags ? []
15, bazelBuildFlags ? []
16+, bazelTestFlags ? []
17, bazelFetchFlags ? []
18, bazelTarget
19+, bazelTestTargets ? []
20, buildAttrs
21, fetchAttrs
2223+ # Newer versions of Bazel are moving away from built-in rules_cc and instead
24+ # allow fetching it as an external dependency in a WORKSPACE file[1]. If
25+ # removed in the fixed-output fetch phase, building will fail to download it.
26+ # This can be seen e.g. in #73097
27+ #
28+ # This option allows configuring the removal of rules_cc in cases where a
29+ # project depends on it via an external dependency.
30+ #
31+ # [1]: https://github.com/bazelbuild/rules_cc
32, removeRulesCC ? true
33, removeLocalConfigCc ? true
34, removeLocal ? true
3536+ # Use build --nobuild instead of fetch. This allows fetching the dependencies
37+ # required for the build as configured, rather than fetching all the dependencies
38+ # which may not work in some situations (e.g. Java code which ends up relying on
39+ # Debian-specific /usr/share/java paths, but doesn't in the configured build).
40, fetchConfigured ? true
4142+ # Don’t add Bazel --copt and --linkopt from NIX_CFLAGS_COMPILE /
43+ # NIX_LDFLAGS. This is necessary when using a custom toolchain which
44+ # Bazel wants all headers / libraries to come from, like when using
45+ # CROSSTOOL. Weirdly, we can still get the flags through the wrapped
46+ # compiler.
47, dontAddBazelOpts ? false
48, ...
49}:
···52 fArgs = removeAttrs args [ "buildAttrs" "fetchAttrs" "removeRulesCC" ];
53 fBuildAttrs = fArgs // buildAttrs;
54 fFetchAttrs = fArgs // removeAttrs fetchAttrs [ "sha256" ];
55+ bazelCmd = { cmd, additionalFlags, targets }:
56+ lib.optionalString (targets != [ ]) ''
57+ # See footnote called [USER and BAZEL_USE_CPP_ONLY_TOOLCHAIN variables]
58+ BAZEL_USE_CPP_ONLY_TOOLCHAIN=1 \
59+ USER=homeless-shelter \
60+ bazel \
61+ --batch \
62+ --output_base="$bazelOut" \
63+ --output_user_root="$bazelUserRoot" \
64+ ${cmd} \
65+ --curses=no \
66+ -j $NIX_BUILD_CORES \
67+ "''${copts[@]}" \
68+ "''${host_copts[@]}" \
69+ "''${linkopts[@]}" \
70+ "''${host_linkopts[@]}" \
71+ $bazelFlags \
72+ ${lib.strings.concatStringsSep " " additionalFlags} \
73+ ${lib.strings.concatStringsSep " " targets}
74+ '';
75+in
76+stdenv.mkDerivation (fBuildAttrs // {
77+ inherit name bazelFlags bazelBuildFlags bazelTestFlags bazelFetchFlags bazelTarget bazelTestTargets;
7879 deps = stdenv.mkDerivation (fFetchAttrs // {
80 name = "${name}-deps.tar.gz";
81+ inherit bazelFlags bazelBuildFlags bazelTestFlags bazelFetchFlags bazelTarget bazelTestTargets;
8283 impureEnvVars = lib.fetchers.proxyImpureEnvVars ++ fFetchAttrs.impureEnvVars or [];
84···99 buildPhase = fFetchAttrs.buildPhase or ''
100 runHook preBuild
101102+ # See footnote called [USER and BAZEL_USE_CPP_ONLY_TOOLCHAIN variables].
0000000103 # We disable multithreading for the fetching phase since it can lead to timeouts with many dependencies/threads:
104 # https://github.com/bazelbuild/bazel/issues/6502
105 BAZEL_USE_CPP_ONLY_TOOLCHAIN=1 \
···112 --loading_phase_threads=1 \
113 $bazelFlags \
114 $bazelFetchFlags \
115+ ${bazelTarget} \
116+ ${lib.strings.concatStringsSep " " bazelTestTargets}
117118 runHook postBuild
119 '';
···205 # the wrappers are expecting will not be set. So instead of relying on the
206 # wrappers picking them up, pass them in explicitly via `--copt`, `--linkopt`
207 # and related flags.
208+209 copts=()
210 host_copts=()
211 linkopts=()
···225 done
226 fi
227228+ ${
229+ bazelCmd {
230+ cmd = "test";
231+ additionalFlags =
232+ ["--test_output=errors"] ++ bazelTestFlags;
233+ targets = bazelTestTargets;
234+ }
235+ }
236+ ${
237+ bazelCmd {
238+ cmd = "build";
239+ additionalFlags = bazelBuildFlags;
240+ targets = [bazelTarget];
241+ }
242+ }
00243 runHook postBuild
244 '';
245})
246+247+# [USER and BAZEL_USE_CPP_ONLY_TOOLCHAIN variables]:
248+# Bazel computes the default value of output_user_root before parsing the
249+# flag. The computation of the default value involves getting the $USER
250+# from the environment. Code here :
251+# https://github.com/bazelbuild/bazel/blob/9323c57607d37f9c949b60e293b573584906da46/src/main/cpp/startup_options.cc#L123-L124
252+#
253+# On macOS Bazel will use the system installed Xcode or CLT toolchain instead of the one in the PATH unless we pass BAZEL_USE_CPP_ONLY_TOOLCHAIN.
···52 # https://github.com/rust-lang/rust/issues/34722#issuecomment-232164943
53 '';
5455+ # The strip tool in cctools 973.0.1 and up appears to break rlibs in the
56+ # binaries. The lib.rmeta object inside the ar archive should contain an
57+ # .rmeta section, but it is removed. Luckily, this doesn't appear to be an
58+ # issue for Rust builds produced by Nix.
59+ dontStrip = stdenv.isDarwin;
60+61 setupHooks = ./setup-hook.sh;
62 };
63
···934 mpich2 = throw "'mpich2' has been renamed to/replaced by 'mpich'"; # Converted to throw 2022-02-22
935 mqtt-bench = throw "mqtt-bench has been dropped due to the lack of maintenance from upstream since 2017"; # Added 2022-06-02
936 msf = throw "'msf' has been renamed to/replaced by 'metasploit'"; # Converted to throw 2022-02-22
937- 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
938 mumble_git = pkgs.mumble; # Added 2019-08-01
939 murmur_git = pkgs.murmur; # Added 2019-08-01
940 mutt-with-sidebar = mutt; # Added 2022-09-17
···946 mesa_drivers = mesa.drivers;
947 mesa_noglu = throw "'mesa_noglu' has been renamed to/replaced by 'mesa'"; # Converted to throw 2022-02-22
948949- mpv-with-scripts = self.wrapMpv self.mpv-unwrapped { }; # Added 2020-05-22
950 mssys = throw "'mssys' has been renamed to/replaced by 'ms-sys'"; # Converted to throw 2022-02-22
951 multipath_tools = throw "'multipath_tools' has been renamed to/replaced by 'multipath-tools'"; # Converted to throw 2022-02-22
952 mumsi = throw "mumsi has been removed from nixpkgs, as it's unmaintained and does not build anymore"; # Added 2021-11-18
···1151 pmtools = throw "'pmtools' has been renamed to/replaced by 'acpica-tools'"; # Converted to throw 2022-02-22
1152 pocketsphinx = throw "pocketsphinx has been removed: unmaintained"; # Added 2022-04-24
1153 polarssl = throw "'polarssl' has been renamed to/replaced by 'mbedtls'"; # Converted to throw 2022-02-22
01154 polysh = throw "polysh has been removed from nixpkgs as the upstream has abandoned the project"; # Added 2022-01-01
1155 pond = throw "pond has been dropped due to the lack of maintanence from upstream since 2016"; # Added 2022-06-02
1156 poppler_qt5 = throw "'poppler_qt5' has been renamed to/replaced by 'libsForQt5.poppler'"; # Converted to throw 2022-02-22
···934 mpich2 = throw "'mpich2' has been renamed to/replaced by 'mpich'"; # Converted to throw 2022-02-22
935 mqtt-bench = throw "mqtt-bench has been dropped due to the lack of maintenance from upstream since 2017"; # Added 2022-06-02
936 msf = throw "'msf' has been renamed to/replaced by 'metasploit'"; # Converted to throw 2022-02-22
937+ 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
938 mumble_git = pkgs.mumble; # Added 2019-08-01
939 murmur_git = pkgs.murmur; # Added 2019-08-01
940 mutt-with-sidebar = mutt; # Added 2022-09-17
···946 mesa_drivers = mesa.drivers;
947 mesa_noglu = throw "'mesa_noglu' has been renamed to/replaced by 'mesa'"; # Converted to throw 2022-02-22
948949+ mpv-with-scripts = throw "'mpv-with-scripts' has been renamed to/replaced by 'mpv' or with 'mpv.override { scripts = [ mpvScripts.plugin-name ]; }' if you where using plugins."; # Converted to throw 2022-09-24
950 mssys = throw "'mssys' has been renamed to/replaced by 'ms-sys'"; # Converted to throw 2022-02-22
951 multipath_tools = throw "'multipath_tools' has been renamed to/replaced by 'multipath-tools'"; # Converted to throw 2022-02-22
952 mumsi = throw "mumsi has been removed from nixpkgs, as it's unmaintained and does not build anymore"; # Added 2021-11-18
···1151 pmtools = throw "'pmtools' has been renamed to/replaced by 'acpica-tools'"; # Converted to throw 2022-02-22
1152 pocketsphinx = throw "pocketsphinx has been removed: unmaintained"; # Added 2022-04-24
1153 polarssl = throw "'polarssl' has been renamed to/replaced by 'mbedtls'"; # Converted to throw 2022-02-22
1154+ 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
1155 polysh = throw "polysh has been removed from nixpkgs as the upstream has abandoned the project"; # Added 2022-01-01
1156 pond = throw "pond has been dropped due to the lack of maintanence from upstream since 2016"; # Added 2022-06-02
1157 poppler_qt5 = throw "'poppler_qt5' has been renamed to/replaced by 'libsForQt5.poppler'"; # Converted to throw 2022-02-22