# Generated from canoser-0.2.1.gem by gem2rpm -*- rpm-spec -*- %global gem_name canoser Name: rubygem-%{gem_name} Version: 0.2.1 Release: 1%{?dist} Summary: A ruby implementation of the canonical serialization for the Libra network License: MIT URL: https://github.com/yuan-xy/canoser-ruby.git Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem BuildRequires: ruby(release) BuildRequires: rubygems-devel BuildRequires: ruby # BuildRequires: rubygem(minitest) >= 5.0 # BuildRequires: rubygem(minitest) < 6 # BuildRequires: rubygem(byebug) >= 11.0 # BuildRequires: rubygem(byebug) < 12 BuildArch: noarch %description A ruby implementation of the canonical serialization for the Libra network. Canonical serialization guarantees byte consistency when serializing an in-memory data structure. It is useful for situations where two parties want to efficiently compare data structures they independently maintain. It happens in consensus where independent validators need to agree on the state they independently compute. A cryptographic hash of the serialized data structure is what ultimately gets compared. In order for this to work, the serialization of the same data structures must be identical when computed by independent validators potentially running different implementations of the same spec in different languages. %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}/ %check pushd .%{gem_instdir} # ruby -e 'Dir.glob "./test/**/*_test.rb", &method(:require)' popd %files %dir %{gem_instdir} %exclude %{gem_instdir}/.gitignore %exclude %{gem_instdir}/.travis.yml %license %{gem_instdir}/LICENSE.txt %{gem_instdir}/bin %{gem_instdir}/canoser.sublime-project %{gem_libdir} %exclude %{gem_cache} %{gem_spec} %files doc %doc %{gem_docdir} %doc %{gem_instdir}/CHANGELOG.md %{gem_instdir}/Gemfile %{gem_instdir}/Gemfile.lock %doc %{gem_instdir}/README-CN.md %doc %{gem_instdir}/README.md %{gem_instdir}/Rakefile %{gem_instdir}/canoser.gemspec %changelog * Mon Aug 23 2021 mockbuilder - 0.2.1-1 - Initial package