improve ruby-2.5 compatibility (epel8)
An unfortunate bug in rdoc-5.0 causes a build failure on epel8. This is fixed in ruby-2.6/rdoc-6.0.2¹. Until/unless the fix is backported to RHEL-8 (which seems unlikely), we can only patch around this. Thanks, as usual, to Dan Allen for going above and beyond to patch this upstream. ¹ https://github.com/ruby/rdoc/pull/586 https://github.com/ruby/rdoc/commit/a1631aa
This commit is contained in:
parent
bd6465f42a
commit
22023dba55
@ -0,0 +1,25 @@
|
|||||||
|
From cc9a8d3cd12f2c15e43bd263b8b8a9b32d097831 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Dan Allen <dan.j.allen@gmail.com>
|
||||||
|
Date: Thu, 25 May 2023 18:39:56 -0600
|
||||||
|
Subject: [PATCH] use single-line block in manify method in manpage converter
|
||||||
|
to make it easier to patch
|
||||||
|
|
||||||
|
---
|
||||||
|
lib/asciidoctor/converter/manpage.rb | 4 +---
|
||||||
|
1 file changed, 1 insertion(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/lib/asciidoctor/converter/manpage.rb b/lib/asciidoctor/converter/manpage.rb
|
||||||
|
index bcf2b784..a7aba996 100644
|
||||||
|
--- a/lib/asciidoctor/converter/manpage.rb
|
||||||
|
+++ b/lib/asciidoctor/converter/manpage.rb
|
||||||
|
@@ -716,9 +716,7 @@ def manify str, opts = {}
|
||||||
|
.gsub(LiteralBackslashRx) { $1 ? $& : '\\(rs' } # literal backslash (not a troff escape sequence)
|
||||||
|
.gsub(EllipsisCharRefRx, '...') # horizontal ellipsis
|
||||||
|
.gsub(LeadingPeriodRx, '\\\&.') # leading . is used in troff for macro call or other formatting; replace with \&.
|
||||||
|
- .gsub(EscapedMacroRx) do # drop orphaned \c escape lines, unescape troff macro, quote adjacent character, isolate macro line
|
||||||
|
- (rest = $3.lstrip).empty? ? %(.#{$1}"#{$2}") : %(.#{$1}"#{$2.rstrip}"#{LF}#{rest})
|
||||||
|
- end
|
||||||
|
+ .gsub(EscapedMacroRx) { (rest = $3.lstrip).empty? ? %(.#{$1}"#{$2}") : %(.#{$1}"#{$2.rstrip}"#{LF}#{rest}) } # drop orphaned \c escape lines, unescape troff macro, quote adjacent character, isolate macro line
|
||||||
|
.gsub('-', '\-')
|
||||||
|
.gsub('<', '<')
|
||||||
|
.gsub('>', '>')
|
@ -0,0 +1,85 @@
|
|||||||
|
From b7c03964cfc96af9ced5db3c1a6c7a7663de5cb2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Dan Allen <dan.j.allen@gmail.com>
|
||||||
|
Date: Fri, 26 May 2023 01:44:09 -0600
|
||||||
|
Subject: [PATCH] change dot layout in chained method call to be compatible
|
||||||
|
with rdoc generator from Ruby 2.5
|
||||||
|
|
||||||
|
---
|
||||||
|
lib/asciidoctor/converter/manpage.rb | 64 ++++++++++++++--------------
|
||||||
|
1 file changed, 32 insertions(+), 32 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/lib/asciidoctor/converter/manpage.rb b/lib/asciidoctor/converter/manpage.rb
|
||||||
|
index a7aba996..be52e9be 100644
|
||||||
|
--- a/lib/asciidoctor/converter/manpage.rb
|
||||||
|
+++ b/lib/asciidoctor/converter/manpage.rb
|
||||||
|
@@ -712,38 +712,38 @@ def manify str, opts = {}
|
||||||
|
else
|
||||||
|
str = str.tr_s WHITESPACE, ' '
|
||||||
|
end
|
||||||
|
- str = str
|
||||||
|
- .gsub(LiteralBackslashRx) { $1 ? $& : '\\(rs' } # literal backslash (not a troff escape sequence)
|
||||||
|
- .gsub(EllipsisCharRefRx, '...') # horizontal ellipsis
|
||||||
|
- .gsub(LeadingPeriodRx, '\\\&.') # leading . is used in troff for macro call or other formatting; replace with \&.
|
||||||
|
- .gsub(EscapedMacroRx) { (rest = $3.lstrip).empty? ? %(.#{$1}"#{$2}") : %(.#{$1}"#{$2.rstrip}"#{LF}#{rest}) } # drop orphaned \c escape lines, unescape troff macro, quote adjacent character, isolate macro line
|
||||||
|
- .gsub('-', '\-')
|
||||||
|
- .gsub('<', '<')
|
||||||
|
- .gsub('>', '>')
|
||||||
|
- .gsub('+', '+') # plus sign; alternately could use \c(pl
|
||||||
|
- .gsub(' ', '\~') # non-breaking space
|
||||||
|
- .gsub('©', '\(co') # copyright sign
|
||||||
|
- .gsub('®', '\(rg') # registered sign
|
||||||
|
- .gsub('™', '\(tm') # trademark sign
|
||||||
|
- .gsub('°', '\(de') # degree sign
|
||||||
|
- .gsub(' ', ' ') # thin space
|
||||||
|
- .gsub('–', '\(en') # en dash
|
||||||
|
- .gsub(EmDashCharRefRx, '\(em') # em dash
|
||||||
|
- .gsub('‘', '\(oq') # left single quotation mark
|
||||||
|
- .gsub('’', '\(cq') # right single quotation mark
|
||||||
|
- .gsub('“', '\(lq') # left double quotation mark
|
||||||
|
- .gsub('”', '\(rq') # right double quotation mark
|
||||||
|
- .gsub('←', '\(<-') # leftwards arrow
|
||||||
|
- .gsub('→', '\(->') # rightwards arrow
|
||||||
|
- .gsub('⇐', '\(lA') # leftwards double arrow
|
||||||
|
- .gsub('⇒', '\(rA') # rightwards double arrow
|
||||||
|
- .gsub('​', '\:') # zero width space
|
||||||
|
- .gsub('&', '&') # literal ampersand (NOTE must take place after any other replacement that includes &)
|
||||||
|
- .gsub('\'', '\*(Aq') # apostrophe / neutral single quote
|
||||||
|
- .gsub(MockMacroRx, '\1') # mock boundary
|
||||||
|
- .gsub(ESC_BS, '\\') # unescape troff backslash (NOTE update if more escapes are added)
|
||||||
|
- .gsub(ESC_FS, '.') # unescape full stop in troff commands (NOTE must take place after gsub(LeadingPeriodRx))
|
||||||
|
- .rstrip # strip trailing space
|
||||||
|
+ str = str.
|
||||||
|
+ gsub(LiteralBackslashRx) { $1 ? $& : '\\(rs' }. # literal backslash (not a troff escape sequence)
|
||||||
|
+ gsub(EllipsisCharRefRx, '...'). # horizontal ellipsis
|
||||||
|
+ gsub(LeadingPeriodRx, '\\\&.'). # leading . is used in troff for macro call or other formatting; replace with \&.
|
||||||
|
+ gsub(EscapedMacroRx) { (rest = $3.lstrip).empty? ? %(.#{$1}"#{$2}") : %(.#{$1}"#{$2.rstrip}"#{LF}#{rest}) }. # drop orphaned \c escape lines, unescape troff macro, quote adjacent character, isolate macro line
|
||||||
|
+ gsub('-', '\-').
|
||||||
|
+ gsub('<', '<').
|
||||||
|
+ gsub('>', '>').
|
||||||
|
+ gsub('+', '+'). # plus sign; alternately could use \c(pl
|
||||||
|
+ gsub(' ', '\~'). # non-breaking space
|
||||||
|
+ gsub('©', '\(co'). # copyright sign
|
||||||
|
+ gsub('®', '\(rg'). # registered sign
|
||||||
|
+ gsub('™', '\(tm'). # trademark sign
|
||||||
|
+ gsub('°', '\(de'). # degree sign
|
||||||
|
+ gsub(' ', ' '). # thin space
|
||||||
|
+ gsub('–', '\(en'). # en dash
|
||||||
|
+ gsub(EmDashCharRefRx, '\(em'). # em dash
|
||||||
|
+ gsub('‘', '\(oq'). # left single quotation mark
|
||||||
|
+ gsub('’', '\(cq'). # right single quotation mark
|
||||||
|
+ gsub('“', '\(lq'). # left double quotation mark
|
||||||
|
+ gsub('”', '\(rq'). # right double quotation mark
|
||||||
|
+ gsub('←', '\(<-'). # leftwards arrow
|
||||||
|
+ gsub('→', '\(->'). # rightwards arrow
|
||||||
|
+ gsub('⇐', '\(lA'). # leftwards double arrow
|
||||||
|
+ gsub('⇒', '\(rA'). # rightwards double arrow
|
||||||
|
+ gsub('​', '\:'). # zero width space
|
||||||
|
+ gsub('&', '&'). # literal ampersand (NOTE must take place after any other replacement that includes &)
|
||||||
|
+ gsub('\'', '\*(Aq'). # apostrophe / neutral single quote
|
||||||
|
+ gsub(MockMacroRx, '\1'). # mock boundary
|
||||||
|
+ gsub(ESC_BS, '\\'). # unescape troff backslash (NOTE update if more escapes are added)
|
||||||
|
+ gsub(ESC_FS, '.'). # unescape full stop in troff commands (NOTE must take place after gsub(LeadingPeriodRx))
|
||||||
|
+ rstrip # strip trailing space
|
||||||
|
opts[:append_newline] ? %(#{str}#{LF}) : str
|
||||||
|
end
|
||||||
|
|
@ -7,10 +7,16 @@
|
|||||||
Summary: A fast, open source AsciiDoc implementation in Ruby
|
Summary: A fast, open source AsciiDoc implementation in Ruby
|
||||||
Name: rubygem-%{gem_name}
|
Name: rubygem-%{gem_name}
|
||||||
Version: 2.0.20
|
Version: 2.0.20
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
License: MIT
|
License: MIT
|
||||||
URL: https://asciidoctor.org
|
URL: https://asciidoctor.org
|
||||||
Source0: https://github.com/asciidoctor/asciidoctor/archive/%{gittag}/%{gem_name}-%{version}%{pre}.tar.gz
|
Source0: https://github.com/asciidoctor/asciidoctor/archive/%{gittag}/%{gem_name}-%{version}%{pre}.tar.gz
|
||||||
|
# improve ruby-2.5 compatibility
|
||||||
|
# https://github.com/asciidoctor/asciidoctor/issues/4462
|
||||||
|
# https://github.com/asciidoctor/asciidoctor/commit/cc9a8d3c
|
||||||
|
Patch0: 0001-use-single-line-block-in-manify-method-in-manpage-co.patch
|
||||||
|
# https://github.com/asciidoctor/asciidoctor/commit/b7c03964
|
||||||
|
Patch1: 0002-change-dot-layout-in-chained-method-call-to-be-compa.patch
|
||||||
%if 0%{?el7}
|
%if 0%{?el7}
|
||||||
Requires: ruby(release)
|
Requires: ruby(release)
|
||||||
BuildRequires: ruby(release)
|
BuildRequires: ruby(release)
|
||||||
@ -121,6 +127,9 @@ cp -a .%{gem_instdir}/man/*.1 \
|
|||||||
%doc %{gem_docdir}
|
%doc %{gem_docdir}
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu May 25 2023 Todd Zullinger <tmz@pobox.com> - 2.0.20-2
|
||||||
|
- improve ruby-2.5 compatibility (epel8)
|
||||||
|
|
||||||
* Thu May 18 2023 Todd Zullinger <tmz@pobox.com> - 2.0.20-1
|
* Thu May 18 2023 Todd Zullinger <tmz@pobox.com> - 2.0.20-1
|
||||||
- update to asciidoctor 2.0.20 (rhbz#2208089)
|
- update to asciidoctor 2.0.20 (rhbz#2208089)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user