zoeys.computer/deps.nix

948 lines
21 KiB
Nix
Raw Normal View History

2024-10-21 13:57:31 -04:00
{ pkgs, lib, beamPackages, overrides ? (x: y: { }) }:
let
buildMix = lib.makeOverridable beamPackages.buildMix;
buildRebar3 = lib.makeOverridable beamPackages.buildRebar3;
defaultOverrides = (final: prev:
let
apps = {
explorer = [
{
name = "rustlerPrecompiled";
toolchain = {
name = "nightly-2024-07-26";
sha256 = "sha256-5icy5hSaQy6/fUim9L2vz2GeZNC3fX1N5T2MjnkTplc=";
};
}
];
tokenizers = [
{
name = "rustlerPrecompiled";
}
];
};
elixirConfig = pkgs.writeTextDir
"config/config.exs"
''
import Config
config :explorer, Explorer.PolarsBackend.Native,
skip_compilation?: true
config :tokenizers, Tokenizers.Native,
skip_compilation?: true
'';
buildNativeDir = src: "${src}/native/${with builtins; head (attrNames (readDir "${src}/native"))}";
workarounds = {
rustlerPrecompiled = { toolchain ? null, ... }: old:
let
extendedPkgs = pkgs.extend fenixOverlay;
fenixOverlay = import
"${fetchTarball {
url = "https://github.com/nix-community/fenix/archive/43efa7a3a97f290441bd75b18defcd4f7b8df220.tar.gz";
sha256 = "sha256:1b9v45cafixpbj6iqjw3wr0yfpcrh3p11am7v0cjpjq5n8bhs8v3";
}}/overlay.nix";
nativeDir = buildNativeDir old.src;
fenix =
if toolchain == null
then extendedPkgs.fenix.stable
else extendedPkgs.fenix.fromToolchainName toolchain;
native = (extendedPkgs.makeRustPlatform {
inherit (fenix) cargo rustc;
}).buildRustPackage {
pname = "${old.packageName}-native";
version = old.version;
src = nativeDir;
cargoLock = {
lockFile = "${nativeDir}/Cargo.lock";
};
nativeBuildInputs = [ extendedPkgs.cmake ] ++ extendedPkgs.lib.lists.optional extendedPkgs.stdenv.isDarwin extendedPkgs.darwin.IOKit;
doCheck = false;
};
in
{
nativeBuildInputs = [ extendedPkgs.cargo ];
appConfigPath = "${elixirConfig}/config";
env.RUSTLER_PRECOMPILED_FORCE_BUILD_ALL = "true";
env.RUSTLER_PRECOMPILED_GLOBAL_CACHE_PATH = "unused-but-required";
preConfigure = ''
mkdir -p priv/native
for lib in ${native}/lib/*
do
ln -s "$lib" "priv/native/$(basename "$lib")"
done
'';
};
};
applyOverrides = appName: drv:
let
allOverridesForApp = builtins.foldl'
(acc: workaround: acc // (workarounds.${workaround.name} 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; {
bandit =
let
version = "1.5.7";
in
buildMix {
inherit version;
name = "bandit";
src = fetchHex {
inherit version;
pkg = "bandit";
sha256 = "f2dd92ae87d2cbea2fa9aa1652db157b6cba6c405cb44d4f6dd87abba41371cd";
};
beamDeps = [ hpax plug telemetry thousand_island websock ];
};
bcrypt_elixir =
let
version = "3.2.0";
in
buildMix {
inherit version;
name = "bcrypt_elixir";
src = fetchHex {
inherit version;
pkg = "bcrypt_elixir";
sha256 = "563e92a6c77d667b19c5f4ba17ab6d440a085696bdf4c68b9b0f5b30bc5422b8";
};
beamDeps = [ comeonin elixir_make ];
};
castore =
let
version = "1.0.9";
in
buildMix {
inherit version;
name = "castore";
src = fetchHex {
inherit version;
pkg = "castore";
sha256 = "5ea956504f1ba6f2b4eb707061d8e17870de2bee95fb59d512872c2ef06925e7";
};
};
2024-10-22 16:51:56 -04:00
certifi =
let
version = "2.12.0";
in
buildRebar3 {
inherit version;
name = "certifi";
src = fetchHex {
inherit version;
pkg = "certifi";
sha256 = "ee68d85df22e554040cdb4be100f33873ac6051387baf6a8f6ce82272340ff1c";
};
};
2024-10-21 13:57:31 -04:00
comeonin =
let
version = "5.5.0";
in
buildMix {
inherit version;
name = "comeonin";
src = fetchHex {
inherit version;
pkg = "comeonin";
sha256 = "6287fc3ba0aad34883cbe3f7949fc1d1e738e5ccdce77165bc99490aa69f47fb";
};
};
db_connection =
let
version = "2.7.0";
in
buildMix {
inherit version;
name = "db_connection";
src = fetchHex {
inherit version;
pkg = "db_connection";
sha256 = "dcf08f31b2701f857dfc787fbad78223d61a32204f217f15e881dd93e4bdd3ff";
};
beamDeps = [ telemetry ];
};
decimal =
let
version = "2.1.1";
in
buildMix {
inherit version;
name = "decimal";
src = fetchHex {
inherit version;
pkg = "decimal";
sha256 = "53cfe5f497ed0e7771ae1a475575603d77425099ba5faef9394932b35020ffcc";
};
};
dns_cluster =
let
version = "0.1.3";
in
buildMix {
inherit version;
name = "dns_cluster";
src = fetchHex {
inherit version;
pkg = "dns_cluster";
sha256 = "46cb7c4a1b3e52c7ad4cbe33ca5079fbde4840dedeafca2baf77996c2da1bc33";
};
};
ecto =
let
version = "3.12.4";
in
buildMix {
inherit version;
name = "ecto";
src = fetchHex {
inherit version;
pkg = "ecto";
sha256 = "ef04e4101688a67d061e1b10d7bc1fbf00d1d13c17eef08b71d070ff9188f747";
};
beamDeps = [ decimal jason telemetry ];
};
2024-10-21 19:20:35 -04:00
ecto_psql_extras =
let
version = "0.8.2";
in
buildMix {
inherit version;
name = "ecto_psql_extras";
src = fetchHex {
inherit version;
pkg = "ecto_psql_extras";
sha256 = "6149c1c4a5ba6602a76cb09ee7a269eb60dab9694a1dbbb797f032555212de75";
};
beamDeps = [ ecto_sql postgrex table_rex ];
};
2024-10-21 13:57:31 -04:00
ecto_sql =
let
version = "3.12.1";
in
buildMix {
inherit version;
name = "ecto_sql";
src = fetchHex {
inherit version;
pkg = "ecto_sql";
sha256 = "aff5b958a899762c5f09028c847569f7dfb9cc9d63bdb8133bff8a5546de6bf5";
};
beamDeps = [ db_connection ecto postgrex telemetry ];
};
elixir_make =
let
version = "0.8.4";
in
buildMix {
inherit version;
name = "elixir_make";
src = fetchHex {
inherit version;
pkg = "elixir_make";
sha256 = "6e7f1d619b5f61dfabd0a20aa268e575572b542ac31723293a4c1a567d5ef040";
};
2024-10-22 16:51:56 -04:00
beamDeps = [ castore certifi ];
2024-10-21 13:57:31 -04:00
};
esbuild =
let
version = "0.8.2";
in
buildMix {
inherit version;
name = "esbuild";
src = fetchHex {
inherit version;
pkg = "esbuild";
sha256 = "558a8a08ed78eb820efbfda1de196569d8bfa9b51e8371a1934fbb31345feda7";
};
beamDeps = [ castore jason ];
};
2024-10-22 16:51:56 -04:00
ex_aws =
let
version = "2.5.6";
in
buildMix {
inherit version;
name = "ex_aws";
src = fetchHex {
inherit version;
pkg = "ex_aws";
sha256 = "c69eec59e31fdd89d0beeb1d97e16518dd1b23ad95b3d5c9f1dcfec23d97f960";
};
beamDeps = [ hackney jason mime sweet_xml telemetry ];
};
ex_aws_s3 =
let
version = "2.5.4";
in
buildMix {
inherit version;
name = "ex_aws_s3";
src = fetchHex {
inherit version;
pkg = "ex_aws_s3";
sha256 = "c06e7f68b33f7c0acba1361dbd951c79661a28f85aa2e0582990fccca4425355";
};
beamDeps = [ ex_aws sweet_xml ];
};
2024-10-21 13:57:31 -04:00
expo =
let
version = "1.1.0";
in
buildMix {
inherit version;
name = "expo";
src = fetchHex {
inherit version;
pkg = "expo";
sha256 = "fbadf93f4700fb44c331362177bdca9eeb8097e8b0ef525c9cc501cb9917c960";
};
};
finch =
let
version = "0.19.0";
in
buildMix {
inherit version;
name = "finch";
src = fetchHex {
inherit version;
pkg = "finch";
sha256 = "fc5324ce209125d1e2fa0fcd2634601c52a787aff1cd33ee833664a5af4ea2b6";
};
beamDeps = [ mime mint nimble_options nimble_pool telemetry ];
};
gettext =
let
version = "0.26.1";
in
buildMix {
inherit version;
name = "gettext";
src = fetchHex {
inherit version;
pkg = "gettext";
sha256 = "01ce56f188b9dc28780a52783d6529ad2bc7124f9744e571e1ee4ea88bf08734";
};
beamDeps = [ expo ];
};
2024-10-22 16:51:56 -04:00
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 ];
};
2024-10-21 13:57:31 -04:00
hpax =
let
version = "1.0.0";
in
buildMix {
inherit version;
name = "hpax";
src = fetchHex {
inherit version;
pkg = "hpax";
sha256 = "7f1314731d711e2ca5fdc7fd361296593fc2542570b3105595bb0bc6d0fad601";
};
};
2024-10-22 16:51:56 -04:00
idna =
let
version = "6.1.1";
in
buildRebar3 {
inherit version;
name = "idna";
src = fetchHex {
inherit version;
pkg = "idna";
sha256 = "92376eb7894412ed19ac475e4a86f7b413c1b9fbb5bd16dccd57934157944cea";
};
beamDeps = [ unicode_util_compat ];
};
2024-10-21 13:57:31 -04:00
jason =
let
version = "1.4.4";
in
buildMix {
inherit version;
name = "jason";
src = fetchHex {
inherit version;
pkg = "jason";
sha256 = "c5eb0cab91f094599f94d55bc63409236a8ec69a21a67814529e8d5f6cc90b3b";
};
beamDeps = [ decimal ];
};
2024-10-22 16:51:56 -04:00
metrics =
let
version = "1.0.1";
in
buildRebar3 {
inherit version;
name = "metrics";
src = fetchHex {
inherit version;
pkg = "metrics";
sha256 = "69b09adddc4f74a40716ae54d140f93beb0fb8978d8636eaded0c31b6f099f16";
};
};
2024-10-21 13:57:31 -04:00
mime =
let
version = "2.0.6";
in
buildMix {
inherit version;
name = "mime";
src = fetchHex {
inherit version;
pkg = "mime";
sha256 = "c9945363a6b26d747389aac3643f8e0e09d30499a138ad64fe8fd1d13d9b153e";
};
};
2024-10-22 16:51:56 -04:00
mimerl =
let
version = "1.3.0";
in
buildRebar3 {
inherit version;
name = "mimerl";
src = fetchHex {
inherit version;
pkg = "mimerl";
sha256 = "a1e15a50d1887217de95f0b9b0793e32853f7c258a5cd227650889b38839fe9d";
};
};
2024-10-21 13:57:31 -04:00
mint =
let
version = "1.6.2";
in
buildMix {
inherit version;
name = "mint";
src = fetchHex {
inherit version;
pkg = "mint";
sha256 = "5ee441dffc1892f1ae59127f74afe8fd82fda6587794278d924e4d90ea3d63f9";
};
beamDeps = [ castore hpax ];
};
2024-10-22 16:51:56 -04:00
nanoid =
let
version = "2.1.0";
in
buildMix {
inherit version;
name = "nanoid";
src = fetchHex {
inherit version;
pkg = "nanoid";
sha256 = "ebc7a342d02d213534a7f93a091d569b9fea7f26fcd3a638dc655060fc1f76ac";
};
};
2024-10-21 13:57:31 -04:00
nimble_options =
let
version = "1.1.1";
in
buildMix {
inherit version;
name = "nimble_options";
src = fetchHex {
inherit version;
pkg = "nimble_options";
sha256 = "821b2470ca9442c4b6984882fe9bb0389371b8ddec4d45a9504f00a66f650b44";
};
};
nimble_pool =
let
version = "1.1.0";
in
buildMix {
inherit version;
name = "nimble_pool";
src = fetchHex {
inherit version;
pkg = "nimble_pool";
sha256 = "af2e4e6b34197db81f7aad230c1118eac993acc0dae6bc83bac0126d4ae0813a";
};
};
2024-10-22 16:51:56 -04:00
parse_trans =
let
version = "3.4.1";
in
buildRebar3 {
inherit version;
name = "parse_trans";
src = fetchHex {
inherit version;
pkg = "parse_trans";
sha256 = "620a406ce75dada827b82e453c19cf06776be266f5a67cff34e1ef2cbb60e49a";
};
};
2024-10-21 13:57:31 -04:00
phoenix =
let
version = "1.7.14";
in
buildMix {
inherit version;
name = "phoenix";
src = fetchHex {
inherit version;
pkg = "phoenix";
sha256 = "c7859bc56cc5dfef19ecfc240775dae358cbaa530231118a9e014df392ace61a";
};
beamDeps = [ castore jason phoenix_pubsub phoenix_template plug plug_crypto telemetry websock_adapter ];
};
phoenix_ecto =
let
version = "4.6.2";
in
buildMix {
inherit version;
name = "phoenix_ecto";
src = fetchHex {
inherit version;
pkg = "phoenix_ecto";
sha256 = "3f94d025f59de86be00f5f8c5dd7b5965a3298458d21ab1c328488be3b5fcd59";
};
beamDeps = [ ecto phoenix_html plug postgrex ];
};
phoenix_html =
let
version = "4.1.1";
in
buildMix {
inherit version;
name = "phoenix_html";
src = fetchHex {
inherit version;
pkg = "phoenix_html";
sha256 = "f2f2df5a72bc9a2f510b21497fd7d2b86d932ec0598f0210fed4114adc546c6f";
};
};
phoenix_live_dashboard =
let
version = "0.8.4";
in
buildMix {
inherit version;
name = "phoenix_live_dashboard";
src = fetchHex {
inherit version;
pkg = "phoenix_live_dashboard";
sha256 = "2984aae96994fbc5c61795a73b8fb58153b41ff934019cfb522343d2d3817d59";
};
2024-10-21 19:20:35 -04:00
beamDeps = [ ecto ecto_psql_extras mime phoenix_live_view telemetry_metrics ];
2024-10-21 13:57:31 -04:00
};
phoenix_live_view =
let
version = "1.0.0-rc.7";
in
buildMix {
inherit version;
name = "phoenix_live_view";
src = fetchHex {
inherit version;
pkg = "phoenix_live_view";
sha256 = "b82a4575f6f3eb5b97922ec6874b0c52b3ca0cc5dcb4b14ddc478cbfa135dd01";
};
beamDeps = [ jason phoenix phoenix_html phoenix_template plug telemetry ];
};
phoenix_pubsub =
let
version = "2.1.3";
in
buildMix {
inherit version;
name = "phoenix_pubsub";
src = fetchHex {
inherit version;
pkg = "phoenix_pubsub";
sha256 = "bba06bc1dcfd8cb086759f0edc94a8ba2bc8896d5331a1e2c2902bf8e36ee502";
};
};
phoenix_template =
let
version = "1.0.4";
in
buildMix {
inherit version;
name = "phoenix_template";
src = fetchHex {
inherit version;
pkg = "phoenix_template";
sha256 = "2c0c81f0e5c6753faf5cca2f229c9709919aba34fab866d3bc05060c9c444206";
};
beamDeps = [ phoenix_html ];
};
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_crypto =
let
version = "2.1.0";
in
buildMix {
inherit version;
name = "plug_crypto";
src = fetchHex {
inherit version;
pkg = "plug_crypto";
sha256 = "131216a4b030b8f8ce0f26038bc4421ae60e4bb95c5cf5395e1421437824c4fa";
};
};
postgrex =
let
version = "0.19.1";
in
buildMix {
inherit version;
name = "postgrex";
src = fetchHex {
inherit version;
pkg = "postgrex";
sha256 = "8bac7885a18f381e091ec6caf41bda7bb8c77912bb0e9285212829afe5d8a8f8";
};
beamDeps = [ db_connection decimal jason ];
};
2024-10-22 16:51:56 -04:00
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";
};
};
sweet_xml =
let
version = "0.7.4";
in
buildMix {
inherit version;
name = "sweet_xml";
src = fetchHex {
inherit version;
pkg = "sweet_xml";
sha256 = "e7c4b0bdbf460c928234951def54fe87edf1a170f6896675443279e2dbeba167";
};
};
2024-10-21 13:57:31 -04:00
swoosh =
let
version = "1.17.2";
in
buildMix {
inherit version;
name = "swoosh";
src = fetchHex {
inherit version;
pkg = "swoosh";
sha256 = "de914359f0ddc134dc0d7735e28922d49d0503f31e4bd66b44e26039c2226d39";
};
2024-10-22 16:51:56 -04:00
beamDeps = [ bandit ex_aws finch hackney jason mime plug telemetry ];
2024-10-21 13:57:31 -04:00
};
2024-10-21 19:20:35 -04:00
table_rex =
let
version = "4.0.0";
in
buildMix {
inherit version;
name = "table_rex";
src = fetchHex {
inherit version;
pkg = "table_rex";
sha256 = "c35c4d5612ca49ebb0344ea10387da4d2afe278387d4019e4d8111e815df8f55";
};
};
2024-10-21 13:57:31 -04:00
tailwind =
let
version = "0.2.4";
in
buildMix {
inherit version;
name = "tailwind";
src = fetchHex {
inherit version;
pkg = "tailwind";
sha256 = "c6e4a82b8727bab593700c998a4d98cf3d8025678bfde059aed71d0000c3e463";
};
beamDeps = [ castore ];
};
telemetry =
let
version = "1.3.0";
in
buildRebar3 {
inherit version;
name = "telemetry";
src = fetchHex {
inherit version;
pkg = "telemetry";
sha256 = "7015fc8919dbe63764f4b4b87a95b7c0996bd539e0d499be6ec9d7f3875b79e6";
};
};
telemetry_metrics =
let
version = "1.0.0";
in
buildMix {
inherit version;
name = "telemetry_metrics";
src = fetchHex {
inherit version;
pkg = "telemetry_metrics";
sha256 = "f23713b3847286a534e005126d4c959ebcca68ae9582118ce436b521d1d47d5d";
};
beamDeps = [ telemetry ];
};
telemetry_poller =
let
version = "1.1.0";
in
buildRebar3 {
inherit version;
name = "telemetry_poller";
src = fetchHex {
inherit version;
pkg = "telemetry_poller";
sha256 = "9eb9d9cbfd81cbd7cdd24682f8711b6e2b691289a0de6826e58452f28c103c8f";
};
beamDeps = [ telemetry ];
};
thousand_island =
let
version = "1.3.5";
in
buildMix {
inherit version;
name = "thousand_island";
src = fetchHex {
inherit version;
pkg = "thousand_island";
sha256 = "2be6954916fdfe4756af3239fb6b6d75d0b8063b5df03ba76fd8a4c87849e180";
};
beamDeps = [ telemetry ];
};
2024-10-22 16:51:56 -04:00
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";
};
};
2024-10-21 13:57:31 -04:00
websock =
let
version = "0.5.3";
in
buildMix {
inherit version;
name = "websock";
src = fetchHex {
inherit version;
pkg = "websock";
sha256 = "6105453d7fac22c712ad66fab1d45abdf049868f253cf719b625151460b8b453";
};
};
websock_adapter =
let
version = "0.5.7";
in
buildMix {
inherit version;
name = "websock_adapter";
src = fetchHex {
inherit version;
pkg = "websock_adapter";
sha256 = "d0f478ee64deddfec64b800673fd6e0c8888b079d9f3444dd96d2a98383bdbd1";
};
beamDeps = [ bandit plug websock ];
};
};
in
self