sbcl: refactor separate 2.*.nix into single file

Inspired by scala’s 2.x.nix, a bit lower in the same all-packages.nix file, I
have combined all the separate SBCL build declarations into a single 2.x.nix
file which you can call with the version as an argument.

Benefits:

- Less clutter in the filesystem
- Less indirection
- Cleaner overview of available versions

This yields no rebuilds on my machine.
This commit is contained in:
Hraban Luyat 2022-10-02 14:50:52 -04:00
parent 4aa1bf6d1e
commit 7479aacffc
12 changed files with 56 additions and 52 deletions

View file

@ -1,4 +0,0 @@
import ./common.nix {
version = "2.0.8";
sha256 = "1xwrwvps7drrpyw3wg5h3g2qajmkwqs9gz0fdw1ns9adp7vld390";
}

View file

@ -1,4 +0,0 @@
import ./common.nix {
version = "2.0.9";
sha256 = "17wvrcwgp45z9b6arik31fjnz7908qhr5ackxq1y0gqi1hsh1xy4";
}

View file

@ -1,4 +0,0 @@
import ./common.nix {
version = "2.1.1";
sha256 = "15wa66sachhzgvg5n35vihmkpasg100lh561c1d1bdrql0p8kbd9";
}

View file

@ -1,4 +0,0 @@
import ./common.nix {
version = "2.1.10";
sha256 = "0f5ihj486m7ghh3nc0jlnqa656sbqcmhdv32syz2rjx5b47ky67b";
}

View file

@ -1,4 +0,0 @@
import ./common.nix {
version = "2.1.11";
sha256 = "1zgypmn19c58pv7j33ga7m1l7lzghj70w3xbybpgmggxwwflihdz";
}

View file

@ -1,4 +0,0 @@
import ./common.nix {
version = "2.1.2";
sha256 = "sha256:02scrqyp2izsd8xjm2k5j5lhn4pdhd202jlcb54ysmcqjd80awdp";
}

View file

@ -1,4 +0,0 @@
import ./common.nix {
version = "2.1.9";
sha256 = "189gjqzdz10xh3ybiy4ch1r98bsmkcb4hpnrmggd4y2g5kqnyx4y";
}

View file

@ -1,4 +0,0 @@
import ./common.nix {
version = "2.2.4";
sha256 = "sha256-/N0lHLxl9/gI7QrXckaEjRvhZqppoX90mWABhLelcgI=";
}

View file

@ -1,4 +0,0 @@
import ./common.nix {
version = "2.2.6";
sha256 = "sha256-PiMEjI+oJvuRMiC+sqw2l9vFwM3y6J/tjbOe0XEjBKA=";
}

View file

@ -1,4 +0,0 @@
import ./common.nix {
version = "2.2.9";
sha256 = "sha256-fr69bSAj//cHewNy+hFx+IBSm97GEE8gmDKXwv63wXI=";
}

View file

@ -1,5 +1,3 @@
{ version, sha256 }:
{ lib, stdenv, fetchurl, fetchpatch, writeText, sbclBootstrap, zstd { lib, stdenv, fetchurl, fetchpatch, writeText, sbclBootstrap, zstd
, sbclBootstrapHost ? "${sbclBootstrap}/bin/sbcl --disable-debugger --no-userinit --no-sysinit" , sbclBootstrapHost ? "${sbclBootstrap}/bin/sbcl --disable-debugger --no-userinit --no-sysinit"
, threadSupport ? (stdenv.hostPlatform.isx86 || "aarch64-linux" == stdenv.hostPlatform.system || "aarch64-darwin" == stdenv.hostPlatform.system) , threadSupport ? (stdenv.hostPlatform.isx86 || "aarch64-linux" == stdenv.hostPlatform.system || "aarch64-darwin" == stdenv.hostPlatform.system)
@ -11,8 +9,54 @@
, purgeNixReferences ? false , purgeNixReferences ? false
, coreCompression ? lib.versionAtLeast version "2.2.6" , coreCompression ? lib.versionAtLeast version "2.2.6"
, texinfo , texinfo
, version
}: }:
let
versionMap = {
"2.0.8" = {
sha256 = "1xwrwvps7drrpyw3wg5h3g2qajmkwqs9gz0fdw1ns9adp7vld390";
};
"2.0.9" = {
sha256 = "17wvrcwgp45z9b6arik31fjnz7908qhr5ackxq1y0gqi1hsh1xy4";
};
"2.1.1" = {
sha256 = "15wa66sachhzgvg5n35vihmkpasg100lh561c1d1bdrql0p8kbd9";
};
"2.1.2" = {
sha256 = "sha256:02scrqyp2izsd8xjm2k5j5lhn4pdhd202jlcb54ysmcqjd80awdp";
};
"2.1.9" = {
sha256 = "189gjqzdz10xh3ybiy4ch1r98bsmkcb4hpnrmggd4y2g5kqnyx4y";
};
"2.1.10" = {
sha256 = "0f5ihj486m7ghh3nc0jlnqa656sbqcmhdv32syz2rjx5b47ky67b";
};
"2.1.11" = {
sha256 = "1zgypmn19c58pv7j33ga7m1l7lzghj70w3xbybpgmggxwwflihdz";
};
"2.2.4" = {
sha256 = "sha256-/N0lHLxl9/gI7QrXckaEjRvhZqppoX90mWABhLelcgI=";
};
"2.2.6" = {
sha256 = "sha256-PiMEjI+oJvuRMiC+sqw2l9vFwM3y6J/tjbOe0XEjBKA=";
};
"2.2.9" = {
sha256 = "sha256-fr69bSAj//cHewNy+hFx+IBSm97GEE8gmDKXwv63wXI=";
};
};
in with versionMap.${version};
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "sbcl"; pname = "sbcl";
inherit version; inherit version;

View file

@ -14874,16 +14874,16 @@ with pkgs;
sagittarius-scheme = callPackage ../development/compilers/sagittarius-scheme {}; sagittarius-scheme = callPackage ../development/compilers/sagittarius-scheme {};
sbclBootstrap = callPackage ../development/compilers/sbcl/bootstrap.nix {}; sbclBootstrap = callPackage ../development/compilers/sbcl/bootstrap.nix {};
sbcl_2_0_8 = callPackage ../development/compilers/sbcl/2.0.8.nix {}; sbcl_2_0_8 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.0.8"; };
sbcl_2_0_9 = callPackage ../development/compilers/sbcl/2.0.9.nix {}; sbcl_2_0_9 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.0.9"; };
sbcl_2_1_1 = callPackage ../development/compilers/sbcl/2.1.1.nix {}; sbcl_2_1_1 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.1.1"; };
sbcl_2_1_2 = callPackage ../development/compilers/sbcl/2.1.2.nix {}; sbcl_2_1_2 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.1.2"; };
sbcl_2_1_9 = callPackage ../development/compilers/sbcl/2.1.9.nix {}; sbcl_2_1_9 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.1.9"; };
sbcl_2_1_10 = callPackage ../development/compilers/sbcl/2.1.10.nix {}; sbcl_2_1_10 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.1.10"; };
sbcl_2_1_11 = callPackage ../development/compilers/sbcl/2.1.11.nix {}; sbcl_2_1_11 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.1.11"; };
sbcl_2_2_4 = callPackage ../development/compilers/sbcl/2.2.4.nix {}; sbcl_2_2_4 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.2.4"; };
sbcl_2_2_6 = callPackage ../development/compilers/sbcl/2.2.6.nix {}; sbcl_2_2_6 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.2.6"; };
sbcl_2_2_9 = callPackage ../development/compilers/sbcl/2.2.9.nix {}; sbcl_2_2_9 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.2.9"; };
sbcl = sbcl_2_2_9; sbcl = sbcl_2_2_9;
roswell = callPackage ../development/tools/roswell { }; roswell = callPackage ../development/tools/roswell { };