sbcl: remove old versions, leave 2.1.9 for CLPM

This commit is contained in:
Hraban Luyat 2023-04-10 15:02:31 -04:00
parent 72f7111208
commit 7493ac348a
3 changed files with 11 additions and 125 deletions

View file

@ -14,50 +14,11 @@
let
versionMap = {
"2.0.8" = {
sha256 = "1xwrwvps7drrpyw3wg5h3g2qajmkwqs9gz0fdw1ns9adp7vld390";
};
"2.0.9" = {
sha256 = "17wvrcwgp45z9b6arik31fjnz7908qhr5ackxq1y0gqi1hsh1xy4";
};
"2.1.1" = {
sha256 = "15wa66sachhzgvg5n35vihmkpasg100lh561c1d1bdrql0p8kbd9";
};
"2.1.2" = {
sha256 = "sha256:02scrqyp2izsd8xjm2k5j5lhn4pdhd202jlcb54ysmcqjd80awdp";
};
# Only kept around for BCLM. Remove once unneeded there.
"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=";
};
"2.2.10" = {
sha256 = "sha256-jMPDqHYSI63vFEqIcwsmdQg6Oyb6FV1wz5GruTXpCDM=";
};
"2.2.11" = {
sha256 = "sha256-NgfWgBZzGICEXO1dXVXGBUzEnxkSGhUCfmxWB66Elt8=";
};
@ -81,44 +42,8 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ texinfo ];
buildInputs = lib.optionals coreCompression [ zstd ];
patches = lib.optional
(lib.versionAtLeast version "2.1.2" && lib.versionOlder version "2.1.8")
(fetchpatch {
# Fix segfault on ARM when reading large core files
url = "https://github.com/sbcl/sbcl/commit/8fa3f76fba2e8572e86ac6fc5754e6b2954fc774.patch";
sha256 = "1ic531pjnws1k3xd03a5ixbq8cn10dlh2nfln59k0vbm0253g3lv";
})
++ lib.optionals (lib.versionAtLeast version "2.1.10" && lib.versionOlder version "2.2.9") [
# Fix included in SBCL trunk since 2.2.9:
# https://bugs.launchpad.net/sbcl/+bug/1980570
(fetchpatch {
name = "darwin-fno-common.patch";
url = "https://bugs.launchpad.net/sbcl/+bug/1980570/+attachment/5600916/+files/0001-src-runtime-fix-fno-common-build-on-darwin.patch";
sha256 = "0avpwgjdaxxdpq8pfvv9darfn4ql5dgqq7zaf3nmxnvhh86ngzij";
})
] ++ lib.optionals (lib.versionAtLeast version "2.1.10" && lib.versionOlder version "2.2.0") [
# Fix -fno-common on arm64
(fetchpatch {
name = "arm64-fno-common.patch";
url = "https://github.com/sbcl/sbcl/commit/ac3739eae36de92feffef5bb9b4b4bd93f6c4942.patch";
sha256 = "1kxg0ng7d465rk5v4biikrzaps41x4n1v4ygnb5qh4f5jzkbms8y";
})
] ++ lib.optionals (version == "2.2.6") [
# Take contrib blocklist into account for doc generation. This fixes sbcl
# build on aarch64, because the docs Makefile tries to require sb-simd,
# which is blocked in that platform.
(fetchpatch {
url = "https://github.com/sbcl/sbcl/commit/f88989694200a5192fb68047d43d0500b2165f7b.patch";
sha256 = "sha256-MXEsK46RARPmB2WBPcrmZk6ArliU8DgHw73x9+/QAmk=";
})
] ++ lib.optionals (version == "2.2.10") [
# hard-coded /bin/cat to just cat, trusting the PATH
(fetchpatch {
url = "https://github.com/sbcl/sbcl/commit/8ed662fbfeb5dde35eb265f390b55b01f79f70c1.patch";
sha256 = "sha256-2aqb13AFdw9KMf8KQ9yj1HVxgoFWZ9xWmnoDdbRSLy4=";
})
];
# There are no patches necessary for the currently enabled versions, but this
# code is left in place for the next potential patch.
postPatch = ''
echo '"${version}.nixos"' > version.lisp-expr

View file

@ -4,7 +4,9 @@
, wrapLisp
# Broken on newer versions:
# https://gitlab.common-lisp.net/clpm/clpm/-/issues/51
, sbcl_2_0_8
# Once that bug is fixed, replace this with regular sbcl and remove all
# references to sbcl 2.1.9 from nixpkgs, including from sbcl/2.x.nix.
, _sbcl_2_1_9
, openssl
}:
@ -19,10 +21,6 @@ stdenv.mkDerivation rec {
sha256 = "sha256-UhaLmbdsIPj6O+s262HUMxuz/5t43JR+TlOjq8Y2CDs=";
};
buildInputs = [
sbcl_2_0_8
];
propagatedBuildInputs = [
openssl
];
@ -42,7 +40,7 @@ stdenv.mkDerivation rec {
# ld to complaing about `impure path used in link`.
export HOME=$TMP
sbcl --script scripts/build-release.lisp
${_sbcl_2_1_9}/bin/sbcl --script scripts/build-release.lisp
runHook postBuild
'';

View file

@ -24570,50 +24570,13 @@ with pkgs;
pkg = callPackage ../development/compilers/sbcl/bootstrap.nix {};
faslExt = "fasl";
};
sbcl_2_0_8 = wrapLisp {
pkg = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.0.8"; };
faslExt = "fasl";
};
sbcl_2_0_9 = wrapLisp {
pkg = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.0.9"; };
faslExt = "fasl";
};
sbcl_2_1_1 = wrapLisp {
pkg = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.1.1"; };
faslExt = "fasl";
};
sbcl_2_1_2 = wrapLisp {
pkg = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.1.2"; };
faslExt = "fasl";
};
sbcl_2_1_9 = wrapLisp {
# This is a deprecated derivation, marked internal to avoid third party
# packages depending on it. It is used for CLPM only, and will be removed
# soon.
_sbcl_2_1_9 = wrapLisp {
pkg = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.1.9"; };
faslExt = "fasl";
};
sbcl_2_1_10 = wrapLisp {
pkg = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.1.10"; };
faslExt = "fasl";
};
sbcl_2_1_11 = wrapLisp {
pkg = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.1.11"; };
faslExt = "fasl";
};
sbcl_2_2_4 = wrapLisp {
pkg = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.2.4"; };
faslExt = "fasl";
};
sbcl_2_2_6 = wrapLisp {
pkg = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.2.6"; };
faslExt = "fasl";
};
sbcl_2_2_9 = wrapLisp {
pkg = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.2.9"; };
faslExt = "fasl";
};
sbcl_2_2_10 = wrapLisp {
pkg = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.2.10"; };
faslExt = "fasl";
};
sbcl_2_2_11 = wrapLisp {
pkg = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.2.11"; };
faslExt = "fasl";