%global ruby_sitelib %(ruby -rrbconfig -e "puts Config::CONFIG['sitelibdir']") %global gemname gettext_rails %global gemdir %(ruby -rubygems -e 'puts Gem::dir' 2>/dev/null) %global geminstdir %{gemdir}/gems/%{gemname}-%{version} %global rubyabi 1.8 %global gettext_req 2.1.0 %global locale_req 2.0.5 %global rails_req 2.3.2 %global do_check 0 %if 0%{?fedora} >= 11 %global do_check 1 %endif # Upstream git repo # http://github.com/mutoh/gettext_rails Summary: Localization support for Ruby on Rails by Ruby-GetText-Package Name: rubygem-%{gemname} Version: 2.1.0 Release: 3%{?dist} Group: Development/Languages License: GPLv2 or Ruby URL: http://www.yotabanana.com/hiki/ruby-gettext-rails.html Source0: http://gems.rubyforge.org/gems/%{gemname}-%{version}.gem # From upstream git Patch0: gettext_rails-2.1.0-rails-2.3.5-compat.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: ruby(abi) = %{rubyabi} BuildRequires: ruby(rubygems) BuildRequires: rubygem(allison) BuildRequires: rubygem(gettext) BuildRequires: rubygem(gettext_activerecord) >= %{gettext_req} BuildRequires: rubygem(rake) BuildRequires: rubygem(rails) >= %{rails_req} %if %{do_check} BuildRequires(check): ruby(sqlite3) BuildRequires(check): rubygem(locale_rails) >= %{locale_req} %endif Requires: rubygem(gettext_activerecord) >= %{gettext_req} Requires: rubygem(locale_rails) >= %{locale_req} Requires: rubygem(rails) >= %{rails_req} BuildArch: noarch Provides: rubygem(%{gemname}) = %{version}-%{release} %description gettext_rails provides the localization for Ruby on Rails using Ruby-GetText-Package. * Autodetect client locale using locale/locale_rails. * Easy maintenance of translations to use powerful tools for gettext family. * Model translation using gettext_activerecord. * Localization for some helpers. * Works with other Rails I18n backend. * Note that gettext_rails is not the one of I18n backend. * Thread safe. %package doc Summary: Documentation for %{name} Group: Documentation Requires: %{name} = %{version}-%{release} %description doc This package contains documentation for %{name}. %prep %setup -q -c -T mkdir -p .%{gemdir} gem install \ --local \ --install-dir $(pwd)%{gemdir} \ --force \ --rdoc \ -V \ %{SOURCE0} pushd .%{geminstdir} %patch0 -p1 -b .rails235 popd %build pushd .%{geminstdir} # Recreate gettext .mo files find . -name \*.mo | xargs rm -f rake --trace makemo popd %install rm -rf %{buildroot} mkdir -p %{buildroot}%{gemdir} cp -a .%{gemdir}/* %{buildroot}%{gemdir}/ # %%find_lang treatment # 1. data/locale %{__sed} -e 's|/share/locale/|/data/locale/|' \ /usr/lib/rpm/find-lang.sh \ > find-lang-modified.sh sh find-lang-modified.sh %{buildroot} %{gemname} %{gemname}.lang find %{buildroot}%{geminstdir}/data -type d | while read dir do echo "%%dir ${dir#%{buildroot}}" >> %{gemname}.lang done # 2. sample/locale %{__sed} -e 's|/share/locale/|/sample/locale/|' \ /usr/lib/rpm/find-lang.sh \ > find-lang-modified.sh sh find-lang-modified.sh %{buildroot} blog blog.lang # 3. sample/vendor/plugins/lang_helper/locale %{__sed} -e 's|/share/locale/|/lang_helper/locale/|' \ /usr/lib/rpm/find-lang.sh \ > find-lang-modified.sh sh find-lang-modified.sh %{buildroot} lang_helper lang_helper.lang # Unify, and add rest directories/files under sample/ cat blog.lang lang_helper.lang > sample.files find %{buildroot}%{geminstdir}/sample -type d | while read dir do echo "%%dir ${dir#%{buildroot}}" >> sample.files done find %{buildroot}%{geminstdir}/sample -type f -not -name \*.mo | \ while read f do echo "${f#%{buildroot}}" >> sample.files done # 4. Also for %%{geminstdir}/test/locale sed -e 's|/share/locale/|/test/locale/|' \ /usr/lib/rpm/find-lang.sh \ > find-lang-modified.sh sh find-lang-modified.sh %{buildroot} rails_test doc.lang find %{buildroot}%{geminstdir}/test/locale -type d | while read dir do echo "%%dir ${dir#%{buildroot}}" >> doc.lang done cat doc.lang >> sample.files # cleanups rm -rf %{buildroot}%{geminstdir}/test/log/ %clean rm -rf %{buildroot} %check [ %{do_check} = 0 ] && exit 0 export GEM_PATH=$(pwd)/%{gemdir} cd .%{geminstdir}/test export TZ="Asia/Tokyo" rake test %files -f %{gemname}.lang %defattr(-,root,root,-) %dir %{geminstdir} %doc %{geminstdir}/[A-Z]* %exclude %{geminstdir}/Rakefile %{geminstdir}/lib/ %{gemdir}/cache/%{gemname}-%{version}.gem %{gemdir}/specifications/%{gemname}-%{version}.gemspec %files doc -f sample.files %defattr(-,root,root,-) %{geminstdir}/Rakefile %{geminstdir}/po/ %{gemdir}/doc/%{gemname}-%{version}/ %dir %{geminstdir}/test/ %{geminstdir}/test/[A-Z]* %{geminstdir}/test/[a-km-z]*/ %changelog * Sun May 9 2010 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 2.1.0-3 - Apply a patch from git to make translation compatible with actionpack 2.3.5 * Thu Jan 28 2010 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 2.1.0-2 - Ignore test failure due to distance_of_time_in_words change for now * Thu Nov 19 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 2.1.0-1 - 2.1.0 * Sat Jul 25 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 2.0.4-5 - F-12: Mass rebuild * Fri Jun 26 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 2.0.4-4 - Fix BRs - Cleanup Summary and so on * Tue Jun 16 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 2.0.4-3 - Remove COPYING for now - Recreate gettext .mo file * Fri Jun 12 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 2.0.4-2 - Also mark gettext mo files under test/ directory with %%lang * Tue Jun 9 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 2.0.4-1 - Initial package