X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=ruby.spec;h=a41929a7495833e006463adf621a7e34d26c54e1;hb=d9302162f1a41c77411f84480d67a560b60d36fc;hp=a680db1b78154d313f4162621a43163ccaab81e9;hpb=0b1956f44574418fb69155b099efa27f27a11bf5;p=packages%2Fruby.git diff --git a/ruby.spec b/ruby.spec index a680db1..a41929a 100644 --- a/ruby.spec +++ b/ruby.spec @@ -4,12 +4,12 @@ # - replace ri with fastri # - patch ri to search multiple indexes (one per package), so RPMs can install ri docs # - fix inconsistencies with versioned vs not-versioned dirs (see dirname hacks in configure) +# - custom-rubygems-location.patch # # Conditional build: %bcond_without doc # skip (time-consuming) docs generating; intended for speed up test builds %bcond_without tk # skip building package with Tk bindings %bcond_without batteries # Don't include rubygems, json or rake -%bcond_without verpath # LOAD_PATH with version number %bcond_with bootstrap # build bootstrap version %define ruby_version 1.9 @@ -28,9 +28,12 @@ Summary(pt_BR.UTF-8): Linguagem de script orientada a objeto Summary(zh_CN.UTF-8): ruby - 一种快速高效的面向对象脚本编程语言 Name: ruby Version: %{basever}.%{patchlevel} -Release: 0.13 +# NOTE: do not decrease Release, when updating Version, +# unless rdoc_ver, rubygems_ver *both* are increased as well +Release: 2 Epoch: 1 -License: The Ruby License +# Public Domain for example for: include/ruby/st.h, strftime.c, ... +License: (Ruby or BSD) and Public Domain Group: Development/Languages Source0: ftp://ftp.ruby-lang.org/pub/ruby/%{ruby_version}/%{name}-%{basever}-p%{patchlevel}.tar.bz2 # Source0-md5: a810d64e2255179d2f334eb61fb8519c @@ -82,16 +85,14 @@ Provides: json = %{json_ver} Provides: rake = %{rake_ver} Provides: ruby-json = %{json_ver} Provides: ruby-rake = %{rake_ver} -Provides: ruby-rubygems = %{rubygems_ver} -Provides: rubygems = %{rubygems_ver} Obsoletes: ruby-json Obsoletes: ruby-rake -Obsoletes: ruby-rubygems %endif Conflicts: ruby-activesupport < 2.3.11-2 Conflicts: ruby-activesupport2 < 2.3.11-2 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) +%define ruby_ridir %{_datadir}/ri/%{ruby_version}/system %define gem_dir %{_datadir}/%{name}/gems/%{ruby_version} # The RubyGems library has to stay out of Ruby directory three, since the @@ -104,14 +105,14 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) # This is the local lib/arch and should not be used for packaging. %define sitedir site_ruby %define ruby_sitedir %{_prefix}/local/share/%{name}/%{sitedir} -%define ruby_sitearchdir %{_prefix}/local/%{_lib}/%{name}/%{sitedir} +%define ruby_sitearchdir %{_prefix}/local/%{_lib}/%{name}/%{sitedir}/%{ruby_version} %define ruby_sitelibdir %{_prefix}/local/share/%{name}/%{sitedir}/%{ruby_version} # This is the general location for libs/archs compatible with all # or most of the Ruby versions available in the PLD repositories. %define vendordir vendor_ruby %define ruby_vendordir %{_datadir}/%{name}/%{vendordir} -%define ruby_vendorarchdir %{_libdir}/%{name}/%{vendordir} +%define ruby_vendorarchdir %{_libdir}/%{name}/%{vendordir}/%{ruby_version} %define ruby_vendorlibdir %{_datadir}/%{name}/%{vendordir}/%{ruby_version} # TODO: drop legacy loadpaths after all ruby modules rebuilt in Th @@ -125,7 +126,7 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define legacy_vendorarchdir%{_libdir}/%{name}/%{vendordir}/%{ruby_version}/%{_arch}-linux %define legacy_siteloadpath %{legacy_sitelibdir}\\0%{legacy_sitearchdir}\\0%{legacy_sitedir} -%define legacy_vendorloadpath %{legacy_vendorlibdir}\\0%{legacy_vendorarchdir} +%define legacy_vendorloadpath %{legacy_vendorarchdir} %define legacy_loadpath %{legacy_archdir} %define legacy_loadpaths %{legacy_siteloadpath}\\0%{legacy_vendorloadpath}\\0%{legacy_loadpath} @@ -171,7 +172,8 @@ Summary: Ruby standard modules and utilities Summary(pl.UTF-8): Standardowe moduły i narzędzia dla języka Ruby Group: Development/Languages Requires: %{name} = %{epoch}:%{version}-%{release} -# workaround for autodep generator net getting version properly +Suggests: ruby-rubygems +# workaround for autodep generator not getting version properly Provides: ruby(abi) = %{ruby_version} Provides: ruby-modules(ver) = %{ruby_version} Obsoletes: ruby-minitest @@ -179,17 +181,13 @@ Obsoletes: ruby-minitest %description modules Ruby standard modules and utilities: - erb - Tiny eRuby -- rdoc - documentation tool for source code - irb - interactive Ruby -- ri - Ruby interactive reference - testrb - automatic runner for Test::Unit of Ruby %description modules -l pl.UTF-8 Standardowe moduły i narzędzia Ruby: - erb - mały eRuby -- rdoc - narzędzie do dokumentowania kodu źródłowego - irb - interaktywny Ruby -- ri - interaktywna dokumentacja Ruby - testrb - automatyczny runner dla Ruby Test::Unit %package tk @@ -263,6 +261,36 @@ Ruby examples. %description examples -l pl.UTF-8 Przykłady programów w języku Ruby. +# IMPORTANT: keep this as last package, as we reset Epoch +%package rdoc +Summary: A tool to generate HTML and command-line documentation for Ruby projects +Version: %{rdoc_ver} +Epoch: 0 +License: GPL v2 and Ruby and MIT +Group: Development/Libraries +Requires: %{name}-modules = 1:%{basever}.%{patchlevel}-%{release} + +%description rdoc +RDoc produces HTML and command-line documentation for Ruby projects. +RDoc includes the 'rdoc' and 'ri' tools for generating and displaying +online documentation. + +%package rubygems +Summary: The Ruby standard for packaging ruby libraries +Version: %{rubygems_ver} +License: Ruby or MIT +Group: Development/Libraries +Requires: %{name}-modules = 1:%{basever}.%{patchlevel}-%{release} +Requires: %{name}-rdoc >= %{rdoc_ver} +Provides: rubygems = %{rubygems_ver} +%if "%{_rpmversion}" >= "5" +BuildArch: noarch +%endif + +%description rubygems +RubyGems is the Ruby standard for publishing and managing third party +libraries. + %prep %if %{with bootstrap} %setup -q -n %{name}-%{basever}-p%{patchlevel} -a1 -a2 -a3 -a100 @@ -310,7 +338,6 @@ cd .. --enable-shared \ --enable-pthread \ --disable-install-doc \ - %{!?with_verpath:--disable-versioned-paths} \ --with-ruby-version=minor %{__make} -j1 main \ @@ -318,14 +345,14 @@ cd .. %{?with_bootstrap:BASERUBY="ruby-1.8.7-p330/miniruby -I./ruby-1.8.7-p330/lib"} %if %{with doc} -%{__make} -j1 docs +%{__make} -j1 rdoc %endif %install rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT{%{ruby_rdocdir},%{_examplesdir}/%{name}-%{version}} \ $RPM_BUILD_ROOT%{ruby_libdir}/tasks \ - $RPM_BUILD_ROOT%{ruby_vendorarchdir}/%{ruby_version} \ + $RPM_BUILD_ROOT{%{ruby_vendorarchdir},%{ruby_ridir}} \ $RPM_BUILD_ROOT{%{legacy_archdir},%{legacy_sitelibdir},%{legacy_sitearchdir},%{legacy_vendorarchdir}} \ %{__make} install %{?with_doc:install-doc} \ @@ -347,8 +374,11 @@ cp -p %{SOURCE5} $RPM_BUILD_ROOT%{_mandir}/man1 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/ri/%{ruby_version}/system/JSON %endif +%if %{with doc} # too much .ri -rm -rf $RPM_BUILD_ROOT%{_datadir}/ri +%{__rm} $RPM_BUILD_ROOT%{ruby_ridir}/cache.ri +%{__rm} $RPM_BUILD_ROOT%{ruby_ridir}/created.rid +%endif %clean rm -rf $RPM_BUILD_ROOT @@ -361,7 +391,6 @@ rm -rf $RPM_BUILD_ROOT %doc NEWS LEGAL README README.EXT ChangeLog ToDo %attr(755,root,root) %{_bindir}/ruby %if %{with batteries} -%attr(755,root,root) %{_bindir}/gem %attr(755,root,root) %{_bindir}/rake %endif %attr(755,root,root) %{_libdir}/libruby.so.*.*.* @@ -372,6 +401,7 @@ rm -rf $RPM_BUILD_ROOT %endif %dir %{_libdir}/%{name} +%dir %{_libdir}/%{name}/%{vendordir} %dir %{_datadir}/%{name} %dir %{_datadir}/%{name}/%{vendordir} @@ -379,11 +409,11 @@ rm -rf $RPM_BUILD_ROOT %dir %{ruby_archdir} %dir %{ruby_vendorlibdir} %dir %{ruby_vendorarchdir} -%dir %{ruby_vendorarchdir}/%{ruby_version} -#%dir %{_datadir}/ri -#%dir %{_datadir}/ri/%{ruby_version} -#%dir %{_datadir}/ri/%{ruby_version}/system +%dir %{_datadir}/ri +%dir %{_datadir}/ri/%{ruby_version} +%dir %{ruby_ridir} + %dir %{ruby_rdocdir} # legacy dirs. when everything rebuilt in Th not using these dirs. drop them @@ -413,12 +443,42 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{ruby_archdir}/t*.so %endif +%files rdoc +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/rdoc +%attr(755,root,root) %{_bindir}/ri +%{_mandir}/man1/rdoc.1* +%{ruby_libdir}/rdoc +%dir %{gem_dir}/gems/rdoc-%{rdoc_ver} +%dir %{gem_dir}/gems/rdoc-%{rdoc_ver}/bin +%attr(755,root,root) %{gem_dir}/gems/rdoc-%{rdoc_ver}/bin/rdoc +%{gem_dir}/specifications/rdoc-%{rdoc_ver}.gemspec +%attr(755,root,root) %{gem_dir}/gems/rdoc-%{rdoc_ver}/bin/ri + +%if %{with batteries} +%files rubygems +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/gem +%{ruby_libdir}/rubygems +%{ruby_libdir}/rubygems.rb +%{ruby_libdir}/ubygems.rb + +%{gem_dir}/specifications/io-console-*.gemspec +%{gem_dir}/specifications/bigdecimal-*.gemspec +%if %{with batteries} +%dir %{gem_dir}/gems/rake-%{rake_ver} +%dir %{gem_dir}/gems/rake-%{rake_ver}/bin +%attr(755,root,root) %{gem_dir}/gems/rake-%{rake_ver}/bin/rake +%{gem_dir}/specifications/minitest-%{minitest_ver}.gemspec +%{gem_dir}/specifications/rake-%{rake_ver}.gemspec +%{gem_dir}/specifications/json-%{json_ver}.gemspec +%endif +%endif + %files modules %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/erb %attr(755,root,root) %{_bindir}/irb -%attr(755,root,root) %{_bindir}/rdoc -%attr(755,root,root) %{_bindir}/ri %attr(755,root,root) %{_bindir}/testrb %{ruby_libdir}/bigdecimal %{ruby_libdir}/cgi @@ -437,13 +497,11 @@ rm -rf $RPM_BUILD_ROOT %if %{with batteries} %{ruby_libdir}/json %{ruby_libdir}/rake -%{ruby_libdir}/rubygems %dir %{ruby_libdir}/tasks %endif %{ruby_libdir}/psych %{ruby_libdir}/racc %{ruby_libdir}/rbconfig -%{ruby_libdir}/rdoc %{ruby_libdir}/rexml %{ruby_libdir}/rinda %{ruby_libdir}/ripper @@ -465,6 +523,8 @@ rm -rf $RPM_BUILD_ROOT %{ruby_libdir}/tracer.rb %{ruby_libdir}/tsort.rb %{ruby_libdir}/[u-z]*.rb +%exclude %{ruby_libdir}/rubygems.rb +%exclude %{ruby_libdir}/ubygems.rb %attr(755,root,root) %{ruby_archdir}/[a-s]*.so %attr(755,root,root) %{ruby_archdir}/[u-z]*.so %dir %{ruby_archdir}/digest @@ -495,24 +555,8 @@ rm -rf $RPM_BUILD_ROOT %dir %{gem_dir} %dir %{gem_dir}/specifications -%{gem_dir}/specifications/io-console-*.gemspec -%{gem_dir}/specifications/bigdecimal-*.gemspec -%if %{with batteries} -%dir %{gem_dir}/gems/rake-%{rake_ver} -%dir %{gem_dir}/gems/rake-%{rake_ver}/bin -%attr(755,root,root) %{gem_dir}/gems/rake-%{rake_ver}/bin/rake -%dir %{gem_dir}/gems/rdoc-%{rdoc_ver} -%dir %{gem_dir}/gems/rdoc-%{rdoc_ver}/bin -%attr(755,root,root) %{gem_dir}/gems/rdoc-%{rdoc_ver}/bin/rdoc -%attr(755,root,root) %{gem_dir}/gems/rdoc-%{rdoc_ver}/bin/ri -%{gem_dir}/specifications/minitest-%{minitest_ver}.gemspec -%{gem_dir}/specifications/rake-%{rake_ver}.gemspec -%{gem_dir}/specifications/rdoc-%{rdoc_ver}.gemspec -%{gem_dir}/specifications/json-%{json_ver}.gemspec -%endif %{_mandir}/man1/erb.1* %{_mandir}/man1/irb.1* -%{_mandir}/man1/rdoc.1* %{_mandir}/man1/ri.1* %{_mandir}/man1/testrb.1* @@ -525,7 +569,7 @@ rm -rf $RPM_BUILD_ROOT %if %{with doc} %files doc-ri %defattr(644,root,root,755) -%{_datadir}/ri/%{ruby_version}/system/* +%{ruby_ridir}/* %endif %files examples