Subject: Re: [bug#44191] gnu: Add kristall

From: Nicolò Balzarotti <[email-masked]>
Date: Mon, 26 Oct 2020 19:12:39 +0100

Just linking to it would be easier.  However, the file markdownrenderer
requires access to implementation details of the struct cmark_node
(it includes the file node.h, which is not installed by cmark, and fails
with: ../src/renderers/markdownrenderer.cpp:83:23: error: invalid use of incomplete type ‘const cmark_node {aka const struct cmark_node}’)

I replaced references such as `node.as.heading.level` to
`cmark_node_get_heading_level(node)` and so on.  I could compile it (by
also adding -I/gnu/store and -lcmark to the build process), and markdown
seems to be working (tested here
gemini://tilde.team/~supernova/blog/this-is-a-test-of-using-markdown.md).

I'm going to send a patch to the author, linking to this mail exchange.

I'll let you know.

Christopher Baines <[email-masked]> writes:

> Nicolò Balzarotti <[email-masked]> writes:
>
>> Hi Chris!
>>
>> Thanks for the review.
>>
>> I tried, but:
>> 1. breeze is a different package from the ones in the repo (url is
>> https://github.com/Alexhuszagh/BreezeStyleSheets).  It does not seems to
>> be compiled, I can try to package it.
>> 2. there are files in lib/cmark that are not present in the cmark
>> distribution (thei are .h files generated by their .h.in), so I cannot
>> extract our cmark source directly
>>    - I tried keeping those files, but build fails [[failed-build]].  Not sure if it's
>>    a patched version or if it's an older one.  But I can investigate
>>    probably
>
> I think you might be overcomplicating this. kristall shouldn't be trying
> to build cmark, as it's a library, it should just be linking against
> it. Therefore, you shouldn't need to keep the .h.in files.
>
> Making kristall use cmark, rather than the copy in the kristall source
> probably requires adapting/fixing src/kristall.pro.
>
> It hopefully isn't that difficult, but I don't know what this .pro file
> is, it also looks pretty odd in parts, especially the references to
> /home/felix/... !
>
> It doesn't look like the copy of cmark in the kristall source has been
> modified much, which also raises the question of why there is a copy of
> the cmark source inside kristall?