summary refs log tree commit diff
path: root/pkgs/development/lisp-modules/lisp-packages.nix
blob: 275a6d405c89c4d729b2a6e6ae2b955778b681f4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
{stdenv, clwrapper, pkgs}:
let lispPackages = rec {
  inherit pkgs clwrapper stdenv;
  nixLib = pkgs.lib;
  callPackage = nixLib.callPackageWith lispPackages;

  buildLispPackage =  callPackage ./define-package.nix;

  esrap-peg = buildLispPackage rec {
    baseName = "esrap-peg";
    version = "git-20170320";
    description = "A wrapper around Esrap to allow generating Esrap grammars from PEG definitions";
    deps = with (pkgs.quicklispPackagesFor clwrapper); [alexandria cl-ppcre-template cl-unification esrap iterate];
    src = pkgs.fetchgit {
      url = "https://github.com/fb08af68/esrap-peg.git";
      sha256 = "15yiial7cy2nbgszqxd26qqcc6n3pw5qlrppzx0mfr3xbd9pvzby";
      rev = ''5a559b0030ecbf5e14cb070b0dc240535faa3402'';
    };
  };

  clx-xkeyboard = buildLispPackage rec {
    baseName = "clx-xkeyboard";
    testSystems = ["xkeyboard"];
    version = "git-20150523";
    description = "CLX support for X Keyboard extensions";
    deps = with (pkgs.quicklispPackagesFor clwrapper); [clx];
    # Source type: git
    src = pkgs.fetchgit {
      url = ''https://github.com/filonenko-mikhail/clx-xkeyboard'';
      sha256 = "11b34da7d354a709a24774032e85a8947be023594f8a333eaff6d4aa79f2b3db";
      rev = ''11455d36283ef31c498bd58ffebf48c0f6b86ea6'';
    };
  };

  quicklisp = buildLispPackage rec {
    baseName = "quicklisp";
    version = "2016-01-21";

    testSystems = [];

    description = "The Common Lisp package manager";
    deps = [];
    src = pkgs.fetchgit {
      url = "https://github.com/quicklisp/quicklisp-client/";
      rev = "refs/tags/version-${version}";
      sha256 = "007r1ydbhrkh6ywqgpvzp0xg0yypgrfai3n4mn16gj5w2zz013lx";
    };
    overrides = x: rec {
      inherit clwrapper;
      quicklispdist = pkgs.fetchurl {
        # Will usually be replaced with a fresh version anyway, but needs to be
        # a valid distinfo.txt
        url = "http://beta.quicklisp.org/dist/quicklisp/2016-03-18/distinfo.txt";
        sha256 = "13mvign4rsicfvg3vs3vj1qcjvj2m1aqhq93ck0sgizxfcj5167m";
      };
      buildPhase = '' true; '';
      postInstall = ''
        substituteAll ${./quicklisp.sh} "$out"/bin/quicklisp
        chmod a+x "$out"/bin/quicklisp
        cp "${quicklispdist}" "$out/lib/common-lisp/quicklisp/quicklisp-distinfo.txt"
      '';
    };
  };
};
in lispPackages