Subject: bug#70907: [PATCH] Render using Haunt; per dthompson's recommendation.

From: Arun Isaac <[email-masked]>
Date: Sun, 19 May 2024 03:32:21 +0100

Hi Felix,

Haunt is an end-user application, not a library. It is not a good idea
to depend on end-user applications as though they were libraries. It is
not so much a question of how big those end-user applications are,
though sometimes that may be a consideration. Imagine getting mumi to
depend on inkscape or something! Depending on end-user applications is
the last resort when all other options have been exhausted.

To describe just one problem: end-user applications such as Haunt may
bring in other guile packages that we don't need. Since guile packages
need all of these to be propagated inputs, this can cause trouble with
package collisions in profiles, or maybe even circular
dependencies. Now, Haunt doesn't pull in that many dependencies, and
it's probably fine for now. But, depending on end-user applications is
simply not good practice.

Ultimately, mumi has no real need to depend on Haunt. It is so much
easier to simply copy the relevant html.scm file from Haunt into mumi
like David suggested. Or, better still, get it into the sxml->html of
guile-lib.

About xdg-utils: I see your point about xdg-utils being a large
dependency. I completely agree. However, xdg-open is well established as
the standard way to open the user's preferred web browser and email
client. I am not fond of it, but it is what it is. If there is a way to
do this without xdg-utils, I am all ears and happy to switch.

Regards,
Arun