# Generated from syncache-1.4.gem by gem2rpm -*- rpm-spec -*- %global gem_name syncache Name: rubygem-%{gem_name} Version: 1.4 Release: 1%{?dist} Summary: Thread-safe time-limited cache with flexible replacement policy License: GPL-3.0+ URL: https://github.com/angdraug/syncache Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem BuildRequires: ruby(release) BuildRequires: rubygems-devel BuildRequires: ruby BuildArch: noarch %description SynCache stores cached objects in a Hash that is protected by an advanced two-level locking mechanism which ensures that: * Multiple threads can add and fetch objects in parallel. * While one thread is working on a cache entry, other threads can access the rest of the cache with no waiting on the global lock, no race conditions nor deadlock or livelock situations. * While one thread is performing a long and resource-intensive operation, other threads that request the same data will be put on hold, and as soon as the first thread completes the operation, the result will be returned to all threads. %package doc Summary: Documentation for %{name} Requires: %{name} = %{version}-%{release} BuildArch: noarch %description doc Documentation for %{name}. %prep %setup -q -n %{gem_name}-%{version} %build # Create the gem as gem install only works on a gem file gem build ../%{gem_name}-%{version}.gemspec # %%gem_install compiles any C extensions and installs the gem into ./%%gem_dir # by default, so that we can move it into the buildroot in %%install %gem_install %install mkdir -p %{buildroot}%{gem_dir} cp -a .%{gem_dir}/* \ %{buildroot}%{gem_dir}/ mkdir -p %{buildroot}%{_bindir} cp -a .%{_bindir}/* \ %{buildroot}%{_bindir}/ find %{buildroot}%{gem_instdir}/bin -type f | xargs chmod a+x %check pushd .%{gem_instdir} # Run the test suite. popd %files %dir %{gem_instdir} %{_bindir}/syncache-drb %license %{gem_instdir}/COPYING %{gem_instdir}/bin %{gem_libdir} %{gem_instdir}/man %{gem_instdir}/setup.rb %exclude %{gem_cache} %{gem_spec} %files doc %doc %{gem_docdir} %doc %{gem_instdir}/ChangeLog.mtn %doc %{gem_instdir}/README.rdoc %{gem_instdir}/Rakefile %{gem_instdir}/syncache.gemspec %{gem_instdir}/test %changelog * Thu Sep 16 2021 mockbuilder - 1.4-1 - Initial package