pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/www/ikiwiki Apply upstream patch to fix regression wit...
details: https://anonhg.NetBSD.org/pkgsrc/rev/c4209c594f04
branches: trunk
changeset: 376838:c4209c594f04
user: schmonz <schmonz%pkgsrc.org@localhost>
date: Fri Mar 09 16:12:50 2018 +0000
description:
Apply upstream patch to fix regression with older libdiscount where
Markdown links were no longer rendered as links. Bump PKGREVISION.
diffstat:
www/ikiwiki/Makefile | 3 +-
www/ikiwiki/distinfo | 4 +-
www/ikiwiki/patches/patch-IkiWiki_Plugin_mdwn.pm | 122 +++++++++++++++++++++++
www/ikiwiki/patches/patch-t_mdwn.t | 40 +++++++
4 files changed, 167 insertions(+), 2 deletions(-)
diffs (199 lines):
diff -r 706c02ebc3c1 -r c4209c594f04 www/ikiwiki/Makefile
--- a/www/ikiwiki/Makefile Fri Mar 09 14:38:36 2018 +0000
+++ b/www/ikiwiki/Makefile Fri Mar 09 16:12:50 2018 +0000
@@ -1,8 +1,9 @@
-# $NetBSD: Makefile,v 1.153 2018/03/04 17:40:28 schmonz Exp $
+# $NetBSD: Makefile,v 1.154 2018/03/09 16:12:50 schmonz Exp $
#
DISTNAME= ikiwiki_3.20180228.orig
PKGNAME= ${DISTNAME:S/_/-/:S/.orig//}
+PKGREVISION= 1
CATEGORIES= www textproc
MASTER_SITES= ${MASTER_SITE_DEBIAN:=pool/main/i/ikiwiki/}
EXTRACT_SUFX= .tar.xz
diff -r 706c02ebc3c1 -r c4209c594f04 www/ikiwiki/distinfo
--- a/www/ikiwiki/distinfo Fri Mar 09 14:38:36 2018 +0000
+++ b/www/ikiwiki/distinfo Fri Mar 09 16:12:50 2018 +0000
@@ -1,8 +1,10 @@
-$NetBSD: distinfo,v 1.125 2018/03/02 19:20:20 schmonz Exp $
+$NetBSD: distinfo,v 1.126 2018/03/09 16:12:50 schmonz Exp $
SHA1 (ikiwiki_3.20180228.orig.tar.xz) = 736abf42a48007ac379bb1243ba120e7ec44a5a3
RMD160 (ikiwiki_3.20180228.orig.tar.xz) = e8ac97d347228caacec54c5af8206ab457e7d46a
SHA512 (ikiwiki_3.20180228.orig.tar.xz) = d3b20ff564ece42057ea7c4693a53ff1053874c55163b540d2d9ac184fb9bae2b36ebd0de7335fee7251134768e3bbdcbefc2915a728ef305948e7bf2463b88f
Size (ikiwiki_3.20180228.orig.tar.xz) = 2637180 bytes
+SHA1 (patch-IkiWiki_Plugin_mdwn.pm) = 881d202ea0a325575c62f80d4432557398675778
SHA1 (patch-Makefile.PL) = 35f12c579d497d2462d8e0c0f84c2e2144aaec60
SHA1 (patch-po_Makefile) = 7adc25868a3d36157f7e3af7caedcec67e008397
+SHA1 (patch-t_mdwn.t) = 6c4fb5489cf36755b12825a57c2c7fae6e6dfc36
diff -r 706c02ebc3c1 -r c4209c594f04 www/ikiwiki/patches/patch-IkiWiki_Plugin_mdwn.pm
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/www/ikiwiki/patches/patch-IkiWiki_Plugin_mdwn.pm Fri Mar 09 16:12:50 2018 +0000
@@ -0,0 +1,122 @@
+$NetBSD: patch-IkiWiki_Plugin_mdwn.pm,v 1.1 2018/03/09 16:12:50 schmonz Exp $
+
+Automatically detect which libdiscount flags to use.
+
+--- IkiWiki/Plugin/mdwn.pm.orig 2018-02-28 10:41:06.000000000 +0000
++++ IkiWiki/Plugin/mdwn.pm
+@@ -89,6 +89,55 @@ sub htmlize (@) {
+ (! exists $config{nodiscount} || ! $config{nodiscount})) {
+ eval q{use Text::Markdown::Discount};
+ if (! $@) {
++ my $markdown = \&Text::Markdown::Discount::markdown;
++ my $always_flags = 0;
++
++ # Disable Pandoc-style % Title, % Author, % Date
++ # Use the meta plugin instead
++ $always_flags |= Text::Markdown::Discount::MKD_NOHEADER();
++
++ # Disable Unicodification of quote marks, em dashes...
++ # Use the typography plugin instead
++ $always_flags |= Text::Markdown::Discount::MKD_NOPANTS();
++
++ # Workaround for discount's eliding of <style> blocks.
++ # https://rt.cpan.org/Ticket/Display.html?id=74016
++ if (Text::Markdown::Discount->can('MKD_NOSTYLE')) {
++ $always_flags |= Text::Markdown::Discount::MKD_NOSTYLE();
++ }
++ elsif ($markdown->('<style>x</style>', 0) !~ '<style>' &&
++ $markdown->('<style>x</style>', 0x00400000) =~ m{<style>x</style>}) {
++ $always_flags |= 0x00400000;
++ }
++
++ # Enable fenced code blocks in libmarkdown >= 2.2.0
++ # https://bugs.debian.org/888055
++ if (Text::Markdown::Discount->can('MKD_FENCEDCODE')) {
++ $always_flags |= Text::Markdown::Discount::MKD_FENCEDCODE();
++ }
++ elsif ($markdown->("~~~\nx\n~~~", 0) !~ m{<pre\b} &&
++ $markdown->("~~~\nx\n~~~", 0x02000000) =~ m{<pre\b}) {
++ $always_flags |= 0x02000000;
++ }
++
++ # PHP Markdown Extra-style term\n: definition -> <dl>
++ if (Text::Markdown::Discount->can('MKD_DLEXTRA')) {
++ $always_flags |= Text::Markdown::Discount::MKD_DLEXTRA();
++ }
++ elsif ($markdown->("term\n: def\n", 0) !~ m{<dl>} &&
++ $markdown->("term\n: def\n", 0x01000000) =~ m{<dl>}) {
++ $always_flags |= 0x01000000;
++ }
++
++ # Allow dashes and underscores in tag names
++ if (Text::Markdown::Discount->can('MKD_GITHUBTAGS')) {
++ $always_flags |= Text::Markdown::Discount::MKD_GITHUBTAGS();
++ }
++ elsif ($markdown->('<foo_bar>', 0) !~ m{<foo_bar} &&
++ $markdown->('<foo_bar>', 0x08000000) =~ m{<foo_bar\b}) {
++ $always_flags |= 0x08000000;
++ }
++
+ $markdown_sub=sub {
+ my $t=shift;
+
+@@ -96,15 +145,7 @@ sub htmlize (@) {
+ # https://rt.cpan.org/Ticket/Display.html?id=73657
+ return "" if $t=~/^\s*$/;
+
+- my $flags=0;
+-
+- # Disable Pandoc-style % Title, % Author, % Date
+- # Use the meta plugin instead
+- $flags |= Text::Markdown::Discount::MKD_NOHEADER();
+-
+- # Disable Unicodification of quote marks, em dashes...
+- # Use the typography plugin instead
+- $flags |= Text::Markdown::Discount::MKD_NOPANTS();
++ my $flags=$always_flags;
+
+ if ($config{mdwn_footnotes}) {
+ $flags |= Text::Markdown::Discount::MKD_EXTRA_FOOTNOTE();
+@@ -114,42 +155,6 @@ sub htmlize (@) {
+ $flags |= Text::Markdown::Discount::MKD_NOALPHALIST();
+ }
+
+- # Workaround for discount's eliding
+- # of <style> blocks.
+- # https://rt.cpan.org/Ticket/Display.html?id=74016
+- if (Text::Markdown::Discount->can("MKD_NOSTYLE")) {
+- $flags |= Text::Markdown::Discount::MKD_NOSTYLE();
+- }
+- else {
+- # This is correct for the libmarkdown.so.2 ABI
+- $flags |= 0x00400000;
+- }
+-
+- # Enable fenced code blocks in libmarkdown >= 2.2.0
+- # https://bugs.debian.org/888055
+- if (Text::Markdown::Discount->can("MKD_FENCEDCODE")) {
+- $flags |= Text::Markdown::Discount::MKD_FENCEDCODE();
+- }
+- else {
+- $flags |= 0x02000000;
+- }
+-
+- # PHP Markdown Extra-style term\n: definition -> <dl>
+- if (Text::Markdown::Discount->can("MKD_DLEXTRA")) {
+- $flags |= Text::Markdown::Discount::MKD_DLEXTRA();
+- }
+- else {
+- $flags |= 0x01000000;
+- }
+-
+- # Allow dashes and underscores in tag names
+- if (Text::Markdown::Discount->can("MKD_GITHUBTAGS")) {
+- $flags |= Text::Markdown::Discount::MKD_GITHUBTAGS();
+- }
+- else {
+- $flags |= 0x08000000;
+- }
+-
+ return Text::Markdown::Discount::markdown($t, $flags);
+ }
+ }
diff -r 706c02ebc3c1 -r c4209c594f04 www/ikiwiki/patches/patch-t_mdwn.t
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/www/ikiwiki/patches/patch-t_mdwn.t Fri Mar 09 16:12:50 2018 +0000
@@ -0,0 +1,40 @@
+$NetBSD: patch-t_mdwn.t,v 1.1 2018/03/09 16:12:50 schmonz Exp $
+
+Automatically detect which libdiscount flags to use.
+
+--- t/mdwn.t.orig 2018-02-28 10:41:06.000000000 +0000
++++ t/mdwn.t
+@@ -8,6 +8,7 @@ BEGIN { use_ok("IkiWiki"); }
+
+ %config=IkiWiki::defaultconfig();
+ $config{srcdir}=$config{destdir}="/dev/null";
++$config{disable_plugins}=["htmlscrubber"];
+ IkiWiki::loadplugins();
+ IkiWiki::checkconfig();
+
+@@ -41,4 +42,25 @@ like(IkiWiki::htmlize("foo", "foo", "mdw
+ "This works[^1]\n\n[^1]: Sometimes it doesn't.\n"),
+ qr{<p>This works<sup\W}, "footnotes can be enabled");
+
++SKIP: {
++ skip 'set $IKIWIKI_TEST_ASSUME_MODERN_DISCOUNT if you have Discount 2.2.0+', 4
++ unless $ENV{IKIWIKI_TEST_ASSUME_MODERN_DISCOUNT};
++ like(IkiWiki::htmlize("foo", "foo", "mdwn",
++ "Definition list\n: A useful HTML structure\n"),
++ qr{<dl>.*<dt>Definition list</dt>\s*<dd>A useful HTML structure</dd>}s,
++ "definition lists are enabled by default");
++ like(IkiWiki::htmlize("foo", "foo", "mdwn",
++ "```\n#!/bin/sh\n```\n"),
++ qr{<pre>\s*<code>\s*[#]!/bin/sh\s*</code>\s*</pre>}s,
++ "code blocks are enabled by default");
++ like(IkiWiki::htmlize("foo", "foo", "mdwn",
++ "<foo_bar>"),
++ qr{<foo_bar>},
++ "GitHub tag name extensions are enabled by default");
++ like(IkiWiki::htmlize("foo", "foo", "mdwn",
++ "<style>foo</style>"),
++ qr{<style>foo</style>},
++ "Styles are not stripped by default");
++}
++
+ done_testing();
Home |
Main Index |
Thread Index |
Old Index