From 6cb22b90d45a9a24df3542d514575e1ec6f63211 Mon Sep 17 00:00:00 2001 From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com> Date: Tue, 25 Nov 2025 02:57:36 -0800 Subject: [PATCH] Fix bin/pandoc-wrapper to use verge(1) - #237 The script needs to use verge(1) (see https://github.com/xexyl/jparse/blob/master/verge.c) from the jparse repo (see https://github.com/xexyl/jparse/). NOTE: it is NOT recommended you install verge(1) from the jparse repo for IOCCC related things. Instead run (the first line only if you don't already have the mkiocccentry repo cloned and updated; if you have it you might wish to pull the current release): git clone https://github.com/ioccc-src/mkiocccentry.git" cd mkiocccentry && make clobber all cd jparse && sudo make install clobber This is because on a rare occasion the jparse repo can be ahead of the mkiocccentry's jparse/ directory. Tested with 'make markdown' (this is enough because it uses the pandoc-wrapper.sh and it's also what triggered the bug for @SirWumpus in NetBSD - which does not support sort -V). In theory the script should work under NetBSD now. --- bin/pandoc-wrapper.sh | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/bin/pandoc-wrapper.sh b/bin/pandoc-wrapper.sh index c67e3b2fe..e68284a6b 100755 --- a/bin/pandoc-wrapper.sh +++ b/bin/pandoc-wrapper.sh @@ -20,6 +20,8 @@ # # Copyright (c) 2023,2024 by Landon Curt Noll. All Rights Reserved. # +# .. with an important bug fix in November 2025 by Cody Boone Ferguson. +# # Permission to use, copy, modify, and distribute this software and # its documentation for any purpose and without fee is hereby granted, # provided that the above copyright, this permission notice and text @@ -143,6 +145,17 @@ if [[ $status -eq 0 ]]; then TOPDIR=$("$GIT_TOOL" rev-parse --show-toplevel) fi export TOPDIR +# +VERGE=$(type -P verge) +export VERGE +if [[ -z $VERGE ]]; then + echo "$0: FATAL: verge is not installed or not in \$PATH" 1>&2 + echo "$0: notice: to install verge:" 1>&2 + echo "$0: notice: run: git clone https://github.com/ioccc-src/mkiocccentry.git" 1>&2 + echo "$0: notice: then: cd mkiocccentry && make clobber all" 1>&2 + echo "$0: notice: then: cd jparse && sudo make install clobber" 1>&2 + exit 5 +fi PANDOC_TOOL=$(type -P pandoc) export PANDOC_TOOL if [[ -z $PANDOC_TOOL ]]; then @@ -428,9 +441,7 @@ fi # verify that the pandoc version is >= the minimum version # -FIRST_VERSION=$(printf "%s\n%s" "$PANDOC_TOOL_VERSION" "$PANDOC_MIN_VERSION" | LC_ALL=C sort -V | head -1) -export FIRST_VERSION -if [[ $FIRST_VERSION != "$PANDOC_MIN_VERSION" ]]; then +if ! "$VERGE" "$PANDOC_TOOL_VERSION" "$PANDOC_MIN_VERSION"; then echo "$0: ERROR: pandoc: $PANDOC_TOOL version: $PANDOC_TOOL_VERSION <=" \ "minimum allowed: $PANDOC_MIN_VERSION" 1>&2 echo "$0: Warning: pandoc version must be >= $PANDOC_MIN_VERSION" 1>&2 @@ -438,7 +449,6 @@ if [[ $FIRST_VERSION != "$PANDOC_MIN_VERSION" ]]; then exit 5 fi - # execute pandoc # if [[ -z $NOOP ]]; then