summaryrefslogtreecommitdiff
path: root/sci-visualization/labplot/files/labplot-2.9.0-discount-3.patch
blob: e59c1309888d9cf8e5b38ba8036f5e2d321ddd2f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
From 06837a859c3cc03b175241d84575f747c2a0a779 Mon Sep 17 00:00:00 2001
From: Stefan Gerlach <stefan.gerlach@uni-konstanz.de>
Date: Mon, 17 Apr 2023 23:15:19 +0200
Subject: [PATCH] support discount version 3

cherry-picked (and merged) commits from git master:
80340872e0fd3780065b847000882cd2c6faaf09
22c553af43ff2afc42a32f8b9f04c6b426f49300
---
 CMakeLists.txt                      |  4 ++++
 cmake/FindDiscount.cmake            |  9 ++++++++-
 src/backend/worksheet/TextLabel.cpp | 17 +++++++++++++++--
 3 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index ed478d024..2e28a1aff 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -493,6 +493,10 @@ IF (ENABLE_DISCOUNT)
 		TYPE OPTIONAL)
 	IF (Discount_FOUND)
 		add_definitions (-DHAVE_DISCOUNT)
+		MESSAGE (STATUS "Found Markdown Library Discount ${Discount_VERSION}")
+		IF (${Discount_VERSION} VERSION_GREATER "2.99")
+			add_definitions (-DHAVE_DISCOUNT3)
+		ENDIF ()
 	ELSE ()
 		MESSAGE (STATUS "Discount library NOT FOUND.")
 	ENDIF ()
diff --git a/cmake/FindDiscount.cmake b/cmake/FindDiscount.cmake
index 4919ad6e1..9dd348649 100644
--- a/cmake/FindDiscount.cmake
+++ b/cmake/FindDiscount.cmake
@@ -10,6 +10,11 @@
 # SPDX-FileCopyrightText: 2018 Sune Vuorela <sune@kde.org>
 # SPDX-License-Identifier: BSD-3-Clause
 
+find_package(PkgConfig QUIET)
+pkg_check_modules(PC_LIBMARKDOWN libmarkdown QUIET)
+
+set(Discount_VERSION ${PC_LIBMARKDOWN_VERSION})
+
 if (Discount_INCLUDE_DIR AND Discount_LIBRARIES)
 
   # Already in cache
@@ -19,10 +24,12 @@ else (Discount_INCLUDE_DIR AND Discount_LIBRARIES)
 
   find_library (Discount_LIBRARIES
     NAMES markdown libmarkdown
+    HINTS ${PC_LIBMARKDOWN_LIBRARY_DIRS}
   )
 
   find_path (Discount_INCLUDE_DIR
     NAMES mkdio.h
+    HINTS ${PC_LIBMARKDOWN_INCLUDE_DIRS}
   )
 
   include (FindPackageHandleStandardArgs)
@@ -30,7 +37,7 @@ else (Discount_INCLUDE_DIR AND Discount_LIBRARIES)
 
 endif (Discount_INCLUDE_DIR AND Discount_LIBRARIES)
 
-mark_as_advanced(Discount_INCLUDE_DIR Discount_LIBRARIES)
+mark_as_advanced(Discount_INCLUDE_DIR Discount_LIBRARIES Discount_VERSION)
 
 if (Discount_FOUND)
    add_library(Discount::Lib UNKNOWN IMPORTED)
diff --git a/src/backend/worksheet/TextLabel.cpp b/src/backend/worksheet/TextLabel.cpp
index 815dcb785..1c85c0e9e 100644
--- a/src/backend/worksheet/TextLabel.cpp
+++ b/src/backend/worksheet/TextLabel.cpp
@@ -576,8 +576,21 @@ void TextLabelPrivate::updateText() {
 	case TextLabel::Mode::Markdown: {
 #ifdef HAVE_DISCOUNT
 		auto mdCharArray = textWrapper.text.toUtf8();
-		MMIOT* mdHandle = mkd_string(mdCharArray.data(), mdCharArray.size()+1, 0);
-		if(!mkd_compile(mdHandle, MKD_LATEX | MKD_FENCEDCODE | MKD_GITHUBTAGS)) {
+#ifdef HAVE_DISCOUNT3
+		MMIOT* mdHandle = mkd_string(mdCharArray.data(), mdCharArray.size() + 1, nullptr);
+
+		mkd_flag_t* v3flags = mkd_flags();
+		mkd_set_flag_num(v3flags, MKD_LATEX);
+		mkd_set_flag_num(v3flags, MKD_FENCEDCODE);
+		mkd_set_flag_num(v3flags, MKD_GITHUBTAGS);
+
+		if (!mkd_compile(mdHandle, v3flags)) {
+#else
+		MMIOT* mdHandle = mkd_string(mdCharArray.data(), mdCharArray.size() + 1, 0);
+
+		unsigned int flags = MKD_LATEX | MKD_FENCEDCODE | MKD_GITHUBTAGS;
+		if (!mkd_compile(mdHandle, flags)) {
+#endif
 			DEBUG(Q_FUNC_INFO << ", Failed to compile the markdown document");
 			mkd_cleanup(mdHandle);
 			return;
-- 
2.40.0