commit:     377ba1b3198a4b260e30600a4479a3e48e3693e5
Author:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 31 12:36:23 2020 +0000
Commit:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sat Oct 31 12:36:23 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=377ba1b3

app-text/vilistextum-2.8.0.20200411: version bump for -fno-common

Bug: https://bugs.gentoo.org/707644
Package-Manager: Portage-3.0.8, Repoman-3.0.2
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>

 app-text/vilistextum/Manifest                      |   1 +
 .../vilistextum-2.8.0.20200411-blockquote.patch    | 120 +++++++++++++++++++++
 ...vilistextum-2.8.0.20200411-list-alignment.patch |  43 ++++++++
 .../vilistextum/vilistextum-2.8.0.20200411.ebuild  |  80 ++++++++++++++
 4 files changed, 244 insertions(+)

diff --git a/app-text/vilistextum/Manifest b/app-text/vilistextum/Manifest
index a8d25bac9f5..73b4114bac3 100644
--- a/app-text/vilistextum/Manifest
+++ b/app-text/vilistextum/Manifest
@@ -1,2 +1,3 @@
 DIST vilistextum-2.6.9.tar.bz2 147743 BLAKE2B 
1cf6f187cb277271ddd9946984afb4d59336ea0cd446e62df3593070ccc63b3510a107e2b7e7b8dc757c63e4f5caf3790c7d998b6be325f4d22d2a6b9fea3432
 SHA512 
ce76a4061b766e4544d1a86986333314a3b6959439ba6995a2977c10b01b0142c524d4b215c3272a1dcfcc4f5b6fda03210de95d65cedecfc6a1c940cedf487d
 DIST vilistextum-2.8.0.20191023.tar.gz 219395 BLAKE2B 
5e3962b4b18b9e6e3896f26e04a63394b3ed58473862f264a3255641b5d13474e12529acadcff3d2f71eb5a41ec7b11a1367f3da15e473551e87e554472f6727
 SHA512 
99023b4801159047e1433dc5a887e6164192f7aa25bdc79594e717f047f83177612e5120d55cbbc22f3ad4e225bc229a0b186f7fc337c6081ff27ac781422f4e
+DIST vilistextum-2.8.0.20200411.tar.gz 219791 BLAKE2B 
95b86d17e8dbf29b520aa48c88eb8c9e8abb01a234848ed55bdad0a63a7c0ec8ca9ae7c437fe7f84bbf7f4dad74fc8437a9e3b53493552e9e01b8029b10ef18a
 SHA512 
40a219ebe7bebd61548a3bad794690cf091b67b70e8e6c44548a0c1b9f61077b141a035335e7128b191a8501103707f5324b00326a407e29ec0fee383c4d0917

diff --git 
a/app-text/vilistextum/files/vilistextum-2.8.0.20200411-blockquote.patch 
b/app-text/vilistextum/files/vilistextum-2.8.0.20200411-blockquote.patch
new file mode 100644
index 00000000000..c8a7da2c212
--- /dev/null
+++ b/app-text/vilistextum/files/vilistextum-2.8.0.20200411-blockquote.patch
@@ -0,0 +1,120 @@
+Many clients seem to use blockquote tags to flag quotes these days, so
+write them out as quotes, so they remain readable.
+
+--- a/src/html_tags.c  2019-10-23 16:25:27.000000000 +0200
++++ b/src/html_tags.c  2020-02-05 20:11:57.308596941 +0100
+@@ -261,6 +261,7 @@
+               line_break();
+       } else {
+               start_p();
++              quote++;
+       }
+ } /* html_pre */
+ 
+@@ -271,6 +272,7 @@
+               line_break();
+       } else {
+               paragraphen_ende();
++              quote -= quote != 0;
+       }
+ } /* html_pre_end */
+ 
+--- a/src/multibyte.h  2020-02-05 20:08:43.863715764 +0100
++++ b/src/multibyte.h  2020-02-05 20:12:34.401382354 +0100
+@@ -18,6 +18,7 @@
+  #define ATOI(n) wcstoi(n)
+ 
+  #define ONESPACE L" "
++ #define QUOTE L">"
+  #define WORT_PLUS_STRING(str) wort_plus_string(L##str)
+ 
+  #define STRSTR(haystack, needle) wcsstr(haystack, L##needle)
+@@ -43,6 +44,7 @@
+  #define ATOI(n) atoi(n)
+ 
+  #define ONESPACE " "
++ #define QUOTE ">"
+  #define WORT_PLUS_STRING(str) wort_plus_string(str)
+ 
+  #define STRSTR(haystack, needle) strstr(haystack, needle)
+--- a/src/text.c       2019-10-23 16:25:27.000000000 +0200
++++ b/src/text.c       2020-02-05 20:16:04.852164539 +0100
+@@ -28,6 +28,7 @@
+ int breite=76,
+       hr_breite=76,
+       paragraph=0,
++      quote=0,
+ 
+       tab=4,         /* tabulator */
+       spaces=0,      /* spaces at beginning of line */
+@@ -378,6 +379,12 @@
+                       printf(" z0: zeilen_pos: %d\n",zeilen_pos);
+ #endif
+                       print_zeile();
++                      if (quote > 0)
++                      {
++                              i=0;
++                              while (i<quote) { zeile_plus_wort(QUOTE,1,1); 
i++; }
++                              zeile_plus_wort(ONESPACE,1,1);
++                      }
+                       i=0;
+                       while (i<spaces) { zeile_plus_wort(ONESPACE,1,1); i++; }
+                       if (orderedlist>0) { zeile_plus_wort(ONESPACE,1,1); }
+@@ -398,6 +405,12 @@
+                       printf(" z2: zeilen_len: %d\n",zeilen_len);
+                       printf(" z2: zeilen_pos: %d\n",zeilen_pos);
+ #endif
++                      if (quote > 0)
++                      {
++                              i=0;
++                              while (i<quote) { zeile_plus_wort(QUOTE,1,1); 
i++; }
++                              zeile_plus_wort(ONESPACE,1,1);
++                      }
+                       i=0;
+                       while (i<spaces) { zeile_plus_wort(ONESPACE,1,1); i++; }
+                       if (orderedlist>0) { zeile_plus_wort(ONESPACE,1,1); }
+--- a/src/text.h       2019-10-23 16:25:27.000000000 +0200
++++ b/src/text.h       2020-02-05 20:18:40.792261818 +0100
+@@ -26,6 +26,7 @@
+ 
+ extern int tab;
+ extern int spaces;
++extern int quote;
+ 
+ void print_zeile();
+ int is_zeile_empty();
+--- a/tests/test_functions
++++ b/tests/test_functions
+@@ -12,6 +12,9 @@
+   rm -f testcases/$prefix.output.test
+   ../src/vilistextum 2>/dev/null $args testcases/$prefix.html 
testcases/$output_prefix.output.test
+ 
++  # remove (block)quotes
++  sed -i -e 's/^>\+ //' testcases/$output_prefix.output.test
++
+   diff >/dev/null testcases/$output_prefix.output 
testcases/$output_prefix.output.test
+   retval=$?
+   if [ $retval -ne 0 ]; then
+--- a/tests/testcases/utf-8-sampler.output
++++ b/tests/testcases/utf-8-sampler.output.test
+@@ -100,8 +100,8 @@
+ ვეპხის ტყაოსანი შოთა რუსთაველი
+ 
+ ღმერთსი შემვედრე, ნუთუ კვლა დამხსნას სოფლისა შრომასა, ცეცხლს, წყალსა და
+-მიწასა, ჰაერთა თანა მრომასა; მომცნეს ფრთენი და აღვფრინდე, მივჰხვდე მას ჩემსა
+-ნდომასა, დღისით და ღამით ვჰხედვიდე მზისა ელვათა კრთომაასა.
++მიწასა, ჰაერთა თანა მრომასა; მომცნეს ფრთენი და აღვფრინდე, მივჰხვდე მას
++ჩემსა ნდომასა, დღისით და ღამით ვჰხედვიდე მზისა ელვათა კრთომაასა.
+ 
+ Tamil poetry of Cupiramaniya Paarathiyar: சுப்ரமணிய பாரதியார் (1882-1921)
+ 
+@@ -446,7 +446,8 @@
+ д, п, and/or т:
+ 
+  Bulgarian:    [ бгдпт ]    [ бгдпт ]     Мога да ям стъкло и не ме боли.
+- Russian:  [ бгдпт ]    [ бгдпт ]    Я могу есть стекло, это мне не вредит.
++ Russian:  [ бгдпт ]    [ бгдпт ]    Я могу есть стекло, это мне не
++вредит.
+  Serbian:  [ бгдпт ]    [ бгдпт ]     Могу јести стакло а да ми не шкоди.
+ 
+   ------------------------------------------------------------------------

diff --git 
a/app-text/vilistextum/files/vilistextum-2.8.0.20200411-list-alignment.patch 
b/app-text/vilistextum/files/vilistextum-2.8.0.20200411-list-alignment.patch
new file mode 100644
index 00000000000..65541b7a74f
--- /dev/null
+++ b/app-text/vilistextum/files/vilistextum-2.8.0.20200411-list-alignment.patch
@@ -0,0 +1,43 @@
+--- a/src/lists.c
++++ b/src/lists.c
+@@ -74,6 +74,7 @@
+       }
+ 
+       spaces += tab;
++      orderedlist++;
+ #ifdef proc_debug
+       printf("start_uls() ende\n");
+ #endif
+@@ -82,6 +83,7 @@
+ void end_uls()
+ {
+       spaces -= tab;
++      orderedlist--;
+       line_break();
+ 
+       if (bullet_style=='%') { bullet_style='$'; }
+--- a/src/text.c
++++ b/src/text.c
+@@ -387,7 +387,11 @@
+                       }
+                       i=0;
+                       while (i<spaces) { zeile_plus_wort(ONESPACE,1,1); i++; }
+-                      if (orderedlist>0) { zeile_plus_wort(ONESPACE,1,1); }
++                      if (orderedlist>0)
++                      {
++                              i=(spaces%tab) + 1;
++                              while (i>0) { zeile_plus_wort(ONESPACE,1,1); 
i--; }
++                      }
+                       zeile_plus_wort(wort, wort_len, wort_pos);
+               }
+               else if (zeilen_len != 0)
+--- a/src/text.h
++++ b/src/text.h
+@@ -27,6 +27,7 @@
+ extern int tab;
+ extern int spaces;
+ extern int quote;
++extern int orderedlist;
+ 
+ void print_zeile();
+ int is_zeile_empty();

diff --git a/app-text/vilistextum/vilistextum-2.8.0.20200411.ebuild 
b/app-text/vilistextum/vilistextum-2.8.0.20200411.ebuild
new file mode 100644
index 00000000000..dd8c207c466
--- /dev/null
+++ b/app-text/vilistextum/vilistextum-2.8.0.20200411.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools flag-o-matic
+
+GITID="06cc8a637efd9097af4f138b1b7c755120ffaa88"
+DESCRIPTION="HTML to ASCII converter programmed to handle incorrect html"
+HOMEPAGE="https://bhaak.net/vilistextum/";
+SRC_URI="https://github.com/bhaak/vilistextum/archive/${GITID}.tar.gz -> 
${P}.tar.gz"
+S="${WORKDIR}/${PN}-${GITID}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos 
~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+IUSE="unicode"
+
+DEPEND="virtual/libiconv"
+RDEPEND=""
+
+src_prepare() {
+       eapply "${FILESDIR}/${PN}-2.8.0-prefix.patch"
+       eapply "${FILESDIR}/${PN}-2.8.0.20200411-blockquote.patch"
+       eapply "${FILESDIR}/${PN}-2.8.0-towlower.patch"
+       eapply "${FILESDIR}/${PN}-2.8.0.20200411-list-alignment.patch"
+
+       eapply_user
+       eautoreconf
+
+       # wcscasecmp needs extensions, which aren't enabled
+       export ac_cv_func_wcscasecmp=no
+}
+
+get_locale() {
+       locale -a | grep -i "$1\.utf.*8\$"
+}
+
+find_locale() {
+       local l t
+
+       # we basically prefer to find en_US.UTF-8, but it may not always be
+       # available, in which case it is better not to hardcode to use it
+       l=$(get_locale en_US)
+       if [[ -z ${l} ]] ; then
+               for t in "en_GB" "en_.*" ".*" ; do
+                       l=$(get_locale ${t})
+                       if [[ -n ${l} ]] ; then
+                               l=${l%%$'\n'*}
+                               break;
+                       fi
+               done
+       fi
+       [[ -z ${l} ]] && die "Failed to find a unicode locale"
+       echo "${l}"
+}
+
+src_configure() {
+       # need hardwired locale simply because locale -a | grep -i utf-8 | head 
-n1
+       # isn't always returning the most sensical (and working) locale
+       econf \
+               $(use_enable unicode multibyte) \
+               $(use_with unicode unicode-locale $(find_locale))
+}
+
+src_test() {
+       if $(locale -a | grep -iq "en_US\.utf.*8"); then
+               emake -j1 check
+       else
+               ewarn "If you like to run the test,"
+               ewarn "please make sure en_US.UTF-8 is installed."
+               die "en_US.UTF-8 locale is missing"
+       fi
+}
+
+src_install() {
+       default
+       doman doc/${PN}.1
+       dodoc doc/changes.xhtml doc/htmlmail.xhtml
+}

Reply via email to