Unverified Commit 587444af authored by 7c6f434c's avatar 7c6f434c Committed by GitHub
Browse files

Merge pull request #209024 from hraban/sbcl-cleanup

sbcl: cleanup old versions
parents fc861d3e a3cb302b
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -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";
+1 −0
Original line number Diff line number Diff line
@@ -431,6 +431,7 @@ with lib.maintainers; {
      lukego
      nagy
      uthar
      hraban
    ];
    githubTeams = [
      "lisp"
+3 −78
Original line number Diff line number Diff line
@@ -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

+14 −10
Original line number Diff line number Diff line
@@ -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";
+2 −2
Original line number Diff line number Diff line
{ 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 ];

Loading