akkoma: 3.11.0 -> 3.12.2

This commit is contained in:
tcmal 2024-03-30 18:14:16 +00:00
parent ca1c287d5d
commit 855667eadc
2 changed files with 1295 additions and 1298 deletions

View File

@ -1,22 +1,24 @@
{ lib
, beamPackages
, fetchFromGitea, fetchFromGitHub, fetchFromGitLab
, cmake, file
, fetchFromGitea
, fetchFromGitHub
, fetchFromGitLab
, cmake
, file
, writeText
, nixosTests
, ...
}:
beamPackages.mixRelease rec {
pname = "pleroma";
version = "3.11.0";
pname = "akkoma";
version = "3.12.2";
src = fetchFromGitea {
domain = "akkoma.dev";
owner = "AkkomaGang";
repo = "akkoma";
rev = "v${version}";
hash = "sha256-cVZx3pjbmDR4SwSLz1aSTIs3SS2oz5m43RJzRttFpPs=";
hash = "sha256-eKvfuHTLmUU6Dom/GctPSbhrAAik1T/7bYY5j3YUkRo=";
};
postPatch = ''
@ -33,10 +35,37 @@ beamPackages.mixRelease rec {
mixNixDeps = import ./mix.nix {
inherit beamPackages lib;
overrides = (final: prev: {
overrides = final: prev:
let
mimeTypePatchPhase = ''
mkdir -p config
cat >> config/config.exs <<EOF
Mix.Config.config :mime, :types, %{
"application/xml" => ["xml"],
"application/xrd+xml" => ["xrd+xml"],
"application/jrd+json" => ["jrd+json"],
"application/activity+json" => ["activity+json"],
"application/ld+json" => ["activity+json"],
"image/apng" => ["apng"]
}
Mix.Config.config :mime, :extensions, %{
"activity+json" => "text/plain",
"jrd+json" => "text/plain",
"xrd+xml" => "text/plain"
}
EOF
'';
# Akkoma adds some things to the `mime` package's configuration, which requires it to be recompiled.
# However, we can't just recompile things like we would on other systems.
# Therefore, we need to add it to mime's compile-time config too, and also in every package that depends on mime, directly or indirectly.
# We take the lazy way out and just add it to every dependency - it won't make a difference in packages that don't depend on `mime`.
addMimeTypes = _: p: p.override {
patchPhase = mimeTypePatchPhase;
};
in
(lib.attrsets.mapAttrs addMimeTypes prev) // {
# mix2nix does not support git dependencies yet,
# so we need to add them manually
captcha = beamPackages.buildMix rec {
name = "captcha";
version = "0.1.0";
@ -53,7 +82,6 @@ beamPackages.mixRelease rec {
# the binary is not getting installed by default
postInstall = "mv priv/* $out/lib/erlang/lib/${name}-${version}/priv/";
};
concurrent_limiter = beamPackages.buildMix rec {
name = "concurrent_limiter";
version = "0.1.1";
@ -66,7 +94,6 @@ beamPackages.mixRelease rec {
hash = "sha256-A7ucZnXks4K+JDVY5vV2cT5KfEOUOo/OHO4rga5mGys=";
};
};
elasticsearch = beamPackages.buildMix rec {
name = "elasticsearch";
version = "1.0.1";
@ -79,33 +106,6 @@ beamPackages.mixRelease rec {
hash = "sha256-CtmQHVl+VTpemne+nxbkYGcErrgCo+t3ZBPbkFSpyF0=";
};
};
file_ex = beamPackages.buildMix rec {
name = "file_ex";
version = "0.1.0";
src = fetchFromGitea {
domain = "akkoma.dev";
owner = "AkkomaGang";
repo = "file_ex";
rev = "cc7067c7d446c2526e9ecf91d40896b088851569";
hash = "sha256-3sxfdOy0cpst4jiutoaabk72VFJ2USKiJN9ODN01Dco=";
};
};
http_signatures = beamPackages.buildMix rec {
name = "http_signatures";
version = "0.1.1";
src = fetchFromGitea {
domain = "akkoma.dev";
owner = "AkkomaGang";
repo = "http_signatures";
rev = "6640ce7d24c783ac2ef56e27d00d12e8dc85f396";
hash = "sha256-Q/IoVbM/TBgGCmx8AxiBHF2hARb0FbPml8N1HjN3CsE=";
};
};
linkify = beamPackages.buildMix rec {
name = "linkify";
version = "0.5.2";
@ -118,26 +118,9 @@ beamPackages.mixRelease rec {
hash = "sha256-e3wzlbRuyw/UB5Tb7IozX/WR1T+sIBf9C/o5Thki9vg=";
};
};
majic = beamPackages.buildMix rec {
name = "majic";
version = "1.0.0";
src = fetchFromGitea {
domain = "akkoma.dev";
owner = "AkkomaGang";
repo = "majic";
rev = "80540b36939ec83f48e76c61e5000e0fd67706f0";
hash = "sha256-OMM9aDRvbqCOBIE+iPySU8ONRn1BqHDql22rRSmdW08=";
};
beamDeps = with final; [ elixir_make mime nimble_pool plug ];
buildInputs = [ file ];
};
mfm_parser = beamPackages.buildMix rec {
name = "mfm_parser";
version = "0.1.0";
version = "0.1.1";
src = fetchFromGitea {
domain = "akkoma.dev";
@ -148,8 +131,8 @@ beamPackages.mixRelease rec {
};
beamDeps = with final; [ phoenix_view temple ];
patchPhase = mimeTypePatchPhase;
};
search_parser = beamPackages.buildMix rec {
name = "search_parser";
version = "0.1.0";
@ -163,7 +146,6 @@ beamPackages.mixRelease rec {
beamDeps = with final; [ nimble_parsec ];
};
temple = beamPackages.buildMix rec {
name = "temple";
version = "0.9.0-rc.0";
@ -178,42 +160,53 @@ beamPackages.mixRelease rec {
mixEnv = "dev";
beamDeps = with final; [ earmark_parser ex_doc makeup makeup_elixir makeup_erlang nimble_parsec ];
patchPhase = mimeTypePatchPhase;
};
# Some additional build inputs and build fixes
fast_html = prev.fast_html.override {
nativeBuildInputs = [ cmake ];
dontUseCmakeConfigure = true;
};
http_signatures = beamPackages.buildMix rec {
name = "http_signatures";
version = "0.1.2";
src = fetchFromGitea {
domain = "akkoma.dev";
owner = "AkkomaGang";
repo = "http_signatures";
rev = "6640ce7d24c783ac2ef56e27d00d12e8dc85f396";
hash = "sha256-Q/IoVbM/TBgGCmx8AxiBHF2hARb0FbPml8N1HjN3CsE=";
};
beamDeps = with final; [ credo ex_doc dialyxir temple ];
patchPhase = ''
substituteInPlace mix.exs --replace ":logger" ":logger, :public_key"
${mimeTypePatchPhase}
'';
};
majic = beamPackages.buildMix {
name = "majic";
version = "0.1.2";
src = fetchFromGitea {
domain = "akkoma.dev";
owner = "AkkomaGang";
repo = "majic";
rev = "80540b36939ec83f48e76c61e5000e0fd67706f0";
hash = "sha256-OMM9aDRvbqCOBIE+iPySU8ONRn1BqHDql22rRSmdW08=";
};
buildInputs = [ file ];
beamDeps = with final; [ nimble_pool mime plug credo dialyxir ex_doc elixir_make ];
patchPhase = mimeTypePatchPhase;
};
syslog = prev.syslog.override {
buildPlugins = with beamPackages; [ pc ];
};
mime = prev.mime.override {
patchPhase = let
cfgFile = writeText "config.exs" ''
import Config
config :mime, :types, %{
"application/xml" => ["xml"],
"application/xrd+xml" => ["xrd+xml"],
"application/jrd+json" => ["jrd+json"],
"application/activity+json" => ["activity+json"],
"application/ld+json" => ["activity+json"]
}
config :mime, :extensions, %{
"activity+json" => "application/activity+json"
}
'';
in ''
mkdir config
cp ${cfgFile} config/config.exs
'';
};
});
};
passthru = {

View File

@ -1,5 +1,8 @@
{ lib, beamPackages, overrides ? (x: y: {}) }:
{ lib
, beamPackages
, overrides ? (x: y: { })
,
}:
let
buildRebar3 = lib.makeOverridable beamPackages.buildRebar3;
buildMix = lib.makeOverridable beamPackages.buildMix;
@ -7,7 +10,8 @@ let
self = packages // (overrides self packages);
packages = with beamPackages; with self; {
packages = with beamPackages;
with self; {
argon2_elixir = buildMix rec {
name = "argon2_elixir";
version = "3.2.1";
@ -83,7 +87,7 @@ let
sha256 = "a330bfb4245239787b15005e66ae6845c9cd524a288f0d141c148b02603777a5";
};
beamDeps = [];
beamDeps = [ ];
};
cachex = buildMix rec {
@ -122,7 +126,7 @@ let
sha256 = "8d7c597c3e4a64c395980882d4bca3cebb8d74197c590dc272cfd3b6a6310578";
};
beamDeps = [];
beamDeps = [ ];
};
certifi = buildRebar3 rec {
@ -135,7 +139,7 @@ let
sha256 = "ee68d85df22e554040cdb4be100f33873ac6051387baf6a8f6ce82272340ff1c";
};
beamDeps = [];
beamDeps = [ ];
};
combine = buildMix rec {
@ -148,7 +152,7 @@ let
sha256 = "1b1dbc1790073076580d0d1d64e42eae2366583e7aecd455d1215b0d16f2451b";
};
beamDeps = [];
beamDeps = [ ];
};
comeonin = buildMix rec {
@ -161,7 +165,7 @@ let
sha256 = "796393a9e50d01999d56b7b8420ab0481a7538d0caf80919da493b4a6e51faf1";
};
beamDeps = [];
beamDeps = [ ];
};
connection = buildMix rec {
@ -174,7 +178,7 @@ let
sha256 = "722c1eb0a418fbe91ba7bd59a47e28008a189d47e37e0e7bb85585a016b2869c";
};
beamDeps = [];
beamDeps = [ ];
};
cors_plug = buildMix rec {
@ -226,7 +230,7 @@ let
sha256 = "163b73f6367a7341b33c794c4e88e7dbfe6498ac42dcd69ef44c5bc5507c8db0";
};
beamDeps = [];
beamDeps = [ ];
};
credo = buildMix rec {
@ -252,7 +256,7 @@ let
sha256 = "8df019facc5ec9603e94f7270f1ac73ddf339f56ade76a721eaa57c1493ba463";
};
beamDeps = [];
beamDeps = [ ];
};
db_connection = buildMix rec {
@ -278,7 +282,7 @@ let
sha256 = "53cfe5f497ed0e7771ae1a475575603d77425099ba5faef9394932b35020ffcc";
};
beamDeps = [];
beamDeps = [ ];
};
deep_merge = buildMix rec {
@ -291,7 +295,7 @@ let
sha256 = "ce708e5f094b9cd4e8f2be4f00d2f4250c4095be93f8cd6d018c753894885430";
};
beamDeps = [];
beamDeps = [ ];
};
dialyxir = buildMix rec {
@ -317,7 +321,7 @@ let
sha256 = "798d86db3d79964e759ddc0c077d5eb254968ed426399fbf5a62de2b5ff8910a";
};
beamDeps = [];
beamDeps = [ ];
};
earmark_parser = buildMix rec {
@ -330,7 +334,7 @@ let
sha256 = "06553a88d1f1846da9ef066b87b57c6f605552cfbe40d20bd8d59cc6bde41944";
};
beamDeps = [];
beamDeps = [ ];
};
eblurhash = buildRebar3 rec {
@ -343,7 +347,7 @@ let
sha256 = "8c20ca00904de023a835a9dcb7b7762fed32264c85a80c3cafa85288e405044c";
};
beamDeps = [];
beamDeps = [ ];
};
ecto = buildMix rec {
@ -434,7 +438,7 @@ let
sha256 = "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75";
};
beamDeps = [];
beamDeps = [ ];
};
erlsom = buildRebar3 rec {
@ -447,7 +451,7 @@ let
sha256 = "7965485494c5844dd127656ac40f141aadfa174839ec1be1074e7edf5b4239eb";
};
beamDeps = [];
beamDeps = [ ];
};
eternal = buildMix rec {
@ -460,7 +464,7 @@ let
sha256 = "2c9fe32b9c3726703ba5e1d43a1d255a4f3f2d8f8f9bc19f094c7cb1a7a9e782";
};
beamDeps = [];
beamDeps = [ ];
};
ex_aws = buildMix rec {
@ -499,7 +503,7 @@ let
sha256 = "96fd346610cc992b8f896ed26a98be82ac4efb065a0578f334a32d60a3ba9767";
};
beamDeps = [];
beamDeps = [ ];
};
ex_doc = buildMix rec {
@ -564,7 +568,7 @@ let
sha256 = "2ff7ba7a798c8c543c12550fa0e2cbc81b95d4974c65855d8d15ba7b37a1ce47";
};
beamDeps = [];
beamDeps = [ ];
};
fast_html = buildMix rec {
@ -603,7 +607,7 @@ let
sha256 = "41195edbfb562a593726eda3b3e8b103a309b733ad25f3d642ba49696bf715dc";
};
beamDeps = [];
beamDeps = [ ];
};
finch = buildMix rec {
@ -642,7 +646,7 @@ let
sha256 = "6b05289a8e9eac475f644f09c2e4ba7e19201fd002b89c28c1293e7bd16773d9";
};
beamDeps = [];
beamDeps = [ ];
};
gen_smtp = buildRebar3 rec {
@ -694,7 +698,7 @@ let
sha256 = "2c87843d5a23f5f16748ebe77969880e29809580efdaccd615cd3bed628a8c13";
};
beamDeps = [];
beamDeps = [ ];
};
html_entities = buildMix rec {
@ -707,7 +711,7 @@ let
sha256 = "c53ba390403485615623b9531e97696f076ed415e8d8058b1dbaa28181f4fdcc";
};
beamDeps = [];
beamDeps = [ ];
};
httpoison = buildMix rec {
@ -746,7 +750,7 @@ let
sha256 = "64a2d30189704ae41ca7dbdd587f5291db5d1dda1414e0774c29ffc81088c1bc";
};
beamDeps = [];
beamDeps = [ ];
};
jason = buildMix rec {
@ -785,7 +789,7 @@ let
sha256 = "6275cb75504f9c1e60eeacb771adfeee4905a9e182103aa59b53fed651ff9738";
};
beamDeps = [];
beamDeps = [ ];
};
jumper = buildMix rec {
@ -798,7 +802,7 @@ let
sha256 = "9b7782409021e01ab3c08270e26f36eb62976a38c1aa64b2eaf6348422f165e1";
};
beamDeps = [];
beamDeps = [ ];
};
mail = buildMix rec {
@ -811,7 +815,7 @@ let
sha256 = "1db701e89865c1d5fa296b2b57b1cd587587cca8d8a1a22892b35ef5a8e352a6";
};
beamDeps = [];
beamDeps = [ ];
};
makeup = buildMix rec {
@ -863,7 +867,7 @@ let
sha256 = "81344f561357dc40a8344afa53767c32669153355b626ea9fcbc8da6b3045826";
};
beamDeps = [];
beamDeps = [ ];
};
metrics = buildRebar3 rec {
@ -876,7 +880,7 @@ let
sha256 = "69b09adddc4f74a40716ae54d140f93beb0fb8978d8636eaded0c31b6f099f16";
};
beamDeps = [];
beamDeps = [ ];
};
mime = buildMix rec {
@ -889,7 +893,7 @@ let
sha256 = "da0d64a365c45bc9935cc5c8a7fc5e49a0e0f9932a761c55d6c52b142780a05c";
};
beamDeps = [];
beamDeps = [ ];
};
mimerl = buildRebar3 rec {
@ -902,7 +906,7 @@ let
sha256 = "f278585650aa581986264638ebf698f8bb19df297f66ad91b18910dfc6e19323";
};
beamDeps = [];
beamDeps = [ ];
};
mint = buildMix rec {
@ -941,7 +945,7 @@ let
sha256 = "0189b1e1de27455f2b9ae8cf88239cefd23d38de9276eb5add7159aea51731e6";
};
beamDeps = [];
beamDeps = [ ];
};
mox = buildMix rec {
@ -954,7 +958,7 @@ let
sha256 = "d44474c50be02d5b72131070281a5d3895c0e7a95c780e90bc0cfe712f633a13";
};
beamDeps = [];
beamDeps = [ ];
};
nimble_options = buildMix rec {
@ -967,7 +971,7 @@ let
sha256 = "8bbbb3941af3ca9acc7835f5655ea062111c9c27bcac53e004460dfd19008a99";
};
beamDeps = [];
beamDeps = [ ];
};
nimble_parsec = buildMix rec {
@ -980,7 +984,7 @@ let
sha256 = "9c565862810fb383e9838c1dd2d7d2c437b3d13b267414ba6af33e50d2d1cf28";
};
beamDeps = [];
beamDeps = [ ];
};
nimble_pool = buildMix rec {
@ -993,7 +997,7 @@ let
sha256 = "80be3b882d2d351882256087078e1b1952a28bf98d0a287be87e4a24a710b67a";
};
beamDeps = [];
beamDeps = [ ];
};
oban = buildMix rec {
@ -1032,7 +1036,7 @@ let
sha256 = "620a406ce75dada827b82e453c19cf06776be266f5a67cff34e1ef2cbb60e49a";
};
beamDeps = [];
beamDeps = [ ];
};
phoenix = buildMix rec {
@ -1110,7 +1114,7 @@ let
sha256 = "bba06bc1dcfd8cb086759f0edc94a8ba2bc8896d5331a1e2c2902bf8e36ee502";
};
beamDeps = [];
beamDeps = [ ];
};
phoenix_swoosh = buildMix rec {
@ -1188,7 +1192,7 @@ let
sha256 = "53695bae57cc4e54566d993eb01074e4d894b65a3766f1c43e2c61a1b0f45ea9";
};
beamDeps = [];
beamDeps = [ ];
};
plug_static_index_html = buildMix rec {
@ -1227,7 +1231,7 @@ let
sha256 = "dad79704ce5440f3d5a3681c8590b9dc25d1a561e8f5a9c995281012860901e3";
};
beamDeps = [];
beamDeps = [ ];
};
postgrex = buildMix rec {
@ -1253,7 +1257,7 @@ let
sha256 = "78fe127f5a4f5f919d6ea5a2a671827bd53eb9d37e5b4128c0ad3df99856c2e0";
};
beamDeps = [];
beamDeps = [ ];
};
ranch = buildRebar3 rec {
@ -1266,7 +1270,7 @@ let
sha256 = "49fbcfd3682fab1f5d109351b61257676da1a2fdbe295904176d5e521a2ddfe5";
};
beamDeps = [];
beamDeps = [ ];
};
recon = buildMix rec {
@ -1279,7 +1283,7 @@ let
sha256 = "e9ab01ac7fc8572e41eb59385efeb3fb0ff5bf02103816535bacaedf327d0263";
};
beamDeps = [];
beamDeps = [ ];
};
remote_ip = buildMix rec {
@ -1305,7 +1309,7 @@ let
sha256 = "9fe5d048c5b781d6305c1a3a0f40bb3dfc06f49bf40571f3d2d0c57eaa7f59a5";
};
beamDeps = [];
beamDeps = [ ];
};
ssl_verify_fun = buildRebar3 rec {
@ -1318,7 +1322,7 @@ let
sha256 = "fe4c190e8f37401d30167c8c405eda19469f34577987c76dde613e838bbc67f8";
};
beamDeps = [];
beamDeps = [ ];
};
statistex = buildMix rec {
@ -1331,7 +1335,7 @@ let
sha256 = "ff9d8bee7035028ab4742ff52fc80a2aa35cece833cf5319009b52f1b5a86c27";
};
beamDeps = [];
beamDeps = [ ];
};
sweet_xml = buildMix rec {
@ -1344,7 +1348,7 @@ let
sha256 = "e7c4b0bdbf460c928234951def54fe87edf1a170f6896675443279e2dbeba167";
};
beamDeps = [];
beamDeps = [ ];
};
swoosh = buildMix rec {
@ -1370,7 +1374,7 @@ let
sha256 = "4c6a41373c7e20587be33ef841d3de6f3beba08519809329ecc4d27b15b659e1";
};
beamDeps = [];
beamDeps = [ ];
};
table_rex = buildMix rec {
@ -1383,7 +1387,7 @@ let
sha256 = "678a23aba4d670419c23c17790f9dcd635a4a89022040df7d5d772cb21012490";
};
beamDeps = [];
beamDeps = [ ];
};
telemetry = buildRebar3 rec {
@ -1396,7 +1400,7 @@ let
sha256 = "dad9ce9d8effc621708f99eac538ef1cbe05d6a874dd741de2e689c47feafed5";
};
beamDeps = [];
beamDeps = [ ];
};
telemetry_metrics = buildMix rec {
@ -1526,7 +1530,7 @@ let
sha256 = "25eee6d67df61960cf6a794239566599b09e17e668d3700247bc498638152521";
};
beamDeps = [];
beamDeps = [ ];
};
unsafe = buildMix rec {
@ -1539,7 +1543,7 @@ let
sha256 = "b485231683c3ab01a9cd44cb4a79f152c6f3bb87358439c6f68791b85c2df675";
};
beamDeps = [];
beamDeps = [ ];
};
vex = buildMix rec {
@ -1552,7 +1556,7 @@ let
sha256 = "a0f9f3959d127ad6a6a617c3f607ecfb1bc6f3c59f9c3614a901a46d1765bafe";
};
beamDeps = [];
beamDeps = [ ];
};
web_push_encryption = buildMix rec {
@ -1578,7 +1582,7 @@ let
sha256 = "6105453d7fac22c712ad66fab1d45abdf049868f253cf719b625151460b8b453";
};
beamDeps = [];
beamDeps = [ ];
};
websock_adapter = buildMix rec {
@ -1604,8 +1608,8 @@ let
sha256 = "95f2e7072b85a3a4cc385602d42115b73ce0b74a9121d0d6dbbf557645ac53e4";
};
beamDeps = [];
beamDeps = [ ];
};
};
in self
in
self