add links

This commit is contained in:
zack 2024-10-21 13:57:31 -04:00
parent 3842798968
commit e2b802f968
No known key found for this signature in database
GPG key ID: 5F873416BCF59F35
54 changed files with 4984 additions and 6 deletions

727
deps.nix Normal file
View file

@ -0,0 +1,727 @@
{ 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";
};
};
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 ];
};
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";
};
beamDeps = [ castore ];
};
esbuild =
let
version = "0.8.2";
in
buildMix {
inherit version;
name = "esbuild";
src = fetchHex {
inherit version;
pkg = "esbuild";
sha256 = "558a8a08ed78eb820efbfda1de196569d8bfa9b51e8371a1934fbb31345feda7";
};
beamDeps = [ castore jason ];
};
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 ];
};
hpax =
let
version = "1.0.0";
in
buildMix {
inherit version;
name = "hpax";
src = fetchHex {
inherit version;
pkg = "hpax";
sha256 = "7f1314731d711e2ca5fdc7fd361296593fc2542570b3105595bb0bc6d0fad601";
};
};
jason =
let
version = "1.4.4";
in
buildMix {
inherit version;
name = "jason";
src = fetchHex {
inherit version;
pkg = "jason";
sha256 = "c5eb0cab91f094599f94d55bc63409236a8ec69a21a67814529e8d5f6cc90b3b";
};
beamDeps = [ decimal ];
};
mime =
let
version = "2.0.6";
in
buildMix {
inherit version;
name = "mime";
src = fetchHex {
inherit version;
pkg = "mime";
sha256 = "c9945363a6b26d747389aac3643f8e0e09d30499a138ad64fe8fd1d13d9b153e";
};
};
mint =
let
version = "1.6.2";
in
buildMix {
inherit version;
name = "mint";
src = fetchHex {
inherit version;
pkg = "mint";
sha256 = "5ee441dffc1892f1ae59127f74afe8fd82fda6587794278d924e4d90ea3d63f9";
};
beamDeps = [ castore hpax ];
};
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";
};
};
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";
};
beamDeps = [ ecto mime phoenix_live_view telemetry_metrics ];
};
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 ];
};
swoosh =
let
version = "1.17.2";
in
buildMix {
inherit version;
name = "swoosh";
src = fetchHex {
inherit version;
pkg = "swoosh";
sha256 = "de914359f0ddc134dc0d7735e28922d49d0503f31e4bd66b44e26039c2226d39";
};
beamDeps = [ bandit finch jason mime plug telemetry ];
};
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 ];
};
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