Compare commits

...

2 Commits

4 changed files with 74 additions and 0 deletions

View File

@ -0,0 +1,25 @@
{ stdenv, lib, linkFarm, fetchgit, fetchFromGitHub }:
{ crystal,
gitShardsFile ? null,
lockFile ? null,
shardsFile ? null, ...}@args:
let
buildArgs = builtins.removeAttrs args [ "crystal" ];
githubLinks = lib.mapAttrsToList (name: value: {
inherit name;
path = fetchFromGitHub value;
}) (import shardsFile);
gitLinks = lib.mapAttrsToList (name: value: {
inherit name;
path = fetchgit { inherit (value) url rev sha256; };
}) (import gitShardsFile);
crystalLib = linkFarm "crystal-lib" (githubLinks ++ gitLinks);
configurePhase = args.configurePhase or lib.concatStringsSep "\n" ([
"runHook preConfigure"
] ++ lib.optional (lockFile != null) "ln -s ${lockFile} ./shard.lock"
++ lib.optional (shardsFile != null) "ln -s ${crystalLib} lib"
++ [ "runHook postConfigure "]);
in
crystal.buildCrystalPackage (buildArgs // { inherit configurePhase; })

View File

@ -0,0 +1,16 @@
{ stdenv, fetchgit, crystal, customCrystal, sqlite, openssl, pkg-config }:
let
url = "https://dev.danilafe.com/Crystal-Bots/joann-pupper-bot";
rev = "8d90b052a001a6101dc691a907a16de4fb0a26ee";
sha256 = "0r2xyfqj9v73y9il90f2mp2x5h79nbv4yhfsh79kn1w0li6nlx3s";
in
customCrystal {
inherit crystal;
pname = "joann-pupper-bot";
version = rev;
src = fetchgit { inherit url rev sha256; };
shardsFile = ./shards.nix;
gitShardsFile = ./git-shards.nix;
crystalBinaries.joann-pupper-bot.src = "src/joann-pupper-bot.cr";
buildInputs = [ sqlite openssl pkg-config ];
}

View File

@ -0,0 +1,7 @@
{
telepathy = {
url = "https://dev.danilafe.com/Crystal-Bots/telepathy";
rev = "v0.1.2";
sha256 = "1vis5ncfdjapxqm2q39bd0iwqrkim2wbn84xi3fydshhpkznqh88";
};
}

View File

@ -0,0 +1,26 @@
{
cron_parser = {
owner = "kostya";
repo = "cron_parser";
rev = "v0.3.0";
sha256 = "0ss5zhlvq8kcmc8j2msigpayrx0nys44j66d6smdnql06bncrm13";
};
cron_scheduler = {
owner = "kostya";
repo = "cron_scheduler";
rev = "v0.3.0";
sha256 = "15lk8x7p5nq388ll7g5al9mflr1723kj6akrj9fadqf9535i6rqc";
};
db = {
owner = "crystal-lang";
repo = "crystal-db";
rev = "v0.9.0";
sha256 = "0am5njx9g0m7lqmzs4qpgrnqq2pl9yb9h6jfrwgarx15c4jdrrzd";
};
sqlite3 = {
owner = "crystal-lang";
repo = "crystal-sqlite3";
rev = "v0.16.0";
sha256 = "1kqbp642gskffwpa98l08s3chx0d49wngjsh0ax7pbjn9kgf7sq5";
};
}