various: move throws to aliases (#426639)

This commit is contained in:
Wolfgang Walther
2025-07-21 06:09:44 +00:00
committed by GitHub
9 changed files with 47 additions and 111 deletions

View File

@@ -1,4 +1,5 @@
{
config,
lib,
callPackage,
pkg-config,
@@ -28,12 +29,12 @@ let
{ hypr-dynamic-cursors = import ./hypr-dynamic-cursors.nix; }
{ hyprfocus = import ./hyprfocus.nix; }
{ hyprgrass = import ./hyprgrass.nix; }
{
hyprscroller = throw "hyprlandPlugins.hyprscroller has been removed as the upstream project is deprecated. Consider using `hyprlandPlugins.hyprscrolling`.";
} # Added 2025-05-09
{ hyprspace = import ./hyprspace.nix; }
{ hyprsplit = import ./hyprsplit.nix; }
(import ./hyprland-plugins.nix)
(lib.optionalAttrs config.allowAliases {
hyprscroller = throw "hyprlandPlugins.hyprscroller has been removed as the upstream project is deprecated. Consider using `hyprlandPlugins.hyprscrolling`."; # Added 2025-05-09
})
];
in
(lib.mapAttrs (name: plugin: callPackage plugin { inherit mkHyprlandPlugin; }) plugins)

View File

@@ -1,4 +1,8 @@
{ pkgs, haskellLib }:
{
config,
pkgs,
haskellLib,
}:
with haskellLib;
@@ -108,7 +112,10 @@ self: super: {
doctest = dontCheck super.doctest;
haskell-language-server = throw "haskell-language-server has dropped support for ghc 9.0 in version 2.4.0.0, please use a newer ghc version or an older nixpkgs version";
haskell-language-server =
lib.throwIf config.allowAliases
"haskell-language-server has dropped support for ghc 9.0 in version 2.4.0.0, please use a newer ghc version or an older nixpkgs version"
(markBroken super.haskell-language-server);
# Needs to use ghc-lib due to incompatible GHC
ghc-tags = doDistribute self.ghc-tags_1_5;

View File

@@ -1,4 +1,8 @@
{ pkgs, haskellLib }:
{
config,
pkgs,
haskellLib,
}:
with haskellLib;
@@ -74,7 +78,10 @@ self: super: {
}
);
haskell-language-server = throw "haskell-language-server has dropped support for ghc 9.2 in version 2.10.0.0, please use a newer ghc version or an older nixpkgs version";
haskell-language-server =
lib.throwIf config.allowAliases
"haskell-language-server has dropped support for ghc 9.2 in version 2.10.0.0, please use a newer ghc version or an older nixpkgs version"
(markBroken super.haskell-language-server);
# For GHC < 9.4, some packages need data-array-byte as an extra dependency
hashable = addBuildDepends [ self.data-array-byte ] super.hashable;

View File

@@ -422,8 +422,6 @@ in
} ./setuptools-build-hook.sh
) { };
setuptoolsCheckHook = throw "The setuptoolsCheckHook has been removed, since the test command has been removed in setuptools 72.0";
setuptoolsRustBuildHook = callPackage (
{ makePythonHook, setuptools-rust }:
makePythonHook {

View File

@@ -42,20 +42,7 @@ let
;
inherit (magmaRelease) version hash supportedGpuTargets;
# Per https://icl.utk.edu/magma/downloads, support for CUDA 12 wasn't added until 2.7.1.
# If we're building a version prior to that, use the latest release of the 11.x series.
effectiveCudaPackages =
if strings.versionOlder version "2.7.1" then cudaPackages_11 else cudaPackages;
inherit (effectiveCudaPackages) cudaAtLeast flags cudaOlder;
effectiveRocmPackages =
if strings.versionOlder version "2.8.0" then
throw ''
the required ROCm 5.7 version for magma ${version} has been removed
''
else
rocmPackages;
inherit (cudaPackages) cudaAtLeast flags cudaOlder;
# NOTE: The lists.subtractLists function is perhaps a bit unintuitive. It subtracts the elements
# of the first list *from* the second list. That means:
@@ -65,7 +52,7 @@ let
# NOTE: The hip.gpuTargets are prefixed with "gfx" instead of "sm" like flags.realArches.
# For some reason, Magma's CMakeLists.txt file does not handle the "gfx" prefix, so we must
# remove it.
rocmArches = lists.map (x: strings.removePrefix "gfx" x) effectiveRocmPackages.clr.gpuTargets;
rocmArches = lists.map (x: strings.removePrefix "gfx" x) rocmPackages.clr.gpuTargets;
supportedRocmArches = lists.intersectLists rocmArches supportedGpuTargets;
unsupportedRocmArches = lists.subtractLists supportedRocmArches rocmArches;
@@ -123,19 +110,12 @@ stdenv.mkDerivation (finalAttrs: {
"test"
];
postPatch =
''
# For rocm version script invoked by cmake
patchShebangs tools/
# Fixup for the python test runners
patchShebangs ./testing/run_{tests,summarize}.py
''
+ lib.optionalString (strings.versionOlder version "2.9.0") ''
substituteInPlace ./testing/run_tests.py \
--replace-fail \
"print >>sys.stderr, cmdp, \"doesn't exist (original name: \" + cmd + \", precision: \" + precision + \")\"" \
"print(f\"{cmdp} doesn't exist (original name: {cmd}, precision: {precision})\", file=sys.stderr)"
'';
postPatch = ''
# For rocm version script invoked by cmake
patchShebangs tools/
# Fixup for the python test runners
patchShebangs ./testing/run_{tests,summarize}.py
'';
nativeBuildInputs =
[
@@ -145,7 +125,7 @@ stdenv.mkDerivation (finalAttrs: {
gfortran
]
++ lists.optionals cudaSupport [
effectiveCudaPackages.cuda_nvcc
cudaPackages.cuda_nvcc
];
buildInputs =
@@ -157,7 +137,7 @@ stdenv.mkDerivation (finalAttrs: {
(getLib gfortran.cc) # libgfortran.so
]
++ lists.optionals cudaSupport (
with effectiveCudaPackages;
with cudaPackages;
[
cuda_cccl # <nv/target> and <cuda/std/type_traits>
cuda_cudart # cuda_runtime.h
@@ -172,7 +152,7 @@ stdenv.mkDerivation (finalAttrs: {
]
)
++ lists.optionals rocmSupport (
with effectiveRocmPackages;
with rocmPackages;
[
clr
hipblas
@@ -203,9 +183,9 @@ stdenv.mkDerivation (finalAttrs: {
# Can be removed once https://github.com/icl-utk-edu/magma/pull/27 is merged
# Can't easily apply the PR as a patch because we rely on the tarball with pregenerated
# hipified files ∴ fetchpatch of the PR will apply cleanly but fail to build
(strings.cmakeFeature "ROCM_CORE" "${effectiveRocmPackages.clr}")
(strings.cmakeFeature "CMAKE_C_COMPILER" "${effectiveRocmPackages.clr}/bin/hipcc")
(strings.cmakeFeature "CMAKE_CXX_COMPILER" "${effectiveRocmPackages.clr}/bin/hipcc")
(strings.cmakeFeature "ROCM_CORE" "${rocmPackages.clr}")
(strings.cmakeFeature "CMAKE_C_COMPILER" "${rocmPackages.clr}/bin/hipcc")
(strings.cmakeFeature "CMAKE_CXX_COMPILER" "${rocmPackages.clr}/bin/hipcc")
];
# Magma doesn't have a test suite we can easily run, just loose executables, all of which require a GPU.
@@ -241,8 +221,12 @@ stdenv.mkDerivation (finalAttrs: {
'';
passthru = {
inherit cudaSupport rocmSupport gpuTargets;
cudaPackages = effectiveCudaPackages;
inherit
cudaPackages
cudaSupport
rocmSupport
gpuTargets
;
testers = {
all =
let
@@ -395,8 +379,6 @@ stdenv.mkDerivation (finalAttrs: {
# dynamic CUDA support is broken https://github.com/NixOS/nixpkgs/issues/239237
(cudaSupport && !static)
|| !(cudaSupport || rocmSupport) # At least one back-end enabled
|| (cudaSupport && rocmSupport) # Mutually exclusive
|| (cudaSupport && strings.versionOlder version "2.7.1" && cudaPackages_11 == null)
|| (rocmSupport && strings.versionOlder version "2.8.0");
|| (cudaSupport && rocmSupport); # Mutually exclusive
};
})

View File

@@ -4,68 +4,6 @@
# HIP is here: https://github.com/icl-utk-edu/magma/blob/v2.9.0/CMakeLists.txt#L290
# CUDA works around magma's wrappers and uses FindCUDAToolkit directly
[
{
version = "2.6.2";
hash = "sha256-dbVU2rAJA+LRC5cskT5Q5/iMvGLzrkMrWghsfk7aCnE=";
supportedGpuTargets = [
"700"
"701"
"702"
"703"
"704"
"705"
"801"
"802"
"803"
"805"
"810"
"900"
"902"
"904"
"906"
"908"
"909"
"90c"
"1010"
"1011"
"1012"
"1030"
"1031"
"1032"
"1033"
];
}
{
version = "2.7.2";
hash = "sha256-cpvBpw5RinQi/no6VFN6R0EDWne+M0n2bqxcNiV21WA=";
supportedGpuTargets = [
"700"
"701"
"702"
"703"
"704"
"705"
"801"
"802"
"803"
"805"
"810"
"900"
"902"
"904"
"906"
"908"
"909"
"90c"
"1010"
"1011"
"1012"
"1030"
"1031"
"1032"
"1033"
];
}
{
version = "2.9.0";
hash = "sha256-/3f9Nyaz3+w7+1V5CwZICqXMOEOWwts1xW/a5KgsZBw=";

View File

@@ -1215,6 +1215,8 @@ mapAliases {
ma1sd = throw "ma1sd was dropped as it is unmaintained"; # Added 2024-07-10
mac = monkeysAudio; # Added 2024-11-30
MACS2 = macs2; # Added 2023-06-12
magma_2_6_2 = throw "'magma_2_6_2' has been removed, use the latest 'magma' package instead."; # Added 2025-07-20
magma_2_7_2 = throw "'magma_2_7_2' has been removed, use the latest 'magma' package instead."; # Added 2025-07-20
mailcore2 = throw "'mailcore2' has been removed due to lack of upstream maintenance."; # Added 2025-06-09
mailctl = throw "mailctl has been renamed to oama"; # Added 2024-08-19
mailman-rss = throw "The mailman-rss package was dropped since it was unmaintained."; # Added 2024-06-21

View File

@@ -15317,7 +15317,7 @@ with pkgs;
# standard BLAS and LAPACK.
openblasCompat = openblas.override { blas64 = false; };
inherit (callPackage ../development/libraries/science/math/magma { }) magma magma_2_7_2 magma_2_6_2;
inherit (callPackage ../development/libraries/science/math/magma { }) magma;
magma-cuda = magma.override {
cudaSupport = true;

View File

@@ -727,6 +727,7 @@ mapAliases ({
sequoia = throw "python3Packages.sequoia was replaced by pysequoia - built from a dedicated repository, with a new API."; # added 2023-06-24
setuptools_dso = setuptools-dso; # added 2024-03-03
setuptools_scm = setuptools-scm; # added 2021-06-03
setuptoolsCheckHook = throw "The setuptoolsCheckHook has been removed, since the test command has been removed in setuptools 72.0."; # added 2024-08-06
setuptoolsTrial = setuptools-trial; # added 2023-11-11
sharkiqpy = sharkiq; # added 2022-05-21
shouldbe = throw "shouldbe was removed, because it was disabled on all python version since 3.8 and last updated in 2019."; # added 2024-05-12