]> git.pld-linux.org Git - packages/ruby.git/blobdiff - ruby.spec
Merge branch 'new-paths': adds vendor and noarch LOAD_PATHS
[packages/ruby.git] / ruby.spec
index a680db1b78154d313f4162621a43163ccaab81e9..a41929a7495833e006463adf621a7e34d26c54e1 100644 (file)
--- 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
This page took 0.057002 seconds and 4 git commands to generate.