# 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