X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=ruby.spec;h=d83699355fbe3121d9727a630020f5385219ace4;hb=2f89de89a978d1a8bb6d369047a579ebda5e7854;hp=3bce54c094d7757e2666d0521969d80aacc780bf;hpb=f8e41d71441389b76eb4408375bd986c09a7f4ec;p=projects%2Ftemplate-specs.git diff --git a/ruby.spec b/ruby.spec index 3bce54c..d836993 100644 --- a/ruby.spec +++ b/ruby.spec @@ -1,6 +1,11 @@ + # TODO # - any policy what to package in %{ruby_ridir}? # +# Conditional build: +%bcond_without tests # build without tests +%bcond_without doc # don't build ri/rdoc + %define pkgname MODULE_NAME Summary: - Name: ruby-%{pkgname} @@ -12,118 +17,106 @@ Source0: http://rubygems.org/downloads/%{pkgname}-%{version}.gem # Source0-md5: - Group: Development/Languages URL: http://rubyforge.org/projects/.../ -BuildRequires: rpmbuild(macros) >= 1.656 BuildRequires: rpm-rubyprov -BuildRequires: setup.rb -%{?ruby_mod_ver_requires_eq} +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: HTML documentation for %{pkgname} -Summary(pl.UTF-8): Dokumentacja w formacie HTML dla %{pkgname} +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 -HTML documentation for %{pkgname}. +HTML documentation for Ruby %{pkgname} module. %description rdoc -l pl.UTF-8 -Dokumentacja w formacie HTML dla %{pkgname}. +Dokumentacja w formacie HTML dla modułu języka Ruby %{pkgname}. %package ri -Summary: ri documentation for %{pkgname} -Summary(pl.UTF-8): Dokumentacja w formacie ri dla %{pkgname} +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 %{pkgname}. +ri documentation for Ruby %{pkgname} module. %description ri -l pl.UTF-8 -Dokumentacji w formacie ri dla %{pkgname}. +Dokumentacja w formacie ri dla modułu języka Ruby %{pkgname}. %prep -# tgz -#%setup -q -n %{pkgname}-%{version} - -# ext build -cp -p %{_datadir}/setup.rb . +%setup -q -n %{pkgname}-%{version} -# gem install -%setup -qc - -# gem install -%{__tar} xf %{SOURCE0} -O data.tar.gz | %{__tar} xz -find -newer README -o -print | xargs touch --reference %{SOURCE0} +%{__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 -cp %{_datadir}/setup.rb . -%{__ruby} setup.rb config \ - --rbdir=%{ruby_rubylibdir} \ - --sodir=%{ruby_archdir} - -ruby extconf.rb --vendor --with-pgsql-include=%{_includedir}/pgsql/server - -ruby setup.rb config \ - --prefix=%{_prefix} \ - --siterubyver=%{ruby_vendorlibdir} \ - --siterubyverarch=%{ruby_vendorarchdir} \ +# write .gemspec +%__gem_helper spec -ruby setup.rb config \ - --prefix=%{_prefix} \ - --site-ruby=%{ruby_vendorlibdir} +# 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' -%{__ruby} install.rb \ - --sitelibdir=%{ruby_vendorlibdir} \ - -%cmake \ - -DCUSTOM_RUBY_SITE_ARCH_DIR:PATH=%{ruby_vendorarchdir} \ - -DCUSTOM_RUBY_SITE_LIB_DIR:PATH=%{ruby_vendorlibdir} \ - .. - -ruby setup.rb setup - -%{__ruby} setup.rb setup - -rdoc --ri --op ri lib -rdoc --op rdoc lib -# rm -r ri/NOT_THIS_MODULE_RELATED_DIRS -rm ri/created.rid +#' # 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 -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}} -install -d $RPM_BUILD_ROOT{%{ruby_rubylibdir},%{ruby_ridir},%{ruby_rdocdir},%{_bindir}} -%{__ruby} setup.rb install \ - --prefix=$RPM_BUILD_ROOT - -install -d $RPM_BUILD_ROOT%{ruby_vendorlibdir} +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} -cp -a lib/* $RPM_BUILD_ROOT%{ruby_rubylibdir} +%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} +%endif -install -d $RPM_BUILD_ROOT%{ruby_rdocdir}/%{name}-%{version} -cp -a rdoc/* $RPM_BUILD_ROOT%{ruby_rdocdir}/%{name}-%{version} +# 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 @@ -131,10 +124,13 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(644,root,root,755) %doc CHANGELOG README -%{ruby_rubylibdir}/%{pkgname}.rb -%{ruby_rubylibdir}/%{pkgname} -%attr(755,root,root) %{ruby_archdir}/%{pkgname}_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} @@ -142,3 +138,4 @@ rm -rf $RPM_BUILD_ROOT %files ri %defattr(644,root,root,755) %{ruby_ridir}/%{pkgname} +%endif