From 246c4363d3f363ae17b37baa24e2999f9f45daf4 Mon Sep 17 00:00:00 2001 From: jackie_wu Date: Tue, 18 Aug 2020 16:42:18 +0800 Subject: [PATCH] package init --- idn-0.0.2.gem | Bin 0 -> 17920 bytes rubygem-idn-0.0.2-Fix-for-ruby-1.9.x.patch | 140 ++++++++++++++++++ ...dn-0.0.2-ruby2-encoding-in-tests-fix.patch | 22 +++ rubygem-idn.spec | 64 ++++++++ rubygem-idn.yaml | 4 + 5 files changed, 230 insertions(+) create mode 100644 idn-0.0.2.gem create mode 100644 rubygem-idn-0.0.2-Fix-for-ruby-1.9.x.patch create mode 100644 rubygem-idn-0.0.2-ruby2-encoding-in-tests-fix.patch create mode 100644 rubygem-idn.spec create mode 100644 rubygem-idn.yaml diff --git a/idn-0.0.2.gem b/idn-0.0.2.gem new file mode 100644 index 0000000000000000000000000000000000000000..576b4b66b04830884a779bbfea1703bb4b893d6a GIT binary patch literal 17920 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 literal 0 HcmV?d00001 diff --git a/rubygem-idn-0.0.2-Fix-for-ruby-1.9.x.patch b/rubygem-idn-0.0.2-Fix-for-ruby-1.9.x.patch new file mode 100644 index 0000000..f9f8b38 --- /dev/null +++ b/rubygem-idn-0.0.2-Fix-for-ruby-1.9.x.patch @@ -0,0 +1,140 @@ +diff -Nrup ext.bad/idna.c ext/idna.c +--- ext.bad/idna.c 2012-02-13 22:16:33.792135714 -0500 ++++ ext/idna.c 2012-02-13 23:14:43.562413759 -0500 +@@ -24,6 +24,16 @@ + #include + #include "idn.h" + ++#include ++ ++#define ENCODED_STR_NEW2(str, encoding) \ ++ ({ \ ++ VALUE _string = rb_str_new2((const char *)str); \ ++ int _enc = rb_enc_find_index(encoding); \ ++ rb_enc_associate_index(_string, _enc); \ ++ _string; \ ++ }) ++ + /* + * Document-class: IDN::Idna + * The Idna module of LibIDN Ruby Bindings. +@@ -85,7 +95,7 @@ static VALUE toASCII(int argc, VALUE arg + flags = 0x0000; + } + +- rc = idna_to_ascii_8z(RSTRING(str)->ptr, &buf, flags); ++ rc = idna_to_ascii_8z(RSTRING_PTR(str), &buf, flags); + + if (rc != IDNA_SUCCESS) { + xfree(buf); +@@ -93,7 +103,7 @@ static VALUE toASCII(int argc, VALUE arg + return Qnil; + } + +- retv = rb_str_new2(buf); ++ retv = ENCODED_STR_NEW2(buf, "ASCII-8BIT"); + xfree(buf); + return retv; + } +@@ -125,7 +135,7 @@ static VALUE toUnicode(int argc, VALUE a + flags = 0x0000; + } + +- rc = idna_to_unicode_8z8z(RSTRING(str)->ptr, &buf, flags); ++ rc = idna_to_unicode_8z8z(RSTRING_PTR(str), &buf, flags); + + if (rc != IDNA_SUCCESS) { + xfree(buf); +@@ -133,7 +143,7 @@ static VALUE toUnicode(int argc, VALUE a + return Qnil; + } + +- retv = rb_str_new2(buf); ++ retv = ENCODED_STR_NEW2(buf, "UTF-8"); + xfree(buf); + return retv; + } +diff -Nrup ext.bad/punycode.c ext/punycode.c +--- ext.bad/punycode.c 2012-02-13 22:16:33.792135714 -0500 ++++ ext/punycode.c 2012-02-13 23:19:39.499714035 -0500 +@@ -26,6 +26,14 @@ + #include + #include "idn.h" + ++#define ENCODED_STR_NEW(str, len, encoding) \ ++ ({ \ ++ VALUE _string = rb_str_new((const char *)str, (long)len); \ ++ int _enc = rb_enc_find_index(encoding); \ ++ rb_enc_associate_index(_string, _enc); \ ++ _string; \ ++ }) ++ + /* + * Document-class: IDN::Punycode + * The Punycode module of LibIDN Ruby Bindings. +@@ -66,7 +74,7 @@ static VALUE encode(VALUE self, VALUE st + VALUE retv; + + str = rb_check_convert_type(str, T_STRING, "String", "to_s"); +- ustr = stringprep_utf8_to_ucs4(RSTRING(str)->ptr, RSTRING(str)->len, &len); ++ ustr = stringprep_utf8_to_ucs4(RSTRING_PTR(str), RSTRING_LEN(str), &len); + + while (1) { + buf = realloc(buf, buflen); +@@ -116,7 +124,7 @@ static VALUE decode(VALUE self, VALUE st + + str = rb_check_convert_type(str, T_STRING, "String", "to_s"); + +- len = RSTRING(str)->len; ++ len = RSTRING_LEN(str); + ustr = malloc(len * sizeof(punycode_uint)); + + if (ustr == NULL) { +@@ -124,7 +132,7 @@ static VALUE decode(VALUE self, VALUE st + return Qnil; + } + +- rc = punycode_decode(RSTRING(str)->len, RSTRING(str)->ptr, ++ rc = punycode_decode(RSTRING_LEN(str), RSTRING_PTR(str), + &len, ustr, NULL); + + if (rc != PUNYCODE_SUCCESS) { +@@ -134,7 +142,7 @@ static VALUE decode(VALUE self, VALUE st + } + + buf = stringprep_ucs4_to_utf8(ustr, len, NULL, &len); +- retv = rb_str_new(buf, len); ++ retv = ENCODED_STR_NEW(buf, len, "UTF-8"); + xfree(ustr); + xfree(buf); + return retv; +diff -Nrup ext.bad/stringprep.c ext/stringprep.c +--- ext.bad/stringprep.c 2012-02-13 22:16:33.792135714 -0500 ++++ ext/stringprep.c 2012-02-13 22:16:55.618862844 -0500 +@@ -64,7 +64,7 @@ static VALUE stringprep_internal(VALUE s + VALUE retv; + + str = rb_check_convert_type(str, T_STRING, "String", "to_s"); +- rc = stringprep_profile(RSTRING(str)->ptr, &buf, profile, 0); ++ rc = stringprep_profile(RSTRING_PTR(str), &buf, profile, 0); + + if (rc != STRINGPREP_OK) { + rb_raise(eStringprepError, "%s (%d)", stringprep_strerror(rc), rc); +@@ -135,7 +135,7 @@ static VALUE resourceprep(VALUE self, VA + static VALUE with_profile(VALUE self, VALUE str, VALUE profile) + { + profile = rb_check_convert_type(profile, T_STRING, "String", "to_s"); +- return stringprep_internal(str, RSTRING(profile)->ptr); ++ return stringprep_internal(str, RSTRING_PTR(profile)); + } + + /* +@@ -153,7 +153,7 @@ static VALUE nfkc_normalize(VALUE self, + VALUE retv; + + str = rb_check_convert_type(str, T_STRING, "String", "to_s"); +- buf = stringprep_utf8_nfkc_normalize(RSTRING(str)->ptr, RSTRING(str)->len); ++ buf = stringprep_utf8_nfkc_normalize(RSTRING_PTR(str), RSTRING_LEN(str)); + + retv = rb_str_new2(buf); + xfree(buf); diff --git a/rubygem-idn-0.0.2-ruby2-encoding-in-tests-fix.patch b/rubygem-idn-0.0.2-ruby2-encoding-in-tests-fix.patch new file mode 100644 index 0000000..a083a6a --- /dev/null +++ b/rubygem-idn-0.0.2-ruby2-encoding-in-tests-fix.patch @@ -0,0 +1,22 @@ +diff --git a/test/tc_Stringprep.rb b/test/tc_Stringprep.rb +index c7f15cb..bcdd401 100644 +--- a/test/tc_Stringprep.rb ++++ b/test/tc_Stringprep.rb +@@ -60,7 +60,7 @@ class Test_Stringprep < Test::Unit::TestCase + def test_with_profile_STRINGPREP + TESTCASES_STRINGPREP.each do |key, val| + rc = Stringprep.with_profile(val[1], val[0]) +- assert_equal(val[2], rc, "TestCase #{key} failed") ++ assert_equal(val[2].force_encoding('ASCII-8BIT'), rc, "TestCase #{key} failed") + end + end + +@@ -75,7 +75,7 @@ class Test_Stringprep < Test::Unit::TestCase + def test_nfkc_normalize_NFKC + TESTCASES_NFKC.each do |key, val| + rc = Stringprep.nfkc_normalize(val[0]) +- assert_equal(val[1], rc, "TestCase #{key} failed") ++ assert_equal(val[1].force_encoding('ASCII-8BIT'), rc, "TestCase #{key} failed") + end + end + end diff --git a/rubygem-idn.spec b/rubygem-idn.spec new file mode 100644 index 0000000..a7b69c2 --- /dev/null +++ b/rubygem-idn.spec @@ -0,0 +1,64 @@ +%global gem_name idn +Name: rubygem-%{gem_name} +Version: 0.0.2 +Release: 1 +Summary: Ruby Bindings for the GNU LibIDN library +License: ASL 2.0 and LGPLv2+ +URL: https://rubygems.org/gems/idn +Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem +Patch0: rubygem-idn-0.0.2-Fix-for-ruby-1.9.x.patch +Patch1: rubygem-idn-0.0.2-ruby2-encoding-in-tests-fix.patch +BuildRequires: ruby(release) rubygems-devel ruby-devel gcc libidn-devel rubygem(test-unit) +%description +Ruby Bindings for the GNU LibIDN library, an implementation of the Stringprep, +Punycode and IDNA specifications defined by the IETF Internationalized Domain +Names (IDN) working group. + +%package doc +Summary: Documentation for %{name} +Requires: %{name} = %{version}-%{release} +BuildArch: noarch +%description doc +Documentation for %{name}. + +%prep +%setup -q -n %{gem_name}-%{version} +%patch0 -p0 +%patch1 -p1 + +%build +gem build ../%{gem_name}-%{version}.gemspec +%gem_install + +%install +mkdir -p %{buildroot}%{gem_dir} +cp -a .%{gem_dir}/* \ + %{buildroot}%{gem_dir}/ +mkdir -p %{buildroot}%{gem_extdir_mri} +cp -a .%{gem_extdir_mri}/{gem.build_complete,*.so} %{buildroot}%{gem_extdir_mri}/ +rm -rf %{buildroot}%{gem_instdir}/ext/ + +%check +pushd .%{gem_instdir} +ruby -I$(dirs +1)%{gem_extdir_mri} -e 'Dir.glob "./test/tc_*.rb", &method(:require)' +popd + +%files +%dir %{gem_instdir} +%{gem_extdir_mri} +%license %{gem_instdir}/LICENSE +%exclude %{gem_libdir} +%exclude %{gem_cache} +%{gem_spec} + +%files doc +%doc %{gem_docdir} +%doc %{gem_instdir}/CHANGES +%doc %{gem_instdir}/NOTICE +%doc %{gem_instdir}/README +%{gem_instdir}/Rakefile +%{gem_instdir}/test + +%changelog +* Sat Jul 25 2020 wutao - 0.0.2-1 +- package init diff --git a/rubygem-idn.yaml b/rubygem-idn.yaml new file mode 100644 index 0000000..00bbaf0 --- /dev/null +++ b/rubygem-idn.yaml @@ -0,0 +1,4 @@ +version_control: NA +src_repo: NA +tag_prefix: NA +seperator: NA