Soap es un reemplazo de xdg-open. En vez de sufrir
la configuración y dependencias del segundo, se puede
renombrar soap copiándo el binario compilado
de ./soap a /usr/local/bin/xdg-open por ejemplo.

He aquí la configuración e instalación
en OpenBSD mediante comandos:

mkdir -p

cd ~/src

git clone git://git.2f30.org/soap

cd soap

ftp -C https://caja.texto-plano.xyz/anthk/patch/soap.patch

git apply soap.patch

make

doas make install

doas pkg_add mupdf mpv nsxiv yt-dlp

En orden: esto crea el directorio /home/usuario/src
en caso de no existir, entra a /home/usuario/src,
copia desde git el repo de soap, entra a soap,
descarga mi parche con la config, lo aplica,
lanza make compilándolo, y con doas make install
lo instala como root.

En config.h y config.def.h véis que el resultado
donde ha quedado tal que:

/* See LICENSE file for copyright and license details. */

static const Pair pairs[] = {
       /* regex                  action */
       { "\\.(jpg|png|tiff|gif)$",    "nsxiv -a %s"        },
       { "\\.(mp4|mp|mpeg|mpeg|mkv|mov|avi|rm|wmv|wma|mp3|opus|flac|au|wav|ape|ogg)$", "mpv %s" },
       { "\\.(pdf|epub|cbz)$", "mupdf -C F0C0A0 %s" },
       { "^(http://|https://)?(www\\.)?(youtube.com/watch\\?|youtu\\.be/)", "mpv %s" },
       { "^(http://|https://)", "tlynx %s" },
       { "^(gopher://|gophers://)", "sacc %s" },
       { "^gemini://", "bombadillo %s" }
};



Fuente : anthk
gopher://texto-plano.xyz:70/0/~anthk/tuto/soap.txt