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'
openSUSE Build Service is sponsored by