lisp-modules: wrap lisps

This commit is contained in:
Kasper Gałkowski 2023-03-01 21:27:12 +01:00
parent 9e860e41eb
commit 5a3c528cce
8 changed files with 196 additions and 57 deletions

View file

@ -1,5 +1,12 @@
{lib, stdenv, fetchurl, ant, jre, jdk}: {lib, stdenv, fetchurl, ant, jre, jdk
stdenv.mkDerivation rec { # For packages
, asdf_3_3
, commonLispPackagesFor
, lispWithPackages
, build-asdf-system
, spec ? { faslExt = "abcl"; program = "abcl"; flags = ""; asdf = asdf_3_3; }
, packageOverrides ? (self: super: {})}:
let abcl = stdenv.mkDerivation rec {
pname = "abcl"; pname = "abcl";
version = "1.9.0"; version = "1.9.0";
# or fetchFromGitHub(owner,repo,rev) or fetchgit(rev) # or fetchFromGitHub(owner,repo,rev) or fetchgit(rev)
@ -40,4 +47,15 @@ stdenv.mkDerivation rec {
platforms = lib.platforms.linux; platforms = lib.platforms.linux;
homepage = "https://common-lisp.net/project/armedbear/"; homepage = "https://common-lisp.net/project/armedbear/";
}; };
}
# For packages
passthru = let
spec' = spec // { pkg = abcl; };
pkgs = (commonLispPackagesFor spec').overrideScope' packageOverrides;
in {
inherit pkgs;
withPackages = lispWithPackages pkgs;
buildASDFSystem = args: build-asdf-system (args // spec');
};
};
in abcl

View file

@ -1,4 +1,12 @@
{ lib, stdenv, fetchurl, fetchpatch, runCommand, bootstrap_cmds, coreutils, glibc, m4, runtimeShell }: { lib, stdenv, fetchurl, fetchpatch, runCommand, bootstrap_cmds, coreutils, glibc, m4, runtimeShell
# For packages
, asdf_3_3
, commonLispPackagesFor
, lispWithPackages
, build-asdf-system
, spec ? { faslExt = "lx64fsl"; program = "ccl"; flags = ""; asdf = asdf_3_3; }
, packageOverrides ? (self: super: {})
}:
let let
options = rec { options = rec {
@ -48,9 +56,7 @@ let
tar czf $out ccl tar czf $out ccl
''; '';
in ccl = stdenv.mkDerivation rec {
stdenv.mkDerivation rec {
pname = "ccl"; pname = "ccl";
version = "1.12"; version = "1.12";
@ -125,4 +131,14 @@ stdenv.mkDerivation rec {
broken = (stdenv.isDarwin && stdenv.isx86_64); broken = (stdenv.isDarwin && stdenv.isx86_64);
license = licenses.asl20; license = licenses.asl20;
}; };
}
passthru = let
spec' = spec // { pkg = ccl; };
pkgs = (commonLispPackagesFor spec').overrideScope' packageOverrides;
in {
inherit pkgs;
withPackages = lispWithPackages pkgs;
buildASDFSystem = args: build-asdf-system (args // spec');
};
}; in ccl

View file

@ -14,9 +14,16 @@
, threadSupport ? false , threadSupport ? false
, useBoehmgc ? true , useBoehmgc ? true
, boehmgc , boehmgc
# For packages
, asdf_3_3
, commonLispPackagesFor
, lispWithPackages
, build-asdf-system
, spec ? { faslExt = "fas"; program = "ecl"; flags = ""; asdf = asdf_3_3; }
, packageOverrides ? (self: super: {})
}: }:
stdenv.mkDerivation rec { let ecl = stdenv.mkDerivation rec {
pname = "ecl"; pname = "ecl";
version = "16.1.2"; version = "16.1.2";
@ -96,4 +103,14 @@ stdenv.mkDerivation rec {
# never built on aarch64-darwin since first introduction in nixpkgs # never built on aarch64-darwin since first introduction in nixpkgs
broken = stdenv.isDarwin && stdenv.isAarch64; broken = stdenv.isDarwin && stdenv.isAarch64;
}; };
}
passthru = let
spec' = spec // { pkg = ecl; };
pkgs = (commonLispPackagesFor spec').overrideScope' packageOverrides;
in {
inherit pkgs;
withPackages = lispWithPackages pkgs;
buildASDFSystem = args: build-asdf-system (args // spec');
};
};
in ecl

View file

@ -15,9 +15,16 @@
, threadSupport ? true , threadSupport ? true
, useBoehmgc ? false , useBoehmgc ? false
, boehmgc , boehmgc
# For packages
, asdf_3_3
, commonLispPackagesFor
, lispWithPackages
, build-asdf-system
, spec ? { faslExt = "fas"; program = "ecl"; flags = ""; asdf = asdf_3_3; }
, packageOverrides ? (self: super: {})
}: }:
stdenv.mkDerivation rec { let ecl = stdenv.mkDerivation rec {
pname = "ecl"; pname = "ecl";
version = "21.2.1"; version = "21.2.1";
@ -83,4 +90,15 @@ stdenv.mkDerivation rec {
platforms = platforms.unix; platforms = platforms.unix;
changelog = "https://gitlab.com/embeddable-common-lisp/ecl/-/raw/${version}/CHANGELOG"; changelog = "https://gitlab.com/embeddable-common-lisp/ecl/-/raw/${version}/CHANGELOG";
}; };
}
# For packages
passthru = let
spec' = spec // { pkg = ecl; };
pkgs = (commonLispPackagesFor spec').overrideScope' packageOverrides;
in {
inherit pkgs;
withPackages = lispWithPackages pkgs;
buildASDFSystem = args: build-asdf-system (args // spec');
};
}; in ecl

View file

@ -10,6 +10,13 @@
, coreCompression ? lib.versionAtLeast version "2.2.6" , coreCompression ? lib.versionAtLeast version "2.2.6"
, texinfo , texinfo
, version , version
# For packages
, asdf_3_3
, commonLispPackagesFor
, lispWithPackages
, build-asdf-system
, spec ? { faslExt = "fasl"; program = "sbcl"; flags = ""; asdf = asdf_3_3; }
, packageOverrides ? (self: super: {})
}: }:
let let
@ -67,7 +74,7 @@ let
}; };
}; };
in with versionMap.${version}; sbcl = with versionMap.${version};
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "sbcl"; pname = "sbcl";
@ -219,4 +226,15 @@ stdenv.mkDerivation rec {
''); '');
meta = sbclBootstrap.meta; meta = sbclBootstrap.meta;
}
# For packages
passthru = let
spec' = spec // { pkg = sbcl; };
pkgs = (commonLispPackagesFor spec').overrideScope' packageOverrides;
in {
inherit pkgs;
withPackages = lispWithPackages pkgs;
buildASDFSystem = args: build-asdf-system (args // spec');
};
};
in sbcl

View file

@ -18,12 +18,19 @@
] ]
++ lib.optionals stdenv.isLinux [ "bindings/glibc" "zlib" "wildcard" ] ++ lib.optionals stdenv.isLinux [ "bindings/glibc" "zlib" "wildcard" ]
++ lib.optional x11Support "clx/new-clx" ++ lib.optional x11Support "clx/new-clx"
# For packages
, asdf_3_3
, commonLispPackagesFor
, lispWithPackages
, build-asdf-system
, spec ? { faslExt = "fas"; program = "clisp"; flags = "-E UTF-8"; asdf = asdf_3_3; }
, packageOverrides ? (self: super: {})
}: }:
assert x11Support -> (libX11 != null && libXau != null && libXt != null assert x11Support -> (libX11 != null && libXau != null && libXt != null
&& libXpm != null && xorgproto != null && libXext != null); && libXpm != null && xorgproto != null && libXext != null);
stdenv.mkDerivation rec { let clisp = stdenv.mkDerivation rec {
version = "2.49"; version = "2.49";
pname = "clisp"; pname = "clisp";
@ -105,4 +112,14 @@ stdenv.mkDerivation rec {
broken = stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isAarch64; broken = stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isAarch64;
license = lib.licenses.gpl2; license = lib.licenses.gpl2;
}; };
}
passthru = let
spec' = spec // { pkg = clisp; };
pkgs = (commonLispPackagesFor spec').overrideScope' packageOverrides;
in {
inherit pkgs;
withPackages = lispWithPackages pkgs;
buildASDFSystem = args: build-asdf-system (args // spec');
};
}; in clisp

View file

@ -17,12 +17,19 @@
] ]
++ lib.optionals stdenv.isLinux [ "bindings/glibc" "zlib" ] ++ lib.optionals stdenv.isLinux [ "bindings/glibc" "zlib" ]
++ lib.optional x11Support "clx/new-clx" ++ lib.optional x11Support "clx/new-clx"
# For packages
, asdf_3_3
, commonLispPackagesFor
, lispWithPackages
, build-asdf-system
, spec ? { faslExt = "fas"; program = "clisp"; flags = "-E UTF-8"; asdf = asdf_3_3; }
, packageOverrides ? (self: super: {})
}: }:
assert x11Support -> (libX11 != null && libXau != null && libXt != null assert x11Support -> (libX11 != null && libXau != null && libXt != null
&& libXpm != null && xorgproto != null && libXext != null); && libXpm != null && xorgproto != null && libXext != null);
stdenv.mkDerivation rec { let clisp = stdenv.mkDerivation rec {
version = "2.50pre20171114"; version = "2.50pre20171114";
pname = "clisp"; pname = "clisp";
@ -95,4 +102,14 @@ stdenv.mkDerivation rec {
# problems on Darwin: https://github.com/NixOS/nixpkgs/issues/20062 # problems on Darwin: https://github.com/NixOS/nixpkgs/issues/20062
platforms = lib.platforms.linux; platforms = lib.platforms.linux;
}; };
}
passthru = let
spec' = spec // { pkg = clisp; };
pkgs = (commonLispPackagesFor spec').overrideScope' packageOverrides;
in {
inherit pkgs;
withPackages = lispWithPackages pkgs;
buildASDFSystem = args: build-asdf-system (args // spec');
};
}; in clisp

View file

@ -14046,8 +14046,6 @@ with pkgs;
_4th = callPackage ../development/compilers/4th { }; _4th = callPackage ../development/compilers/4th { };
abcl = callPackage ../development/compilers/abcl { };
temurin-bin-19 = javaPackages.compiler.temurin-bin.jdk-19; temurin-bin-19 = javaPackages.compiler.temurin-bin.jdk-19;
temurin-jre-bin-19 = javaPackages.compiler.temurin-bin.jre-19; temurin-jre-bin-19 = javaPackages.compiler.temurin-bin.jre-19;
@ -14188,10 +14186,6 @@ with pkgs;
cc65 = callPackage ../development/compilers/cc65 { }; cc65 = callPackage ../development/compilers/cc65 { };
ccl = callPackage ../development/compilers/ccl {
inherit (buildPackages.darwin) bootstrap_cmds;
};
cdb = callPackage ../development/tools/database/cdb { cdb = callPackage ../development/tools/database/cdb {
stdenv = gccStdenv; stdenv = gccStdenv;
}; };
@ -14292,11 +14286,6 @@ with pkgs;
libcxxStdenv = if stdenv.isDarwin then stdenv else lowPrio llvmPackages.libcxxStdenv; libcxxStdenv = if stdenv.isDarwin then stdenv else lowPrio llvmPackages.libcxxStdenv;
rocmClangStdenv = llvmPackages_rocm.rocmClangStdenv; rocmClangStdenv = llvmPackages_rocm.rocmClangStdenv;
clasp-common-lisp = callPackage ../development/compilers/clasp {
llvmPackages = llvmPackages_6;
stdenv = llvmPackages_6.stdenv;
};
clean = callPackage ../development/compilers/clean { }; clean = callPackage ../development/compilers/clean { };
clickable = python3Packages.callPackage ../development/tools/clickable { }; clickable = python3Packages.callPackage ../development/tools/clickable { };
@ -14362,9 +14351,6 @@ with pkgs;
dictu = callPackage ../development/compilers/dictu { }; dictu = callPackage ../development/compilers/dictu { };
ecl = callPackage ../development/compilers/ecl { };
ecl_16_1_2 = callPackage ../development/compilers/ecl/16.1.2.nix { };
eli = callPackage ../development/compilers/eli { }; eli = callPackage ../development/compilers/eli { };
eql = callPackage ../development/compilers/eql {}; eql = callPackage ../development/compilers/eql {};
@ -16034,22 +16020,6 @@ with pkgs;
sagittarius-scheme = callPackage ../development/compilers/sagittarius-scheme {}; sagittarius-scheme = callPackage ../development/compilers/sagittarius-scheme {};
sbclBootstrap = callPackage ../development/compilers/sbcl/bootstrap.nix {};
sbcl_2_0_8 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.0.8"; };
sbcl_2_0_9 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.0.9"; };
sbcl_2_1_1 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.1.1"; };
sbcl_2_1_2 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.1.2"; };
sbcl_2_1_9 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.1.9"; };
sbcl_2_1_10 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.1.10"; };
sbcl_2_1_11 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.1.11"; };
sbcl_2_2_4 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.2.4"; };
sbcl_2_2_6 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.2.6"; };
sbcl_2_2_9 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.2.9"; };
sbcl_2_2_10 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.2.10"; };
sbcl_2_2_11 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.2.11"; };
sbcl_2_3_0 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.3.0"; };
sbcl = sbcl_2_3_0;
roswell = callPackage ../development/tools/roswell { }; roswell = callPackage ../development/tools/roswell { };
scala_2_10 = callPackage ../development/compilers/scala/2.x.nix { majorVersion = "2.10"; jre = jdk8; }; scala_2_10 = callPackage ../development/compilers/scala/2.x.nix { majorVersion = "2.10"; jre = jdk8; };
@ -16369,15 +16339,6 @@ with pkgs;
inherit (darwin.apple_sdk.frameworks) Security; inherit (darwin.apple_sdk.frameworks) Security;
}; };
clisp = callPackage ../development/interpreters/clisp {
# On newer readline8 fails as:
# #<FOREIGN-VARIABLE "rl_readline_state" #x...>
# does not have the required size or alignment
readline = readline63;
};
clisp-tip = callPackage ../development/interpreters/clisp/hg.nix { };
clojupyter = callPackage ../applications/editors/jupyter-kernels/clojupyter { clojupyter = callPackage ../applications/editors/jupyter-kernels/clojupyter {
jre = jre8; jre = jre8;
}; };
@ -24211,6 +24172,63 @@ with pkgs;
asdf_3_1 = callPackage ../development/lisp-modules/asdf/3.1.nix { asdf_3_1 = callPackage ../development/lisp-modules/asdf/3.1.nix {
texLive = null; texLive = null;
}; };
# Latest
asdf_3_3 = callPackage ../development/lisp-modules/asdf/3.3.nix {
texLive = null;
};
inherit (callPackage ../development/lisp-modules/nix-cl.nix {})
commonLispPackagesFor
lispWithPackages
build-asdf-system
;
# Armed Bear Common Lisp
abcl = callPackage ../development/compilers/abcl { };
# Clozure Common Lisp
ccl = callPackage ../development/compilers/ccl {
inherit (buildPackages.darwin) bootstrap_cmds;
};
# Clasp Common Lisp
clasp-common-lisp = callPackage ../development/compilers/clasp {
llvmPackages = llvmPackages_15;
stdenv = llvmPackages_15.stdenv;
};
# CLISP
clisp = callPackage ../development/interpreters/clisp {
# On newer readline8 fails as:
# #<FOREIGN-VARIABLE "rl_readline_state" #x...>
# does not have the required size or alignment
readline = readline63;
};
clisp-tip = callPackage ../development/interpreters/clisp/hg.nix { };
# Embeddable Common Lisp
ecl = callPackage ../development/compilers/ecl { };
ecl_16_1_2 = callPackage ../development/compilers/ecl/16.1.2.nix { };
# Steel Bank Common Lisp
sbclBootstrap = callPackage ../development/compilers/sbcl/bootstrap.nix {};
sbcl_2_0_8 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.0.8"; };
sbcl_2_0_9 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.0.9"; };
sbcl_2_1_1 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.1.1"; };
sbcl_2_1_2 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.1.2"; };
sbcl_2_1_9 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.1.9"; };
sbcl_2_1_10 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.1.10"; };
sbcl_2_1_11 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.1.11"; };
sbcl_2_2_4 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.2.4"; };
sbcl_2_2_6 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.2.6"; };
sbcl_2_2_9 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.2.9"; };
sbcl_2_2_10 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.2.10"; };
sbcl_2_2_11 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.2.11"; };
sbcl_2_3_0 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.3.0"; };
sbcl = sbcl_2_3_0;
sbclPackages = recurseIntoAttrs sbcl.pkgs;
### DEVELOPMENT / PERL MODULES ### DEVELOPMENT / PERL MODULES