Merge pull request #209024 from hraban/sbcl-cleanup

sbcl: cleanup old versions
This commit is contained in:
7c6f434c 2023-04-13 08:44:57 +00:00 committed by GitHub
commit 587444af72
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 26 additions and 134 deletions

View File

@ -6270,6 +6270,12 @@
githubId = 53281855;
name = "hqurve";
};
hraban = {
email = "hraban@0brg.net";
github = "hraban";
githubId = 137852;
name = "Hraban Luyat";
};
hrdinka = {
email = "c.nix@hrdinka.at";
github = "hrdinka";

View File

@ -431,6 +431,7 @@ with lib.maintainers; {
lukego
nagy
uthar
hraban
];
githubTeams = [
"lisp"

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

@ -2,12 +2,20 @@
, stdenv
, fetchgit
, wrapLisp
# Broken on newer versions:
# https://gitlab.common-lisp.net/clpm/clpm/-/issues/51
, sbcl_2_0_8
, openssl
, sbcl
}:
# Broken on newer versions:
# "https://gitlab.common-lisp.net/clpm/clpm/-/issues/51". Once that bug is
# fixed, remove this, and all 2.1.9 references from the SBCL build file.
with rec {
sbcl_2_1_9 = sbcl.override (_: {
version = "2.1.9";
});
};
stdenv.mkDerivation rec {
pname = "clpm";
version = "0.4.1";
@ -19,10 +27,6 @@ stdenv.mkDerivation rec {
sha256 = "sha256-UhaLmbdsIPj6O+s262HUMxuz/5t43JR+TlOjq8Y2CDs=";
};
buildInputs = [
sbcl_2_0_8
];
propagatedBuildInputs = [
openssl
];
@ -42,7 +46,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
'';
@ -56,8 +60,8 @@ stdenv.mkDerivation rec {
runHook postInstall
'';
# fixupPhase results in fatal error in SBCL, `Can't find sbcl.core`
dontFixup = true;
# Stripping binaries results in fatal error in SBCL, `Can't find sbcl.core`
dontStrip = true;
meta = with lib; {
description = "Common Lisp Package Manager";

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, makeWrapper, sbcl_2_2_6, sqlite, freetds, libzip, curl, git, cacert, openssl }:
{ lib, stdenv, fetchurl, makeWrapper, sbcl, sqlite, freetds, libzip, curl, git, cacert, openssl }:
stdenv.mkDerivation rec {
pname = "pgloader";
version = "3.6.9";
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = [ git makeWrapper ];
buildInputs = [ sbcl_2_2_6 cacert sqlite freetds libzip curl openssl ];
buildInputs = [ sbcl cacert sqlite freetds libzip curl openssl ];
LD_LIBRARY_PATH = lib.makeLibraryPath [ sqlite libzip curl git openssl freetds ];

View File

@ -24607,50 +24607,6 @@ 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 {
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";