rubygem-redis/rubygem-redis.spec

91 lines
2.5 KiB
RPMSpec
Raw Normal View History

2020-08-28 12:07:31 +08:00
%global gem_name redis
Name: rubygem-%{gem_name}
2022-07-18 01:56:55 +00:00
Version: 4.7.0
Release: 2
2020-08-28 12:07:31 +08:00
Summary: A Ruby client library for Redis
License: MIT
URL: https://github.com/redis/redis-rb
Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem
2022-07-04 16:54:36 +08:00
Source1: https://github.com/redis/redis-rb/archive/refs/tags/v%{version}.tar.gz
2022-07-18 09:29:24 +08:00
BuildRequires: ruby ruby(release) rubygems-devel rubygem(test-unit) redis make rubygem(hiredis) rubygem(minitest) rubygem(mocha) procps-ng
2020-08-28 12:07:31 +08:00
BuildArch: noarch
%description
A Ruby client that tries to match Redis' API one-to-one, while still
providing an idiomatic interface.
%package doc
Summary: Documentation for %{name}
Requires: %{name} = %{version}-%{release}
BuildArch: noarch
%description doc
Documentation for %{name}.
%prep
2022-07-04 16:54:36 +08:00
%setup -q -n %{gem_name}-%{version} -b 1
2020-08-28 12:07:31 +08:00
%build
2022-07-04 16:54:36 +08:00
gem build ../%{gem_name}-%{version}.gemspec
%gem_install
%install
mkdir -p %{buildroot}%{gem_dir}
cp -a .%{gem_dir}/* \
%{buildroot}%{gem_dir}/
2020-08-28 12:07:31 +08:00
%check
pushd .%{gem_instdir}
2022-07-04 16:54:36 +08:00
cp -a %{_builddir}/redis-rb-%{version}/{makefile,test} .
sed -i "s/bundle exec rake test/ruby -Ilib:test -e \"Dir.glob('.\/test\/**\/*_test.rb').sort.each {|t| require t}\"/" \
makefile
# The TestInternals#test_large_payload fails with Hiredis.
# https://github.com/redis/redis-rb/issues/1117
sed -i \
-e '/def test_large_payload/i\ driver(:ruby) do' \
-e '/def test_large_payload/,/end/ {/end/ s/end/&\n end/;}' \
test/internals_test.rb
2022-07-04 16:54:36 +08:00
mkdir bin
echo '#!/usr/bin/sh' > bin/build
chmod a+x bin/build
mv %{_builddir}/redis-rb-%{version}/bin/cluster_creator bin/
2020-08-28 12:07:31 +08:00
LANG=C.UTF-8
2022-07-18 09:29:24 +08:00
pkill -f redis-server || true
sleep 5
2022-07-04 16:54:36 +08:00
for driver in ruby hiredis ; do
export DRIVER=$driver
make BINARY=$(which redis-server) REDIS_CLIENT=$(which redis-cli) BUILD_DIR='${TMP}'
2022-07-18 09:29:24 +08:00
sleep 5
2022-07-04 16:54:36 +08:00
done
2020-08-28 12:07:31 +08:00
popd
%files
%dir %{gem_instdir}
%{gem_libdir}
%license %{gem_instdir}/LICENSE
%{gem_spec}
%exclude %{gem_cache}
%exclude %{gem_instdir}/.*
%files doc
%doc %{gem_docdir}
%doc %{gem_instdir}/CHANGELOG.md
%doc %{gem_instdir}/README.md
%changelog
* Thu Jan 12 2023 xu_ping <xuping33@h-partners.com> - 4.7.0-2
- The TestInternals#test_large_payload fails with hiredis.
2022-07-18 01:56:55 +00:00
* Tue Aug 9 2022 liyanan <liyanan32@h-partners.com> - 4.7.0-1
- Update to 4.7.0
2022-07-18 09:29:24 +08:00
* Mon Jul 18 2022 wulei <wulei80@h-partners.com> - 4.6.0-2
- Fix the compilation failure
2022-07-04 16:54:36 +08:00
* Thu Jun 30 2022 wulei <wulei80@h-partners.com> - 4.6.0-1
- Upgrade to 4.6.0
2020-08-28 12:07:31 +08:00
* Tue Aug 18 2020 huangyangke <huangyangke@huawei.com> - 4.0.1-1
- package init