diff options
author | Michael Raskin <7c6f434c@mail.ru> | 2017-03-26 04:15:42 +0200 |
---|---|---|
committer | Michael Raskin <7c6f434c@mail.ru> | 2017-03-29 00:40:01 +0200 |
commit | 13007957e5bf8bf31f7c99a054e2f0bdb395e860 (patch) | |
tree | fe8e83ef8d0ce5e5dc44595edf7e2811f9aea05a /pkgs/development/lisp-modules/quicklisp-to-nix.nix | |
parent | eb70ae34b1da2894bc60ed0064efd2de068d28ad (diff) |
quicklispPackages: init
The idea is to have an almost-automatic conversion from QuickLisp, the
definitive Common Lisp package repository, to Nix. The benefit over just
using lispPackages.quicklisp is automatic installation of non-Lisp
dependencies from NixPkgs (and integration with Nix package management).
The benefit over lispPackages for normal Lisp packages is packaging just
a snapshot of QuickLisp which is known to be tested for version
compatibility between libraries.
There are some packages in lispPackages that are not from QuickLisp (for
example, the installable wrapper of QuickLisp itself). My hope is to
replace the rest with the expressions converted from QuickLisp.
Note that the current commit is a mere addition.
Diffstat (limited to 'pkgs/development/lisp-modules/quicklisp-to-nix.nix')
-rw-r--r-- | pkgs/development/lisp-modules/quicklisp-to-nix.nix | 291 |
1 files changed, 291 insertions, 0 deletions
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix.nix b/pkgs/development/lisp-modules/quicklisp-to-nix.nix new file mode 100644 index 00000000000..99b038db961 --- /dev/null +++ b/pkgs/development/lisp-modules/quicklisp-to-nix.nix @@ -0,0 +1,291 @@ +{stdenv, fetchurl, pkgs, clwrapper}: +let quicklisp-to-nix-packages = rec { + inherit stdenv fetchurl clwrapper pkgs quicklisp-to-nix-packages; + + callPackage = pkgs.lib.callPackageWith quicklisp-to-nix-packages; + buildLispPackage = callPackage ./define-package.nix; + qlOverrides = callPackage ./quicklisp-to-nix-overrides.nix {}; + + "split-sequence" = buildLispPackage + ((f: x: (x // (f x))) + (qlOverrides."split-sequence" or (x: {})) + (import ./quicklisp-to-nix-output/split-sequence.nix { + inherit fetchurl; + + })); + + + "trivial-garbage" = buildLispPackage + ((f: x: (x // (f x))) + (qlOverrides."trivial-garbage" or (x: {})) + (import ./quicklisp-to-nix-output/trivial-garbage.nix { + inherit fetchurl; + + })); + + + "trivial-gray-streams" = buildLispPackage + ((f: x: (x // (f x))) + (qlOverrides."trivial-gray-streams" or (x: {})) + (import ./quicklisp-to-nix-output/trivial-gray-streams.nix { + inherit fetchurl; + + })); + + + "babel" = buildLispPackage + ((f: x: (x // (f x))) + (qlOverrides."babel" or (x: {})) + (import ./quicklisp-to-nix-output/babel.nix { + inherit fetchurl; + "trivial-features" = quicklisp-to-nix-packages."trivial-features"; + "alexandria" = quicklisp-to-nix-packages."alexandria"; + + })); + + + "trivial-features" = buildLispPackage + ((f: x: (x // (f x))) + (qlOverrides."trivial-features" or (x: {})) + (import ./quicklisp-to-nix-output/trivial-features.nix { + inherit fetchurl; + + })); + + + "uiop" = buildLispPackage + ((f: x: (x // (f x))) + (qlOverrides."uiop" or (x: {})) + (import ./quicklisp-to-nix-output/uiop.nix { + inherit fetchurl; + + })); + + + "usocket" = buildLispPackage + ((f: x: (x // (f x))) + (qlOverrides."usocket" or (x: {})) + (import ./quicklisp-to-nix-output/usocket.nix { + inherit fetchurl; + "split-sequence" = quicklisp-to-nix-packages."split-sequence"; + + })); + + + "rfc2388" = buildLispPackage + ((f: x: (x // (f x))) + (qlOverrides."rfc2388" or (x: {})) + (import ./quicklisp-to-nix-output/rfc2388.nix { + inherit fetchurl; + + })); + + + "md5" = buildLispPackage + ((f: x: (x // (f x))) + (qlOverrides."md5" or (x: {})) + (import ./quicklisp-to-nix-output/md5.nix { + inherit fetchurl; + + })); + + + "cl+ssl" = buildLispPackage + ((f: x: (x // (f x))) + (qlOverrides."cl+ssl" or (x: {})) + (import ./quicklisp-to-nix-output/cl+ssl.nix { + inherit fetchurl; + "cffi" = quicklisp-to-nix-packages."cffi"; + "trivial-gray-streams" = quicklisp-to-nix-packages."trivial-gray-streams"; + "flexi-streams" = quicklisp-to-nix-packages."flexi-streams"; + "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads"; + "trivial-garbage" = quicklisp-to-nix-packages."trivial-garbage"; + "uiop" = quicklisp-to-nix-packages."uiop"; + + })); + + + "flexi-streams" = buildLispPackage + ((f: x: (x // (f x))) + (qlOverrides."flexi-streams" or (x: {})) + (import ./quicklisp-to-nix-output/flexi-streams.nix { + inherit fetchurl; + "trivial-gray-streams" = quicklisp-to-nix-packages."trivial-gray-streams"; + + })); + + + "cl-fad" = buildLispPackage + ((f: x: (x // (f x))) + (qlOverrides."cl-fad" or (x: {})) + (import ./quicklisp-to-nix-output/cl-fad.nix { + inherit fetchurl; + "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads"; + "alexandria" = quicklisp-to-nix-packages."alexandria"; + + })); + + + "cl-base64" = buildLispPackage + ((f: x: (x // (f x))) + (qlOverrides."cl-base64" or (x: {})) + (import ./quicklisp-to-nix-output/cl-base64.nix { + inherit fetchurl; + + })); + + + "chunga" = buildLispPackage + ((f: x: (x // (f x))) + (qlOverrides."chunga" or (x: {})) + (import ./quicklisp-to-nix-output/chunga.nix { + inherit fetchurl; + "trivial-gray-streams" = quicklisp-to-nix-packages."trivial-gray-streams"; + + })); + + + "trivial-utf-8" = buildLispPackage + ((f: x: (x // (f x))) + (qlOverrides."trivial-utf-8" or (x: {})) + (import ./quicklisp-to-nix-output/trivial-utf-8.nix { + inherit fetchurl; + + })); + + + "iterate" = buildLispPackage + ((f: x: (x // (f x))) + (qlOverrides."iterate" or (x: {})) + (import ./quicklisp-to-nix-output/iterate.nix { + inherit fetchurl; + + })); + + + "trivial-backtrace" = buildLispPackage + ((f: x: (x // (f x))) + (qlOverrides."trivial-backtrace" or (x: {})) + (import ./quicklisp-to-nix-output/trivial-backtrace.nix { + inherit fetchurl; + + })); + + + "bordeaux-threads" = buildLispPackage + ((f: x: (x // (f x))) + (qlOverrides."bordeaux-threads" or (x: {})) + (import ./quicklisp-to-nix-output/bordeaux-threads.nix { + inherit fetchurl; + "alexandria" = quicklisp-to-nix-packages."alexandria"; + + })); + + + "cl-utilities" = buildLispPackage + ((f: x: (x // (f x))) + (qlOverrides."cl-utilities" or (x: {})) + (import ./quicklisp-to-nix-output/cl-utilities.nix { + inherit fetchurl; + + })); + + + "cffi" = buildLispPackage + ((f: x: (x // (f x))) + (qlOverrides."cffi" or (x: {})) + (import ./quicklisp-to-nix-output/cffi.nix { + inherit fetchurl; + "uiop" = quicklisp-to-nix-packages."uiop"; + "alexandria" = quicklisp-to-nix-packages."alexandria"; + "trivial-features" = quicklisp-to-nix-packages."trivial-features"; + "babel" = quicklisp-to-nix-packages."babel"; + + })); + + + "clx" = buildLispPackage + ((f: x: (x // (f x))) + (qlOverrides."clx" or (x: {})) + (import ./quicklisp-to-nix-output/clx.nix { + inherit fetchurl; + + })); + + + "cl-ppcre" = buildLispPackage + ((f: x: (x // (f x))) + (qlOverrides."cl-ppcre" or (x: {})) + (import ./quicklisp-to-nix-output/cl-ppcre.nix { + inherit fetchurl; + + })); + + + "alexandria" = buildLispPackage + ((f: x: (x // (f x))) + (qlOverrides."alexandria" or (x: {})) + (import ./quicklisp-to-nix-output/alexandria.nix { + inherit fetchurl; + + })); + + + "hunchentoot" = buildLispPackage + ((f: x: (x // (f x))) + (qlOverrides."hunchentoot" or (x: {})) + (import ./quicklisp-to-nix-output/hunchentoot.nix { + inherit fetchurl; + "chunga" = quicklisp-to-nix-packages."chunga"; + "cl-base64" = quicklisp-to-nix-packages."cl-base64"; + "cl-fad" = quicklisp-to-nix-packages."cl-fad"; + "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre"; + "flexi-streams" = quicklisp-to-nix-packages."flexi-streams"; + "cl+ssl" = quicklisp-to-nix-packages."cl+ssl"; + "md5" = quicklisp-to-nix-packages."md5"; + "rfc2388" = quicklisp-to-nix-packages."rfc2388"; + "trivial-backtrace" = quicklisp-to-nix-packages."trivial-backtrace"; + "usocket" = quicklisp-to-nix-packages."usocket"; + "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads"; + + })); + + + "esrap" = buildLispPackage + ((f: x: (x // (f x))) + (qlOverrides."esrap" or (x: {})) + (import ./quicklisp-to-nix-output/esrap.nix { + inherit fetchurl; + "alexandria" = quicklisp-to-nix-packages."alexandria"; + + })); + + + "cl-fuse" = buildLispPackage + ((f: x: (x // (f x))) + (qlOverrides."cl-fuse" or (x: {})) + (import ./quicklisp-to-nix-output/cl-fuse.nix { + inherit fetchurl; + "cffi" = quicklisp-to-nix-packages."cffi"; + "cl-utilities" = quicklisp-to-nix-packages."cl-utilities"; + "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads"; + "trivial-backtrace" = quicklisp-to-nix-packages."trivial-backtrace"; + "iterate" = quicklisp-to-nix-packages."iterate"; + "trivial-utf-8" = quicklisp-to-nix-packages."trivial-utf-8"; + + })); + + + "stumpwm" = buildLispPackage + ((f: x: (x // (f x))) + (qlOverrides."stumpwm" or (x: {})) + (import ./quicklisp-to-nix-output/stumpwm.nix { + inherit fetchurl; + "alexandria" = quicklisp-to-nix-packages."alexandria"; + "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre"; + "clx" = quicklisp-to-nix-packages."clx"; + + })); + + +}; in quicklisp-to-nix-packages |