default.nix (1566B)
1 { stdenv 2 , pkg-config 3 , buildPackages 4 , callPackage 5 , fetchFromGitHub 6 , fetchurl 7 , lib 8 , lua53Packages 9 , lua5_3 10 , makeWrapper 11 , writeText 12 }: 13 let 14 luaPackages = lua53Packages; 15 fennel = luaPackages.fennel; 16 optparse = callPackage ./lcmark/optparse.nix { 17 inherit (luaPackages) buildLuarocksPackage luaAtLeast luaOlder ; 18 }; 19 net-url = callPackage ./net-url.nix { 20 inherit (luaPackages) buildLuarocksPackage luaAtLeast luaOlder ; 21 }; 22 cmark-lua = callPackage ./lcmark/cmark.nix { 23 inherit (luaPackages) buildLuarocksPackage ; 24 }; 25 lcmark = callPackage ./lcmark { 26 inherit (luaPackages) buildLuarocksPackage lpeg luaOlder ; 27 inherit optparse; 28 cmark = cmark-lua; 29 }; 30 luagraphicsmagick = callPackage ./luagraphicsmagick.nix { 31 inherit (luaPackages) buildLuaPackage; 32 lua = lua5_3; 33 }; 34 lua = lua5_3.withPackages (ps: with ps; [ 35 luafilesystem 36 luaposix 37 luagraphicsmagick 38 readline 39 http 40 lcmark 41 lpeg 42 net-url 43 ]); 44 pname = "cripslock"; 45 in stdenv.mkDerivation { 46 inherit pname; 47 version = "0.1"; 48 src =./.; 49 50 buildInputs = [ 51 lua 52 fennel 53 ]; 54 nativeBuildInputs = [ 55 makeWrapper 56 ]; 57 58 postInstall = '' 59 wrapProgram $out/bin/${pname} \ 60 --set LUA_PATH "$out/lib/?.lua;$(lua -e 'print(package.path)')" \ 61 --set FENNEL_PATH "$out/lib/?.fnl" \ 62 --set FENNEL_MACRO_PATH "$out/lib/?.fnl" \ 63 --set LUA_CPATH "$(lua -e 'print(package.cpath)')" 64 ''; 65 makeFlags = [ "PREFIX=${placeholder "out"}" "NAME=${pname}" ]; 66 67 passthru = { 68 inherit lua luaPackages; 69 }; 70 71 }