X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=ruby.spec;h=d83699355fbe3121d9727a630020f5385219ace4;hb=2f89de89a978d1a8bb6d369047a579ebda5e7854;hp=438a3329b3b82d5b251a592fcab2aaa9e0c68f7e;hpb=ff2a1dd9c817b27fee8a285cb86a2d2e7c59035e;p=projects%2Ftemplate-specs.git diff --git a/ruby.spec b/ruby.spec index 438a332..d836993 100644 --- a/ruby.spec +++ b/ruby.spec @@ -1,60 +1,122 @@ + +# TODO +# - 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 @@ -62,11 +124,18 @@ 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