wtf.nein.seizethemeans/flake.nix

63 lines
1.5 KiB
Nix

{
description = "A very basic flake";
inputs = {
nixpkgs.url = github:NixOS/nixpkgs;
utils.url = github:numtide/flake-utils;
};
outputs = { self, nixpkgs, utils }: utils.lib.eachDefaultSystem(system:
let
pkgs = nixpkgs.legacyPackages.${system};
lib = pkgs.lib;
# FIXME: Lua is borked at the moment :(
lua = pkgs.lua5_3.withPackages(ps: with ps; [
readline
cjson
http
luarocks
]);
fennel = pkgs.fennel.override { lua = lua; };
gambit = pkgs.callPackage "${nixpkgs.outPath}/pkgs/development/compilers/gambit/build.nix" rec {
version = "4.9.4";
git-version = version;
src = pkgs.fetchFromGitHub {
owner = "gambit";
repo = "gambit";
rev = "3bbd8a2959670c145f73cd25740d99a6834ac787";
sha256 = "111hhqkmn9knqbyfzxxg81sshyh3p6n7ywp32vrhx1ckqdk7rcjf";
};
};
in {
devShells.default = pkgs.mkShell rec {
buildInputs = with pkgs; [
chicken
openssl
gcc
];
LD_LIBRARY_PATH = "${lib.makeLibraryPath buildInputs}";
};
packages.default = pkgs.stdenv.mkDerivation rec {
name = "seizethemeans";
src = ./.;
buildInputs = with pkgs; [
chicken
openssl
gcc
];
buildPhase = ''
chicken ./main.scm -explicit-use
gcc
'';
installPhase = ''
mkdir -p $out/bin
cp main $out/bin/seize-the-means
'';
LD_LIBRARY_PATH = "${lib.makeLibraryPath buildInputs}";
};
});
}