diff --git a/.gitignore b/.gitignore index 3ec5ad7..e48c49f 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,5 @@ /gherkin-4.0.0-testdata.tgz /gherkin-4.0.0.gem /gherkin-4.1.3.gem +/gherkin-5.1.0.gem +/rubygem-gherkin-5.1.0-make.tar.gz diff --git a/rubygem-gherkin.spec b/rubygem-gherkin.spec index 7e1f0c5..3dbb6de 100644 --- a/rubygem-gherkin.spec +++ b/rubygem-gherkin.spec @@ -1,16 +1,19 @@ %global gem_name gherkin Name: rubygem-%{gem_name} -Version: 4.1.3 -Release: 4%{?dist} +Version: 5.1.0 +Release: 1%{?dist} Summary: Fast Gherkin lexer/parser -Group: Development/Languages License: MIT URL: https://github.com/cucumber/gherkin-ruby Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem +# git clone https://github.com/cucumber/gherkin-ruby && cd gherkin-ruby +# git checkout v5.1.0 && tar czvf rubygem-gherkin-5.1.0-make.tar.gz Makefile testdata/ bin/gherkin-generate-tokens +Source1: %{name}-%{version}-make.tar.gz BuildRequires: ruby(release) BuildRequires: rubygems-devel BuildRequires: ruby +BuildRequires: %{_bindir}/help2man BuildRequires: rubygem(rspec) BuildRequires: %{_bindir}/jq BuildArch: noarch @@ -21,7 +24,6 @@ A fast Gherkin lexer/parser based on the Ragel State Machine Compiler. %package doc Summary: Documentation for %{name} -Group: Documentation Requires: %{name} = %{version}-%{release} BuildArch: noarch @@ -30,10 +32,15 @@ Documentation for %{name}. %prep -%setup -n %{name}-%{version} -q -c -T -%gem_install -n %{SOURCE0} +%setup -q -n %{gem_name}-%{version} -b 1 %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} @@ -41,28 +48,44 @@ cp -a .%{gem_dir}/* \ %{buildroot}%{gem_dir}/ mkdir -p %{buildroot}%{_bindir} -cp -pa .%{_bindir}/* \ +cp -a .%{_bindir}/* \ %{buildroot}%{_bindir}/ find %{buildroot}%{gem_instdir}/bin -type f | xargs chmod a+x find %{buildroot}%{gem_instdir}/bin -type f | \ xargs sed -i 's|^#!/usr/bin/env ruby$|#!/usr/bin/ruby|' +# Build man page from `gherkin --help" output +export GEM_PATH="%{buildroot}/%{gem_dir}:%{gem_dir}" +mkdir -p %{buildroot}%{_mandir}/man1 +# Pass version manually to help2man, gherkin does not support "--version" option +help2man -N -s1 --version-string=%{version} -o %{buildroot}%{_mandir}/man1/%{gem_name}.1 \ + %{buildroot}/usr/share/gems/gems/%{gem_name}-%{version}/bin/%{gem_name} +help2man -N -s1 --version-string=%{version} -o %{buildroot}%{_mandir}/man1/%{gem_name}-ruby.1 \ + %{buildroot}/usr/share/gems/gems/%{gem_name}-%{version}/bin/%{gem_name}-ruby + %check pushd .%{gem_instdir} -LANG=C.UTF-8 rspec spec +rspec spec + +# Files needed for make to pass. +ln -s %{_builddir}/Makefile ./Makefile +ln -s %{_builddir}/testdata ./testdata +ln -s %{_builddir}/bin/gherkin-generate-tokens ./bin/gherkin-generate-tokens sed -i '/.built:/ i .built:\n' Makefile sed -i '/.built: /,/^$/ s/^/#/' Makefile -LANG=C.UTF-8 make .compared +make .compared popd %files %dir %{gem_instdir} %{_bindir}/gherkin-ruby -%exclude %{gem_instdir}/.* +%{_bindir}/gherkin +%{_mandir}/man1/gherkin-ruby.1* +%{_mandir}/man1/gherkin.1* %license %{gem_instdir}/LICENSE %{gem_instdir}/bin %{gem_libdir} @@ -71,20 +94,14 @@ popd %files doc %doc %{gem_docdir} -%doc %{gem_instdir}/CONTRIBUTING.md -%{gem_instdir}/Gemfile -%{gem_instdir}/Makefile %doc %{gem_instdir}/README.md -%{gem_instdir}/Rakefile -%{gem_instdir}/berp -%{gem_instdir}/gherkin.gemspec -%{gem_instdir}/gherkin-languages.json -%{gem_instdir}/gherkin-ruby.razor -%{gem_instdir}/gherkin.berp %{gem_instdir}/spec -%{gem_instdir}/testdata %changelog +* Mon Sep 03 2018 Jaroslav Prokop - 5.1.0-1 +- Update to Gherkin 5.1.0. +- Add man pages for executables. + * Sat Jul 14 2018 Fedora Release Engineering - 4.1.3-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild diff --git a/sources b/sources index 0d0240b..a7516bc 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -SHA512 (gherkin-4.1.3.gem) = 7c113172ddf38ccf7e49eaac19355f3cb991f69d7499dba9189f375b75d3614f349fc6374e584a92c1223b0708cc8944859b4b38e28d79779a5091fa0c775e6e +SHA512 (gherkin-5.1.0.gem) = d935ccceaec493736f337a4c3db69909858d15f4c41e93ecfc6ca31a30fc48eec1cecbe71d455265e1062006f49f05461c9860c9b3cc4806bb25f42dec6f504e +SHA512 (rubygem-gherkin-5.1.0-make.tar.gz) = 9e6d549e8dab86f8d71f1ef55c7d7bfbc01ed5f666de2d2ffafda2a4757b32212434bca4847e79a5652ea5c60289f97d6323a20823ca508b3c2bcb74b0063ee0