about summary refs log tree commit diff
path: root/nixpkgs/pkgs/servers/akkoma/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/servers/akkoma/default.nix')
-rw-r--r--nixpkgs/pkgs/servers/akkoma/default.nix87
1 files changed, 67 insertions, 20 deletions
diff --git a/nixpkgs/pkgs/servers/akkoma/default.nix b/nixpkgs/pkgs/servers/akkoma/default.nix
index fca88e6a3cdb..7aea0eaa2771 100644
--- a/nixpkgs/pkgs/servers/akkoma/default.nix
+++ b/nixpkgs/pkgs/servers/akkoma/default.nix
@@ -9,14 +9,14 @@
 
 beamPackages.mixRelease rec {
   pname = "pleroma";
-  version = "3.10.4";
+  version = "3.11.0";
 
   src = fetchFromGitea {
     domain = "akkoma.dev";
     owner = "AkkomaGang";
     repo = "akkoma";
     rev = "v${version}";
-    hash = "sha256-MPUZFcIxZ21fe3edwi+/Kt8qpwNBCh40wheC3QMqw2M=";
+    hash = "sha256-cVZx3pjbmDR4SwSLz1aSTIs3SS2oz5m43RJzRttFpPs=";
   };
 
   postPatch = ''
@@ -36,6 +36,7 @@ beamPackages.mixRelease rec {
     overrides = (final: 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";
@@ -45,13 +46,14 @@ beamPackages.mixRelease rec {
           group = "pleroma";
           owner = "elixir-libraries";
           repo = "elixir-captcha";
-          rev = "3bbfa8b5ea13accc1b1c40579a380d8e5cfd6ad2";
-          hash = "sha256-skZ0QwF46lUTfsgACMR0AR5ymY2F50BQy1AUBjWVdro=";
+          rev = "90f6ce7672f70f56708792a98d98bd05176c9176";
+          hash = "sha256-s7EuAhmCsQA/4p2NJHJSWB/DZ5hA+7EelPsUOvKr2Po=";
         };
 
         # 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";
@@ -64,6 +66,7 @@ beamPackages.mixRelease rec {
           hash = "sha256-A7ucZnXks4K+JDVY5vV2cT5KfEOUOo/OHO4rga5mGys=";
         };
       };
+
       elasticsearch = beamPackages.buildMix rec {
         name = "elasticsearch";
         version = "1.0.1";
@@ -76,6 +79,33 @@ 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";
@@ -88,20 +118,38 @@ 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.1";
+        version = "0.1.0";
 
         src = fetchFromGitea {
           domain = "akkoma.dev";
           owner = "AkkomaGang";
           repo = "mfm-parser";
-          rev = "912fba81152d4d572e457fd5427f9875b2bc3dbe";
-          hash = "sha256-n3WmERxKK8VM8jFIBAPS6GkbT7/zjqi3AjjWbjOdMzs=";
+          rev = "b21ab7754024af096f2d14247574f55f0063295b";
+          hash = "sha256-couG5jrAo0Fbk/WABd4n3vhXpDUp+9drxExKc5NM9CI=";
         };
 
         beamDeps = with final; [ phoenix_view temple ];
       };
+
       search_parser = beamPackages.buildMix rec {
         name = "search_parser";
         version = "0.1.0";
@@ -115,6 +163,7 @@ beamPackages.mixRelease rec {
 
         beamDeps = with final; [ nimble_parsec ];
       };
+
       temple = beamPackages.buildMix rec {
         name = "temple";
         version = "0.9.0-rc.0";
@@ -137,14 +186,7 @@ beamPackages.mixRelease rec {
         nativeBuildInputs = [ cmake ];
         dontUseCmakeConfigure = true;
       };
-      http_signatures = prev.http_signatures.override {
-        patchPhase = ''
-          substituteInPlace mix.exs --replace ":logger" ":logger, :public_key"
-        '';
-      };
-      majic = prev.majic.override {
-        buildInputs = [ file ];
-      };
+
       syslog = prev.syslog.override {
         buildPlugins = with beamPackages; [ pc ];
       };
@@ -152,13 +194,18 @@ beamPackages.mixRelease rec {
       mime = prev.mime.override {
         patchPhase = let
           cfgFile = writeText "config.exs" ''
-            use Mix.Config
+            import Config
+
             config :mime, :types, %{
-              "application/activity+json" => ["activity+json"],
-              "application/jrd+json" => ["jrd+json"],
-              "application/ld+json" => ["activity+json"],
               "application/xml" => ["xml"],
-              "application/xrd+xml" => ["xrd+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 ''