From 9c76e0686a017ba465a5b61ce18447a04f517dc9 Mon Sep 17 00:00:00 2001 From: Phantasm Date: Wed, 30 Sep 2026 14:42:10 +0200 Subject: [PATCH 1/3] Deps: Bump captcha version Fixes build on OpenBSD and FreeBSD --- changelog.d/captcha-ver-bump.fix | 1 + mix.exs | 2 +- mix.lock | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 changelog.d/captcha-ver-bump.fix diff --git a/changelog.d/captcha-ver-bump.fix b/changelog.d/captcha-ver-bump.fix new file mode 100644 index 000000000..8e5ea0e9c --- /dev/null +++ b/changelog.d/captcha-ver-bump.fix @@ -0,0 +1 @@ +Updated the captcha package to fix compilation failure on BSD-based systems diff --git a/mix.exs b/mix.exs index 140aafb98..3598a4f53 100644 --- a/mix.exs +++ b/mix.exs @@ -198,7 +198,7 @@ defmodule Pleroma.Mixfile do {:concurrent_limiter, "~> 0.1.1"}, {:remote_ip, "~> 1.2.0"}, {:inet_cidr, "~> 1.0"}, - {:captcha, "~> 1.0.3", hex: :pleroma_captcha}, + {:captcha, "~> 1.0.4", hex: :pleroma_captcha}, {:restarter, path: "./restarter"}, {:majic, "~> 1.2"}, {:open_api_spex, "~> 3.22"}, diff --git a/mix.lock b/mix.lock index bca6f777b..369365cdc 100644 --- a/mix.lock +++ b/mix.lock @@ -10,7 +10,7 @@ "bunt": {:hex, :bunt, "1.0.0", "081c2c665f086849e6d57900292b3a161727ab40431219529f13c4ddcf3e7a44", [:mix], [], "hexpm", "dc5f86aa08a5f6fa6b8096f0735c4e76d54ae5c9fa2c143e5a1fc7c1cd9bb6b5"}, "cachex": {:hex, :cachex, "3.6.0", "14a1bfbeee060dd9bec25a5b6f4e4691e3670ebda28c8ba2884b12fe30b36bf8", [:mix], [{:eternal, "~> 1.2", [hex: :eternal, repo: "hexpm", optional: false]}, {:jumper, "~> 1.0", [hex: :jumper, repo: "hexpm", optional: false]}, {:sleeplocks, "~> 1.1", [hex: :sleeplocks, repo: "hexpm", optional: false]}, {:unsafe, "~> 1.0", [hex: :unsafe, repo: "hexpm", optional: false]}], "hexpm", "ebf24e373883bc8e0c8d894a63bbe102ae13d918f790121f5cfe6e485cc8e2e2"}, "calendar": {:hex, :calendar, "1.0.0", "f52073a708528482ec33d0a171954ca610fe2bd28f1e871f247dc7f1565fa807", [:mix], [{:tzdata, "~> 0.1.201603 or ~> 0.5.20 or ~> 1.0", [hex: :tzdata, repo: "hexpm", optional: false]}], "hexpm", "990e9581920c82912a5ee50e62ff5ef96da6b15949a2ee4734f935fdef0f0a6f"}, - "captcha": {:hex, :pleroma_captcha, "1.0.3", "6cc1440e91a092653fe909f028cc4c5d83ea858b1439e3b9a85e446382e2b9a3", [:make, :mix], [], "hexpm", "477f62c1a845a9458c546658223295f958f98136acef89c05beb278b1b6f4a14"}, + "captcha": {:hex, :pleroma_captcha, "1.0.4", "6e28ef98660981daeb4aee5043551d921b0094ec5bdeb4daf2f01858e14e9d2d", [:make, :mix], [], "hexpm", "aee86d4da3522ef39ba814e6954c4ebe692e72664efcb8fa5819b1335999b577"}, "castore": {:hex, :castore, "1.0.15", "8aa930c890fe18b6fe0a0cff27b27d0d4d231867897bd23ea772dee561f032a3", [:mix], [], "hexpm", "96ce4c69d7d5d7a0761420ef743e2f4096253931a3ba69e5ff8ef1844fe446d3"}, "cc_precompiler": {:hex, :cc_precompiler, "0.1.11", "8c844d0b9fb98a3edea067f94f616b3f6b29b959b6b3bf25fee94ffe34364768", [:mix], [{:elixir_make, "~> 0.7", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm", "3427232caf0835f94680e5bcf082408a70b48ad68a5f5c0b02a3bea9f3a075b9"}, "certifi": {:hex, :certifi, "2.12.0", "2d1cca2ec95f59643862af91f001478c9863c2ac9cb6e2f89780bfd8de987329", [:rebar3], [], "hexpm", "ee68d85df22e554040cdb4be100f33873ac6051387baf6a8f6ce82272340ff1c"}, From 1659fd99d34ff55d51bdbdaa3645ce36cf377478 Mon Sep 17 00:00:00 2001 From: Phantasm Date: Sat, 3 Oct 2026 23:40:07 +0200 Subject: [PATCH 2/3] Docs: Add missing curl dependency for asdf --- changelog.d/fixup-new-elixir-erlang-docs.skip | 0 docs/installation/installing_newer_elixir_erlang.md | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 changelog.d/fixup-new-elixir-erlang-docs.skip diff --git a/changelog.d/fixup-new-elixir-erlang-docs.skip b/changelog.d/fixup-new-elixir-erlang-docs.skip new file mode 100644 index 000000000..e69de29bb diff --git a/docs/installation/installing_newer_elixir_erlang.md b/docs/installation/installing_newer_elixir_erlang.md index 4771f7507..0d06d2fba 100644 --- a/docs/installation/installing_newer_elixir_erlang.md +++ b/docs/installation/installing_newer_elixir_erlang.md @@ -117,7 +117,7 @@ Then follow the install and configure steps from asdf documentation and install Install dependencies: ``` -# apt install build-essential libssl-dev libncurses-dev git unzip +# apt install build-essential libssl-dev libncurses-dev git unzip curl ``` Add Erlang autotools configure options to Pleroma user's shell config (`.bashrc` for bash): From 0421e8b2e373f5a5fc40f889c18af2a7e45a02ec Mon Sep 17 00:00:00 2001 From: Phantasm Date: Sun, 4 Oct 2026 20:23:16 +0200 Subject: [PATCH 3/3] Docs New Elixir/Erlang: Clarify that mise builds Erlang on Debian --- .../installing_newer_elixir_erlang.md | 32 ++++++++++++++++--- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/docs/installation/installing_newer_elixir_erlang.md b/docs/installation/installing_newer_elixir_erlang.md index 0d06d2fba..0220996d8 100644 --- a/docs/installation/installing_newer_elixir_erlang.md +++ b/docs/installation/installing_newer_elixir_erlang.md @@ -24,14 +24,16 @@ Shell commands prepended with `#` in this page are supposed to be ran with root Choose one of the following install methods: * User level: - * mise (Erlang and Elixir install methods are built-in; downloads binaries both for Elixir and Erlang) + * mise (Erlang and Elixir install methods are built-in[^1]) * asdf (plugin-based, plugins are shells scripts; builds Erlang from source) * pkgsrc (for advanced users, harder to install and maintain; builds Elixir and Erlang from source) * System-wide: * pkgsrc (for advanced users, harder to install and maintain; builds Elixir and Erlang from source) +[^1]: On Ubuntu downloads binaries both for Elixir and Erlang. On Debian builds Erlang from source and downloads binaries for Elixir. + !!!warning - **Ignore if using mise.** + **Ignore if using mise on Ubuntu.** You are about to compile Erlang on your server. If you are planning to run Pleroma on a VPS virtual machine, make sure you have enough disk space and system resources available. At least 2GB of RAM and 8GB of extra free disk space is required to continue in this guide. @@ -44,8 +46,30 @@ Choose one of the following install methods: ## mise -To start, create the Pleroma user according to the [source install guide](./debian_based_en.md#install-pleromabe) and switch to the user using `sudo -Hu pleroma /bin/bash`. -Then follow the install steps from mise documentation and install it for the user Pleroma: [https://mise.jdx.dev/getting-started.html](https://mise.jdx.dev/getting-started.html) +To start, create the Pleroma user according to the [source install guide](./debian_based_en.md#install-pleromabe). + +### Debian-only preparation + +If you are using Ubuntu, skip to the [next section](./installing_newer_elixir_erlang.md#elixirerlang-installation). + +Install dependencies: +``` +# apt install build-essential libssl-dev libncurses-dev git unzip +``` + +Add Erlang autotools configure options to Pleroma user's shell config (`.bashrc` for bash): +```sh +export KERL_CONFIGURE_OPTIONS="--without-javac --without-odbc --without-wx --without-ssh" +``` + +### Elixir/Erlang installation + +Install curl (for the mise installer): +``` +# apt install curl +``` + +Switch to the Pleroma user using `sudo -Hu pleroma /bin/bash` and follow the install steps from mise documentation and install it for the user Pleroma: [https://mise.jdx.dev/getting-started.html](https://mise.jdx.dev/getting-started.html) Add the following to activate mise in the Pleroma user's shell configuration (`.bashrc` for bash): ```sh