Compare commits
2 Commits
4d6ccab45f
...
494be4495f
Author | SHA1 | Date | |
---|---|---|---|
494be4495f | |||
8fc680055f |
25
custom-crystal/default.nix
Normal file
25
custom-crystal/default.nix
Normal 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; })
|
16
joann-pupper-bot/default.nix
Normal file
16
joann-pupper-bot/default.nix
Normal 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 ];
|
||||
}
|
7
joann-pupper-bot/git-shards.nix
Normal file
7
joann-pupper-bot/git-shards.nix
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
telepathy = {
|
||||
url = "https://dev.danilafe.com/Crystal-Bots/telepathy";
|
||||
rev = "v0.1.2";
|
||||
sha256 = "1vis5ncfdjapxqm2q39bd0iwqrkim2wbn84xi3fydshhpkznqh88";
|
||||
};
|
||||
}
|
26
joann-pupper-bot/shards.nix
Normal file
26
joann-pupper-bot/shards.nix
Normal 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";
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user