summary refs log tree commit diff
path: root/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix
diff options
context:
space:
mode:
authorBrad Jensen <brad@bradjensen.net>2017-07-31 19:29:53 -0700
committerBrad Jensen <brad@bradjensen.net>2017-08-31 20:10:18 -0700
commitf0c8027ae35139a171b04524b2e33c60aea23c5b (patch)
tree953572f2462e66c32c566a1753d90d9ff3623e37 /pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix
parent86e6e8016d0f9280167745c19d394311be0f9002 (diff)
downloadnixpkgs-f0c8027ae35139a171b04524b2e33c60aea23c5b.tar
nixpkgs-f0c8027ae35139a171b04524b2e33c60aea23c5b.tar.gz
nixpkgs-f0c8027ae35139a171b04524b2e33c60aea23c5b.tar.bz2
nixpkgs-f0c8027ae35139a171b04524b2e33c60aea23c5b.tar.lz
nixpkgs-f0c8027ae35139a171b04524b2e33c60aea23c5b.tar.xz
nixpkgs-f0c8027ae35139a171b04524b2e33c60aea23c5b.tar.zst
nixpkgs-f0c8027ae35139a171b04524b2e33c60aea23c5b.zip
Overhaul quicklisp-to-nix
1. Detect (and automatically handle) parasitic systems.
2. Each nix package has only one asd, and (almost) every parasitic
   package inside it builds.
3. Ensure that parasitic systems are compiled.
4. Remove unnecessary testnames lisp override mechanism (the
   testnae/testSystem is replaced by parasites/buildSystems).
5. Parasitic systems (if included in the system closure) become
   aliases to their host package.
6. Support caching fasl files in a known directory (for faster
   re-generation after modifying quicklisp-to-nix-system-info).
7. Eliminate unnecessary overrides.  We're going to determine ALL
   lisp dependencies correctly.
8. Don't try to "build" lisp packages with make.  lispPackages should
   be about bringing in a lisp library.
9. Eliminate the hand-maintained list of aliases.  Parasites should
   become aliases.  Everything else should be a real package.
Diffstat (limited to 'pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix')
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix130
1 files changed, 7 insertions, 123 deletions
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix
index 877389811d0..6ea0a2166e3 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix
@@ -5,7 +5,6 @@ let
   skipBuildPhase = x: {
     overrides = y: ((x.overrides y) // { buildPhase = "true"; });
   };
-  qlnp = quicklisp-to-nix-packages;
   multiOverride = l: x: if l == [] then {} else
     ((builtins.head l) x) // (multiOverride (builtins.tail l) x);
 in
@@ -23,9 +22,6 @@ in
         cp "$out/lib/common-lisp/stumpwm/stumpwm" "$out/bin"
       '';
     };
-    propagatedBuildInputs = (x.propagatedBuildInputs or []) ++ (with qlnp; [
-      alexandria cl-ppcre clx
-    ]);
   };
   iterate = skipBuildPhase;
   cl-fuse = x: {
@@ -45,84 +41,16 @@ in
   iolib = x: rec {
     propagatedBuildInputs = (x.propagatedBuildInputs or [])
      ++ (with pkgs; [libfixposix gcc])
-     ++ (with qlnp; [
-       alexandria split-sequence cffi bordeaux-threads idna swap-bytes
-     ])
      ;
-    testSystems = ["iolib" "iolib/syscalls" "iolib/multiplex" "iolib/streams"
-      "iolib/zstreams" "iolib/sockets" "iolib/trivial-sockets"
-      "iolib/pathnames" "iolib/os"];
-
-    version = "0.8.3";
-    src = pkgs.fetchFromGitHub {
-      owner = "sionescu";
-      repo = "iolib";
-      rev = "v${version}";
-      sha256 = "0pa86bf3jrysnmhasbc0lm6cid9xzril4jsg02g3gziav1xw5x2m";
-    };
   };
-  iolib_slash_syscalls = x: rec {
-    propagatedBuildInputs = (x.propagatedBuildInputs or [])
-     ++ (with pkgs; [libfixposix gcc])
-     ++ (with qlnp; [
-       alexandria split-sequence cffi bordeaux-threads idna swap-bytes
-     ])
-     ;
-    testSystems = ["iolib" "iolib/syscalls" "iolib/multiplex" "iolib/streams"
-      "iolib/zstreams" "iolib/sockets" "iolib/trivial-sockets"
-      "iolib/pathnames" "iolib/os"];
-
-    version = "0.8.3";
-    src = pkgs.fetchFromGitHub {
-      owner = "sionescu";
-      repo = "iolib";
-      rev = "v${version}";
-      sha256 = "0pa86bf3jrysnmhasbc0lm6cid9xzril4jsg02g3gziav1xw5x2m";
-    };
-  };
-  cl-unicode = addDeps (with qlnp; [cl-ppcre flexi-streams]);
-  clack =  addDeps (with qlnp;[lack bordeaux-threads prove]);
-  clack-v1-compat =  addDeps (with qlnp;[
-    lack bordeaux-threads prove usocket dexador http-body trivial-backtrace
-    marshal local-time cl-base64 cl-ppcre quri trivial-mimes trivial-types
-    flexi-streams circular-streams ironclad cl-syntax-annot alexandria
-    split-sequence
-  ]);
-  lack = addDeps (with qlnp; [ironclad]);
-  cxml = multiOverride [ skipBuildPhase (addDeps (with qlnp; [
-    closure-common puri trivial-gray-streams
-  ]))];
-  wookie = multiOverride [(addDeps (with qlnp; [
-      alexandria blackbird cl-async chunga fast-http quri babel cl-ppcre
-      cl-fad fast-io vom do-urlencode cl-async-ssl
-    ]))
-    (addNativeLibs (with pkgs; [libuv openssl]))];
-  woo = addDeps (with qlnp; [
-    cffi lev clack swap-bytes static-vectors fast-http proc-parse quri fast-io
-    trivial-utf-8 vom
-  ]);
+  cxml = skipBuildPhase;
+  wookie = addNativeLibs (with pkgs; [libuv openssl]);
   lev = addNativeLibs [pkgs.libev];
-  dexador = addDeps (with qlnp; [
-    usocket fast-http quri fast-io chunga cl-ppcre cl-cookie trivial-mimes
-    chipz cl-base64 cl-reexport qlnp."cl+ssl" alexandria bordeaux-threads
-  ]);
-  fast-http = addDeps (with qlnp; [
-    alexandria cl-utilities proc-parse xsubseq smart-buffer
-  ]);
-  cl-emb = addDeps (with qlnp; [cl-ppcre]);
   "cl+ssl" = addNativeLibs [pkgs.openssl];
   cl-colors = skipBuildPhase;
   cl-libuv = addNativeLibs [pkgs.libuv];
-  cl-async = addDeps (with qlnp; [cl-async-base]);
-  cl-async-ssl = multiOverride [(addDeps (with qlnp; [cl-async-base]))
-    (addNativeLibs [pkgs.openssl])];
-  cl-async-repl = addDeps (with qlnp; [cl-async]);
-  cl-async-base = addDeps (with qlnp; [
-    cffi fast-io vom cl-libuv cl-ppcre trivial-features static-vectors
-    trivial-gray-streams babel
-  ]);
-  cl-async-util = addDeps (with qlnp; [ cl-async-base ]);
-  css-lite = addDeps (with qlnp; [parenscript]);
+  cl-async-ssl = addNativeLibs [pkgs.openssl];
+  cl-async-test = addNativeLibs [pkgs.openssl];
   clsql = x: {
     propagatedBuildInputs = with pkgs; [mysql postgresql sqlite zlib];
     overrides = y: (x.overrides y) // {
@@ -146,17 +74,7 @@ in
       '';
     };
   };
-  cffi = multiOverride [(addNativeLibs [pkgs.libffi])
-    (addDeps (with qlnp; [uffi uiop trivial-features]))];
-  cl-vectors = addDeps (with qlnp; [zpb-ttf]);
-  cl-paths-ttf = addDeps (with qlnp; [zpb-ttf]);
-  "3bmd" = addDeps (with qlnp; [esrap split-sequence]);
-  cl-dbi = addDeps (with qlnp; [
-    cl-syntax cl-syntax-annot split-sequence closer-mop bordeaux-threads
-  ]);
-  dbd-sqlite3 = addDeps (with qlnp; [cl-dbi]);
-  dbd-postgres = addDeps (with qlnp; [cl-dbi]);
-  dbd-mysql = addDeps (with qlnp; [cl-dbi]);
+  cffi = addNativeLibs [pkgs.libffi];
   cl-mysql = addNativeLibs [pkgs.mysql];
   cl-ppcre-template = x: {
     overrides = y: (x.overrides y) // {
@@ -164,21 +82,10 @@ in
         ln -s lib-dependent/*.asd .
       '';
     };
-    propagatedBuildInputs = (x.propagatedBuildInputs or []) ++ (with qlnp; [
-      cl-ppcre
-    ]);
   };
-  cl-unification = addDeps (with qlnp; [cl-ppcre]);
-  cl-syntax-annot = addDeps (with qlnp; [cl-syntax]);
-  cl-syntax-anonfun = addDeps (with qlnp; [cl-syntax]);
-  cl-syntax-markup = addDeps (with qlnp; [cl-syntax]);
-  cl-test-more = addDeps (with qlnp; [prove]);
-  babel-streams = addDeps (with qlnp; [babel trivial-gray-streams]);
-  babel = addDeps (with qlnp; [trivial-features alexandria]);
-  plump = addDeps (with qlnp; [array-utils trivial-indent]);
   sqlite = addNativeLibs [pkgs.sqlite];
   uiop = x: {
-    testSystems = (x.testSystems or ["uiop"]) ++ [
+    parasites = (x.parasites or []) ++ [
       "uiop/version"
     ];
     overrides = y: (x.overrides y) // {
@@ -192,28 +99,5 @@ in
       postConfigure = "rm GNUmakefile";
     };
   };
-  esrap = addDeps (with qlnp; [alexandria]);
-  fast-io = addDeps (with qlnp; [
-    alexandria trivial-gray-streams static-vectors
-  ]);
-  hu_dot_dwim_dot_def = addDeps (with qlnp; [
-    hu_dot_dwim_dot_asdf alexandria anaphora iterate metabang-bind
-  ]);
-  ironclad = addDeps (with qlnp; [nibbles flexi-streams]);
-  ixf = addDeps (with qlnp; [
-    split-sequence md5 alexandria babel local-time cl-ppcre ieee-floats
-  ]);
-  jonathan = addDeps (with qlnp; [
-    cl-syntax cl-syntax-annot fast-io proc-parse cl-ppcre
-  ]);
-  local-time = addDeps (with qlnp; [cl-fad]);
-  lquery = addDeps (with qlnp; [array-utils form-fiddle plump clss]);
-  clss = addDeps (with qlnp; [array-utils plump]);
-  form-fiddle = addDeps (with qlnp; [documentation-utils]);
-  documentation-utils = addDeps (with qlnp; [trivial-indent]);
-  mssql = x: {
-    testSystems = [];
-  };
-  cl-postgres = addDeps (with qlnp; [cl-ppcre md5]);
-  postmodern = addDeps (with qlnp; [md5]);
+  mssql = addNativeLibs [pkgs.freetds];
 }