···1+# CUDA {#cuda}
2+3+CUDA-only packages are stored in the `cudaPackages` packages set. This set
4+includes the `cudatoolkit`, portions of the toolkit in separate derivations,
5+`cudnn`, `cutensor` and `nccl`.
6+7+A package set is available for each CUDA version, so for example
8+`cudaPackages_11_6`. Within each set is a matching version of the above listed
9+packages. Additionally, other versions of the packages that are packaged and
10+compatible are available as well. For example, there can be a
11+`cudaPackages.cudnn_8_3_2` package.
12+13+To use one or more CUDA packages in an expression, give the expression a `cudaPackages` parameter, and in case CUDA is optional
14+```nix
15+cudaSupport ? false
16+cudaPackages ? {}
17+```
18+19+When using `callPackage`, you can choose to pass in a different variant, e.g.
20+when a different version of the toolkit suffices
21+```nix
22+mypkg = callPackage { cudaPackages = cudaPackages_11_5; }
23+```
24+25+If another version of say `cudnn` or `cutensor` is needed, you can override the
26+package set to make it the default. This guarantees you get a consistent package
27+set.
28+```nix
29+mypkg = let
30+ cudaPackages = cudaPackages_11_5.overrideScope' (final: prev {
31+ cudnn = prev.cudnn_8_3_2;
32+ }});
33+in callPackage { inherit cudaPackages; };
34+```
···1-diff --git a/retroarch.cfg b/retroarch.cfg
2-index cdcb199c9f..ab72f3920f 100644
3---- a/retroarch.cfg
4-+++ b/retroarch.cfg
5-@@ -681,7 +681,7 @@
6- # menu_show_online_updater = true
7-8- # If disabled, will hide the ability to update cores (and core info files) inside the menu.
9--# menu_show_core_updater = true
10-+menu_show_core_updater = false
11-12- # If disabled, the libretro core will keep running in the background when we
13- # are in the menu.
···89 buildCommand = ''
10 mkdir -p $out/lib
11- for coreDir in $cores
12- do
13 ln -s $coreDir/* $out/lib/.
14 done
15···2930 meta = with retroarch.meta; {
31 inherit changelog description homepage license maintainers platforms;
32- longDescription =
33- "RetroArch is the reference frontend for the libretro API. The following cores are included: "
34- + lib.concatStringsSep ", " (map (x: "${x.name}") cores)
35- + ".";
0000036 };
37}
···89 buildCommand = ''
10 mkdir -p $out/lib
11+ for coreDir in $cores; do
012 ln -s $coreDir/* $out/lib/.
13 done
14···2829 meta = with retroarch.meta; {
30 inherit changelog description homepage license maintainers platforms;
31+ longDescription = ''
32+ RetroArch is the reference frontend for the libretro API.
33+34+ The following cores are included:
35+ ${lib.concatStringsSep "\n" (map (x: " - ${x.name}") cores)}
36+ '';
37+ # FIXME: exits with error on macOS:
38+ # No Info.plist file in application bundle or no NSPrincipalClass in the Info.plist file, exiting
39+ broken = stdenv.isDarwin;
40 };
41}
···1+final: prev: let
2+ ### Cuda Toolkit
3+4+ # Function to build the class cudatoolkit package
5+ buildCudaToolkitPackage = final.callPackage ./common.nix;
6+7+ # Version info for the classic cudatoolkit packages that contain everything that is in redist.
8+ cudatoolkitVersions = final.lib.importTOML ./versions.toml;
9+10+ ### Add classic cudatoolkit package
11+ cudatoolkit = buildCudaToolkitPackage ((attrs: attrs // { gcc = prev.pkgs.${attrs.gcc}; }) cudatoolkitVersions.${final.cudaVersion});
12+13+in {
14+ inherit cudatoolkit;
15+}
···1+final: prev: let
2+3+ inherit (final) callPackage;
4+ inherit (prev) cudaVersion lib pkgs;
5+6+ ### Cuda Toolkit Redist
7+8+ # Manifest files for redist cudatoolkit. These can be found at
9+ # https://developer.download.nvidia.com/compute/cuda/redist/
10+ cudaToolkitRedistManifests = {
11+ "11.4" = ./manifests/redistrib_11.4.4.json;
12+ "11.5" = ./manifests/redistrib_11.5.2.json;
13+ "11.6" = ./manifests/redistrib_11.6.2.json;
14+ };
15+16+ # Function to build a single cudatoolkit redist package
17+ buildCudaToolkitRedistPackage = callPackage ./build-cuda-redist-package.nix { };
18+19+ # Function that builds all cudatoolkit redist packages given a cuda version and manifest file
20+ buildCudaToolkitRedistPackages = { version, manifest }: let
21+ attrs = lib.filterAttrs (key: value: key != "release_date") (lib.importJSON manifest);
22+ in lib.mapAttrs buildCudaToolkitRedistPackage attrs;
23+24+ redistExists = cudaToolkitRedistManifests ? "${cudaVersion}";
25+26+ # All cudatoolkit redist packages for the current cuda version
27+ cudaToolkitRedistPackages = if
28+ lib.hasAttr cudaVersion cudaToolkitRedistManifests
29+ then buildCudaToolkitRedistPackages { version = cudaVersion; manifest = cudaToolkitRedistManifests.${cudaVersion}; }
30+ else {};
31+32+in cudaToolkitRedistPackages
···1+--- a/src/tools/rustfmt/src/ignore_path.rs
2++++ b/src/tools/rustfmt/src/ignore_path.rs
3+@@ -37,9 +37,9 @@
4+ #[nightly_only_test]
5+ #[test]
6+ fn test_ignore_path_set() {
7+- use std::path::{Path, PathBuf};
8+ use crate::config::{Config, FileName};
9+ use crate::ignore_path::IgnorePathSet;
10++ use std::path::{Path, PathBuf};
11+12+ let config =
13+ Config::from_toml(r#"ignore = ["foo.rs", "bar_dir/*"]"#, Path::new("")).unwrap();
+6-3
pkgs/development/compilers/rust/rustfmt.nix
···1-{ lib, stdenv, rustPlatform, Security }:
23rustPlatform.buildRustPackage rec {
4- pname = "rustfmt";
5 inherit (rustPlatform.rust.rustc) version src;
67 # the rust source tarball already has all the dependencies vendored, no need to fetch them again
···19 # As of rustc 1.45.0, these env vars are required to build rustfmt (due to
20 # https://github.com/rust-lang/rust/pull/72001)
21 CFG_RELEASE = rustPlatform.rust.rustc.version;
22- CFG_RELEASE_CHANNEL = "stable";
0002324 meta = with lib; {
25 description = "A tool for formatting Rust code according to style guidelines";
···1+{ lib, stdenv, rustPlatform, Security, asNightly ? false }:
23rustPlatform.buildRustPackage rec {
4+ pname = "rustfmt" + lib.optionalString asNightly "-nightly";
5 inherit (rustPlatform.rust.rustc) version src;
67 # the rust source tarball already has all the dependencies vendored, no need to fetch them again
···19 # As of rustc 1.45.0, these env vars are required to build rustfmt (due to
20 # https://github.com/rust-lang/rust/pull/72001)
21 CFG_RELEASE = rustPlatform.rust.rustc.version;
22+ CFG_RELEASE_CHANNEL = if asNightly then "nightly" else "stable";
23+24+ # FIXME: seems fixed upstream, remove after the next update
25+ patches = [ ./rustfmt-fix-self-tests.patch ];
2627 meta = with lib; {
28 description = "A tool for formatting Rust code according to style guidelines";
···1-{ minCudaVersion
2-, maxCudaVersion
3-, mkSrc
4-, version
5-}:
6-7{ stdenv
8, lib
9, cudatoolkit
···19 removeStatic ? false
20}:
2122-stdenv.mkDerivation {
00000000000023 name = "cudatoolkit-${cudatoolkit.majorVersion}-cudnn-${version}";
2425 inherit version;
26 # It's often the case that the src depends on the version of cudatoolkit it's
27 # being linked against, so we pass in `cudatoolkit` as an argument to `mkSrc`.
28- src = mkSrc cudatoolkit;
002930 nativeBuildInputs = [ addOpenGLRunpath ];
31···81 # official version constraints (as recorded in default.nix). In some cases
82 # you _may_ be able to smudge version constraints, just know that you're
83 # embarking into unknown and unsupported territory when doing so.
84- broken = let cudaVer = lib.getVersion cudatoolkit; in
85- !(
86- lib.versionAtLeast cudaVer minCudaVersion
87- && lib.versionAtLeast maxCudaVersion cudaVer
88- );
89-90 description = "NVIDIA CUDA Deep Neural Network library (cuDNN)";
91 homepage = "https://developer.nvidia.com/cudnn";
92 license = licenses.unfree;
···0000001{ stdenv
2, lib
3, cudatoolkit
···13 removeStatic ? false
14}:
1516+{ fullVersion
17+, url
18+, hash ? null
19+, sha256 ? null
20+, supportedCudaVersions ? []
21+}:
22+23+assert (hash != null) || (sha256 != null);
24+25+let
26+ majorMinorPatch = version: lib.concatStringsSep "." (lib.take 3 (lib.splitVersion version));
27+ version = majorMinorPatch fullVersion;
28+in stdenv.mkDerivation {
29 name = "cudatoolkit-${cudatoolkit.majorVersion}-cudnn-${version}";
3031 inherit version;
32 # It's often the case that the src depends on the version of cudatoolkit it's
33 # being linked against, so we pass in `cudatoolkit` as an argument to `mkSrc`.
34+ src = fetchurl {
35+ inherit url hash sha256;
36+ };
3738 nativeBuildInputs = [ addOpenGLRunpath ];
39···89 # official version constraints (as recorded in default.nix). In some cases
90 # you _may_ be able to smudge version constraints, just know that you're
91 # embarking into unknown and unsupported territory when doing so.
92+ broken = !(elem cudatoolkit.majorMinorVersion supportedCudaVersions);
0000093 description = "NVIDIA CUDA Deep Neural Network library (cuDNN)";
94 homepage = "https://developer.nvidia.com/cudnn";
95 license = licenses.unfree;
···1+diff --git a/fipy/meshes/gmshMesh.py b/fipy/meshes/gmshMesh.py
2+index fc3ff6c8..d529d532 100755
3+--- a/fipy/meshes/gmshMesh.py
4++++ b/fipy/meshes/gmshMesh.py
5+@@ -13,11 +13,11 @@ import sys
6+ import tempfile
7+ from textwrap import dedent
8+ import warnings
9+-from distutils.version import StrictVersion
10+11+ from fipy.tools import numerix as nx
12+ from fipy.tools import parallelComm
13+ from fipy.tools import serialComm
14++from fipy.tools.version import Version, parse_version
15+ from fipy.tests.doctestPlus import register_skipper
16+17+ from fipy.meshes.mesh import Mesh
18+@@ -38,7 +38,7 @@ def _checkForGmsh():
19+ hasGmsh = True
20+ try:
21+ version = _gmshVersion(communicator=parallelComm)
22+- hasGmsh = version >= StrictVersion("2.0")
23++ hasGmsh = version >= Version("2.0")
24+ except Exception:
25+ hasGmsh = False
26+ return hasGmsh
27+@@ -68,6 +68,7 @@ def gmshVersion(communicator=parallelComm):
28+ while True:
29+ try:
30+ # gmsh returns version in stderr (Why?!?)
31++ # (newer versions of gmsh return the version in stdout)
32+ # spyder on Windows throws
33+ # OSError: [WinError 6] The handle is invalid
34+ # if we don't PIPE stdout, too
35+@@ -77,8 +78,11 @@ def gmshVersion(communicator=parallelComm):
36+ break
37+38+ try:
39+- out, verStr = p.communicate()
40+- verStr = verStr.decode('ascii').strip()
41++ out, err = p.communicate()
42++ verStr = err.decode('ascii').strip()
43++ if not verStr:
44++ # newer versions of gmsh return the version in stdout
45++ verStr = out.decode('ascii').strip()
46+ break
47+ except IOError:
48+ # some weird conflict with things like PyQT can cause
49+@@ -93,12 +97,12 @@ def gmshVersion(communicator=parallelComm):
50+ def _gmshVersion(communicator=parallelComm):
51+ version = gmshVersion(communicator) or "0.0"
52+ try:
53+- version = StrictVersion(version)
54++ version = parse_version(version)
55+ except ValueError:
56+ # gmsh returns the version string in stderr,
57+ # which means it's often unparsable due to irrelevant warnings
58+ # assume it's OK and move on
59+- version = StrictVersion("3.0")
60++ version = Version("3.0")
61+62+ return version
63+64+@@ -133,7 +137,7 @@ def openMSHFile(name, dimensions=None, coordDimensions=None, communicator=parall
65+66+ # Enforce gmsh version to be either >= 2 or 2.5, based on Nproc.
67+ version = _gmshVersion(communicator=communicator)
68+- if version < StrictVersion("2.0"):
69++ if version < Version("2.0"):
70+ raise EnvironmentError("Gmsh version must be >= 2.0.")
71+72+ # If we're being passed a .msh file, leave it be. Otherwise,
73+@@ -176,9 +180,11 @@ def openMSHFile(name, dimensions=None, coordDimensions=None, communicator=parall
74+ gmshFlags = ["-%d" % dimensions, "-nopopup"]
75+76+ if communicator.Nproc > 1:
77+- if not (StrictVersion("2.5") < version <= StrictVersion("4.0")):
78+- warnstr = "Cannot partition with Gmsh version < 2.5 or >= 4.0. " \
79+- + "Reverting to serial."
80++ if ((version < Version("2.5"))
81++ or (Version("4.0") <= version < Version("4.5.2"))):
82++ warnstr = ("Cannot partition with Gmsh version < 2.5 "
83++ "or 4.0 <= version < 4.5.2. "
84++ "Reverting to serial.")
85+ warnings.warn(warnstr, RuntimeWarning, stacklevel=2)
86+ communicator = serialComm
87+88+@@ -188,13 +194,13 @@ def openMSHFile(name, dimensions=None, coordDimensions=None, communicator=parall
89+ raise ValueError("'dimensions' must be specified to generate a mesh from a geometry script")
90+ else: # gmsh version is adequate for partitioning
91+ gmshFlags += ["-part", "%d" % communicator.Nproc]
92+- if version >= StrictVersion("4.0"):
93++ if version >= Version("4.0"):
94+ # Gmsh 4.x needs to be told to generate ghost cells
95+- # Unfortunately, the ghosts are broken
96++ # Unfortunately, the ghosts are broken in Gmsh 4.0--4.5.1
97+ # https://gitlab.onelab.info/gmsh/gmsh/issues/733
98+ gmshFlags += ["-part_ghosts"]
99+100+- gmshFlags += ["-format", "msh2"]
101++ gmshFlags += ["-format", "msh2", "-smooth", "8"]
102+103+ if background is not None:
104+ if communicator.procID == 0:
105+@@ -1387,6 +1393,11 @@ class _GmshTopology(_MeshTopology):
106+ class Gmsh2D(Mesh2D):
107+ """Construct a 2D Mesh using Gmsh
108+109++ If called in parallel, the mesh will be partitioned based on the value
110++ of `parallelComm.Nproc`. If an `MSH` file is supplied, it must have
111++ been previously partitioned with the number of partitions matching
112++ `parallelComm.Nproc`.
113++
114+ >>> radius = 5.
115+ >>> side = 4.
116+ >>> squaredCircle = Gmsh2D('''
117+@@ -1875,6 +1886,11 @@ class Gmsh2D(Mesh2D):
118+ class Gmsh2DIn3DSpace(Gmsh2D):
119+ """Create a topologically 2D Mesh in 3D coordinates using Gmsh
120+121++ If called in parallel, the mesh will be partitioned based on the value
122++ of `parallelComm.Nproc`. If an `MSH` file is supplied, it must have
123++ been previously partitioned with the number of partitions matching
124++ `parallelComm.Nproc`.
125++
126+ Parameters
127+ ----------
128+ arg : str
129+@@ -1959,6 +1975,11 @@ class Gmsh2DIn3DSpace(Gmsh2D):
130+ class Gmsh3D(Mesh):
131+ """Create a 3D Mesh using Gmsh
132+133++ If called in parallel, the mesh will be partitioned based on the value
134++ of `parallelComm.Nproc`. If an `MSH` file is supplied, it must have
135++ been previously partitioned with the number of partitions matching
136++ `parallelComm.Nproc`.
137++
138+ Parameters
139+ ----------
140+ arg : str
141+@@ -2225,7 +2246,7 @@ class GmshGrid2D(Gmsh2D):
142+ width = nx * dx
143+ numLayers = int(ny / float(dy))
144+145+- if _gmshVersion() < StrictVersion("2.7"):
146++ if _gmshVersion() < Version("2.7"):
147+ # kludge: must offset cellSize by `eps` to work properly
148+ eps = float(dx)/(nx * 10)
149+ else:
150+@@ -2299,7 +2320,7 @@ class GmshGrid3D(Gmsh3D):
151+ width = nx * dx
152+ depth = nz * dz
153+154+- if _gmshVersion() < StrictVersion("2.7"):
155++ if _gmshVersion() < Version("2.7"):
156+ # kludge: must offset cellSize by `eps` to work properly
157+ eps = float(dx)/(nx * 10)
158+ else:
159+diff --git a/fipy/tools/version.py b/fipy/tools/version.py
160+new file mode 100644
161+index 00000000..93d89c18
162+--- /dev/null
163++++ b/fipy/tools/version.py
164+@@ -0,0 +1,18 @@
165++"""Shim for version checking
166++
167++`distutils.version` is deprecated, but `packaging.version` is unavailable
168++in Python 2.7
169++"""
170++from __future__ import unicode_literals
171++
172++__docformat__ = 'restructuredtext'
173++
174++
175++__all__ = ["Version", "parse_version"]
176++from future.utils import text_to_native_str
177++__all__ = [text_to_native_str(n) for n in __all__]
178++
179++try:
180++ from packaging.version import Version, parse as parse_version
181++except ImportError:
182++ from distutils.version import StrictVersion as Version, StrictVersion as parse_version
···17# that in nix as well. It would make some things easier and less confusing, but
18# it would also make the default tensorflow package unfree. See
19# https://groups.google.com/a/tensorflow.org/forum/#!topic/developers/iRCt5m4qUz0
20-, cudaSupport ? false, cudatoolkit ? null, cudnn ? null, nccl ? null
21, mklSupport ? false, mkl ? null
22, tensorboardSupport ? true
23# XLA without CUDA is broken
···30# Darwin deps
31, Foundation, Security, cctools, llvmPackages_11
32}:
00003334assert cudaSupport -> cudatoolkit != null
35 && cudnn != null;
···514 # Regression test for #77626 removed because not more `tensorflow.contrib`.
515516 passthru = {
0517 deps = bazel-build.deps;
518 libtensorflow = bazel-build.out;
519 };
···17# that in nix as well. It would make some things easier and less confusing, but
18# it would also make the default tensorflow package unfree. See
19# https://groups.google.com/a/tensorflow.org/forum/#!topic/developers/iRCt5m4qUz0
20+, cudaSupport ? false, cudaPackages ? {}
21, mklSupport ? false, mkl ? null
22, tensorboardSupport ? true
23# XLA without CUDA is broken
···30# Darwin deps
31, Foundation, Security, cctools, llvmPackages_11
32}:
33+34+let
35+ inherit (cudaPackages) cudatoolkit cudnn nccl;
36+in
3738assert cudaSupport -> cudatoolkit != null
39 && cudnn != null;
···518 # Regression test for #77626 removed because not more `tensorflow.contrib`.
519520 passthru = {
521+ inherit cudaPackages;
522 deps = bazel-build.deps;
523 libtensorflow = bazel-build.out;
524 };
···195 cryptol = throw "cryptol was removed due to prolonged broken build"; # Added 2020-08-21
196197 # CUDA Toolkit
198-199 cudatoolkit_6 = throw "cudatoolkit_6 has been removed in favor of newer versions"; # Added 2021-02-14
200 cudatoolkit_65 = throw "cudatoolkit_65 has been removed in favor of newer versions"; # Added 2021-02-14
201 cudatoolkit_7 = throw "cudatoolkit_7 has been removed in favor of newer versions"; # Added 2021-02-14
···205 cudatoolkit_9_0 = throw "cudatoolkit_9_0 has been removed in favor of newer versions"; # Added 2021-04-18
206 cudatoolkit_9_1 = throw "cudatoolkit_9_1 has been removed in favor of newer versions"; # Added 2021-04-18
207 cudatoolkit_9_2 = throw "cudatoolkit_9_2 has been removed in favor of newer versions"; # Added 2021-04-18
0000000000000208 cudnn6_cudatoolkit_8 = throw "cudnn6_cudatoolkit_8 has been removed in favor of newer versions"; # Added 2021-02-14
209 cudnn_cudatoolkit_7 = throw "cudnn_cudatoolkit_7 has been removed in favor of newer versions"; # Added 2021-02-14
0210 cudnn_cudatoolkit_7_5 = throw "cudnn_cudatoolkit_7_5 has been removed in favor of newer versions"; # Added 2021-02-14
00211 cudnn_cudatoolkit_8 = throw "cudnn_cudatoolkit_8 has been removed in favor of newer versions"; # Added 2021-02-14
00000000000000212 cudnn_cudatoolkit_9 = throw "cudnn_cudatoolkit_9 has been removed in favor of newer versions"; # Added 2021-04-18
213 cudnn_cudatoolkit_9_0 = throw "cudnn_cudatoolkit_9_0 has been removed in favor of newer versions"; # Added 2021-04-18
214 cudnn_cudatoolkit_9_1 = throw "cudnn_cudatoolkit_9_1 has been removed in favor of newer versions"; # Added 2021-04-18
215 cudnn_cudatoolkit_9_2 = throw "cudnn_cudatoolkit_9_2 has been removed in favor of newer versions"; # Added 2021-04-18
00000000000216217 cloud-print-connector = throw "Google Cloudprint is officially discontinued since Jan 2021, more info https://support.google.com/chrome/a/answer/9633006";
218 cquery = throw "cquery has been removed because it is abandoned by upstream. Consider switching to clangd or ccls instead"; # Added 2020-06-15
···782 mysqlWorkbench = throw "'mysqlWorkbench' has been renamed to/replaced by 'mysql-workbench'"; # Converted to throw 2022-02-22
783784 ### N ###
0000785786 net_snmp = net-snmp; # Added 2019-12-21
787 nagiosPluginsOfficial = monitoring-plugins;
···195 cryptol = throw "cryptol was removed due to prolonged broken build"; # Added 2020-08-21
196197 # CUDA Toolkit
0198 cudatoolkit_6 = throw "cudatoolkit_6 has been removed in favor of newer versions"; # Added 2021-02-14
199 cudatoolkit_65 = throw "cudatoolkit_65 has been removed in favor of newer versions"; # Added 2021-02-14
200 cudatoolkit_7 = throw "cudatoolkit_7 has been removed in favor of newer versions"; # Added 2021-02-14
···204 cudatoolkit_9_0 = throw "cudatoolkit_9_0 has been removed in favor of newer versions"; # Added 2021-04-18
205 cudatoolkit_9_1 = throw "cudatoolkit_9_1 has been removed in favor of newer versions"; # Added 2021-04-18
206 cudatoolkit_9_2 = throw "cudatoolkit_9_2 has been removed in favor of newer versions"; # Added 2021-04-18
207+ cudatoolkit_10 = throw "cudatoolkit_10 has been renamed to cudaPackages_10.cudatoolkit"; # Added 2022-04-04
208+ cudatoolkit_10_0 = throw "cudatoolkit_10_0 has been renamed to cudaPackages_10_0.cudatoolkit"; # Added 2022-04-04
209+ cudatoolkit_10_1 = throw "cudatoolkit_10_1 has been renamed to cudaPackages_10_1.cudatoolkit"; # Added 2022-04-04
210+ cudatoolkit_10_2 = throw "cudatoolkit_10_2 has been renamed to cudaPackages_10_2.cudatoolkit"; # Added 2022-04-04
211+ cudatoolkit_11_0 = throw "cudatoolkit_11_0 has been renamed to cudaPackages_11_0.cudatoolkit"; # Added 2022-04-04
212+ cudatoolkit_11_1 = throw "cudatoolkit_11_1 has been renamed to cudaPackages_11_1.cudatoolkit"; # Added 2022-04-04
213+ cudatoolkit_11_2 = throw "cudatoolkit_11_2 has been renamed to cudaPackages_11_2.cudatoolkit"; # Added 2022-04-04
214+ cudatoolkit_11_3 = throw "cudatoolkit_11_3 has been renamed to cudaPackages_11_3.cudatoolkit"; # Added 2022-04-04
215+ cudatoolkit_11_4 = throw "cudatoolkit_11_4 has been renamed to cudaPackages_11_4.cudatoolkit"; # Added 2022-04-04
216+ cudatoolkit_11_5 = throw "cudatoolkit_11_5 has been renamed to cudaPackages_11_5.cudatoolkit"; # Added 2022-04-04
217+ cudatoolkit_11_6 = throw "cudatoolkit_11_6 has been renamed to cudaPackages_11_6.cudatoolkit"; # Added 2022-04-04
218+219+ cudnn = throw "cudnn is now part of cudaPackages*"; # Added 2022-04-04
220 cudnn6_cudatoolkit_8 = throw "cudnn6_cudatoolkit_8 has been removed in favor of newer versions"; # Added 2021-02-14
221 cudnn_cudatoolkit_7 = throw "cudnn_cudatoolkit_7 has been removed in favor of newer versions"; # Added 2021-02-14
222+ cudnn_7_4_cudatoolkit_10_0 = throw "cudnn* is now part of cudaPackages*"; # Added 2022-04-04
223 cudnn_cudatoolkit_7_5 = throw "cudnn_cudatoolkit_7_5 has been removed in favor of newer versions"; # Added 2021-02-14
224+ cudnn_7_6_cudatoolkit_10_0 = throw "cudnn* is now part of cudaPackages*"; # Added 2022-04-04
225+ cudnn_7_6_cudatoolkit_10_1 = throw "cudnn* is now part of cudaPackages*"; # Added 2022-04-04
226 cudnn_cudatoolkit_8 = throw "cudnn_cudatoolkit_8 has been removed in favor of newer versions"; # Added 2021-02-14
227+ cudnn_8_1_cudatoolkit_10_2 = throw "cudnn* is now part of cudaPackages*"; # Added 2022-04-04
228+ cudnn_8_1_cudatoolkit_11_0 = throw "cudnn* is now part of cudaPackages*"; # Added 2022-04-04
229+ cudnn_8_1_cudatoolkit_11_1 = throw "cudnn* is now part of cudaPackages*"; # Added 2022-04-04
230+ cudnn_8_1_cudatoolkit_11_2 = throw "cudnn* is now part of cudaPackages*"; # Added 2022-04-04
231+ cudnn_8_1_cudatoolkit_10 = throw "cudnn* is now part of cudaPackages*"; # Added 2022-04-04
232+ cudnn_8_3_cudatoolkit_10_2 = throw "cudnn* is now part of cudaPackages*"; # Added 2022-04-04
233+ cudnn_8_3_cudatoolkit_11_0 = throw "cudnn* is now part of cudaPackages*"; # Added 2022-04-04
234+ cudnn_8_3_cudatoolkit_11_1 = throw "cudnn* is now part of cudaPackages*"; # Added 2022-04-04
235+ cudnn_8_3_cudatoolkit_11_2 = throw "cudnn* is now part of cudaPackages*"; # Added 2022-04-04
236+ cudnn_8_3_cudatoolkit_11_3 = throw "cudnn* is now part of cudaPackages*"; # Added 2022-04-04
237+ cudnn_8_3_cudatoolkit_11_4 = throw "cudnn* is now part of cudaPackages*"; # Added 2022-04-04
238+ cudnn_8_3_cudatoolkit_11_5 = throw "cudnn* is now part of cudaPackages*"; # Added 2022-04-04
239+ cudnn_8_3_cudatoolkit_10 = throw "cudnn* is now part of cudaPackages*"; # Added 2022-04-04
240+ cudnn_8_3_cudatoolkit_11 = throw "cudnn* is now part of cudaPackages*"; # Added 2022-04-04
241 cudnn_cudatoolkit_9 = throw "cudnn_cudatoolkit_9 has been removed in favor of newer versions"; # Added 2021-04-18
242 cudnn_cudatoolkit_9_0 = throw "cudnn_cudatoolkit_9_0 has been removed in favor of newer versions"; # Added 2021-04-18
243 cudnn_cudatoolkit_9_1 = throw "cudnn_cudatoolkit_9_1 has been removed in favor of newer versions"; # Added 2021-04-18
244 cudnn_cudatoolkit_9_2 = throw "cudnn_cudatoolkit_9_2 has been removed in favor of newer versions"; # Added 2021-04-18
245+246+ cutensor = throw "cutensor is now part of cudaPackages*"; # Added 2022-04-04
247+ cutensor_cudatoolkit_10 = throw "cutensor* is now part of cudaPackages*"; # Added 2022-04-04
248+ cutensor_cudatoolkit_10_1 = throw "cutensor* is now part of cudaPackages*"; # Added 2022-04-04
249+ cutensor_cudatoolkit_10_2 = throw "cutensor* is now part of cudaPackages*"; # Added 2022-04-04
250+ cutensor_cudatoolkit_11 = throw "cutensor* is now part of cudaPackages*"; # Added 2022-04-04
251+ cutensor_cudatoolkit_11_0 = throw "cutensor* is now part of cudaPackages*"; # Added 2022-04-04
252+ cutensor_cudatoolkit_11_1 = throw "cutensor* is now part of cudaPackages*"; # Added 2022-04-04
253+ cutensor_cudatoolkit_11_2 = throw "cutensor* is now part of cudaPackages*"; # Added 2022-04-04
254+ cutensor_cudatoolkit_11_3 = throw "cutensor* is now part of cudaPackages*"; # Added 2022-04-04
255+ cutensor_cudatoolkit_11_4 = throw "cutensor* is now part of cudaPackages*"; # Added 2022-04-04
256257 cloud-print-connector = throw "Google Cloudprint is officially discontinued since Jan 2021, more info https://support.google.com/chrome/a/answer/9633006";
258 cquery = throw "cquery has been removed because it is abandoned by upstream. Consider switching to clangd or ccls instead"; # Added 2020-06-15
···822 mysqlWorkbench = throw "'mysqlWorkbench' has been renamed to/replaced by 'mysql-workbench'"; # Converted to throw 2022-02-22
823824 ### N ###
825+826+ nccl = throw "nccl has been renamed to cudaPackages.nccl"; # Added 2022-04-04
827+ nccl_cudatoolkit_10 = throw "nccl_cudatoolkit_10 has been renamed to cudaPackages_10.nccl"; # Added 2022-04-04
828+ nccl_cudatoolkit_11 = throw "nccl_cudatoolkit_11 has been renamed to cudaPackages_11.nccl"; # Added 2022-04-04
829830 net_snmp = net-snmp; # Added 2019-12-21
831 nagiosPluginsOfficial = monitoring-plugins;