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.
This commit is contained in:
Cody Boone Ferguson committed 2025-11-25 02:57:36 -08:00
1 parent bd6414788a
commit 6cb22b90d4
1 file changed
+14 -4
+14 -4
View File
@@ -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