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) | |
download | nixlib-13007957e5bf8bf31f7c99a054e2f0bdb395e860.tar nixlib-13007957e5bf8bf31f7c99a054e2f0bdb395e860.tar.gz nixlib-13007957e5bf8bf31f7c99a054e2f0bdb395e860.tar.bz2 nixlib-13007957e5bf8bf31f7c99a054e2f0bdb395e860.tar.lz nixlib-13007957e5bf8bf31f7c99a054e2f0bdb395e860.tar.xz nixlib-13007957e5bf8bf31f7c99a054e2f0bdb395e860.tar.zst nixlib-13007957e5bf8bf31f7c99a054e2f0bdb395e860.zip |
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 000000000000..99b038db9611 --- /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 |