3
0
Fork 0
forked from mirrors/nixpkgs
nixpkgs/pkgs/development/lisp-modules/shell.nix
Luke Gorrie 4f9ca7c565
Common lisp update (#142209)
quicklisp: 2021-02-13 -> 2021-08-07
lispPackages: regenerate from fresher Quicklisp
sbcl: 2.1.2 -> 2.1.9 (switch default version)
lispPackages.mgl, lispPackages.mgl-mat: init
lispPackages.iolib: suppress network-reliant tests
lispPackages.esrap: apply upstream SBCL 2.1.9 compatibility patch

Removed packages caveman and clack-v1-compat that are removed.

Added more packages from Quicklisp.

* lisp-modules/shell.nix: Add openblas for MGL

* lisp-modules: Update README.txt

Mention that shell.nix needs to be updated when adding packages that
have external dependencies during package analysis, e.g. package :LLA that specifically wants to load libblas.so at compile-time.

* lisp-modules/define-package.nix: Fix package path deduplication

The deduplication of NIX_LISP_ASDF_PATHS was not working, apparently
due to a shell quoting bug causing the sort/uniq pipeline to run at
the wrong time. This is now deduplicated in a separate step.

This fixes a series problem where environments with many Lisp packages
would exhasut the available environment space on Linux, causing
obscure "too many arguments" error messages from the shell, because
the NIX_LISP_ASDF_PATHS list was bloated with ~90% duplicates.

Co-authored-by: Luke Gorrie <luke@nuddy.co>
2021-10-20 14:30:31 +00:00

39 lines
833 B
Nix

with import ../../../default.nix {};
let
openssl_lib_marked = import ./openssl-lib-marked.nix;
self = rec {
name = "ql-to-nix";
env = buildEnv { name = name; paths = buildInputs; };
buildInputs = [
gcc stdenv
openssl fuse libuv libmysqlclient libfixposix libev sqlite
freetds
lispPackages.quicklisp-to-nix lispPackages.quicklisp-to-nix-system-info
];
CPATH = lib.makeSearchPath "include"
[ libfixposix
];
LD_LIBRARY_PATH = lib.makeLibraryPath
[ cairo
freetds
fuse
gdk-pixbuf
glib
gobject-introspection
gtk3
libev
libfixposix
libmysqlclient
libuv
openblas
openssl
openssl_lib_marked
pango
postgresql
sqlite
webkitgtk
]
+ ":${libmysqlclient}/lib/mysql";
};
in stdenv.mkDerivation self