From ef86898671e8ed060fcc257d08419351db3021f6 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Thu, 28 Oct 2021 13:18:09 +0300 Subject: Fix broken cmark-gfm-core-extensions.h --- libcmark-gfm-extensions/README-DEV | 16 +++++- .../fix-core-extensions-header.patch | 22 ++++++++ .../libcmark-gfm-extensions/extensions | 1 - .../libcmark-gfm-extensions/extensions/autolink.c | 1 + .../libcmark-gfm-extensions/extensions/autolink.h | 1 + .../extensions/cmark-gfm-core-extensions.h | 61 ++++++++++++++++++++++ .../extensions/cmark-gfm-core-extensions.h.orig | 1 + .../extensions/core-extensions.c | 1 + .../extensions/ext_scanners.c | 1 + .../extensions/ext_scanners.h | 1 + .../extensions/strikethrough.c | 1 + .../extensions/strikethrough.h | 1 + .../libcmark-gfm-extensions/extensions/table.c | 1 + .../libcmark-gfm-extensions/extensions/table.h | 1 + .../libcmark-gfm-extensions/extensions/tagfilter.c | 1 + .../libcmark-gfm-extensions/extensions/tagfilter.h | 1 + .../libcmark-gfm-extensions/extensions/tasklist.c | 1 + .../libcmark-gfm-extensions/extensions/tasklist.h | 1 + 18 files changed, 112 insertions(+), 2 deletions(-) create mode 100644 libcmark-gfm-extensions/fix-core-extensions-header.patch delete mode 120000 libcmark-gfm-extensions/libcmark-gfm-extensions/extensions create mode 120000 libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/autolink.c create mode 120000 libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/autolink.h create mode 100644 libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/cmark-gfm-core-extensions.h create mode 120000 libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/cmark-gfm-core-extensions.h.orig create mode 120000 libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/core-extensions.c create mode 120000 libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/ext_scanners.c create mode 120000 libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/ext_scanners.h create mode 120000 libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/strikethrough.c create mode 120000 libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/strikethrough.h create mode 120000 libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/table.c create mode 120000 libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/table.h create mode 120000 libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/tagfilter.c create mode 120000 libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/tagfilter.h create mode 120000 libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/tasklist.c create mode 120000 libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/tasklist.h diff --git a/libcmark-gfm-extensions/README-DEV b/libcmark-gfm-extensions/README-DEV index d350c92..b3460c2 100644 --- a/libcmark-gfm-extensions/README-DEV +++ b/libcmark-gfm-extensions/README-DEV @@ -5,7 +5,21 @@ upstream version. See ../README-DEV for general notes on cmark-gfm packaging. Symlink the required upstream files and directories into libcmark-gfm-extensions/: -$ ln -s ../../upstream/extensions libcmark-gfm-extensions +$ mkdir -p libcmark-gfm-extensions/extensions +$ pushd libcmark-gfm-extensions/extensions +$ ln -s ../../../upstream/extensions/*.{c,h} ./ + +Also patch the broken cmark-gfm-core-extensions.h header (see the reported +issue #244 for details): + +$ mv cmark-gfm-core-extensions.h cmark-gfm-core-extensions.h.orig +$ cp cmark-gfm-core-extensions.h.orig cmark-gfm-core-extensions.h +$ git apply fix-core-extensions-header.patch +$ popd + +Note that patches are produced by commands similar to the following: + +$ git diff >fix-core-extensions-header.patch Create cmark-gfm-extensions_export.h defining CMARK_GFM_EXTENSIONS_EXPORT macro. diff --git a/libcmark-gfm-extensions/fix-core-extensions-header.patch b/libcmark-gfm-extensions/fix-core-extensions-header.patch new file mode 100644 index 0000000..1400617 --- /dev/null +++ b/libcmark-gfm-extensions/fix-core-extensions-header.patch @@ -0,0 +1,22 @@ +diff --git a/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/cmark-gfm-core-extensions.h b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/cmark-gfm-core-extensions.h +index 0645915..69f1f31 100644 +--- a/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/cmark-gfm-core-extensions.h ++++ b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/cmark-gfm-core-extensions.h +@@ -7,9 +7,16 @@ extern "C" { + + #include "cmark-gfm-extension_api.h" + #include "cmark-gfm-extensions_export.h" +-#include "config.h" // for bool + #include + ++/* Fix the issue #244, including stdbool.h instead of (private) config.h. ++ * ++ * Note that here we assume that stdbool.h is available regardless if the C99 ++ * standard is specified for the C compiler or not, which is true for all the ++ * platforms/compilers that we currently support. ++ */ ++#include ++ + CMARK_GFM_EXTENSIONS_EXPORT + void cmark_gfm_core_extensions_ensure_registered(void); + diff --git a/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions deleted file mode 120000 index b42e4e2..0000000 --- a/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions +++ /dev/null @@ -1 +0,0 @@ -../../upstream/extensions \ No newline at end of file diff --git a/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/autolink.c b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/autolink.c new file mode 120000 index 0000000..b4cc9e2 --- /dev/null +++ b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/autolink.c @@ -0,0 +1 @@ +../../../upstream/extensions/autolink.c \ No newline at end of file diff --git a/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/autolink.h b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/autolink.h new file mode 120000 index 0000000..6e2825e --- /dev/null +++ b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/autolink.h @@ -0,0 +1 @@ +../../../upstream/extensions/autolink.h \ No newline at end of file diff --git a/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/cmark-gfm-core-extensions.h b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/cmark-gfm-core-extensions.h new file mode 100644 index 0000000..69f1f31 --- /dev/null +++ b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/cmark-gfm-core-extensions.h @@ -0,0 +1,61 @@ +#ifndef CMARK_GFM_CORE_EXTENSIONS_H +#define CMARK_GFM_CORE_EXTENSIONS_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "cmark-gfm-extension_api.h" +#include "cmark-gfm-extensions_export.h" +#include + +/* Fix the issue #244, including stdbool.h instead of (private) config.h. + * + * Note that here we assume that stdbool.h is available regardless if the C99 + * standard is specified for the C compiler or not, which is true for all the + * platforms/compilers that we currently support. + */ +#include + +CMARK_GFM_EXTENSIONS_EXPORT +void cmark_gfm_core_extensions_ensure_registered(void); + +CMARK_GFM_EXTENSIONS_EXPORT +uint16_t cmark_gfm_extensions_get_table_columns(cmark_node *node); + +/** Sets the number of columns for the table, returning 1 on success and 0 on error. + */ +CMARK_GFM_EXTENSIONS_EXPORT +int cmark_gfm_extensions_set_table_columns(cmark_node *node, uint16_t n_columns); + +CMARK_GFM_EXTENSIONS_EXPORT +uint8_t *cmark_gfm_extensions_get_table_alignments(cmark_node *node); + +/** Sets the alignments for the table, returning 1 on success and 0 on error. + */ +CMARK_GFM_EXTENSIONS_EXPORT +int cmark_gfm_extensions_set_table_alignments(cmark_node *node, uint16_t ncols, uint8_t *alignments); + +CMARK_GFM_EXTENSIONS_EXPORT +int cmark_gfm_extensions_get_table_row_is_header(cmark_node *node); + +/** Sets whether the node is a table header row, returning 1 on success and 0 on error. + */ +CMARK_GFM_EXTENSIONS_EXPORT +int cmark_gfm_extensions_set_table_row_is_header(cmark_node *node, int is_header); + +CMARK_GFM_EXTENSIONS_EXPORT +bool cmark_gfm_extensions_get_tasklist_item_checked(cmark_node *node); +/* For backwards compatibility */ +#define cmark_gfm_extensions_tasklist_is_checked cmark_gfm_extensions_get_tasklist_item_checked + +/** Sets whether a tasklist item is "checked" (completed), returning 1 on success and 0 on error. + */ +CMARK_GFM_EXTENSIONS_EXPORT +int cmark_gfm_extensions_set_tasklist_item_checked(cmark_node *node, bool is_checked); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/cmark-gfm-core-extensions.h.orig b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/cmark-gfm-core-extensions.h.orig new file mode 120000 index 0000000..e92ae79 --- /dev/null +++ b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/cmark-gfm-core-extensions.h.orig @@ -0,0 +1 @@ +../../../upstream/extensions/cmark-gfm-core-extensions.h \ No newline at end of file diff --git a/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/core-extensions.c b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/core-extensions.c new file mode 120000 index 0000000..fb29477 --- /dev/null +++ b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/core-extensions.c @@ -0,0 +1 @@ +../../../upstream/extensions/core-extensions.c \ No newline at end of file diff --git a/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/ext_scanners.c b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/ext_scanners.c new file mode 120000 index 0000000..3897e85 --- /dev/null +++ b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/ext_scanners.c @@ -0,0 +1 @@ +../../../upstream/extensions/ext_scanners.c \ No newline at end of file diff --git a/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/ext_scanners.h b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/ext_scanners.h new file mode 120000 index 0000000..8428501 --- /dev/null +++ b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/ext_scanners.h @@ -0,0 +1 @@ +../../../upstream/extensions/ext_scanners.h \ No newline at end of file diff --git a/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/strikethrough.c b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/strikethrough.c new file mode 120000 index 0000000..25bbeea --- /dev/null +++ b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/strikethrough.c @@ -0,0 +1 @@ +../../../upstream/extensions/strikethrough.c \ No newline at end of file diff --git a/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/strikethrough.h b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/strikethrough.h new file mode 120000 index 0000000..b4a5b91 --- /dev/null +++ b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/strikethrough.h @@ -0,0 +1 @@ +../../../upstream/extensions/strikethrough.h \ No newline at end of file diff --git a/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/table.c b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/table.c new file mode 120000 index 0000000..cf9d4dd --- /dev/null +++ b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/table.c @@ -0,0 +1 @@ +../../../upstream/extensions/table.c \ No newline at end of file diff --git a/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/table.h b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/table.h new file mode 120000 index 0000000..eb40a56 --- /dev/null +++ b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/table.h @@ -0,0 +1 @@ +../../../upstream/extensions/table.h \ No newline at end of file diff --git a/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/tagfilter.c b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/tagfilter.c new file mode 120000 index 0000000..c30d93c --- /dev/null +++ b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/tagfilter.c @@ -0,0 +1 @@ +../../../upstream/extensions/tagfilter.c \ No newline at end of file diff --git a/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/tagfilter.h b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/tagfilter.h new file mode 120000 index 0000000..3e0fc4c --- /dev/null +++ b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/tagfilter.h @@ -0,0 +1 @@ +../../../upstream/extensions/tagfilter.h \ No newline at end of file diff --git a/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/tasklist.c b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/tasklist.c new file mode 120000 index 0000000..b7a6a18 --- /dev/null +++ b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/tasklist.c @@ -0,0 +1 @@ +../../../upstream/extensions/tasklist.c \ No newline at end of file diff --git a/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/tasklist.h b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/tasklist.h new file mode 120000 index 0000000..33145a7 --- /dev/null +++ b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/tasklist.h @@ -0,0 +1 @@ +../../../upstream/extensions/tasklist.h \ No newline at end of file -- cgit v1.1