+
# TODO
-# - -ri subpackages? (see: ruby-RubyGems.spec)
# - any policy what to package in %{ruby_ridir}?
#
-# Replace:
-# MODULE_NAME with real module name
+# Conditional build:
+%bcond_without tests # build without tests
+%bcond_without doc # don't build ri/rdoc
+
+%define pkgname MODULE_NAME
Summary: -
-Name: ruby-MODULE_NAME
+Name: ruby-%{pkgname}
Version: -
Release: 0.1
License: - (enter GPL/GPL v2/GPL v3+/LGPL/MIT/Ruby License/other license name here)
-Source0: http://rubyforge.org/frs/download.php/18699/MODULE_NAME-%{version}.tgz
+#Source0: http://rubyforge.org/frs/download.php/18699/%{pkgname}-%{version}.tgz
+Source0: http://rubygems.org/downloads/%{pkgname}-%{version}.gem
# Source0-md5: -
Group: Development/Languages
URL: http://rubyforge.org/projects/.../
-BuildRequires: rpmbuild(macros) >= 1.484
-BuildRequires: ruby >= 1:1.8.6
-BuildRequires: ruby-modules
-%{?ruby_mod_ver_requires_eq}
+BuildRequires: rpm-rubyprov
+BuildRequires: rpmbuild(macros) >= 1.665
+#BuildRequires: setup.rb
+# optional locale BR, see ri/rdoc building below
+#%if %(locale -a | grep -q '^en_US$'; echo $?)
+#BuildRequires: glibc-localedb-all
+#%endif
+%if %{with tests}
+#BuildRequires: ruby-rspec
+%endif
#BuildArch: noarch
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-# nothing to be placed there. we're not noarch only because of ruby packaging
-%define _enable_debug_packages 0
-
%description
...
%package rdoc
-Summary: Documentation files for MODULE_NAME
+Summary: HTML documentation for Ruby %{pkgname} module
+Summary(pl.UTF-8): Dokumentacja w formacie HTML dla modułu języka Ruby %{pkgname}
Group: Documentation
Requires: ruby >= 1:1.8.7-4
%description rdoc
-Documentation files for MODULE_NAME.
+HTML documentation for Ruby %{pkgname} module.
-%prep
-%setup -q -n MODULE_NAME-%{version}
+%description rdoc -l pl.UTF-8
+Dokumentacja w formacie HTML dla modułu języka Ruby %{pkgname}.
+
+%package ri
+Summary: ri documentation for Ruby %{pkgname} module
+Summary(pl.UTF-8): Dokumentacja w formacie ri dla modułu języka Ruby %{pkgname}
+Group: Documentation
+Requires: ruby
+
+%description ri
+ri documentation for Ruby %{pkgname} module.
-# gem install
-%{__tar} xf %{SOURCE0} -O data.tar.gz | %{__tar} xz
-find -newer README -o -print | xargs touch --reference %{SOURCE0}
+%description ri -l pl.UTF-8
+Dokumentacja w formacie ri dla modułu języka Ruby %{pkgname}.
-cp /usr/share/setup.rb .
+%prep
+%setup -q -n %{pkgname}-%{version}
+
+%{__sed} -i -e '1 s,#!.*ruby,#!%{__ruby},' bin/*
# cleanup backups after patching
find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
%build
+# write .gemspec
+%__gem_helper spec
+
+# make gemspec self-contained
+ruby -r rubygems -e 'spec = eval(File.read("%{pkgname}.gemspec"))
+ File.open("%{pkgname}-%{version}.gemspec", "w") do |file|
+ file.puts spec.to_ruby_for_cache
+end'
+
+#'
+
+# binary pkgs:
+cd ext/%{pkgname}
+%{__ruby} extconf.rb
+%{__make} \
+ CC="%{__cc}" \
+ LDFLAGS="%{rpmldflags}" \
+ CFLAGS="%{rpmcflags} -fPIC"
+
+# with rdoc/ri:
+# optional locale force, see BR above as well
+# UTF8 locale needed for doc generation
+#export LC_ALL=en_US.UTF-8
+
rdoc --ri --op ri lib
rdoc --op rdoc lib
-# rm -rf ri/NOT_THIS_MODULE_RELATED_DIRS
-rm -f ri/created.rid
+# rm -r ri/NOT_THIS_MODULE_RELATED_DIRS
+rm ri/created.rid
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{ruby_rubylibdir},%{ruby_ridir},%{ruby_rdocdir}}
-cp -a lib/* $RPM_BUILD_ROOT%{ruby_rubylibdir}
+install -d $RPM_BUILD_ROOT{%{ruby_vendorlibdir},%{ruby_specdir}}
+cp -a lib/* $RPM_BUILD_ROOT%{ruby_vendorlibdir}
+cp -p %{pkgname}-%{version}.gemspec $RPM_BUILD_ROOT%{ruby_specdir}
+
+install -d $RPM_BUILD_ROOT{%{ruby_vendorlibdir},%{ruby_specdir},%{_bindir}}
+cp -a bin/* $RPM_BUILD_ROOT%{_bindir}
+
+%if %{with doc}
+install -d $RPM_BUILD_ROOT{%{ruby_rdocdir}/%{name}-%{version},%{ruby_ridir}}
+cp -a rdoc/* $RPM_BUILD_ROOT%{ruby_rdocdir}/%{name}-%{version}
cp -a ri/* $RPM_BUILD_ROOT%{ruby_ridir}
-cp -a rdoc $RPM_BUILD_ROOT%{ruby_rdocdir}/%{name}-%{version}
+%endif
+
+# install ext
+install -d $RPM_BUILD_ROOT%{ruby_vendorarchdir}
+install -p ext/%{pkgname}/*.so $RPM_BUILD_ROOT%{ruby_vendorarchdir}
+
+# install examples
+install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
+cp -a examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
%doc CHANGELOG README
-%{ruby_rubylibdir}/MODULE_NAME.rb
-%{ruby_rubylibdir}/MODULE_NAME
-%attr(755,root,root) %{ruby_archdir}/MODULE_NAME_ext.so
+%{ruby_vendorlibdir}/%{pkgname}.rb
+%{ruby_vendorlibdir}/%{pkgname}
+%attr(755,root,root) %{ruby_vendorarchdir}/%{pkgname}_ext.so
+%{ruby_specdir}/%{pkgname}-%{version}.gemspec
+%{_examplesdir}/%{name}-%{version}
+%if %{with doc}
%files rdoc
%defattr(644,root,root,755)
%{ruby_rdocdir}/%{name}-%{version}
-%{ruby_ridir}/MODULE_NAME
+
+%files ri
+%defattr(644,root,root,755)
+%{ruby_ridir}/%{pkgname}
+%endif