mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-17 07:13:23 +01:00
quicklispPackages: improve non-SBCL support
This commit is contained in:
parent
b4d085cb9a
commit
85b6efff7c
6 changed files with 178 additions and 14 deletions
|
@ -0,0 +1,31 @@
|
|||
args @ { fetchurl, ... }:
|
||||
rec {
|
||||
baseName = ''cffi-uffi-compat'';
|
||||
version = ''cffi_0.23.0'';
|
||||
|
||||
description = ''UFFI Compatibility Layer for CFFI'';
|
||||
|
||||
deps = [ args."alexandria" args."babel" args."cffi" args."trivial-features" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = ''http://beta.quicklisp.org/archive/cffi/2020-07-15/cffi_0.23.0.tgz'';
|
||||
sha256 = ''1szpbg5m5fjq7bpkblflpnwmgz3ncsvp1y43g3jzwlk7yfxrwxck'';
|
||||
};
|
||||
|
||||
packageName = "cffi-uffi-compat";
|
||||
|
||||
asdFilesToKeep = ["cffi-uffi-compat.asd"];
|
||||
overrides = x: x;
|
||||
}
|
||||
/* (SYSTEM cffi-uffi-compat DESCRIPTION UFFI Compatibility Layer for CFFI
|
||||
SHA256 1szpbg5m5fjq7bpkblflpnwmgz3ncsvp1y43g3jzwlk7yfxrwxck URL
|
||||
http://beta.quicklisp.org/archive/cffi/2020-07-15/cffi_0.23.0.tgz MD5
|
||||
a43e3c440fc4f20494e6d2347887c963 NAME cffi-uffi-compat FILENAME
|
||||
cffi-uffi-compat DEPS
|
||||
((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
|
||||
(NAME cffi FILENAME cffi)
|
||||
(NAME trivial-features FILENAME trivial-features))
|
||||
DEPENDENCIES (alexandria babel cffi trivial-features) VERSION cffi_0.23.0
|
||||
SIBLINGS
|
||||
(cffi-examples cffi-grovel cffi-libffi cffi-tests cffi-toolchain cffi)
|
||||
PARASITES NIL) */
|
|
@ -0,0 +1,26 @@
|
|||
args @ { fetchurl, ... }:
|
||||
rec {
|
||||
baseName = ''cl-speedy-queue'';
|
||||
version = ''20150302-git'';
|
||||
|
||||
description = ''cl-speedy-queue is a portable, non-consing, optimized queue implementation.'';
|
||||
|
||||
deps = [ ];
|
||||
|
||||
src = fetchurl {
|
||||
url = ''http://beta.quicklisp.org/archive/cl-speedy-queue/2015-03-02/cl-speedy-queue-20150302-git.tgz'';
|
||||
sha256 = ''1w83vckk0ldr61vpkwg4i8l2b2yx54cs4ak62j4lxhshax105rqr'';
|
||||
};
|
||||
|
||||
packageName = "cl-speedy-queue";
|
||||
|
||||
asdFilesToKeep = ["cl-speedy-queue.asd"];
|
||||
overrides = x: x;
|
||||
}
|
||||
/* (SYSTEM cl-speedy-queue DESCRIPTION
|
||||
cl-speedy-queue is a portable, non-consing, optimized queue implementation.
|
||||
SHA256 1w83vckk0ldr61vpkwg4i8l2b2yx54cs4ak62j4lxhshax105rqr URL
|
||||
http://beta.quicklisp.org/archive/cl-speedy-queue/2015-03-02/cl-speedy-queue-20150302-git.tgz
|
||||
MD5 509d1acf7e4cfcef99127de75b16521f NAME cl-speedy-queue FILENAME
|
||||
cl-speedy-queue DEPS NIL DEPENDENCIES NIL VERSION 20150302-git SIBLINGS NIL
|
||||
PARASITES NIL) */
|
|
@ -0,0 +1,33 @@
|
|||
args @ { fetchurl, ... }:
|
||||
rec {
|
||||
baseName = ''cl-syslog'';
|
||||
version = ''20190202-git'';
|
||||
|
||||
description = ''Common Lisp syslog interface.'';
|
||||
|
||||
deps = [ args."alexandria" args."babel" args."cffi" args."global-vars" args."local-time" args."split-sequence" args."trivial-features" args."usocket" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = ''http://beta.quicklisp.org/archive/cl-syslog/2019-02-02/cl-syslog-20190202-git.tgz'';
|
||||
sha256 = ''1kzz613y9fvx33svlwc65vjaj1cafnxz8icds80ww7il7y6alwgh'';
|
||||
};
|
||||
|
||||
packageName = "cl-syslog";
|
||||
|
||||
asdFilesToKeep = ["cl-syslog.asd"];
|
||||
overrides = x: x;
|
||||
}
|
||||
/* (SYSTEM cl-syslog DESCRIPTION Common Lisp syslog interface. SHA256
|
||||
1kzz613y9fvx33svlwc65vjaj1cafnxz8icds80ww7il7y6alwgh URL
|
||||
http://beta.quicklisp.org/archive/cl-syslog/2019-02-02/cl-syslog-20190202-git.tgz
|
||||
MD5 eafff19eb1f38a36a9535c729d2217fe NAME cl-syslog FILENAME cl-syslog DEPS
|
||||
((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
|
||||
(NAME cffi FILENAME cffi) (NAME global-vars FILENAME global-vars)
|
||||
(NAME local-time FILENAME local-time)
|
||||
(NAME split-sequence FILENAME split-sequence)
|
||||
(NAME trivial-features FILENAME trivial-features)
|
||||
(NAME usocket FILENAME usocket))
|
||||
DEPENDENCIES
|
||||
(alexandria babel cffi global-vars local-time split-sequence
|
||||
trivial-features usocket)
|
||||
VERSION 20190202-git SIBLINGS NIL PARASITES NIL) */
|
|
@ -1,4 +1,4 @@
|
|||
{pkgs, quicklisp-to-nix-packages}:
|
||||
{pkgs, clwrapper, quicklisp-to-nix-packages}:
|
||||
let
|
||||
addNativeLibs = libs: x: { propagatedBuildInputs = libs; };
|
||||
skipBuildPhase = x: {
|
||||
|
@ -6,6 +6,10 @@ let
|
|||
};
|
||||
multiOverride = l: x: if l == [] then {} else
|
||||
((builtins.head l) x) // (multiOverride (builtins.tail l) x);
|
||||
lispName = (clwrapper.lisp.pname or (builtins.parseDrvName clwrapper.lisp.name).name);
|
||||
ifLispIn = l: f: if (pkgs.lib.elem lispName l) then f else (x: {});
|
||||
ifLispNotIn = l: f: if ! (pkgs.lib.elem lispName l) then f else (x: {});
|
||||
extraLispDeps = l: x: { deps = x.deps ++ l; };
|
||||
in
|
||||
{
|
||||
stumpwm = x:{
|
||||
|
@ -23,7 +27,8 @@ in
|
|||
'';
|
||||
};
|
||||
};
|
||||
iterate = skipBuildPhase;
|
||||
iterate = multiOverride [ skipBuildPhase
|
||||
(ifLispNotIn ["sbcl" "gcl"] (x: { parasites=[]; }))];
|
||||
cl-fuse = x: {
|
||||
propagatedBuildInputs = [pkgs.fuse];
|
||||
overrides = y : (x.overrides y) // {
|
||||
|
@ -65,15 +70,32 @@ in
|
|||
cl-libuv = addNativeLibs [pkgs.libuv];
|
||||
cl-async-ssl = addNativeLibs [pkgs.openssl (import ./openssl-lib-marked.nix)];
|
||||
cl-async-test = addNativeLibs [pkgs.openssl];
|
||||
clsql = x: {
|
||||
clsql = multiOverride [ (x: {
|
||||
propagatedBuildInputs = with pkgs; [libmysqlclient postgresql sqlite zlib];
|
||||
overrides = y: (x.overrides y) // {
|
||||
preConfigure = ((x.overrides y).preConfigure or "") + ''
|
||||
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${pkgs.libmysqlclient}/include/mysql"
|
||||
export NIX_LDFLAGS="$NIX_LDFLAGS -L${pkgs.libmysqlclient}/lib/mysql"
|
||||
'';};})
|
||||
(ifLispIn ["ecl" "clisp"] (x: {
|
||||
deps = pkgs.lib.filter (x: x.outPath != quicklisp-to-nix-packages.uffi.outPath)
|
||||
(x.deps ++ (with quicklisp-to-nix-packages; [cffi-uffi-compat]));
|
||||
overrides = y: (x.overrides y) // {
|
||||
postUnpack = ''
|
||||
sed -e '1i(cl:push :clsql-cffi cl:*features*)' -i "$sourceRoot/clsql.asd"
|
||||
'';
|
||||
};
|
||||
}))
|
||||
];
|
||||
clsql-postgresql-socket = ifLispIn ["ecl" "clisp"] (x: {
|
||||
deps = pkgs.lib.filter (x: x.outPath != quicklisp-to-nix-packages.uffi.outPath)
|
||||
(x.deps ++ (with quicklisp-to-nix-packages; [cffi-uffi-compat]));
|
||||
overrides = y: (x.overrides y) // {
|
||||
postUnpack = ''
|
||||
sed -e '1i(cl:push :clsql-cffi cl:*features*)' -i "$sourceRoot/clsql-postgresql-socket.asd"
|
||||
'';
|
||||
};
|
||||
});
|
||||
clx-truetype = skipBuildPhase;
|
||||
query-fs = x: {
|
||||
overrides = y: (x.overrides y) // {
|
||||
|
@ -241,4 +263,17 @@ $out/lib/common-lisp/query-fs"
|
|||
'';
|
||||
};
|
||||
};
|
||||
woo = ifLispNotIn ["sbcl" "gcl"]
|
||||
(extraLispDeps (with quicklisp-to-nix-packages; [cl-speedy-queue]));
|
||||
cl-syslog = x: {
|
||||
overrides = y: (x.overrides y) // {
|
||||
postUnpack = ''
|
||||
sed -e '1a:serial t' -i $sourceRoot/cl-syslog.asd
|
||||
'';
|
||||
};
|
||||
};
|
||||
log4cl = ifLispNotIn ["sbcl" "gcl"]
|
||||
(extraLispDeps (with quicklisp-to-nix-packages; [cl-syslog]));
|
||||
md5 = ifLispNotIn ["sbcl" "ccl" "gcl"]
|
||||
(extraLispDeps (with quicklisp-to-nix-packages; [flexi-streams]));
|
||||
}
|
||||
|
|
|
@ -13,6 +13,7 @@ calispel
|
|||
caveman
|
||||
cffi
|
||||
cffi-grovel
|
||||
cffi-uffi-compat
|
||||
chanl
|
||||
chipz
|
||||
chunga
|
||||
|
@ -64,7 +65,9 @@ cl-protobufs
|
|||
cl-qprint
|
||||
cl-reexport
|
||||
cl-slice
|
||||
cl-speedy-queue
|
||||
cl-smtp
|
||||
cl-syslog
|
||||
clsql
|
||||
clsql-postgresql
|
||||
clsql-postgresql-socket
|
||||
|
|
|
@ -179,14 +179,6 @@ let quicklisp-to-nix-packages = rec {
|
|||
}));
|
||||
|
||||
|
||||
"global-vars" = buildLispPackage
|
||||
((f: x: (x // (f x)))
|
||||
(qlOverrides."global-vars" or (x: {}))
|
||||
(import ./quicklisp-to-nix-output/global-vars.nix {
|
||||
inherit fetchurl;
|
||||
}));
|
||||
|
||||
|
||||
"cl-postgres_slash_tests" = quicklisp-to-nix-packages."cl-postgres";
|
||||
|
||||
|
||||
|
@ -678,6 +670,14 @@ let quicklisp-to-nix-packages = rec {
|
|||
}));
|
||||
|
||||
|
||||
"global-vars" = buildLispPackage
|
||||
((f: x: (x // (f x)))
|
||||
(qlOverrides."global-vars" or (x: {}))
|
||||
(import ./quicklisp-to-nix-output/global-vars.nix {
|
||||
inherit fetchurl;
|
||||
}));
|
||||
|
||||
|
||||
"clunit" = buildLispPackage
|
||||
((f: x: (x // (f x)))
|
||||
(qlOverrides."clunit" or (x: {}))
|
||||
|
@ -3179,6 +3179,22 @@ let quicklisp-to-nix-packages = rec {
|
|||
}));
|
||||
|
||||
|
||||
"cl-syslog" = buildLispPackage
|
||||
((f: x: (x // (f x)))
|
||||
(qlOverrides."cl-syslog" or (x: {}))
|
||||
(import ./quicklisp-to-nix-output/cl-syslog.nix {
|
||||
inherit fetchurl;
|
||||
"alexandria" = quicklisp-to-nix-packages."alexandria";
|
||||
"babel" = quicklisp-to-nix-packages."babel";
|
||||
"cffi" = quicklisp-to-nix-packages."cffi";
|
||||
"global-vars" = quicklisp-to-nix-packages."global-vars";
|
||||
"local-time" = quicklisp-to-nix-packages."local-time";
|
||||
"split-sequence" = quicklisp-to-nix-packages."split-sequence";
|
||||
"trivial-features" = quicklisp-to-nix-packages."trivial-features";
|
||||
"usocket" = quicklisp-to-nix-packages."usocket";
|
||||
}));
|
||||
|
||||
|
||||
"cl-smtp" = buildLispPackage
|
||||
((f: x: (x // (f x)))
|
||||
(qlOverrides."cl-smtp" or (x: {}))
|
||||
|
@ -3199,6 +3215,14 @@ let quicklisp-to-nix-packages = rec {
|
|||
}));
|
||||
|
||||
|
||||
"cl-speedy-queue" = buildLispPackage
|
||||
((f: x: (x // (f x)))
|
||||
(qlOverrides."cl-speedy-queue" or (x: {}))
|
||||
(import ./quicklisp-to-nix-output/cl-speedy-queue.nix {
|
||||
inherit fetchurl;
|
||||
}));
|
||||
|
||||
|
||||
"cl-slice" = buildLispPackage
|
||||
((f: x: (x // (f x)))
|
||||
(qlOverrides."cl-slice" or (x: {}))
|
||||
|
@ -3904,6 +3928,18 @@ let quicklisp-to-nix-packages = rec {
|
|||
}));
|
||||
|
||||
|
||||
"cffi-uffi-compat" = buildLispPackage
|
||||
((f: x: (x // (f x)))
|
||||
(qlOverrides."cffi-uffi-compat" or (x: {}))
|
||||
(import ./quicklisp-to-nix-output/cffi-uffi-compat.nix {
|
||||
inherit fetchurl;
|
||||
"alexandria" = quicklisp-to-nix-packages."alexandria";
|
||||
"babel" = quicklisp-to-nix-packages."babel";
|
||||
"cffi" = quicklisp-to-nix-packages."cffi";
|
||||
"trivial-features" = quicklisp-to-nix-packages."trivial-features";
|
||||
}));
|
||||
|
||||
|
||||
"cffi-grovel" = buildLispPackage
|
||||
((f: x: (x // (f x)))
|
||||
(qlOverrides."cffi-grovel" or (x: {}))
|
||||
|
|
Loading…
Reference in a new issue