aboutsummaryrefslogtreecommitdiffstats
path: root/shell.nix
blob: 71a8f4676df9fed123cf348ed074d7ac0acabf87 (plain)
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
{ pkgs ? import <nixpkgs> {}
}:

let

  luarocks-build-cpp = pkgs.lua53Packages.buildLuarocksPackage rec {
    pname = "luarocks-build-cpp";
    version = "0.2.0-1";

    knownRockspec = (pkgs.fetchurl {
      url    = "mirror://luarocks//${pname}-${version}.rockspec";
      sha256 = "AzDZV9u6V71YNJFBfj3cR1COjFFWhGmsJkGsUMErSZs=";
    }).outPath;

    src = pkgs.fetchFromGitHub {
      owner = "osch";
      repo = pname;
      rev = "v0.2.0";
      sha256 = "PamppWdV3cQMDK+t2V09/cNRskGuRNeuyvUODmopLaQ=";
    };
    propagatedBuildInputs = [ pkgs.lua5_3 ];

    meta = with pkgs.stdenv.lib; {
      homepage = "https://github.com/siffiejoe/lua-fltk4lua/";
      description = "Lua binding to FLTK, the Fast Light ToolKit";
      license.fullName = "MIT";
    };
  };

  luarocks-fetch-gitrec = pkgs.lua53Packages.buildLuarocksPackage rec {
    pname = "luarocks-fetch-gitrec";
    version = "0.2-2";

    src = pkgs.fetchurl {
      url    = "mirror://luarocks//${pname}-${version}.src.rock";
      sha256 = "Dp3bKIG4swrD4+1NNtRTgyj68Di2cSUlh1r7Z2Rkzn0=";
    };
    propagatedBuildInputs = [ pkgs.lua5_3 pkgs.git ];

    meta = with pkgs.stdenv.lib; {
      homepage = "https://github.com/siffiejoe/lua-fltk4lua/";
      description = "Lua binding to FLTK, the Fast Light ToolKit";
      license.fullName = "MIT";
    };
  };

  fltk4lua = pkgs.lua53Packages.buildLuarocksPackage rec {
    pname = "fltk4lua";
    version = "0.2-1";

    src = pkgs.fetchurl {
      url    = "mirror://luarocks//${pname}-${version}.src.rock";
      sha256 = "fD31FruqVriMecFcvSV4W7JRia38+bg7j3T5k5pFZec=";
    };
    buildInputs = with pkgs; [ pkgs.fltk libjpeg ];
    propagatedBuildInputs = [ pkgs.lua5_3 luarocks-build-cpp luarocks-fetch-gitrec ];

    meta = with pkgs.stdenv.lib; {
      homepage = "https://github.com/siffiejoe/lua-fltk4lua/";
      description = "Lua binding to FLTK, the Fast Light ToolKit";
      license.fullName = "MIT";
    };
  };

  discount = pkgs.lua53Packages.buildLuarocksPackage {
    pname = "discount";
    version = "0.4-1";

    knownRockspec = (pkgs.fetchurl {
      url    = https://luarocks.org/discount-0.4-1.rockspec;
      sha256 = "0mc2mwkprf8li2v91vga77rwi0xhv989nxshi66z2d45lbl1dcpd";
    }).outPath;

    src = pkgs.fetchurl {
      url    = https://craigbarnes.gitlab.io/dist/lua-discount/lua-discount-0.4.tar.gz;
      sha256 = "1bfyrxjr26gbahawdynlbp48ma01gyd3b6xbljvxb2aavvfywc9m";
    };

    buildInputs = [ pkgs.discount ];
    propagatedBuildInputs = [ pkgs.lua5_3 ];

    meta = with pkgs.stdenv.lib; {
      homepage = "https://github.com/craigbarnes/lua-discount";
      description = "Lua bindings for the Discount Markdown library";
      license.fullName = "ISC";
    };
  };

  ldoc = pkgs.lua53Packages.buildLuarocksPackage rec {
    pname = "ldoc";
    version = "scm-2";

    knownRockspec = (pkgs.fetchurl {
      url    = "mirror://luarocks//${pname}-${version}.rockspec";
      sha256 = "PHQhpQPfmlPhwIXoce5WZ+eoARmSecy1ac7Bfu4zg38=";
    }).outPath;

    src = pkgs.fetchFromGitHub {
      owner = "s-ol";
      repo = "LDoc";
      rev = "moonscript";
      sha256 = "3jieGp9++cWtLMKccP+xqrtdCiNG/9BYZlHmH1l8XV8=";
    };
    propagatedBuildInputs = with pkgs.lua53Packages; [
      pkgs.lua5_3 penlight markdown
    ];

    meta = with pkgs.stdenv.lib; {
      homepage = "https://github.com/siffiejoe/lua-fltk4lua/";
      description = "Lua binding to FLTK, the Fast Light ToolKit";
      license.fullName = "MIT";
    };
  };
  
in pkgs.mkShell {
  name = "alv-env";
  buildInputs = with pkgs; [
    (lua5_3.withPackages (p: with p; [
      moonscript lpeg
      luafilesystem luasocket luasystem fltk4lua bit32
      ldoc busted discount
    ]))
  ];
  LUA_PATH = "?.lua;?/init.lua";
}