From 7479aacffc8835ac8f754befc682c1c712e714dd Mon Sep 17 00:00:00 2001 From: Hraban Luyat Date: Sun, 2 Oct 2022 14:50:52 -0400 Subject: [PATCH] sbcl: refactor separate 2.*.nix into single file MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- pkgs/development/compilers/sbcl/2.0.8.nix | 4 -- pkgs/development/compilers/sbcl/2.0.9.nix | 4 -- pkgs/development/compilers/sbcl/2.1.1.nix | 4 -- pkgs/development/compilers/sbcl/2.1.10.nix | 4 -- pkgs/development/compilers/sbcl/2.1.11.nix | 4 -- pkgs/development/compilers/sbcl/2.1.2.nix | 4 -- pkgs/development/compilers/sbcl/2.1.9.nix | 4 -- pkgs/development/compilers/sbcl/2.2.4.nix | 4 -- pkgs/development/compilers/sbcl/2.2.6.nix | 4 -- pkgs/development/compilers/sbcl/2.2.9.nix | 4 -- .../compilers/sbcl/{common.nix => 2.x.nix} | 48 ++++++++++++++++++- pkgs/top-level/all-packages.nix | 20 ++++---- 12 files changed, 56 insertions(+), 52 deletions(-) delete mode 100644 pkgs/development/compilers/sbcl/2.0.8.nix delete mode 100644 pkgs/development/compilers/sbcl/2.0.9.nix delete mode 100644 pkgs/development/compilers/sbcl/2.1.1.nix delete mode 100644 pkgs/development/compilers/sbcl/2.1.10.nix delete mode 100644 pkgs/development/compilers/sbcl/2.1.11.nix delete mode 100644 pkgs/development/compilers/sbcl/2.1.2.nix delete mode 100644 pkgs/development/compilers/sbcl/2.1.9.nix delete mode 100644 pkgs/development/compilers/sbcl/2.2.4.nix delete mode 100644 pkgs/development/compilers/sbcl/2.2.6.nix delete mode 100644 pkgs/development/compilers/sbcl/2.2.9.nix rename pkgs/development/compilers/sbcl/{common.nix => 2.x.nix} (85%) diff --git a/pkgs/development/compilers/sbcl/2.0.8.nix b/pkgs/development/compilers/sbcl/2.0.8.nix deleted file mode 100644 index bbc171a8d986..000000000000 --- a/pkgs/development/compilers/sbcl/2.0.8.nix +++ /dev/null @@ -1,4 +0,0 @@ -import ./common.nix { - version = "2.0.8"; - sha256 = "1xwrwvps7drrpyw3wg5h3g2qajmkwqs9gz0fdw1ns9adp7vld390"; -} diff --git a/pkgs/development/compilers/sbcl/2.0.9.nix b/pkgs/development/compilers/sbcl/2.0.9.nix deleted file mode 100644 index 80b30ec87f48..000000000000 --- a/pkgs/development/compilers/sbcl/2.0.9.nix +++ /dev/null @@ -1,4 +0,0 @@ -import ./common.nix { - version = "2.0.9"; - sha256 = "17wvrcwgp45z9b6arik31fjnz7908qhr5ackxq1y0gqi1hsh1xy4"; -} diff --git a/pkgs/development/compilers/sbcl/2.1.1.nix b/pkgs/development/compilers/sbcl/2.1.1.nix deleted file mode 100644 index a32f8a4a28b3..000000000000 --- a/pkgs/development/compilers/sbcl/2.1.1.nix +++ /dev/null @@ -1,4 +0,0 @@ -import ./common.nix { - version = "2.1.1"; - sha256 = "15wa66sachhzgvg5n35vihmkpasg100lh561c1d1bdrql0p8kbd9"; -} diff --git a/pkgs/development/compilers/sbcl/2.1.10.nix b/pkgs/development/compilers/sbcl/2.1.10.nix deleted file mode 100644 index 8cf6f50b5869..000000000000 --- a/pkgs/development/compilers/sbcl/2.1.10.nix +++ /dev/null @@ -1,4 +0,0 @@ -import ./common.nix { - version = "2.1.10"; - sha256 = "0f5ihj486m7ghh3nc0jlnqa656sbqcmhdv32syz2rjx5b47ky67b"; -} diff --git a/pkgs/development/compilers/sbcl/2.1.11.nix b/pkgs/development/compilers/sbcl/2.1.11.nix deleted file mode 100644 index abe48953a573..000000000000 --- a/pkgs/development/compilers/sbcl/2.1.11.nix +++ /dev/null @@ -1,4 +0,0 @@ -import ./common.nix { - version = "2.1.11"; - sha256 = "1zgypmn19c58pv7j33ga7m1l7lzghj70w3xbybpgmggxwwflihdz"; -} diff --git a/pkgs/development/compilers/sbcl/2.1.2.nix b/pkgs/development/compilers/sbcl/2.1.2.nix deleted file mode 100644 index 4f4c85b286c7..000000000000 --- a/pkgs/development/compilers/sbcl/2.1.2.nix +++ /dev/null @@ -1,4 +0,0 @@ -import ./common.nix { - version = "2.1.2"; - sha256 = "sha256:02scrqyp2izsd8xjm2k5j5lhn4pdhd202jlcb54ysmcqjd80awdp"; -} diff --git a/pkgs/development/compilers/sbcl/2.1.9.nix b/pkgs/development/compilers/sbcl/2.1.9.nix deleted file mode 100644 index da26a9aeffb7..000000000000 --- a/pkgs/development/compilers/sbcl/2.1.9.nix +++ /dev/null @@ -1,4 +0,0 @@ -import ./common.nix { - version = "2.1.9"; - sha256 = "189gjqzdz10xh3ybiy4ch1r98bsmkcb4hpnrmggd4y2g5kqnyx4y"; -} diff --git a/pkgs/development/compilers/sbcl/2.2.4.nix b/pkgs/development/compilers/sbcl/2.2.4.nix deleted file mode 100644 index 1be043f112ee..000000000000 --- a/pkgs/development/compilers/sbcl/2.2.4.nix +++ /dev/null @@ -1,4 +0,0 @@ -import ./common.nix { - version = "2.2.4"; - sha256 = "sha256-/N0lHLxl9/gI7QrXckaEjRvhZqppoX90mWABhLelcgI="; -} diff --git a/pkgs/development/compilers/sbcl/2.2.6.nix b/pkgs/development/compilers/sbcl/2.2.6.nix deleted file mode 100644 index 6fb24da6abe5..000000000000 --- a/pkgs/development/compilers/sbcl/2.2.6.nix +++ /dev/null @@ -1,4 +0,0 @@ -import ./common.nix { - version = "2.2.6"; - sha256 = "sha256-PiMEjI+oJvuRMiC+sqw2l9vFwM3y6J/tjbOe0XEjBKA="; -} diff --git a/pkgs/development/compilers/sbcl/2.2.9.nix b/pkgs/development/compilers/sbcl/2.2.9.nix deleted file mode 100644 index 22e0e30f392b..000000000000 --- a/pkgs/development/compilers/sbcl/2.2.9.nix +++ /dev/null @@ -1,4 +0,0 @@ -import ./common.nix { - version = "2.2.9"; - sha256 = "sha256-fr69bSAj//cHewNy+hFx+IBSm97GEE8gmDKXwv63wXI="; -} diff --git a/pkgs/development/compilers/sbcl/common.nix b/pkgs/development/compilers/sbcl/2.x.nix similarity index 85% rename from pkgs/development/compilers/sbcl/common.nix rename to pkgs/development/compilers/sbcl/2.x.nix index 261c14106a68..cfc9d34a4da8 100644 --- a/pkgs/development/compilers/sbcl/common.nix +++ b/pkgs/development/compilers/sbcl/2.x.nix @@ -1,5 +1,3 @@ -{ version, sha256 }: - { lib, stdenv, fetchurl, fetchpatch, writeText, sbclBootstrap, zstd , sbclBootstrapHost ? "${sbclBootstrap}/bin/sbcl --disable-debugger --no-userinit --no-sysinit" , threadSupport ? (stdenv.hostPlatform.isx86 || "aarch64-linux" == stdenv.hostPlatform.system || "aarch64-darwin" == stdenv.hostPlatform.system) @@ -11,8 +9,54 @@ , purgeNixReferences ? false , coreCompression ? lib.versionAtLeast version "2.2.6" , 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 { pname = "sbcl"; inherit version; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index aa5209fa1daa..557e6ffd4af0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14874,16 +14874,16 @@ with pkgs; sagittarius-scheme = callPackage ../development/compilers/sagittarius-scheme {}; sbclBootstrap = callPackage ../development/compilers/sbcl/bootstrap.nix {}; - sbcl_2_0_8 = callPackage ../development/compilers/sbcl/2.0.8.nix {}; - sbcl_2_0_9 = callPackage ../development/compilers/sbcl/2.0.9.nix {}; - sbcl_2_1_1 = callPackage ../development/compilers/sbcl/2.1.1.nix {}; - sbcl_2_1_2 = callPackage ../development/compilers/sbcl/2.1.2.nix {}; - sbcl_2_1_9 = callPackage ../development/compilers/sbcl/2.1.9.nix {}; - sbcl_2_1_10 = callPackage ../development/compilers/sbcl/2.1.10.nix {}; - sbcl_2_1_11 = callPackage ../development/compilers/sbcl/2.1.11.nix {}; - sbcl_2_2_4 = callPackage ../development/compilers/sbcl/2.2.4.nix {}; - sbcl_2_2_6 = callPackage ../development/compilers/sbcl/2.2.6.nix {}; - sbcl_2_2_9 = callPackage ../development/compilers/sbcl/2.2.9.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.x.nix { version = "2.0.9"; }; + sbcl_2_1_1 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.1.1"; }; + sbcl_2_1_2 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.1.2"; }; + sbcl_2_1_9 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.1.9"; }; + sbcl_2_1_10 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.1.10"; }; + sbcl_2_1_11 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.1.11"; }; + sbcl_2_2_4 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.2.4"; }; + sbcl_2_2_6 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.2.6"; }; + sbcl_2_2_9 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.2.9"; }; sbcl = sbcl_2_2_9; roswell = callPackage ../development/tools/roswell { };