lisp-modules: mass updates - including new quicklisp dist (#349892)

This commit is contained in:
7c6f434c
2024-10-20 20:27:28 +00:00
committed by GitHub
7 changed files with 5321 additions and 4269 deletions
File diff suppressed because it is too large Load Diff
+13 -1
View File
@@ -177,15 +177,23 @@ let
asdf = "${asdfFasl}/asdf.${faslExt}";
};
preConfigure = ''
configurePhase = ''
runHook preConfigure
source ${./setup-hook.sh}
buildAsdfPath
runHook postConfigure
'';
buildPhase = optionalString (src != null) ''
runHook preBuild
export CL_SOURCE_REGISTRY=$CL_SOURCE_REGISTRY:$src//
export ASDF_OUTPUT_TRANSLATIONS="$src:$(pwd):${storeDir}:${storeDir}"
${pkg}/bin/${program} ${toString flags} < $buildScript
runHook postBuild
'';
# Copy compiled files to store
@@ -200,6 +208,8 @@ let
concatMapStringsSep "\\|" (replaceStrings ["." "+"] ["[.]" "[+]"]) systems;
in
''
runHook preInstall
mkdir -pv $out
cp -r * $out
@@ -207,6 +217,8 @@ let
find $out -name "*.asd" \
| grep -v "/\(${mkSystemsRegex systems}\)\.asd$" \
| xargs rm -fv || true
runHook postInstall
'';
dontPatchShebangs = true;
+73 -220
View File
@@ -9,6 +9,7 @@ let
setAttr
hasAttr
optionals
isDerivation
hasSuffix
splitString
remove
@@ -23,23 +24,33 @@ let
# E.g. cl-unicode creating .txt files during compilation
build-with-compile-into-pwd = args:
let
build = (build-asdf-system (args // { version = args.version + "-build"; }))
args' = if isDerivation args then args.drvAttrs else args;
build = (build-asdf-system (args' // { version = args'.version + "-build"; }))
.overrideAttrs(o: {
buildPhase = with builtins; ''
runHook preBuild
mkdir __fasls
export ASDF_OUTPUT_TRANSLATIONS="$(pwd):$(pwd)/__fasls:${storeDir}:${storeDir}"
export CL_SOURCE_REGISTRY=$CL_SOURCE_REGISTRY:$(pwd)//
${o.pkg}/bin/${o.program} ${toString (o.flags or [])} < ${o.buildScript}
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -pv $out
rm -rf __fasls
cp -r * $out
runHook postInstall
'';
});
in build-asdf-system (args // {
in build-asdf-system (args' // {
# Patches are already applied in `build`
patches = [];
postPatch = "";
src = build;
});
@@ -49,39 +60,11 @@ let
packages = ql.overrideScope (self: super: {
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.
# The update isn't available on quicklisp yet, but we can fetch from upstream directly
(pkgs.fetchpatch {
url = "https://github.com/alex-gutev/cl-environments/commit/1bd7ecf68adeaf654616c6fb763c1239e0f2e221.patch";
sha256 = "sha256-i6KdthYqPlJPvxM2c2kossHYvXNhpZHl/7NzELNrOHU=";
})
];
});
cl-unicode = build-with-compile-into-pwd {
inherit (super.cl-unicode) pname version src systems;
lispLibs = super.cl-unicode.lispLibs ++ [ self.flexi-streams ];
};
dissect = super.dissect.overrideAttrs {
version = "1.0.0-trunk";
src = pkgs.fetchFromGitHub {
owner = "Shinmera";
repo = "dissect";
rev = "a70cabcd748cf7c041196efd711e2dcca2bbbb2c";
hash = "sha256-WXv/jbokgKJTc47rBjvOF5npnqDlsyr8oSXIzN/7ofo=";
};
};
cl-gobject-introspection = super.cl-gobject-introspection.overrideLispAttrs (o: {
postPatch = ''
substituteInPlace src/init.lisp \
--replace sb-ext::set-floating-point-modes sb-int:set-floating-point-modes
'';
});
jzon = super.com_dot_inuoe_dot_jzon;
cl-notify = build-asdf-system {
@@ -99,12 +82,7 @@ let
];
};
cl-liballegro-nuklear = build-with-compile-into-pwd {
inherit (super.cl-liballegro-nuklear) pname version src;
nativeBuildInputs = [ pkgs.allegro5 ];
nativeLibs = [ pkgs.allegro5 ];
lispLibs = super.cl-liballegro-nuklear.lispLibs ++ [ self.cl-liballegro ];
};
cl-liballegro-nuklear = build-with-compile-into-pwd super.cl-liballegro-nuklear;
lessp = build-asdf-system {
pname = "lessp";
@@ -182,9 +160,15 @@ let
cephes = build-with-compile-into-pwd {
inherit (super.cephes) pname version src lispLibs;
patches = [ ./patches/cephes-make.patch ];
postPatch = ''
find \( -name '*.dll' -o -name '*.dylib' -o -name '*.so' \) -delete
'';
postConfigure = ''
substituteAllInPlace cephes.asd
'';
postInstall = ''
find $out -name '*.o' -delete
'';
};
clx-truetype = build-asdf-system {
@@ -266,37 +250,9 @@ let
inherit (super.magicl) pname version src lispLibs;
nativeBuildInputs = [ pkgs.gfortran ];
nativeLibs = [ pkgs.openblas ];
patches = [ ./patches/magicl-dont-build-fortran-twice.patch ];
};
cl-glib = build-asdf-system {
pname = "cl-glib";
version = "1.0.0";
src = pkgs.fetchFromGitHub {
owner = "bohonghuang";
repo = "cl-glib";
rev = "84b128192d6b11cf03f1150e474a23368f07edff";
hash = "sha256-A56Yz+W4n1rAxxZg15zfkrLMbKMEG/zsWqaX7+kx4Qg=";
};
lispLibs = with self; [
cl-gobject-introspection-wrapper
bordeaux-threads
];
};
cl-glib_dot_gio = build-asdf-system {
pname = "cl-glib.gio";
version = "1.0.0";
src = pkgs.fetchFromGitHub {
owner = "bohonghuang";
repo = "cl-glib";
rev = "84b128192d6b11cf03f1150e474a23368f07edff";
hash = "sha256-A56Yz+W4n1rAxxZg15zfkrLMbKMEG/zsWqaX7+kx4Qg=";
};
lispLibs = with self; [
cl-gobject-introspection-wrapper
];
};
cl-glib_dot_gio = throw "cl-glib_dot_gio was replaced by cl-gio";
cl-gtk4 = build-asdf-system {
pname = "cl-gtk4";
@@ -304,13 +260,14 @@ let
src = pkgs.fetchFromGitHub {
owner = "bohonghuang";
repo = "cl-gtk4";
rev = "e18f621b996fd986d9829d590203c690440dee64";
hash = "sha256-++qydw6db4O3m+DAjutVPN8IuePOxseo9vhWEvwiR6E=";
rev = "ff60e3495cdbba5c09d0bb8aa49f3184cc060c8e";
hash = "sha256-06cyPf+5z+GE3YvZEJ67kC281nkwRz/hoaykTISsni0=";
};
lispLibs = with self; [
cl-gobject-introspection-wrapper
cl-glib
cl-glib_dot_gio
cl-gio
cl-gobject
];
nativeBuildInputs = [
pkgs.gobject-introspection
@@ -323,13 +280,8 @@ let
cl-gtk4_dot_adw = build-asdf-system {
pname = "cl-gtk4.adw";
version = "1.0.0";
src = pkgs.fetchFromGitHub {
owner = "bohonghuang";
repo = "cl-gtk4";
rev = "e18f621b996fd986d9829d590203c690440dee64";
hash = "sha256-++qydw6db4O3m+DAjutVPN8IuePOxseo9vhWEvwiR6E=";
};
version = self.cl-gtk4.version;
src = self.cl-gtk4.src;
lispLibs = with self; [
cl-gobject-introspection-wrapper
cl-gtk4
@@ -342,15 +294,12 @@ let
];
};
cl-gtk4_dot_webkit2 = build-asdf-system {
pname = "cl-gtk4.webkit2";
version = "1.0.0";
src = pkgs.fetchFromGitHub {
owner = "bohonghuang";
repo = "cl-gtk4";
rev = "e18f621b996fd986d9829d590203c690440dee64";
hash = "sha256-++qydw6db4O3m+DAjutVPN8IuePOxseo9vhWEvwiR6E=";
};
cl-gtk4_dot_webkit2 = throw "cl-gtk4_dot_webkit2 was replaced by cl-gtk4_dot_webkit";
cl-gtk4_dot_webkit = build-asdf-system {
pname = "cl-gtk4.webkit";
version = self.cl-gtk4.version;
src = self.cl-gtk4.src;
lispLibs = with self; [
cl-gobject-introspection-wrapper
cl-gtk4
@@ -361,8 +310,6 @@ let
nativeLibs = [
pkgs.webkitgtk_6_0
];
# Requires old webkitgtk_5_0 which was replaced by webkitgtk_6_0
meta.broken = true;
};
cl-avro = build-asdf-system {
@@ -371,97 +318,43 @@ let
src = pkgs.fetchFromGitHub {
owner = "SahilKang";
repo = "cl-avro";
rev = "7d624253e98afb987a01729bd72c99bae02f0d7d";
hash = "sha256-AlTn+Q1gKnAFEfcnz9+VeHz681pPIirg2za3VXYiNWk=";
rev = "b8fa26320fa0ae88390215140d57f9cca937f691";
hash = "sha256-acXsotvKWuffrLbrG9YJ8yZc5E6WC8N0qCFCAiX6N0Q=";
};
lispLibs = with self; [
alexandria
babel
chipz
closer-mop
ieee-floats
flexi-streams
local-time
local-time-duration
md5
salza2
st-json
time-interval
alexandria babel chipz closer-mop ieee-floats flexi-streams local-time
local-time-duration md5 salza2 st-json time-interval
trivial-extensible-sequences
];
};
trivial-clock = build-asdf-system {
pname = "trivial-clock";
version = "trunk";
src = pkgs.fetchFromGitHub {
owner = "ak-coram";
repo = "cl-trivial-clock";
rev = "641e12ab1763914996beb1ceee67aabc9f1a3b1e";
hash = "sha256-mltQEJ2asxyQ/aS/9BuWmN3XZ9bGmmkopcF5YJU1cPk=";
};
systems = [ "trivial-clock" "trivial-clock/test" ];
lispLibs = [ self.cffi self.fiveam ];
};
frugal-uuid = build-asdf-system {
pname = "frugal-uuid";
version = "trunk";
src = pkgs.fetchFromGitHub {
owner = "ak-coram";
repo = "cl-frugal-uuid";
rev = "be27972333a16fc3f16bc7fbf9e3013b2123d75c";
hash = "sha256-rWO43vWMibF8/OxL70jle5nhd9oRWC7+MI44KWrQD48=";
};
systems = [ "frugal-uuid"
"frugal-uuid/non-frugal"
"frugal-uuid/benchmark"
"frugal-uuid/test" ];
lispLibs = with self; [
babel
bordeaux-threads
fiveam
frugal-uuid = super.frugal-uuid.overrideLispAttrs (o: {
systems = [
"frugal-uuid"
"frugal-uuid/non-frugal"
"frugal-uuid/benchmark"
"frugal-uuid/test"
];
lispLibs = o.lispLibs ++ (with self; [
ironclad
trivial-benchmark
babel
trivial-clock
];
};
trivial-benchmark
fiveam
]);
});
duckdb = build-asdf-system {
pname = "duckdb";
version = "trunk";
src = pkgs.fetchFromGitHub {
owner = "ak-coram";
repo = "cl-duckdb";
rev = "3ed1df5ba5c738a0b7fed7aa73632ec86f558d09";
hash = "sha256-AJMxhtDACe6WTwEOxLsC8y6uBaPqjt8HLRw/eIZI02E=";
};
duckdb = super.duckdb.overrideLispAttrs (o: {
systems = [ "duckdb" "duckdb/test" "duckdb/benchmark" ];
lispLibs = with self; [
bordeaux-threads
cffi-libffi
cl-ascii-table
cl-spark
cl-ppcre
frugal-uuid
let-plus
local-time
local-time-duration
periods
float-features
];
nativeLibs = with pkgs; [
duckdb libffi
];
};
});
polyclot = build-asdf-system {
pname = "polyclot";
version = "trunk";
src = pkgs.fetchfossil {
url = "https://fossil.turtleware.eu/polyclot";
rev = "e678b3c3e002f53b446780406c9ed13f8451309d22a1dc50ced4dbeedf08a1ec";
sha256 = "sha256-J08bU9HSVbzEivYtQsyIYPZJTrugj+jJSa4LglS0Olg=";
url = "https://fossil.turtleware.eu/fossil.turtleware.eu/polyclot";
rev = "18500c968b1fc1e2a915b5c70b8cddc4a2b54de51da4eedc5454e42bfea3b479";
sha256 = "sha256-KgBL1QQN4iG6d8E9GlKAuxSwkrY6Zy7e1ZzEDGKad+A=";
};
systems = [ "eu.turtleware.polyclot" "eu.turtleware.polyclot/demo" ];
lispLibs = with self; [ clim mcclim mcclim-layouts ];
@@ -473,29 +366,18 @@ let
src = pkgs.fetchFromGitHub {
owner = "kaveh808";
repo = "kons-9";
rev = "95ad44fac0566f445c4b7bd040339dcff75ee992";
sha256 = "19rl7372j9f1cv2kl55r8vyf4dhcz4way4hkjgysbxzrb1psp17n";
rev = "08770e7fbb839b91fd035f1cd4a50ecc81b42d57";
sha256 = "sha256-Tit/qmOU5+zp43/ecIXGbh4CtgWzltWM7tHdVWkga0k=";
};
systems = [ "kons-9" "kons-9/testsuite" ];
patches = [ ./patches/kons-9-fix-testsuite-compilation.patch ];
lispLibs = with self; [
closer-mop trivial-main-thread trivial-backtrace cffi cl-opengl cl-glu
cl-glfw3 cl-paths-ttf zpb-ttf cl-vectors origin clobber
cl-glfw3 cl-paths-ttf zpb-ttf cl-vectors origin clobber shasht
org_dot_melusina_dot_confidence
];
};
sb-cga = build-asdf-system {
pname = "sb-cga";
version = "1.0.1";
src = pkgs.fetchFromGitHub {
owner = "nikodemus";
repo = "sb-cga";
rev = "9a554ea1c01cac998ff7eaa5f767bc5bcdc4c094";
sha256 = "sha256-iBM+VXu6JRqGmeIFzfXbGot+elvangmfSpDB7DjFpPg";
};
lispLibs = [ self.alexandria ];
};
nsb-cga = super.nsb-cga.overrideLispAttrs (oa: {
lispLibs = oa.lispLibs ++ [ self.sb-cga ];
});
@@ -560,30 +442,8 @@ let
meta.mainProgram = "qlot";
};
misc-extensions = super.misc-extensions.overrideLispAttrs (old: rec {
version = "4.0.3";
src = pkgs.fetchFromGitLab {
domain = "gitlab.common-lisp.net";
owner = "misc-extensions";
repo = "misc-extensions";
rev = "v${version}";
hash = "sha256-bDNI4mIaNw/rf7ZwvwolKo6+mUUxsgubGUd/988sHAo=";
};
});
fset = super.fset.overrideLispAttrs (old: rec {
version = "1.4.0";
src = pkgs.fetchFromGitHub {
owner = "slburson";
repo = "fset";
rev = "v${version}";
hash = "sha256-alO8Ek5Xpyl5N99/LgyIZ50aoRbY7bKh3XBntFV6Q5k=";
};
lispLibs = with super; [
self.misc-extensions
mt19937
named-readtables
];
fset = super.fset.overrideLispAttrs (oa: {
systems = [ "fset" "fset/test" ];
meta = {
description = "functional collections library";
homepage = "https://gitlab.common-lisp.net/fset/fset/-/wikis/home";
@@ -591,32 +451,25 @@ let
};
});
coalton = build-asdf-system {
pname = "coalton";
version = "trunk";
src = pkgs.fetchFromGitHub {
owner = "coalton-lang";
repo = "coalton";
rev = "05111b8a59e3f7346b175ce1ec621bff588e1e1f";
hash = "sha256-L9o7Y3zDx9qLXGe/70c1LWEKUWsSRgBQru66mIuaCFw=";
};
lispLibs = with super; [
alexandria
eclector-concrete-syntax-tree
fiasco
float-features
self.fset
named-readtables
trivial-garbage
thih-coalton = self.coalton;
quil-coalton = self.coalton;
coalton = super.coalton.overrideLispAttrs (oa: {
systems = [
"coalton"
"thih-coalton"
"quil-coalton"
"thih-coalton/tests"
"quil-coalton/tests"
"coalton/tests"
];
lispLibs = oa.lispLibs ++ [ self.fiasco ];
nativeLibs = [ pkgs.mpfr ];
systems = [ "coalton" "coalton/tests" ];
meta = {
description = "statically typed functional programming language that supercharges Common Lisp";
homepage = "https://coalton-lang.github.io";
license = pkgs.lib.licenses.mit;
};
};
});
});
@@ -1,22 +1,21 @@
--- a/cephes.asd
+++ b/cephes.asd
@@ -5,7 +5,7 @@
(defclass makefile (source-file) ((type :initform "m")))
(defmethod perform ((o load-op) (c makefile)) t)
(defmethod perform ((o compile-op) (c makefile))
- (let* ((lib-dir (system-relative-pathname "cephes" "scipy-cephes"))
+ (let* ((lib-dir #P"@out@/scipy-cephes")
(lib (make-pathname :directory `(:relative ,(namestring lib-dir))
:name "libmd"
:type #+darwin "dylib" #+(and unix (not darwin)) "so" #+(or windows win32) "dll"))
@@ -14,7 +14,7 @@
(format *error-output* "Library ~S exists, skipping build" lib)
(format *error-output* "Building ~S~%" lib))
(unless built
- (chdir (native-namestring lib-dir))
+ (chdir "scipy-cephes")
(run-program "make" :output t))))
@@ -16,7 +16,7 @@
(defclass makefile (source-file) ((type :initform "m")))
(defmethod perform ((o load-op) (c makefile)) t)
(defmethod perform ((o compile-op) (c makefile))
- (let* ((lib-dir (system-relative-pathname "cephes" "scipy-cephes/"))
+ (let* ((lib-dir #P"@out@/scipy-cephes/")
(lib (make-pathname :directory (pathname-directory lib-dir)
:name #+(or (and unix (not darwin)) windows win32) "libmd"
#+(and darwin arm64) "libmd-arm64"
@@ -30,7 +30,7 @@
(format *error-output* "Library ~S exists, skipping build" lib)
(format *error-output* "Building ~S~%" lib))
(unless built
- (chdir (native-namestring lib-dir))
+ (chdir "scipy-cephes")
(run-program "make" :output t)))))
(defsystem "cephes"
Diff finished. Thu Mar 28 08:13:30 2024
@@ -0,0 +1,22 @@
--- a/testsuite/assertions.lisp
+++ b/testsuite/assertions.lisp
@@ -13,7 +13,7 @@
relation when computing with floating point numbers. Two floating point numbers are
essentially equal when they are in a neighbourhood whose size is based
on the magnitude orders of these floating point numbers and the inaccuracy."
- (:report
+ :report
(lambda (stream)
(flet ((maybe-report (name float1 float2)
(unless (float-is-essentially-equal (p:y point1) (p:y point2) :inaccuracy inaccuracy)
@@ -29,7 +29,7 @@
inaccuracy (confidence::float-comparison-threshold 'single-float max inaccuracy float1 float2)))))
(maybe-report "X" (p:x point1) (p:x point2))
(maybe-report "Y" (p:y point1) (p:y point2))
- (maybe-report "Z" (p:z point1) (p:z point2)))))
+ (maybe-report "Z" (p:z point1) (p:z point2))))
(and (float-is-essentially-equal (p:x point1) (p:x point2) :inaccuracy inaccuracy)
(float-is-essentially-equal (p:y point1) (p:y point2) :inaccuracy inaccuracy)
(float-is-essentially-equal (p:z point1) (p:z point2) :inaccuracy inaccuracy)))
Diff finished. Sun Oct 20 03:05:54 2024
@@ -1,21 +0,0 @@
--- a/magicl.asd
+++ b/magicl.asd
@@ -143,6 +143,7 @@
(shared-object (make-pathname :type #+darwin "dylib" #-darwin "so"
:name "libexpokit"
:defaults fortran-file)))
+ (unless (probe-file (nn shared-object))
(uiop:run-program
(list "gfortran" "-fPIC" "-std=legacy"
"-c"
@@ -155,7 +156,7 @@
(nn object-file)
#+darwin "-lblas"
#+darwin "-llapack"))
- (delete-file object-file))))
+ (delete-file object-file)))))
(asdf:defsystem #:magicl/ext-expokit
Diff finished. Mon Oct 10 22:03:54 2022
+3
View File
@@ -98,6 +98,9 @@ let
sqlite = super.sqlite.overrideLispAttrs (o: {
nativeLibs = [ pkgs.sqlite ];
});
duckdb = super.duckdb.overrideLispAttrs (o: {
nativeLibs = [ pkgs.duckdb ];
});
cl-libuv = super.cl-libuv.overrideLispAttrs (o: {
nativeBuildInputs = [ pkgs.libuv ];
nativeLibs = [ pkgs.libuv ];