diff --git a/pkgs/development/compilers/sbcl/2.2.6.nix b/pkgs/development/compilers/sbcl/2.2.6.nix new file mode 100644 index 000000000000..6fb24da6abe5 --- /dev/null +++ b/pkgs/development/compilers/sbcl/2.2.6.nix @@ -0,0 +1,4 @@ +import ./common.nix { + version = "2.2.6"; + sha256 = "sha256-PiMEjI+oJvuRMiC+sqw2l9vFwM3y6J/tjbOe0XEjBKA="; +} diff --git a/pkgs/development/compilers/sbcl/common.nix b/pkgs/development/compilers/sbcl/common.nix index 7b28425af771..3a774754a6cd 100644 --- a/pkgs/development/compilers/sbcl/common.nix +++ b/pkgs/development/compilers/sbcl/common.nix @@ -1,6 +1,6 @@ { version, sha256 }: -{ lib, stdenv, fetchurl, fetchpatch, writeText, sbclBootstrap +{ 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) , linkableRuntime ? stdenv.hostPlatform.isx86 @@ -9,6 +9,7 @@ # Note that the created binaries still need `patchelf --set-interpreter ...` # to get rid of ${glibc} dependency. , purgeNixReferences ? false +, coreCompression ? lib.versionAtLeast version "2.2.6" , texinfo }: @@ -21,7 +22,8 @@ stdenv.mkDerivation rec { inherit sha256; }; - buildInputs = [texinfo]; + nativeBuildInputs = [ texinfo ]; + buildInputs = lib.optionals coreCompression [ zstd ]; patches = lib.optional (lib.versionAtLeast version "2.1.2" && lib.versionOlder version "2.1.8") @@ -38,6 +40,14 @@ stdenv.mkDerivation rec { 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 (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="; + }) ]; postPatch = '' @@ -85,6 +95,7 @@ stdenv.mkDerivation rec { enableFeatures = with lib; optional threadSupport "sb-thread" ++ optional linkableRuntime "sb-linkable-runtime" ++ + optional coreCompression "sb-core-compression" ++ optional stdenv.isAarch32 "arm"; disableFeatures = with lib; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0c4dbe02f8ff..f25df0eea7b0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14185,7 +14185,8 @@ with pkgs; 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 = sbcl_2_2_4; + sbcl_2_2_6 = callPackage ../development/compilers/sbcl/2.2.6.nix {}; + sbcl = sbcl_2_2_6; roswell = callPackage ../development/tools/roswell { };