diff --git a/.gitignore b/.gitignore index e69de29..fc879bd 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,2 @@ +/rabbit-2.1.1.gem +/rubygem-rabbit-2.1.1-test-missing-files.tar.gz diff --git a/rabbit.desktop b/rabbit.desktop new file mode 100644 index 0000000..595b64d --- /dev/null +++ b/rabbit.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Version=1.0 +Name=Rabbit +Exec=rabbit %f +Icon=rabbit_icon +Terminal=false +Type=Application +StartupNotify=true +Categories=Office;Presentation; +MimeType=application/x-rabbit-rab;application/x-rabbit-rd; diff --git a/rabbit.xml b/rabbit.xml new file mode 100644 index 0000000..30c2068 --- /dev/null +++ b/rabbit.xml @@ -0,0 +1,14 @@ + + + + + Rabbit files + + + + + RD files + + + + diff --git a/rubygem-rabbit.spec b/rubygem-rabbit.spec new file mode 100644 index 0000000..430e484 --- /dev/null +++ b/rubygem-rabbit.spec @@ -0,0 +1,178 @@ +%global gem_name rabbit +%define BothRequires() \ +Requires: %1 \ +BuildRequires: %1 \ +%{nil} + +Name: rubygem-%{gem_name} +Version: 2.1.1 +Release: 2%{?dist} + +Summary: RD-document-based presentation application +# CC-BY: rubykaigi2011-background-white.jpg and +# rubykaigi2011-background-black.jpg +# (see doc/en/index.rd) +License: GPLv2+ and CC-BY +URL: http://rabbit-shocker.org/ +Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem +# git clone https://github.com/rabbit-shocker/rabbit.git +# cd rabbit/ +# git reset --hard 2.1.1 +# tar czf rubygem-rabbit-2.1.1-test-missing-files.tar.gz test/fixtures/ +Source1: %{name}-%{version}-test-missing-files.tar.gz +Source10: rabbit.desktop +Source11: rabbit.xml + +%BothRequires ruby(release) +BuildRequires: rubygems-devel +Requires: ruby(rubygems) + +%BothRequires rubygem(coderay) +%BothRequires rubygem(faraday) +%BothRequires rubygem(gettext) +%BothRequires rubygem(gtk2) +%BothRequires rubygem(hikidoc) +%BothRequires rubygem(kramdown) +%BothRequires rubygem(nokogiri) +%BothRequires rubygem(poppler) +%BothRequires rubygem(rsvg2) +%BothRequires rubygem(rdtool) +%BothRequires rubygem(rttool) +BuildRequires: desktop-file-utils +# For rabbirc +Requires: rubygem(net-irc) + +BuildRequires: rubygem(test-unit) +BuildRequires: rubygem(test-unit-notify) +BuildRequires: rubygem(test-unit-rr) + +BuildArch: noarch +Provides: rubygem(%{gem_name}) = %{version} + +%description +Rabbit is an RD-document-based presentation application. + +%package doc +Summary: Documentation for %{name} +Group: Documentation +Requires: %{name} = %{version}-%{release} +BuildArch: noarch + +%description doc +Documentation for %{name} + +%prep +gem unpack %{SOURCE0} +%setup -q -D -T -n %{gem_name}-%{version} +gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec + +%build +gem build %{gem_name}.gemspec +%gem_install + +%install +mkdir -p %{buildroot}%{gem_dir} +cp -pa .%{gem_dir}/* \ + %{buildroot}%{gem_dir}/ + +mkdir -p %{buildroot}%{_bindir} +cp -pa .%{_bindir}/* \ + %{buildroot}%{_bindir}/ + +find %{buildroot}%{gem_instdir}/bin -type f | xargs chmod a+x + +# Desktop, mime, icon +mkdir -p -m 0755 \ + %{buildroot}%{_datadir}/{applications/,mime/packages/} +desktop-file-install \ + --dir=%{buildroot}%{_datadir}/applications/ \ + %{SOURCE10} +install -cpm 644 %{SOURCE11} %{buildroot}%{_datadir}/mime/packages/ + +mkdir -p -m 0755 \ + %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/ +install -cpm 644 .%{gem_instdir}/sample/rabbit_icon.png \ + %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/ + +# Cleanup +pushd %{buildroot}%{gem_instdir} +rm -rf \ + Gemfile Rakefile %{gem_name}.gemspec \ + po/ \ + test/ +popd + +%find_lang rabbit +# list directories under %%{gem_instdir}/data/locale/ +find %{buildroot}%{gem_instdir}/data/locale -type d | while read dir +do + echo "%%dir ${dir#%{buildroot}}" >> rabbit.lang +done + +%check +# test files are not included in binary rpm, so just +# unpack here +pushd .%{gem_instdir} +gzip -dc %{SOURCE1} | tar -xf - +ruby test/run-test.rb +popd + +%post +touch --no-create %{_datadir}/icons/hicolor &>/dev/null +update-desktop-database &> /dev/null +update-mime-database %{_datadir}/mime &> /dev/null +exit 0 + +%postun +update-desktop-database &> /dev/null +update-mime-database %{_datadir}/mime &> /dev/null + +test $1 -eq 0 || exit 0 +touch --no-create %{_datadir}/icons/hicolor &>/dev/null +gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null +exit 0 + +%posttrans +gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null +exit 0 + +%files -f rabbit.lang +# rpmlint: keep all zero-length file +%dir %{gem_instdir} +%doc %{gem_instdir}/[A-Z]* + +%{_bindir}/rabbit-slide +%{_bindir}/rabbit +%{_bindir}/rabbit-theme +%{_bindir}/rabbit-command +%{_bindir}/rabbirc +%{gem_instdir}/bin + +%{gem_libdir} +%dir %{gem_instdir}/data/ +%{gem_instdir}/data/account.kou.gpg +%{gem_instdir}/data/rabbit/ +%{gem_instdir}/entities/ + +%{_datadir}/applications/rabbit.desktop +%{_datadir}/mime/packages/rabbit.xml +%{_datadir}/icons/hicolor/32x32/apps/rabbit_icon.png + +%exclude %{gem_cache} +%{gem_spec} + +%files doc +%doc %{gem_docdir} +%doc %{gem_instdir}/doc/ +%dir %{gem_instdir}/misc/ +%{gem_instdir}/misc/*.rb +%doc %{gem_instdir}/misc/*/ +%doc %{gem_instdir}/sample/ + +%changelog +* Mon Dec 23 2013 Mamoru TASAKA - 2.1.1-2 +- Require net-irc for rabbirc +- Install desktop and mime, icon + +* Sun Nov 17 2013 Mamoru TASAKA - 2.1.1-1 +- Initial package diff --git a/sources b/sources index e69de29..6ad2d29 100644 --- a/sources +++ b/sources @@ -0,0 +1,2 @@ +20cdb6946ddb34e182c061ed9efc5135 rabbit-2.1.1.gem +b5b95ca6d3c32ec301dcce5e5afaaee9 rubygem-rabbit-2.1.1-test-missing-files.tar.gz