From 64311645f0de918f259c11e4b7ce9cc613a43518 Mon Sep 17 00:00:00 2001 From: Naohiro Aota Date: Sun, 23 May 2021 13:47:54 +0900 Subject: dev-ruby/twitter-text: add ruby27 support Add ruby27 support by applying a patch to fix frozen string problem. Signed-off-by: Naohiro Aota --- .../files/twitter-text-3.1.0-frozen-string.patch | 69 ++++++++++++++++++++++ dev-ruby/twitter-text/twitter-text-3.1.0-r1.ebuild | 38 ++++++++++++ 2 files changed, 107 insertions(+) create mode 100644 dev-ruby/twitter-text/files/twitter-text-3.1.0-frozen-string.patch create mode 100644 dev-ruby/twitter-text/twitter-text-3.1.0-r1.ebuild diff --git a/dev-ruby/twitter-text/files/twitter-text-3.1.0-frozen-string.patch b/dev-ruby/twitter-text/files/twitter-text-3.1.0-frozen-string.patch new file mode 100644 index 000000000000..02959cafb983 --- /dev/null +++ b/dev-ruby/twitter-text/files/twitter-text-3.1.0-frozen-string.patch @@ -0,0 +1,69 @@ +# https://github.com/twitter/twitter-text/pull/337 +diff --git a/lib/twitter-text/deprecation.rb b/lib/twitter-text/deprecation.rb +index b377abf9..bc66d60f 100644 +--- a/lib/twitter-text/deprecation.rb ++++ b/lib/twitter-text/deprecation.rb +@@ -8,7 +8,7 @@ module Deprecation + def deprecate(method, new_method = nil) + deprecated_method = :"deprecated_#{method}" + message = "Deprecation: `#{method}` is deprecated." +- message << " Please use `#{new_method}` instead." if new_method ++ message += " Please use `#{new_method}` instead." if new_method + + alias_method(deprecated_method, method) + define_method method do |*args, &block| + +diff --git a/lib/twitter-text/autolink.rb b/lib/twitter-text/autolink.rb +index 82f35302..9b243ec6 100644 +--- a/lib/twitter-text/autolink.rb ++++ b/lib/twitter-text/autolink.rb +@@ -325,10 +326,10 @@ def link_url_with_entity(entity, options) + #   + # … + # +- %(#{preceding_ellipsis} ) << +- %(#{html_escape(before_display_url)}) << +- %(#{html_escape(display_url_sans_ellipses)}) << +- %(#{html_escape(after_display_url)}) << ++ %(#{preceding_ellipsis} ) + ++ %(#{html_escape(before_display_url)}) + ++ %(#{html_escape(display_url_sans_ellipses)}) + ++ %(#{html_escape(after_display_url)}) + + %( #{following_ellipsis}) + else + html_escape(display_url) +@@ -444,7 +445,7 @@ def tag_attrs(attributes) + else + value + end +- attrs << %( #{html_escape(key)}="#{html_escape(value)}") ++ attrs = attrs + %( #{html_escape(key)}="#{html_escape(value)}") + end + + attrs +diff --git a/lib/twitter-text/deprecation.rb b/lib/twitter-text/deprecation.rb +index bc66d60f..cfc4858c 100644 +--- a/lib/twitter-text/deprecation.rb ++++ b/lib/twitter-text/deprecation.rb +@@ -8,7 +9,7 @@ module Deprecation + def deprecate(method, new_method = nil) + deprecated_method = :"deprecated_#{method}" + message = "Deprecation: `#{method}` is deprecated." +- message += " Please use `#{new_method}` instead." if new_method ++ message = "#{message} Please use `#{new_method}` instead." if new_method + + alias_method(deprecated_method, method) + define_method method do |*args, &block| +diff --git a/lib/twitter-text/extractor.rb b/lib/twitter-text/extractor.rb +index a2fd7db7..c96ec200 100644 +--- a/lib/twitter-text/extractor.rb ++++ b/lib/twitter-text/extractor.rb +@@ -19,7 +20,7 @@ def codepoint_length + + # Helper function to convert this string into an array of unicode code points. + def to_codepoint_a +- @to_codepoint_a ||= if chars.kind_of?(Enumerable) ++ if chars.kind_of?(Enumerable) + chars.to_a + else + codepoint_array = [] diff --git a/dev-ruby/twitter-text/twitter-text-3.1.0-r1.ebuild b/dev-ruby/twitter-text/twitter-text-3.1.0-r1.ebuild new file mode 100644 index 000000000000..ec9980d121a6 --- /dev/null +++ b/dev-ruby/twitter-text/twitter-text-3.1.0-r1.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +USE_RUBY="ruby24 ruby25 ruby26 ruby27" + +RUBY_FAKEGEM_RECIPE_TEST="rspec3" + +RUBY_FAKEGEM_EXTRADOC="README.md" + +RUBY_FAKEGEM_EXTRAINSTALL="config" + +inherit ruby-fakegem + +DESCRIPTION="Text handling for Twitter" +HOMEPAGE="https://github.com/twitter/twitter-text" + +LICENSE="MIT" +SLOT="$(ver_cut 1-2)" +KEYWORDS="~amd64" +IUSE="" + +ruby_add_rdepend " + dev-ruby/idn-ruby + =dev-ruby/unf-0.1* +" + +ruby_add_bdepend "test? ( >=dev-ruby/multi_json-1.3 + >=dev-ruby/nokogiri-1.8.0 )" + +PATCHES=( + "${FILESDIR}/${PN}-3.1.0-frozen-string.patch" +) + +all_ruby_prepare() { + #sed -i -e 's/2.14.0/2.14/' twitter-text.gemspec || die + sed -i -e '/simplecov/,/end/ s:^:#:' spec/spec_helper.rb || die +} -- cgit v1.2.3-65-gdbad