From 088db829bf48f17e3ffb3d1cf366e5709fc81585 Mon Sep 17 00:00:00 2001 From: caodongxia <315816521@qq.com> Date: Thu, 3 Mar 2022 15:04:06 +0800 Subject: [PATCH] init package --- hiredis-0.6.3-bump-hiredis-to-1.0.0.patch | 31 ++++++ hiredis-0.6.3-tests.tgz | Bin 0 -> 3353 bytes hiredis-0.6.3.gem | Bin 0 -> 59904 bytes ...s-0.6.1-Build-against-system-hiredis.patch | 46 ++++++++ rubygem-hiredis.spec | 101 ++++++++++++++++++ 5 files changed, 178 insertions(+) create mode 100644 hiredis-0.6.3-bump-hiredis-to-1.0.0.patch create mode 100644 hiredis-0.6.3-tests.tgz create mode 100644 hiredis-0.6.3.gem create mode 100644 rubygem-hiredis-0.6.1-Build-against-system-hiredis.patch create mode 100644 rubygem-hiredis.spec diff --git a/hiredis-0.6.3-bump-hiredis-to-1.0.0.patch b/hiredis-0.6.3-bump-hiredis-to-1.0.0.patch new file mode 100644 index 0000000..3ff3f5b --- /dev/null +++ b/hiredis-0.6.3-bump-hiredis-to-1.0.0.patch @@ -0,0 +1,31 @@ +From 1a3b7d5f41caa35eeb664053d1cc956e071a0b8b Mon Sep 17 00:00:00 2001 +From: artygus +Date: Wed, 21 Oct 2020 14:39:19 +0300 +Subject: [PATCH] bump hiredis to 1.0.0 + +--- + ext/hiredis_ext/reader.c | 4 +++- + 1 files changed, 3 insertions(+), 1 deletions(-) + +diff --git a/ext/hiredis_ext/reader.c b/ext/hiredis_ext/reader.c +index e0c9fb7..3cf6d0b 100644 +--- a/ext/hiredis_ext/reader.c ++++ b/ext/hiredis_ext/reader.c +@@ -34,7 +34,7 @@ static void *createStringObject(const redisReadTask *task, char *str, size_t len + return tryParentize(task,v); + } + +-static void *createArrayObject(const redisReadTask *task, int elements) { ++static void *createArrayObject(const redisReadTask *task, size_t elements) { + volatile VALUE v = rb_ary_new2(elements); + return tryParentize(task,v); + } +@@ -57,7 +57,9 @@ redisReplyObjectFunctions redisExtReplyObjectFunctions = { + createStringObject, + createArrayObject, + createIntegerObject, ++ NULL, + createNilObject, ++ NULL, + freeObject + }; diff --git a/hiredis-0.6.3-tests.tgz b/hiredis-0.6.3-tests.tgz new file mode 100644 index 0000000000000000000000000000000000000000..438aa3fc0d33b42c66aa50bbb00541d4be53a97e GIT binary patch literal 3353 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 literal 0 HcmV?d00001 diff --git a/hiredis-0.6.3.gem b/hiredis-0.6.3.gem new file mode 100644 index 0000000000000000000000000000000000000000..c9ab5b2c446ed8145e09f5573578be0d4afa2600 GIT binary patch literal 59904 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 G9{4AxsG>Ij literal 0 HcmV?d00001 diff --git a/rubygem-hiredis-0.6.1-Build-against-system-hiredis.patch b/rubygem-hiredis-0.6.1-Build-against-system-hiredis.patch new file mode 100644 index 0000000..7ac1e88 --- /dev/null +++ b/rubygem-hiredis-0.6.1-Build-against-system-hiredis.patch @@ -0,0 +1,46 @@ +From 3339e1d7eb7a7f4e14b1c2be7597af60384b123c Mon Sep 17 00:00:00 2001 +From: Pavel Valena +Date: Wed, 9 May 2018 15:50:22 +0200 +Subject: [PATCH] Build against system hiredis. + +--- + ext/hiredis_ext/extconf.rb | 8 +------- + 1 file changed, 1 insertion(+), 7 deletions(-) + +diff --git a/ext/hiredis_ext/extconf.rb b/ext/hiredis_ext/extconf.rb +index da39eb5..4bdfc00 100644 +--- a/ext/hiredis_ext/extconf.rb ++++ b/ext/hiredis_ext/extconf.rb +@@ -8,12 +8,6 @@ RbConfig::MAKEFILE_CONFIG['CC'] = ENV['CC'] if ENV['CC'] + end + + RbConfig::MAKEFILE_CONFIG['CC'] = ENV['CC'] if ENV['CC'] +- +-hiredis_dir = File.join(File.dirname(__FILE__), %w{.. .. vendor hiredis}) +-unless File.directory?(hiredis_dir) +- STDERR.puts "vendor/hiredis missing, please checkout its submodule..." +- exit 1 +-end + + RbConfig::CONFIG['configure_args'] =~ /with-make-prog\=(\w+)/ + make_program = $1 || ENV['make'] +@@ -27,15 +26,7 @@ end + end + + if build_hiredis +- # Make sure hiredis is built... +- Dir.chdir(hiredis_dir) do +- success = system("#{make_program} static") +- raise "Building hiredis failed" if !success +- end +- +- # Statically link to hiredis (mkmf can't do this for us) +- $CFLAGS << " -I#{hiredis_dir}" +- $LDFLAGS << " #{hiredis_dir}/libhiredis.a" ++ pkg_config 'hiredis' + + have_func("rb_thread_fd_select") + create_makefile('hiredis/ext/hiredis_ext') +-- +2.13.6 + diff --git a/rubygem-hiredis.spec b/rubygem-hiredis.spec new file mode 100644 index 0000000..0eea83f --- /dev/null +++ b/rubygem-hiredis.spec @@ -0,0 +1,101 @@ +%global gem_name hiredis + +Name: rubygem-%{gem_name} +Version: 0.6.3 +Release: 1 +Summary: Ruby wrapper for hiredis +License: BSD +URL: http://github.com/redis/hiredis-rb +Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem +# Get the test suite: +# git clone https://github.com/redis/hiredis-rb.git && cd hiredis-rb/ +# git checkout v0.6.3 && tar czvf hiredis-0.6.3-tests.tgz test/ +Source1: %{gem_name}-%{version}-tests.tgz +# Build against system hiredis library +Patch0: rubygem-hiredis-0.6.1-Build-against-system-hiredis.patch +# Compatibility with hiredis 1.0.0. +# https://github.com/redis/hiredis-rb/pull/69 +Patch1: hiredis-0.6.3-bump-hiredis-to-1.0.0.patch +BuildRequires: ruby(release) +BuildRequires: rubygems-devel +BuildRequires: ruby-devel +BuildRequires: gcc +BuildRequires: hiredis-devel +BuildRequires: rubygem(minitest) + +%description +Ruby wrapper for hiredis (protocol serialization/deserialization and blocking +I/O). + +%package doc +Summary: Documentation for %{name} +Requires: %{name} = %{version}-%{release} +BuildArch: noarch + +%description doc +Documentation for %{name}. + +%prep +%setup -q -n %{gem_name}-%{version} -b1 + + +# Remove bundled hiredis +%gemspec_remove_file Dir.glob('vendor/**/*') +rm -rf ./vendor + +# Use system hiredis +%patch0 -p1 +%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}/hiredis/ext +cp -a .%{gem_extdir_mri}/gem.build_complete %{buildroot}%{gem_extdir_mri}/ +cp -a .%{gem_extdir_mri}/%{gem_name}/ext/*.so %{buildroot}%{gem_extdir_mri}/%{gem_name}/ext + +# Prevent dangling symlink in -debuginfo (rhbz#878863). +rm -rf %{buildroot}%{gem_instdir}/ext/ + + +%check +pushd .%{gem_instdir} +cp -a %{_builddir}/test . + +# Tests calling #flush don't work properly. +# https://github.com/redis/hiredis-rb/issues/62 +sed -i '/^ def test_recover_from_partial_write/ a skip' \ + test/connection_test.rb +sed -i '/^ def test_eagain_on_write_followed_by_remote_drain/ a skip' \ + test/connection_test.rb + +# Make sure the test does not fail in mock with disabled networking. +sed -i -r '/(name or service not known)/ s|(/i)|\|(temporary failure in name resolution)\1|' \ + test/connection_test.rb + +ruby -Ilib:$(dirs +1)%{gem_extdir_mri} -e 'Dir.glob "./test/**/*_test.rb", &method(:require)' +popd + +%files +%dir %{gem_instdir} +%{gem_extdir_mri} +%license %{gem_instdir}/COPYING +%{gem_libdir} +%exclude %{gem_cache} +%exclude %{gem_instdir}/ext +%{gem_spec} + +%files doc +%doc %{gem_docdir} +%{gem_instdir}/Rakefile + +%changelog +* Thu Mar 3 2022 caodongxia - 0.6.3-1 +- Init package