sbclPackages.cffi: use newest version from quicklisp

This commit is contained in:
Kasper Gałkowski
2024-06-22 04:43:11 +02:00
parent 62a961cfcb
commit 8cd61aa964
3 changed files with 18 additions and 37 deletions
+6 -2
View File
@@ -215,18 +215,22 @@ let
# save-lisp-and-die binaries in the past
dontStrip = true;
} // (args // {
} // (args // (let
isJVM = args.pkg.pname == "abcl";
javaLibs = lib.optionals isJVM args.javaLibs or [];
in {
pname = "${args.pkg.pname}-${args.pname}";
src = if builtins.length (args.patches or []) > 0
then pkgs.applyPatches { inherit (args) src patches; }
else args.src;
patches = [];
inherit javaLibs;
propagatedBuildInputs = args.propagatedBuildInputs or []
++ lispLibs ++ javaLibs ++ nativeLibs;
meta = (args.meta or {}) // {
maintainers = args.meta.maintainers or lib.teams.lisp.members;
};
})) // {
}))) // {
# Useful for overriding
# Overriding code would prefer to use pname from the attribute set
# However, pname is extended with the implementation name
@@ -43,46 +43,12 @@ let
src = build;
});
# A little hacky
isJVM = spec.pkg.pname == "abcl";
# Makes it so packages imported from Quicklisp can be re-used as
# lispLibs ofpackages in this file.
ql = quicklispPackagesFor spec;
packages = ql.overrideScope (self: super: {
cffi = let
jna = pkgs.fetchMavenArtifact {
groupId = "net.java.dev.jna";
artifactId = "jna";
version = "5.9.0";
sha256 = "0qbis8acv04fi902qzak1mbagqaxcsv2zyp7b8y4shs5nj0cgz7a";
};
in build-asdf-system {
src = pkgs.fetchzip {
url = "http://beta.quicklisp.org/archive/cffi/2021-04-11/cffi_0.24.1.tgz";
sha256 = "17ryim4xilb1rzxydfr7595dnhqkk02lmrbkqrkvi9091shi4cj3";
};
version = "0.24.1";
pname = "cffi";
lispLibs = with super; [
alexandria
babel
trivial-features
];
javaLibs = optionals isJVM [ jna ];
};
cffi-libffi = build-asdf-system {
inherit (super.cffi-libffi) pname version asds lispLibs nativeLibs nativeBuildInputs;
src = pkgs.fetchzip {
url = "https://github.com/cffi/cffi/archive/3f842b92ef808900bf20dae92c2d74232c2f6d3a.tar.gz";
sha256 = "1jilvmbbfrmb23j07lwmkbffc6r35wnvas5s4zjc84i856ccclm2";
};
patches = optionals stdenv.isDarwin [ ./patches/cffi-libffi-darwin-ffi-h.patch ];
};
cl-environments = super.cl-environments.overrideLispAttrs (old: {
patches = old.patches or [] ++ [
# Needed because SB-INT:TRULY-DYNAMIC-EXTENT has been removed since sbcl 2.3.10.
+12 -1
View File
@@ -1,4 +1,4 @@
{ pkgs, lib, build-asdf-system, ... }:
{ pkgs, lib, stdenv, build-asdf-system, ... }:
let
@@ -73,9 +73,20 @@ let
lla = super.lla.overrideLispAttrs (o: {
nativeLibs = [ pkgs.openblas ];
});
cffi = super.cffi.overrideLispAttrs (o: {
javaLibs = [
(pkgs.fetchMavenArtifact {
groupId = "net.java.dev.jna";
artifactId = "jna";
version = "5.9.0";
sha256 = "0qbis8acv04fi902qzak1mbagqaxcsv2zyp7b8y4shs5nj0cgz7a";
})
];
});
cffi-libffi = super.cffi-libffi.overrideLispAttrs (o: {
nativeBuildInputs = [ pkgs.libffi ];
nativeLibs = [ pkgs.libffi ];
patches = lib.optionals stdenv.isDarwin [ ./patches/cffi-libffi-darwin-ffi-h.patch ];
});
cl-rabbit = super.cl-rabbit.overrideLispAttrs (o: {
nativeBuildInputs = [ pkgs.rabbitmq-c ];