pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/textproc/discount



Module Name:    pkgsrc
Committed By:   schmonz
Date:           Thu Mar  8 18:17:30 UTC 2018

Modified Files:
        pkgsrc/textproc/discount: Makefile PLIST distinfo

Log Message:
Update to 2.2.3a. From the changelog:

2.2.3a:

2.2.3 has a configuration glitch (not properly testing for the
existance of S_ISSOCK, et seq) which 2.2.3a corrects.   I also pulled
the plug on the single use of `alloca()` in `theme.c` (Windows MinGW
doesn't support it properly(?) and in this one case I'm better off
just `malloc()`ing the offending thing and letting it be garbage
collected when the program finishes.)

2.2.3:

I turn around and blink, and suddenly 13 months have done by while
I slowly tested various beta versions of 2.2.3, and now it's 2018
and a small collection of cosmetic, portability, and build tweaks,
plus some and actually bad bugs have been cleaned up:

1. Have `tools/branch` be a no-op if there's no git
   that I can use to check for my SCCS status.
2. Add user-contributed cmake support
3. check for non-null T(link) in the safelink function; rename
   paranoia.t to safelink.t, add a couple more tests for safelinks
4. tweak the safelink detection code to allow more types of url fragments
5. when finding the installer, check that -s works (doesn't work on Minix 3?)
6. Correct makepage & theme to use the new set_flag() return scheme
   (0==success, !0==pointer to bogus flag)
7. if an unknown flag was in the middle of a comma-delimited flag string
   (like -flatex,bogus,footnote), the markdown program would incorrectly
   report the first flag as unknown (because set_flag returned 0 on
   error, 1 on success and the strtok() of the flag string had already
   replaced the commas up to that point with nulls.)
   Change it so that set_flag returns null on successful processing and
   a pointer to the offending flag on an unknown one.
8. Tweak the install rule to install a GNU-style .pc file iff
   @MK_PKGCONFIG@ is not defined as #
9. Hand-resolve a conflict in the msvc Makefile
10. Add in paranoid list splitting [EXPLICITLIST] (the default behavior
    many many versions ago before I realized it wasn't the standard)
    (and take the last of the 32-bit flag mask for it) between adjacent
    ordered and unordered lists.
11. Create a utility function [`notspecial()`] for theme & mkd2html --
    check a filename to see if it's a special file that doesn't need to
    be deleted or to have a .html suffix added to it. It only works on
    machines that have a stat() system call + the S_ISFIFO, S_ISCHR, and
    S_ISSOCK macros, otherwise it thinks that nothing is special.
12. Add a README for the utilities in the tools subdirectory
13. Add the git branch name into the version string if we're not on the
    master branch.
14. Add support for NMAKE and Visual C++ toolset.
    (courtesy of Martin Hofmann (tin-pot) fork of Discount).
15. Add a 'dirty' flag to the Document structure & set it whenever a
    callback changes (github issue #136) so that the next mkd_compile
    will regenerate the document.
16. Tweak superscript handling to be able to superscript something wrapped in html
17. Tweak the `show_flags()` function so that if it's called verbosely
    it will show synonyms for named flags. (Calling it verbosely is
    done by the `V` option, which is overloaded for verbosity when
    listing flags.)
18. Process html blocks in compile (as well as in compile_document();
    `compile_document()` needs to handle `<style>` blocks and
    `compile()` needs to handle html blocks that are nested inside
    blockquotes, tables, lists, &tc.
19. Add --h1-title as an option to configure.sh;  this enables code that uses
    the first h1 in a document as the document title (in mkd2html & theme)
20. add `gethopt()` -- a q&d getopt clone that
    accepts both full-word & single character options -- instead of doing
    kludgy bespoke argument parsing in mkd2html & theme.

2.2.2:

A few months worth of bugfixes, mainly for annoying bugs but one
for a serious one:

*   In `mkd_line()` I was doing a sneaky hack to take the rendered text
    out of the MMIOT it was in which was fine if I was building discount
    w/o `--with-amalloc`, but horribly wrong `--with-amalloc`; the return
    from `mkd_line()` is a freeable string, so my sneak (I was pulling
    the contents of the rendered string out, then zeroing the pointers
    in the MMIOT;  if amalloc was active, the rendered string was in the
    middle of a allocated block which could not be freed (and would cause
    core dumps on some systems.  Kludges _always_ come back to bite you
    in the ass)) was terribly terribly wrong.
*   Redo toc anchor generation to reduce namespace collisions (by encoding
    out of namespace characters to -XX- hex sequences (except space, which
    encodes to just -) in html4, %XX in html5 (formerly urlencodedanchor)).
*   Add html5anchor as a synonym for urlencodedanchor (urlencoded is
    depreciated, but will stick around like an unwelcome guest until
    the next major release) now that I'm doing html5 encoding there.
*   When generating a TOC, don't anchor-encode the human-readable
    contents of the links .
*   "quote" "everything" "when" "I" "generate" "librarian.sh"
*   Horrifying kludge to deal with destination directories with
    spaces in them;
    1. quote filename arguments to AC_SUB (via the __ac_quote builtin), and
    2. instead of using the shell to check for sed substitute markers (if I
       do `echo "$*" | sed -e 's/;/\\;/'` it collapses a layer
       of backslashes needlessly.   It's awful enough to do
        `echo $* | sed -e 's/ /\\\\ /'`
       (so sed won't eat the backslashes) but to do
        `sed -e 's/ /\\\\\\\\ /'`
       to keep sed + the shell from eating the backslashes is just
       appalling) I generate the little C program `config.sed`, which
       generates the sed pattern, escaping the `;` and NOT collapsing
       backslashes.
       Ugh.  It's all pretty gross, but it looks like it works?  At least
       for discount.
*   Always have `mkd_xmlpage()` generate a title element, even if it's empty
*   Add `<form>` ... `</form>` to the set of known block tags
*   Use `\r` instead of `^C` for the internal hard end of line marker
    (which means if I don't unescape it when rendering it won't leave
    `^C` poop in the output.)
*   Bring the installation instructions a little closer to up to date.
*   When there's either `pkg-config` on the system or if the configure
    option `--pkg-config` is used, generate a pkgconfig `.pc` file.

2.2.1:

A few months of small bugfixes, a few tweaks, and some more conversion of
static flags to runtime ones.

* Update the muñoz test case for a text fragment with an 0xff
* Kludge `peek()` and `poke()` to not sign extend on machines with
  signed chars, so a 0xff character will not sign extend and
  become an EOF.  This breaks a test in muñoz.t (which
  tripped the 0xff becomes EOF bug) so that
  test needed to be rewritten.
* Have `configure.sh` not do the `WinDef.h` short circuit
* include `"config.h"` to pick up the definition of `DWORD/WORD/BYTE`
  (windows support) & add a new label field for better TOC
  label generation
* Wasn't updating `config.sub` with {scalar_type}->{scalar_type} on
  windows machines.
* Tweak `mkd_xmlpage()` so that it only uses the published interface.
* Eat one of the two remaining flag bits (`flag_t` structure
  -- or 64-bit int, which isn't portable to old Unices -- here we
  come!) to make LaTeX support a runtime flag.
* Add some missing dependencies to the makefile
* In makepage, I was using the wrong argument for the file to make
  a page from. needed to check for `argc > 0` & `argv[0]` (after
  shifting argc/argv by optind) but was checking `argc > 1` &
  `argv[1]`, which was something less than useful.
* Strip out `--enable-all-features` from `configure.sh`
  (obsolete now after the mass conversion of features from
  compile-time to run-time.)
* Add `config.h` to the includes for amalloc (for the if `#define`
  to make clang stfu)

2.2.0:

Many **MANY** tweaks over the last year, including...

* mathjax support (--with-latex -- changed to the runtime flag
  `MKD_LATEX` in [2.2.1](#v2.2.1)) (`$$..$$`, `\(..\)`, and `\[..\]`,
  not `$..$`))
* make the `amalloc()` paranoia malloc library even more paranoid by
  putting markers at the start _and_ the end of each allocated block.
* Redo comment block handling;  standard markdown only treats comments as
  block html if the start comment marker starts at the beginning of a line
  and the end comment marker is at the end of a line.
* clean up broken and insufficiently paranoid parts of `configure.inc`
* When attempting to match the closing tag of an html block, don't
  advance the match index unless that character actually matches.
  (defect:  `<p></>*` was splitting into 2 lines when it should have
  generated `<p><p></>*</p>`)
* if `mkd_compile()` is called multiple times, actually recompile the
  document if the flags change.
* When processing automatic links, explicitly allow extended utf-8 characters
  as part of the url.
* Tweak `configure.inc` to quote `__cwd` & `__d` so that a `$__cwd` with
  spaces in the path won't make `configure.sh` (or `make install`) puke
* messed up the `fwrite()` error check in `mkd_generatehtml()`,
* return EOF instead of -1 on error in `mkd_xhtmlpage()`,
* if the mkd output fails, exit with nonzero status
* Handle error conditions and pass errorcodes out of various
  `mkd_xxx()` output functions (inspired by a patch written by
  Koen Punt)
* in `mkd_document()` don't pad the generated html with a 0 unless it's
  actually generated.
* If the C compiler generates .dSYM directories, get rid of them during
  distclean
* Change the `configure.sh` message for the `--with-`(foo) variables to
  reflect what it's actually doing with them.
* Theme really wants the old behavior of `--with-`(foo), so pass those
  settings into theme in a #define
* Have `configure.sh` just state that an option is not supported instead
  of dying.
* Convert many configure-time settings to runtime flags
* Manpage editing by Nathan Phillip Brink
* Update plan9 support.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 pkgsrc/textproc/discount/Makefile \
    pkgsrc/textproc/discount/PLIST pkgsrc/textproc/discount/distinfo

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/textproc/discount/Makefile
diff -u pkgsrc/textproc/discount/Makefile:1.2 pkgsrc/textproc/discount/Makefile:1.3
--- pkgsrc/textproc/discount/Makefile:1.2       Wed Nov  4 01:10:18 2015
+++ pkgsrc/textproc/discount/Makefile   Thu Mar  8 18:17:30 2018
@@ -1,9 +1,9 @@
-# $NetBSD: Makefile,v 1.2 2015/11/04 01:10:18 leot Exp $
+# $NetBSD: Makefile,v 1.3 2018/03/08 18:17:30 schmonz Exp $
 #
 
-DISTNAME=      discount-2.1.8a
+DISTNAME=      discount-2.2.3a
 CATEGORIES=    textproc
-MASTER_SITES=  http://www.pell.portland.or.us/~orc/Code/discount/
+MASTER_SITES=  ${HOMEPAGE}
 EXTRACT_SUFX=  .tar.bz2
 
 MAINTAINER=    zecrazytux%zecrazytux.net@localhost
Index: pkgsrc/textproc/discount/PLIST
diff -u pkgsrc/textproc/discount/PLIST:1.2 pkgsrc/textproc/discount/PLIST:1.3
--- pkgsrc/textproc/discount/PLIST:1.2  Wed Nov  4 01:10:18 2015
+++ pkgsrc/textproc/discount/PLIST      Thu Mar  8 18:17:30 2018
@@ -1,10 +1,11 @@
-@comment $NetBSD: PLIST,v 1.2 2015/11/04 01:10:18 leot Exp $
+@comment $NetBSD: PLIST,v 1.3 2018/03/08 18:17:30 schmonz Exp $
 bin/makepage
 bin/markdown
 bin/mkd2html
 bin/theme
 include/mkdio.h
 lib/libmarkdown.a
+lib/pkgconfig/libmarkdown.pc
 man/man1/makepage.1
 man/man1/markdown.1
 man/man1/mkd2html.1
Index: pkgsrc/textproc/discount/distinfo
diff -u pkgsrc/textproc/discount/distinfo:1.2 pkgsrc/textproc/discount/distinfo:1.3
--- pkgsrc/textproc/discount/distinfo:1.2       Wed Nov  4 01:10:18 2015
+++ pkgsrc/textproc/discount/distinfo   Thu Mar  8 18:17:30 2018
@@ -1,6 +1,6 @@
-$NetBSD: distinfo,v 1.2 2015/11/04 01:10:18 leot Exp $
+$NetBSD: distinfo,v 1.3 2018/03/08 18:17:30 schmonz Exp $
 
-SHA1 (discount-2.1.8a.tar.bz2) = 5415057067238f445f767f0c23b33e0b5420f9ff
-RMD160 (discount-2.1.8a.tar.bz2) = 3b5fcfdde3b42056cc87c17cd4dfbe8876aa2dd3
-SHA512 (discount-2.1.8a.tar.bz2) = a1eba7076a27da56136b8057189c5474a36bf11f8233cbae270c8a0cf9b070332b4dcdbbbecfbfbe1d8c19961ccaf87cee27ebe855c6bc6558d8ccc423553c96
-Size (discount-2.1.8a.tar.bz2) = 85161 bytes
+SHA1 (discount-2.2.3a.tar.bz2) = 9ff2985b89e7bc7ca6a18f82aade2b25db2c97f8
+RMD160 (discount-2.2.3a.tar.bz2) = 66a13d6848251ab8a73a59ba4ec95befe9bbdc2d
+SHA512 (discount-2.2.3a.tar.bz2) = cf995a46879f269f3e02f7d480303d229676bb36f71fe045d3a8eab7306fca9cce98496611b9fb9e0a14a9cf46ee66bd239dd9c946dff54ae09277fd66459c1f
+Size (discount-2.2.3a.tar.bz2) = 98325 bytes



Home | Main Index | Thread Index | Old Index