File 0002-handle-lowdown-1.4-API-change.patch of Package nix
From 212e6c10d1e7e48539dbd73c24359994e2824963 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marcus=20R=C3=BCckert?= <darix@nordisch.org>
Date: Sun, 29 Dec 2024 19:45:24 +0100
Subject: [PATCH 2/3] handle lowdown 1.4 API change
---
src/libcmd/markdown.cc | 12 ++++++++++++
src/libcmd/meson.build | 4 ++++
2 files changed, 16 insertions(+)
Index: nix-2.24.11/src/libcmd/markdown.cc
===================================================================
--- nix-2.24.11.orig/src/libcmd/markdown.cc
+++ nix-2.24.11/src/libcmd/markdown.cc
@@ -8,6 +8,7 @@
# include <sys/queue.h>
# include <lowdown.h>
#endif
+#define HAVE_LOWDOWN_1_4 1
namespace nix {
@@ -16,13 +17,25 @@ static std::string doRenderMarkdownToTer
{
int windowWidth = getWindowSize().second;
+#if HAVE_LOWDOWN_1_4
+ struct lowdown_opts_term opts_term {
+ .cols = (size_t) std::max(windowWidth - 5, 60),
+ .hmargin = 0,
+ .vmargin = 0,
+ };
+#endif
struct lowdown_opts opts
{
.type = LOWDOWN_TERM,
+#if HAVE_LOWDOWN_1_4
+ .term = opts_term,
+#endif
.maxdepth = 20,
+#if !HAVE_LOWDOWN_1_4
.cols = (size_t) std::max(windowWidth - 5, 60),
.hmargin = 0,
.vmargin = 0,
+#endif
.feat = LOWDOWN_COMMONMARK | LOWDOWN_FENCED | LOWDOWN_DEFLIST | LOWDOWN_TABLES,
.oflags = LOWDOWN_TERM_NOLINK,
};
Index: nix-2.24.11/src/libcmd/meson.build
===================================================================
--- nix-2.24.11.orig/src/libcmd/meson.build
+++ nix-2.24.11/src/libcmd/meson.build
@@ -38,6 +38,10 @@ deps_public += nlohmann_json
lowdown = dependency('lowdown', version : '>= 0.9.0', required : get_option('markdown'))
deps_private += lowdown
configdata.set('HAVE_LOWDOWN', lowdown.found().to_int())
+# The API changed slightly around terminal initialization.
+if lowdown.version().version_compare('>= 1.4')
+ configdata.set('HAVE_LOWDOWN_1_4', lowdown.found().to_int())
+endif
readline_flavor = get_option('readline-flavor')
if readline_flavor == 'editline'