429 lines
9.1 KiB
Nix
429 lines
9.1 KiB
Nix
|
{ lib, beamPackages, overrides ? (x: y: { }) }:
|
||
|
|
||
|
let
|
||
|
buildMix = lib.makeOverridable beamPackages.buildMix;
|
||
|
buildRebar3 = lib.makeOverridable beamPackages.buildRebar3;
|
||
|
|
||
|
defaultOverrides = (final: prev:
|
||
|
|
||
|
let
|
||
|
apps = { };
|
||
|
|
||
|
workarounds = { };
|
||
|
|
||
|
applyOverrides = appName: drv:
|
||
|
let
|
||
|
allOverridesForApp = builtins.foldl'
|
||
|
(acc: workaround: acc // workarounds.${workaround} drv)
|
||
|
{ }
|
||
|
apps.${appName};
|
||
|
|
||
|
in
|
||
|
if builtins.hasAttr appName apps
|
||
|
then
|
||
|
drv.override allOverridesForApp
|
||
|
else
|
||
|
drv;
|
||
|
|
||
|
in
|
||
|
builtins.mapAttrs applyOverrides prev);
|
||
|
|
||
|
self = packages // (defaultOverrides self packages) // (overrides self packages);
|
||
|
|
||
|
packages = with beamPackages; with self; {
|
||
|
certifi =
|
||
|
let
|
||
|
version = "2.12.0";
|
||
|
in
|
||
|
buildRebar3 {
|
||
|
inherit version;
|
||
|
name = "certifi";
|
||
|
|
||
|
src = fetchHex {
|
||
|
inherit version;
|
||
|
pkg = "certifi";
|
||
|
sha256 = "ee68d85df22e554040cdb4be100f33873ac6051387baf6a8f6ce82272340ff1c";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
cowboy =
|
||
|
let
|
||
|
version = "2.12.0";
|
||
|
in
|
||
|
buildRebar3 {
|
||
|
inherit version;
|
||
|
name = "cowboy";
|
||
|
|
||
|
src = fetchHex {
|
||
|
inherit version;
|
||
|
pkg = "cowboy";
|
||
|
sha256 = "8a7abe6d183372ceb21caa2709bec928ab2b72e18a3911aa1771639bef82651e";
|
||
|
};
|
||
|
|
||
|
beamDeps = [ cowlib ranch ];
|
||
|
};
|
||
|
|
||
|
cowboy_telemetry =
|
||
|
let
|
||
|
version = "0.4.0";
|
||
|
in
|
||
|
buildRebar3 {
|
||
|
inherit version;
|
||
|
name = "cowboy_telemetry";
|
||
|
|
||
|
src = fetchHex {
|
||
|
inherit version;
|
||
|
pkg = "cowboy_telemetry";
|
||
|
sha256 = "7d98bac1ee4565d31b62d59f8823dfd8356a169e7fcbb83831b8a5397404c9de";
|
||
|
};
|
||
|
|
||
|
beamDeps = [ cowboy telemetry ];
|
||
|
};
|
||
|
|
||
|
cowlib =
|
||
|
let
|
||
|
version = "2.13.0";
|
||
|
in
|
||
|
buildRebar3 {
|
||
|
inherit version;
|
||
|
name = "cowlib";
|
||
|
|
||
|
src = fetchHex {
|
||
|
inherit version;
|
||
|
pkg = "cowlib";
|
||
|
sha256 = "e1e1284dc3fc030a64b1ad0d8382ae7e99da46c3246b815318a4b848873800a4";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
enough =
|
||
|
let
|
||
|
version = "0.1.0";
|
||
|
in
|
||
|
buildRebar3 {
|
||
|
inherit version;
|
||
|
name = "enough";
|
||
|
|
||
|
src = fetchHex {
|
||
|
inherit version;
|
||
|
pkg = "enough";
|
||
|
sha256 = "0460c7abda5f5e0ea592b12bc6976b8a5c4b96e42f332059cd396525374bf9a1";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
gen_state_machine =
|
||
|
let
|
||
|
version = "3.0.0";
|
||
|
in
|
||
|
buildMix {
|
||
|
inherit version;
|
||
|
name = "gen_state_machine";
|
||
|
|
||
|
src = fetchHex {
|
||
|
inherit version;
|
||
|
pkg = "gen_state_machine";
|
||
|
sha256 = "0a59652574bebceb7309f6b749d2a41b45fdeda8dbb4da0791e355dd19f0ed15";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
hackney =
|
||
|
let
|
||
|
version = "1.20.1";
|
||
|
in
|
||
|
buildRebar3 {
|
||
|
inherit version;
|
||
|
name = "hackney";
|
||
|
|
||
|
src = fetchHex {
|
||
|
inherit version;
|
||
|
pkg = "hackney";
|
||
|
sha256 = "fe9094e5f1a2a2c0a7d10918fee36bfec0ec2a979994cff8cfe8058cd9af38e3";
|
||
|
};
|
||
|
|
||
|
beamDeps = [ certifi idna metrics mimerl parse_trans ssl_verify_fun unicode_util_compat ];
|
||
|
};
|
||
|
|
||
|
httpoison =
|
||
|
let
|
||
|
version = "2.2.1";
|
||
|
in
|
||
|
buildMix {
|
||
|
inherit version;
|
||
|
name = "httpoison";
|
||
|
|
||
|
src = fetchHex {
|
||
|
inherit version;
|
||
|
pkg = "httpoison";
|
||
|
sha256 = "51364e6d2f429d80e14fe4b5f8e39719cacd03eb3f9a9286e61e216feac2d2df";
|
||
|
};
|
||
|
|
||
|
beamDeps = [ hackney ];
|
||
|
};
|
||
|
|
||
|
idna =
|
||
|
let
|
||
|
version = "6.1.1";
|
||
|
in
|
||
|
buildRebar3 {
|
||
|
inherit version;
|
||
|
name = "idna";
|
||
|
|
||
|
src = fetchHex {
|
||
|
inherit version;
|
||
|
pkg = "idna";
|
||
|
sha256 = "92376eb7894412ed19ac475e4a86f7b413c1b9fbb5bd16dccd57934157944cea";
|
||
|
};
|
||
|
|
||
|
beamDeps = [ unicode_util_compat ];
|
||
|
};
|
||
|
|
||
|
jason =
|
||
|
let
|
||
|
version = "1.4.3";
|
||
|
in
|
||
|
buildMix {
|
||
|
inherit version;
|
||
|
name = "jason";
|
||
|
|
||
|
src = fetchHex {
|
||
|
inherit version;
|
||
|
pkg = "jason";
|
||
|
sha256 = "9a90e868927f7c777689baa16d86f4d0e086d968db5c05d917ccff6d443e58a3";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
metrics =
|
||
|
let
|
||
|
version = "1.0.1";
|
||
|
in
|
||
|
buildRebar3 {
|
||
|
inherit version;
|
||
|
name = "metrics";
|
||
|
|
||
|
src = fetchHex {
|
||
|
inherit version;
|
||
|
pkg = "metrics";
|
||
|
sha256 = "69b09adddc4f74a40716ae54d140f93beb0fb8978d8636eaded0c31b6f099f16";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
mime =
|
||
|
let
|
||
|
version = "2.0.6";
|
||
|
in
|
||
|
buildMix {
|
||
|
inherit version;
|
||
|
name = "mime";
|
||
|
|
||
|
src = fetchHex {
|
||
|
inherit version;
|
||
|
pkg = "mime";
|
||
|
sha256 = "c9945363a6b26d747389aac3643f8e0e09d30499a138ad64fe8fd1d13d9b153e";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
mimerl =
|
||
|
let
|
||
|
version = "1.3.0";
|
||
|
in
|
||
|
buildRebar3 {
|
||
|
inherit version;
|
||
|
name = "mimerl";
|
||
|
|
||
|
src = fetchHex {
|
||
|
inherit version;
|
||
|
pkg = "mimerl";
|
||
|
sha256 = "a1e15a50d1887217de95f0b9b0793e32853f7c258a5cd227650889b38839fe9d";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
parse_trans =
|
||
|
let
|
||
|
version = "3.4.1";
|
||
|
in
|
||
|
buildRebar3 {
|
||
|
inherit version;
|
||
|
name = "parse_trans";
|
||
|
|
||
|
src = fetchHex {
|
||
|
inherit version;
|
||
|
pkg = "parse_trans";
|
||
|
sha256 = "620a406ce75dada827b82e453c19cf06776be266f5a67cff34e1ef2cbb60e49a";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
plug =
|
||
|
let
|
||
|
version = "1.16.1";
|
||
|
in
|
||
|
buildMix {
|
||
|
inherit version;
|
||
|
name = "plug";
|
||
|
|
||
|
src = fetchHex {
|
||
|
inherit version;
|
||
|
pkg = "plug";
|
||
|
sha256 = "a13ff6b9006b03d7e33874945b2755253841b238c34071ed85b0e86057f8cddc";
|
||
|
};
|
||
|
|
||
|
beamDeps = [ mime plug_crypto telemetry ];
|
||
|
};
|
||
|
|
||
|
plug_cowboy =
|
||
|
let
|
||
|
version = "2.7.1";
|
||
|
in
|
||
|
buildMix {
|
||
|
inherit version;
|
||
|
name = "plug_cowboy";
|
||
|
|
||
|
src = fetchHex {
|
||
|
inherit version;
|
||
|
pkg = "plug_cowboy";
|
||
|
sha256 = "02dbd5f9ab571b864ae39418db7811618506256f6d13b4a45037e5fe78dc5de3";
|
||
|
};
|
||
|
|
||
|
beamDeps = [ cowboy cowboy_telemetry plug ];
|
||
|
};
|
||
|
|
||
|
plug_crypto =
|
||
|
let
|
||
|
version = "2.1.0";
|
||
|
in
|
||
|
buildMix {
|
||
|
inherit version;
|
||
|
name = "plug_crypto";
|
||
|
|
||
|
src = fetchHex {
|
||
|
inherit version;
|
||
|
pkg = "plug_crypto";
|
||
|
sha256 = "131216a4b030b8f8ce0f26038bc4421ae60e4bb95c5cf5395e1421437824c4fa";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
ranch =
|
||
|
let
|
||
|
version = "1.8.0";
|
||
|
in
|
||
|
buildRebar3 {
|
||
|
inherit version;
|
||
|
name = "ranch";
|
||
|
|
||
|
src = fetchHex {
|
||
|
inherit version;
|
||
|
pkg = "ranch";
|
||
|
sha256 = "49fbcfd3682fab1f5d109351b61257676da1a2fdbe295904176d5e521a2ddfe5";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
ssl_verify_fun =
|
||
|
let
|
||
|
version = "1.1.7";
|
||
|
in
|
||
|
buildMix {
|
||
|
inherit version;
|
||
|
name = "ssl_verify_fun";
|
||
|
|
||
|
src = fetchHex {
|
||
|
inherit version;
|
||
|
pkg = "ssl_verify_fun";
|
||
|
sha256 = "fe4c190e8f37401d30167c8c405eda19469f34577987c76dde613e838bbc67f8";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
systemd =
|
||
|
let
|
||
|
version = "0.6.2";
|
||
|
in
|
||
|
buildRebar3 {
|
||
|
inherit version;
|
||
|
name = "systemd";
|
||
|
|
||
|
src = fetchHex {
|
||
|
inherit version;
|
||
|
pkg = "systemd";
|
||
|
sha256 = "5062b911800c1ab05157c7bf9a9fbe23dd24c58891c87fd12d2e3ed8fc1708b8";
|
||
|
};
|
||
|
|
||
|
beamDeps = [ enough ];
|
||
|
};
|
||
|
|
||
|
telemetry =
|
||
|
let
|
||
|
version = "1.2.1";
|
||
|
in
|
||
|
buildRebar3 {
|
||
|
inherit version;
|
||
|
name = "telemetry";
|
||
|
|
||
|
src = fetchHex {
|
||
|
inherit version;
|
||
|
pkg = "telemetry";
|
||
|
sha256 = "dad9ce9d8effc621708f99eac538ef1cbe05d6a874dd741de2e689c47feafed5";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
tortoise311 =
|
||
|
let
|
||
|
version = "0.11.7";
|
||
|
in
|
||
|
buildMix {
|
||
|
inherit version;
|
||
|
name = "tortoise311";
|
||
|
|
||
|
src = fetchHex {
|
||
|
inherit version;
|
||
|
pkg = "tortoise311";
|
||
|
sha256 = "0ef7cf940b50ab47c433323294c9a3bb2883a03e0c7cb37de3e860c0b9ba5bef";
|
||
|
};
|
||
|
|
||
|
beamDeps = [ gen_state_machine telemetry ];
|
||
|
};
|
||
|
|
||
|
typed_struct =
|
||
|
let
|
||
|
version = "0.3.0";
|
||
|
in
|
||
|
buildMix {
|
||
|
inherit version;
|
||
|
name = "typed_struct";
|
||
|
|
||
|
src = fetchHex {
|
||
|
inherit version;
|
||
|
pkg = "typed_struct";
|
||
|
sha256 = "c50bd5c3a61fe4e198a8504f939be3d3c85903b382bde4865579bc23111d1b6d";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
tz =
|
||
|
let
|
||
|
version = "0.26.5";
|
||
|
in
|
||
|
buildMix {
|
||
|
inherit version;
|
||
|
name = "tz";
|
||
|
|
||
|
src = fetchHex {
|
||
|
inherit version;
|
||
|
pkg = "tz";
|
||
|
sha256 = "c4f9392d710582c7108b6b8c635f4981120ec4b2072adbd242290fc842338183";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
unicode_util_compat =
|
||
|
let
|
||
|
version = "0.7.0";
|
||
|
in
|
||
|
buildRebar3 {
|
||
|
inherit version;
|
||
|
name = "unicode_util_compat";
|
||
|
|
||
|
src = fetchHex {
|
||
|
inherit version;
|
||
|
pkg = "unicode_util_compat";
|
||
|
sha256 = "25eee6d67df61960cf6a794239566599b09e17e668d3700247bc498638152521";
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
in
|
||
|
self
|