aboutsummaryrefslogtreecommitdiffstats
path: root/flake.nix
diff options
context:
space:
mode:
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix77
1 files changed, 50 insertions, 27 deletions
diff --git a/flake.nix b/flake.nix
index c2a3de8..35779fe 100644
--- a/flake.nix
+++ b/flake.nix
@@ -10,7 +10,7 @@
flake-utils.lib.eachDefaultSystem (system:
with import nixpkgs { inherit system; };
let
- mkLua = { lua, luaPkgs }:
+ mkDeps = { lua, luaPkgs }:
let
luarocks-build-cpp = luaPkgs.buildLuarocksPackage rec {
pname = "luarocks-build-cpp";
@@ -169,42 +169,65 @@
};
};
in
- (lua.withPackages (p: with p; [
+ with luaPkgs; [
moonscript lpeg
luafilesystem luasocket luasystem fltk4lua losc bit32
ldoc busted discount
lua-rtmidi
- ]));
+ ];
in rec {
- packages.alive-env-lua53 = stdenv.mkDerivation {
- name = "alive-env-lua53";
- src = self;
-
- nativeBuildInputs = with pkgs; [ (mkLua { lua = lua5_3; luaPkgs = lua53Packages; }) ];
-
- shellHook = ''
- export LUA_PATH="?.lua;?/init.lua"
- '';
- };
+ packages.alive = lua53Packages.buildLuarocksPackage rec {
+ pname = "alive";
+ version = "scm-10";
- packages.alive-env-luajit = stdenv.mkDerivation {
- name = "alive-env-luajit";
- src = self;
+ src = ./.;
+ knownRockspec = ./dist/rocks/${pname}-${version}.rockspec;
- nativeBuildInputs = with pkgs; [
- (mkLua { lua = luajit; luaPkgs = luajitPackages; })
- love_11
- ];
+ propagatedBuildInputs = with pkgs; [ lua5_3 ]
+ ++ (mkDeps { lua = lua5_3; luaPkgs = lua53Packages; });
- shellHook = ''
- source <(
- LUA_PATH="?.lua;?/init.lua" luajit -e \
- "print(string.format('export LUA_PATH=%q; export LUA_CPATH=%q', package.path, package.cpath))"
- )
- '';
+ meta = {
+ homepage = "https://github.com/s-ol/lua-rtmidi";
+ description = "Lua bindings for RtMidi";
+ license = lib.licenses.bsd2;
+ };
};
+ defaultPackage = packages.alive;
+ defaultApp = { type = "app"; program = "${defaultPackage}/bin/alv-fltk"; };
+
+ devShells.lua53 =
+ let
+ lua = pkgs.lua5_3;
+ deps = (mkDeps { lua = lua; luaPkgs = pkgs.lua53Packages; });
+ in stdenv.mkDerivation {
+ name = "alive-env-lua53";
+ src = self;
+
+ propagatedBuildInputs = [ (lua.withPackages (o: deps)) ] ++ deps;
+
+ shellHook = ''
+ export LUA_PATH="?.lua;?/init.lua"
+ '';
+ };
- defaultPackage = packages.alive-env-luajit;
+ devShells.luajit =
+ let
+ lua = pkgs.lua5_3;
+ deps = (mkDeps { lua = lua; luaPkgs = pkgs.lua53Packages; });
+ in stdenv.mkDerivation {
+ name = "alive-env-luajit";
+ src = self;
+
+ propagatedBuildInputs = [ (lua.withPackages (o: deps)) love_11 ] ++ deps;
+
+ shellHook = ''
+ source <(
+ LUA_PATH="?.lua;?/init.lua" luajit -e \
+ "print(string.format('export LUA_PATH=%q; export LUA_CPATH=%q', package.path, package.cpath))"
+ )
+ '';
+ };
+ devShell = devShells.lua53;
}
);
}