]> git.pld-linux.org Git - projects/template-specs.git/blobdiff - ruby.spec
pecl: add example how to make failed tests as XFAIL
[projects/template-specs.git] / ruby.spec
index 3bce54c094d7757e2666d0521969d80aacc780bf..d83699355fbe3121d9727a630020f5385219ace4 100644 (file)
--- 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
This page took 0.038591 seconds and 4 git commands to generate.