]> git.pld-linux.org Git - packages/ruby.git/blob - ruby.spec
764e0585f312b021edc9034f807e5bbccb0ff459
[packages/ruby.git] / ruby.spec
1 # TODO:
2 #       - include ext/ in docs
3 #       - replace ri with fastri
4 #       - patch ri to search multiple indexes (one per package), so RPMs can install ri docs
5 #   - fix inconsistencies with versioned vs not-versioned dirs (see dirname hacks in configure)
6 #   - custom-rubygems-location.patch
7 #
8 # Conditional build:
9 %bcond_without  doc             # skip (time-consuming) docs generating; intended for speed up test builds
10 %bcond_without  tk              # skip building package with Tk bindings
11 %bcond_without  batteries       # Don't include rubygems, json, rake, minitest
12 %bcond_without  default_ruby    # use this Ruby as default system Ruby
13 %bcond_with     bootstrap       # build bootstrap version
14
15 %define         rel             1
16 %define         ruby_version    1.9
17 %define         basever         1.9.3
18 %define         patchlevel      545
19
20 %define         ruby_suffix %{!?with_default_ruby:%{ruby_version}}
21 %define         doc_version     1_9_3
22 %define         json_ver        1.5.5
23 %define         rake_ver        0.9.2.2
24 %define         rubygems_ver    1.8.23.2
25 %define         minitest_ver    2.5.1
26 # when increasing rdoc_ver, please remove "11." prefix in rdoc package release
27 %define         rdoc_ver        3.9.5
28 %define         irb_ver         0.9.6
29 %define         bigdecimal_ver  1.1.0
30 %define         io_console_ver  0.3
31 %define         oname   ruby
32 Summary:        Ruby - interpreted scripting language
33 Summary(ja.UTF-8):      オブジェクト指向言語Rubyインタプリタ
34 Summary(pl.UTF-8):      Ruby - interpretowany język skryptowy
35 Summary(pt_BR.UTF-8):   Linguagem de script orientada a objeto
36 Summary(zh_CN.UTF-8):   ruby - 一种快速高效的面向对象脚本编程语言
37 Name:           ruby%{ruby_suffix}
38 Version:        %{basever}.%{patchlevel}
39 Release:        %{rel}
40 Epoch:          1
41 # Public Domain for example for: include/ruby/st.h, strftime.c, ...
42 License:        (Ruby or BSD) and Public Domain
43 Group:          Development/Languages
44 Source0:        ftp://ftp.ruby-lang.org/pub/ruby/1.9/%{oname}-%{basever}-p%{patchlevel}.tar.bz2
45 # Source0-md5:  4743c1dc48491070bae8fc8b423bc1a7
46 Source1:        http://www.ruby-doc.org/download/%{oname}-doc-bundle.tar.gz
47 # Source1-md5:  ad1af0043be98ba1a4f6d0185df63876
48 Source2:        http://www.ruby-doc.org/downloads/%{oname}_%{doc_version}_stdlib_rdocs.tgz
49 # Source2-md5:  ec622612428672c432b6f65dd31a84b5
50 Source3:        http://www.ruby-doc.org/downloads/%{oname}_%{doc_version}_core_rdocs.tgz
51 # Source3-md5:  1892aadde51d36106c513bced2193dff
52 Source100:      ftp://ftp.ruby-lang.org/pub/ruby/1.8/%{oname}-1.8.7-p330.tar.gz
53 # Source100-md5:        50a49edb787211598d08e756e733e42e
54 Source4:        rdoc.1
55 Source5:        testrb.1
56 Patch0:         %{oname}-lib64.patch
57 Patch1:         %{oname}-ffs.patch
58 Patch2:         fix-bison-invocation.patch
59 # http://redmine.ruby-lang.org/issues/5231
60 Patch3:         disable-versioned-paths.patch
61 # TODO: Should be submitted upstream?
62 Patch4:         arch-specific-dir.patch
63 # http://redmine.ruby-lang.org/issues/5281
64 Patch5:         site-and-vendor-arch-flags.patch
65 # Make mkmf verbose by default
66 Patch6:         mkmf-verbose.patch
67 Patch7:         strip-ccache.patch
68 URL:            http://www.ruby-lang.org/
69 BuildRequires:  autoconf >= 2.60
70 BuildRequires:  automake
71 BuildRequires:  bison >= 1.875
72 BuildRequires:  db-devel
73 BuildRequires:  gdbm-devel >= 1.8.3
74 BuildRequires:  libffi-devel
75 BuildRequires:  ncurses-devel
76 BuildRequires:  openssl-devel
77 BuildRequires:  pkgconfig
78 BuildRequires:  readline-devel >= 4.2
79 BuildRequires:  rpm-build >= 5.4.10-49
80 # boostrap needs ruby binary, erb module
81 %{!?with_bootstrap:BuildRequires:       rpm-rubyprov}
82 %{!?with_bootstrap:BuildRequires:       ruby-modules}
83 %{!?with_bootstrap:BuildRequires:       ruby}
84 BuildRequires:  sed >= 4.0
85 BuildRequires:  yaml-devel
86 %if %{with tk}
87 BuildRequires:  tk-devel
88 %endif
89 Requires(post,postun):  /sbin/ldconfig
90 Provides:       ruby(ver) = %{ruby_version}
91 Obsoletes:      ruby-REXML <= 2.4.0-2
92 Obsoletes:      ruby-doc < 1.8.4
93 Obsoletes:      ruby-fastthread <= 0.6.3
94 Conflicts:      ruby-activesupport < 2.3.11-2
95 Conflicts:      ruby-activesupport2 < 2.3.11-2
96 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
97
98 %define ruby_ridir              %{_datadir}/ri/%{ruby_version}/system
99 %define gem_dir                 %{_datadir}/%{oname}/gems/%{ruby_version}
100
101 # The RubyGems library has to stay out of Ruby directory three, since the
102 # RubyGems should be share by all Ruby implementations.
103 %define rubygems_dir            %{_datadir}/rubygems
104
105 %define ruby_archdir            %{_libdir}/%{oname}/%{ruby_version}
106 %define ruby_libdir             %{_datadir}/%{oname}/%{ruby_version}
107
108 # This is the local lib/arch and should not be used for packaging.
109 %define sitedir                 site_ruby
110 %define ruby_sitedir            %{_prefix}/local/share/%{oname}/%{sitedir}
111 %define ruby_sitearchdir        %{_prefix}/local/%{_lib}/%{oname}/%{sitedir}/%{ruby_version}
112 %define ruby_sitelibdir         %{_prefix}/local/share/%{oname}/%{sitedir}/%{ruby_version}
113
114 # This is the general location for libs/archs compatible with all
115 # or most of the Ruby versions available in the PLD repositories.
116 %define vendordir               vendor_ruby
117 %define ruby_vendordir          %{_datadir}/%{oname}/%{vendordir}
118 %define ruby_vendorarchdir      %{_libdir}/%{oname}/%{vendordir}/%{ruby_version}
119 %define ruby_vendorlibdir       %{_datadir}/%{oname}/%{vendordir}/%{ruby_version}
120
121 # TODO: drop legacy loadpaths after all ruby modules rebuilt in Th
122 %define legacy_libdir           %{_libdir}/%{oname}/%{ruby_version}
123 %define legacy_archdir          %{_libdir}/%{oname}/%{ruby_version}/%{_target_cpu}-linux
124 %define legacy_sitedir          %{_libdir}/%{oname}/%{sitedir}
125 %define legacy_sitelibdir       %{_libdir}/%{oname}/%{sitedir}/%{ruby_version}
126 %define legacy_sitearchdir      %{_libdir}/%{oname}/%{sitedir}/%{ruby_version}/%{_target_cpu}-linux
127 %define legacy_vendordir        %{_libdir}/%{oname}/%{vendordir}
128 %define legacy_vendorlibdir     %{_libdir}/%{oname}/%{vendordir}/%{ruby_version}
129 %define legacy_vendorarchdir    %{_libdir}/%{oname}/%{vendordir}/%{ruby_version}/%{_target_cpu}-linux
130
131 %define legacy_siteloadpath     %{legacy_sitelibdir}\\0%{legacy_sitearchdir}\\0%{legacy_sitedir}
132 %define legacy_vendorloadpath   %{legacy_vendorarchdir}
133 %define legacy_loadpath         %{legacy_archdir}
134 %define legacy_loadpaths        %{legacy_siteloadpath}\\0%{legacy_vendorloadpath}\\0%{legacy_loadpath}
135
136 # bleh, some nasty (gcc or ruby) bug still not fixed
137 # (SEGV or "unexpected break" on miniruby run during build)
138 %define         specflags_ia64  -O0
139
140 # ruby needs frame pointers for correct exception handling
141 %define         specflags_ia32  -fno-omit-frame-pointer
142
143 %description
144 Ruby is the interpreted scripting language for quick and easy
145 object-oriented programming. It has many features to process text
146 files and to do system management tasks (as in Perl). It is simple,
147 straight-forward, extensible, and portable.
148
149 This package contains only shared library and ruby interpreter. To get
150 full-functional ruby environment install ruby-modules package.
151
152 %description -l ja.UTF-8
153 Rubyはシンプルかつ強力なオブジェクト指向スクリプト言語です.Rubyは最初
154 から純粋なオブジェクト指向言語として設計されていますから,オブジェクト
155 指向プログラミングを手軽に行う事が出来ます.もちろん通常の手続き型のプ ログラミングも可能です.
156
157 %description -l pl.UTF-8
158 Ruby to interpretowany język skryptowy, w sam raz dla łatwego i
159 szybkiego pisania zorientowanych obiektowo programów. Ma wiele funkcji
160 ułatwiających przetwarzanie plików tekstowych i wykonywanie prac
161 związanych z zarządzaniem systemu (podobnie jak Perl). Jest prosty,
162 rozszerzalny i przenośny.
163
164 Ten pakiet zawiera tylko bibliotekę dzieloną i interpreter ruby.
165 Zainstaluj pakiet ruby-modules, jeżeli potrzebujesz w pełni
166 funkcjonalnego środowiska ruby.
167
168 %description -l pt_BR.UTF-8
169 Ruby é uma linguagem de script interpretada de programação orientada a
170 objeto. Possui diversas características para processamento de texto. É
171 simples, extensível e direta.
172
173 %package modules
174 Summary:        Ruby standard modules and utilities
175 Summary(pl.UTF-8):      Standardowe moduły i narzędzia dla języka Ruby
176 Group:          Development/Languages
177 Requires:       %{name} = %{epoch}:%{version}-%{release}
178 Suggests:       ruby-rubygems
179 Provides:       ruby-bigdecimal = %{bigdecimal_ver}
180 Provides:       ruby-io-console = %{io_console_ver}
181 # ruby-modules deprecated, rpm5 generates ruby(abi) itself
182 Provides:       ruby-modules(ver) = %{ruby_version}
183 %if %{with batteries}
184 Provides:       ruby-minitest = %{minitest_ver}
185 Obsoletes:      ruby-minitest <= 1.5.0
186 %endif
187
188 %description modules
189 Ruby standard modules and utilities:
190 - erb - Tiny eRuby
191 - testrb - automatic runner for Test::Unit of Ruby
192
193 %description modules -l pl.UTF-8
194 Standardowe moduły i narzędzia Ruby:
195 - erb - mały eRuby
196 - testrb - automatyczny runner dla Ruby Test::Unit
197
198 %package tk
199 Summary:        Ruby/Tk bindings
200 Summary(pl.UTF-8):      Wiązania Ruby/Tk
201 Group:          Development/Languages
202 Requires:       %{name}-modules = %{epoch}:%{version}-%{release}
203
204 %description tk
205 This package contains Ruby/Tk bindings.
206
207 %description tk -l pl.UTF-8
208 Ten pakiet zawiera wiązania Ruby/Tk.
209
210 %package devel
211 Summary:        Ruby development libraries
212 Summary(pl.UTF-8):      Biblioteki programistyczne interpretera języka Ruby
213 Group:          Development/Languages
214 Requires:       %{name}-modules = %{epoch}:%{version}-%{release}
215 Requires:       gcc
216 Requires:       glibc-devel
217 Requires:       pkgconfig
218
219 %description devel
220 Ruby development libraries.
221
222 %description devel -l pl.UTF-8
223 Biblioteki programistyczne interpretera języka Ruby.
224
225 %package static
226 Summary:        Ruby static libraries
227 Summary(pl.UTF-8):      Biblioteki statyczne Ruby
228 Group:          Development/Languages
229 Requires:       %{name}-devel = %{epoch}:%{version}-%{release}
230
231 %description static
232 Ruby static libraries.
233
234 %description static -l pl.UTF-8
235 Biblioteki statyczne Ruby.
236
237 %package doc
238 Summary:        Ruby HTML documentation
239 Summary(pl.UTF-8):      Dokumentacja HTML do Ruby
240 Group:          Documentation
241 %if "%{_rpmversion}" >= "5"
242 BuildArch:      noarch
243 %endif
244
245 %description doc
246 Ruby HTML documentation: FAQ, guide, core and standard library.
247
248 %description doc -l pl.UTF-8
249 Dokumentacja HTML do Ruby: FAQ, przewodnik, dokumentacja dla core i
250 stdlib.
251
252 %package doc-ri
253 Summary:        Ruby ri documentation
254 Summary(pl.UTF-8):      Dokumentacja Ruby w formacie ri
255 Group:          Documentation
256 Requires:       %{name}-modules = %{epoch}:%{version}-%{release}
257 %if "%{_rpmversion}" >= "5"
258 BuildArch:      noarch
259 %endif
260
261 %description doc-ri
262 Ruby ri documentation.
263
264 %description doc-ri -l pl.UTF-8
265 Dokumentacja Ruby w formacie ri.
266
267 %package examples
268 Summary:        Ruby examples
269 Summary(pl.UTF-8):      Przykłady dla języka Ruby
270 Group:          Development/Languages
271 %if "%{_rpmversion}" >= "5"
272 BuildArch:      noarch
273 %endif
274
275 %description examples
276 Ruby examples.
277
278 %description examples -l pl.UTF-8
279 Przykłady programów w języku Ruby.
280
281 # IMPORTANT: keep irb, rdoc, rubygems, rake, json as last packages as we reset epoch/version/release
282 # and %{version},%{release} macros may not be used directly as they take last
283 # subpackage value not main package one what you intend to use
284
285 %package irb
286 Summary:        The Interactive Ruby
287 Version:        %{irb_ver}
288 Release:        %{basever}.%{patchlevel}.%{rel}
289 Epoch:          0
290 Group:          Development/Languages
291 Requires:       %{name}-modules = 1:%{basever}.%{patchlevel}-%{rel}
292 Provides:       irb = %{version}-%{release}
293 Provides:       ruby(irb) = %{version}-%{release}
294 %if "%{_rpmversion}" >= "5"
295 BuildArch:      noarch
296 %endif
297
298 %description irb
299 The irb is acronym for Interactive Ruby. It evaluates ruby expression
300 from the terminal.
301
302 %package rdoc
303 Summary:        A tool to generate HTML and command-line documentation for Ruby projects
304 Summary(pl.UTF-8):      Narzędzie do generowania dokumentacji HTML i linii poleceń dla projektów w Rubym
305 Version:        %{rdoc_ver}
306 # remove "11." when rdoc_ver is increased
307 Release:        11.%{basever}.%{patchlevel}.%{rel}
308 Epoch:          0
309 License:        GPL v2 and Ruby and MIT
310 Group:          Development/Libraries
311 Requires:       %{name}-modules = 1:%{basever}.%{patchlevel}-%{rel}
312 Obsoletes:      rdoc <= 0.9.0
313 %if "%{_rpmversion}" >= "5"
314 BuildArch:      noarch
315 %endif
316
317 %description rdoc
318 RDoc produces HTML and command-line documentation for Ruby projects.
319 RDoc includes the 'rdoc' and 'ri' tools for generating and displaying
320 online documentation.
321
322 %description rdoc -l pl.UTF-8
323 RDoc tworzy dokumentację HTML i linii poleceń dla projektów w języku
324 Ruby. RDoc zawiera narzędzia 'rdoc' i 'ri' do generowania i
325 wyświetlania dokumentacji online.
326
327 %package rubygems
328 Summary:        RubyGems - the Ruby standard for packaging Ruby libraries
329 Summary(pl.UTF-8):      RubyGems - standard Ruby'ego pakietowania bibliotek
330 Version:        %{rubygems_ver}
331 Release:        %{basever}.%{patchlevel}.%{rel}
332 Epoch:          0
333 License:        Ruby or MIT
334 Group:          Development/Libraries
335 Requires:       %{name}-modules = 1:%{basever}.%{patchlevel}-%{rel}
336 Requires:       %{name}-rdoc >= %{rdoc_ver}
337 Suggests:       %{name}-devel
338 Provides:       rubygems = %{rubygems_ver}
339 %if "%{_rpmversion}" >= "5"
340 BuildArch:      noarch
341 %endif
342
343 %description rubygems
344 RubyGems is the Ruby standard for publishing and managing third party
345 libraries.
346
347 %description rubygems -l pl.UTF-8
348 RubyGems to standardowe narzędzie języka Ruby do publikowania i
349 zarządzania zewnętrznymi bibliotekami.
350
351 %package rake
352 Summary:        Rake is a Make-like program implemented in Ruby
353 Summary(pl.UTF-8):      Program typu Make dla języka Ruby
354 Version:        %{rake_ver}
355 Release:        %{basever}.%{patchlevel}.%{rel}
356 Epoch:          0
357 License:        MIT
358 Group:          Development/Languages
359 Provides:       rake = %{rake_ver}
360 Conflicts:      ruby-modules < 1:1.9.3.429-2
361 %if "%{_rpmversion}" >= "5"
362 BuildArch:      noarch
363 %endif
364
365 %description rake
366 Rake is a simple Ruby build program with capabilities similar to make.
367
368 It has the following features:
369 - Rakefiles (rake's version of Makefiles) are completely defined in
370   standard Ruby syntax. No XML files to edit. No quirky Makefile syntax
371   to worry about (is that a tab or a space?)
372 - Users can specify tasks with prerequisites.
373 - Rake supports rule patterns to synthesize implicit tasks.
374 - Rake is lightweight. It can be distributed with other projects as a
375   single file. Projects that depend upon rake do not require that rake
376   be installed on target systems.
377
378 %description rake -l pl.UTF-8
379 Rake to prosty program do budowania w języku Ruby o możliwościach
380 podobnych do make.
381
382 Ma następujące cechy:
383 - Pliki Rakefile (rake'owa odmiana plików Makefile) są definiowane
384   całkowicie w standardowej składni języka Ruby. Nie trzeba modyfikować
385   plików XML. Nie trzeba martwić się kaprysami składni Makefile (czy to
386   tabulacja czy spacja?).
387 - Użytkownicy mogą określać zadania z ich zależnościami.
388 - Rake obsługuje wzorce reguł do tworzenia z nich wynikowych zadań.
389 - Rake jest lekki. Może być rozpowszechniany z innymi projektami jako
390   pojedynczy plik. Projekty używające rake'a nie wymagają go
391   zainstalowanego na systemach docelowych.
392
393 %package json
394 Summary:        JSON library for Ruby
395 Summary(pl.UTF-8):      Biblioteka JSON dla języka Ruby
396 Version:        %{json_ver}
397 Release:        %{basever}.%{patchlevel}.%{rel}
398 Epoch:          0
399 License:        MIT
400 Group:          Development/Languages
401 Obsoletes:      ruby-json-rubyforge
402 Conflicts:      ruby-modules < 1:1.9.3.429-3
403
404 %description json
405 This is a JSON implementation as a Ruby extension in C.
406
407 %description json -l pl.UTF-8
408 Biblioteka JSON dla języka Ruby.
409
410 %prep
411 %if %{with bootstrap}
412 %setup -q -n %{oname}-%{basever}-p%{patchlevel} -a1 -a2 -a3 -a100
413 %else
414 %setup -q -n %{oname}-%{basever}-p%{patchlevel} -a1 -a2 -a3
415 %endif
416 %patch0 -p1
417 %patch1 -p1
418 %patch2 -p1
419 %patch3 -p1
420 %patch4 -p1
421 %patch5 -p1
422 %patch6 -p1
423 %patch7 -p1
424
425 # must be regenerated with new bison
426 %{__rm} parse.{c,h}
427
428 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
429
430 find -type f '(' -name '*.rb' -o -name '*.cgi' -o -name '*.test' \
431         -o -name 'ruby.1' -o -name '*.html' -o -name '*.tcl' ')' \
432         | xargs %{__sed} -i 's,/usr/local/bin/,%{_bindir}/,'
433
434 %build
435 rubygems_ver=$(awk '/VERSION =/ && $1 == "VERSION" {print $3}' lib/rubygems.rb | xargs)
436 if [ $rubygems_ver != %{rubygems_ver} ]; then
437         echo "Set %%define rubygems_ver to $rubygems_ver and re-run."
438         exit 1
439 fi
440 rdoc_ver=$(awk '/VERSION =/ && $1 == "VERSION" {print $3}' lib/rdoc.rb | xargs)
441 if [ $rdoc_ver != %{rdoc_ver} ]; then
442         echo "Set %%define rdoc_ver to $rdoc_ver and re-run."
443         exit 1
444 fi
445
446 cp -f /usr/share/automake/config.sub .
447
448 # build ruby-1.8.7 first
449 %if %{with bootstrap}
450 cd %{oname}-1.8.7-p330
451 %configure
452 %{__make}
453 cd ..
454 %endif
455
456 %{__autoconf}
457 %configure \
458         %{?with_bootstrap:--with-baseruby=%{oname}-1.8.7-p330/miniruby} \
459         --program-suffix=%{ruby_suffix} \
460         --with-rubylibprefix=%(dirname %{ruby_libdir}) \
461         --with-archdir=%{ruby_archdir} \
462         --with-sitedir=%(dirname %{ruby_sitelibdir}) \
463         --with-sitearchdir=%{ruby_sitearchdir} \
464         --with-vendordir=%(dirname %{ruby_vendorlibdir}) \
465         --with-vendorarchdir=%{ruby_vendorarchdir} \
466         --with-rubygemsdir=%{rubygems_dir} \
467         --with-search-path="%{legacy_loadpaths}" \
468         --enable-shared \
469         --enable-pthread \
470         --disable-rubygems \
471         --disable-install-doc \
472         --with-ruby-version=minor
473
474 %{__make} -j1 main \
475         COPY="cp -p" Q= \
476         %{?with_bootstrap:BASERUBY="%{oname}-1.8.7-p330/miniruby -I./ruby-1.8.7-p330/lib"}
477
478 %if %{with doc}
479 %{__make} -j1 rdoc
480 %endif
481
482 %install
483 rm -rf $RPM_BUILD_ROOT
484 install -d $RPM_BUILD_ROOT{%{ruby_rdocdir},%{_examplesdir}/%{oname}-%{version}} \
485         $RPM_BUILD_ROOT{%{ruby_vendorarchdir},%{ruby_ridir}} \
486         $RPM_BUILD_ROOT%{ruby_vendorlibdir}/net \
487         $RPM_BUILD_ROOT%{ruby_vendordir}/data \
488         $RPM_BUILD_ROOT{%{legacy_archdir}/racc,%{legacy_sitelibdir},%{legacy_sitearchdir},%{legacy_vendorarchdir},%{legacy_libdir}/tasks} \
489
490 %{__make} install %{?with_doc:install-doc} \
491         DESTDIR=$RPM_BUILD_ROOT
492
493 cp -Rf sample/* $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{basever}.%{patchlevel}
494 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_mandir}/man1/rdoc%{ruby_suffix}.1
495 cp -p %{SOURCE5} $RPM_BUILD_ROOT%{_mandir}/man1/testrb%{ruby_suffix}.1
496
497 %{__rm} -rf $RPM_BUILD_ROOT%{_docdir}/%{name}/html
498
499 ln -sf %{gem_dir}/gems/rake-%{rake_ver}/bin/rake $RPM_BUILD_ROOT%{_bindir}/rake%{ruby_suffix}
500
501 %if %{without batteries}
502 # packaged separately
503 %{__rm} -r $RPM_BUILD_ROOT%{ruby_libdir}/{rubygems,rake,json,minitest}
504 %{__rm} -r $RPM_BUILD_ROOT%{ruby_archdir}/json
505 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/rake-*
506 %{__rm} $RPM_BUILD_ROOT%{ruby_libdir}/{rake,rubygems,json}.rb
507 %{__rm} $RPM_BUILD_ROOT%{_bindir}/{gem,rake}
508 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/rake*
509 %{__rm} $RPM_BUILD_ROOT%{gem_dir}/specifications/{json,minitest,rake}-*.gemspec
510 %{?with_doc:%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/ri/%{ruby_version}/system/JSON}
511 %endif
512
513 %if %{with doc}
514 # too much .ri
515 %{__rm} $RPM_BUILD_ROOT%{ruby_ridir}/cache.ri
516 %{__rm} $RPM_BUILD_ROOT%{ruby_ridir}/created.rid
517 %endif
518
519 %clean
520 rm -rf $RPM_BUILD_ROOT
521
522 %post   -p /sbin/ldconfig
523 %postun -p /sbin/ldconfig
524
525 %files
526 %defattr(644,root,root,755)
527 %doc NEWS LEGAL README README.EXT ChangeLog ToDo
528 %attr(755,root,root) %{_bindir}/ruby%{ruby_suffix}
529 %attr(755,root,root) %{_libdir}/libruby.so.*.*.*
530 %attr(755,root,root) %ghost %{_libdir}/libruby.so.1.9
531 %{_mandir}/man1/ruby%{ruby_suffix}.1*
532
533 %dir %{_libdir}/%{oname}
534 %dir %{_libdir}/%{oname}/%{vendordir}
535 %dir %{_datadir}/%{oname}
536
537 %dir %{ruby_libdir}
538 %dir %{ruby_archdir}
539 %dir %{ruby_vendordir}
540 %dir %{ruby_vendordir}/data
541 %dir %{ruby_vendorlibdir}
542 %dir %{ruby_vendorarchdir}
543
544 %dir %{_datadir}/ri
545 %dir %{_datadir}/ri/%{ruby_version}
546 %dir %{ruby_ridir}
547
548 %dir %{ruby_rdocdir}
549
550 # common dirs for ruby vendor modules
551 %dir %{ruby_vendorlibdir}/net
552
553 # legacy dirs. when everything rebuilt in Th not using these dirs. drop them
554 %dir %{legacy_archdir}
555 %dir %{legacy_sitedir}
556 %dir %{legacy_sitelibdir}
557 %dir %{legacy_sitearchdir}
558 %dir %{legacy_vendorarchdir}
559 %dir %{legacy_libdir}/tasks
560 %dir %{legacy_archdir}/racc
561
562 %files devel
563 %defattr(644,root,root,755)
564 %attr(755,root,root) %{_libdir}/libruby.so
565 %{_includedir}/%{oname}-%{ruby_version}
566 %{_pkgconfigdir}/ruby-%{ruby_version}.pc
567 %{ruby_libdir}/mkmf.rb
568
569 %files static
570 %defattr(644,root,root,755)
571 %{_libdir}/libruby-static.a
572
573 %if %{with tk}
574 %files tk
575 %defattr(644,root,root,755)
576 %{ruby_libdir}/tcltk.rb
577 %{ruby_libdir}/tk*.rb
578 %{ruby_libdir}/tk
579 %{ruby_libdir}/tkextlib
580 %attr(755,root,root) %{ruby_archdir}/t*.so
581 %endif
582
583 %files irb
584 %defattr(644,root,root,755)
585 %attr(755,root,root) %{_bindir}/irb%{ruby_suffix}
586 %{ruby_libdir}/irb.rb
587 %{ruby_libdir}/irb
588 %{_mandir}/man1/irb%{ruby_suffix}.1*
589
590 %files rdoc
591 %defattr(644,root,root,755)
592 %attr(755,root,root) %{_bindir}/rdoc%{ruby_suffix}
593 %attr(755,root,root) %{_bindir}/ri%{ruby_suffix}
594 %{_mandir}/man1/rdoc%{ruby_suffix}.1*
595 %{ruby_libdir}/rdoc
596 %dir %{gem_dir}/gems/rdoc-%{rdoc_ver}
597 %dir %{gem_dir}/gems/rdoc-%{rdoc_ver}/bin
598 %attr(755,root,root) %{gem_dir}/gems/rdoc-%{rdoc_ver}/bin/rdoc
599 %{gem_dir}/specifications/rdoc-%{rdoc_ver}.gemspec
600 %attr(755,root,root) %{gem_dir}/gems/rdoc-%{rdoc_ver}/bin/ri
601
602 %if %{with batteries}
603 %files rubygems
604 %defattr(644,root,root,755)
605 %attr(755,root,root) %{_bindir}/gem%{ruby_suffix}
606 %{ruby_libdir}/rubygems
607 %{ruby_libdir}/rubygems.rb
608 %{ruby_libdir}/ubygems.rb
609
610 %files rake
611 %defattr(644,root,root,755)
612 %attr(755,root,root) %{_bindir}/rake%{ruby_suffix}
613 %{_mandir}/man1/rake%{ruby_suffix}.1*
614 %{ruby_libdir}/rake
615 %dir %{gem_dir}/gems/rake-%{rake_ver}
616 %dir %{gem_dir}/gems/rake-%{rake_ver}/bin
617 %attr(755,root,root) %{gem_dir}/gems/rake-%{rake_ver}/bin/rake
618 %{gem_dir}/specifications/rake-%{rake_ver}.gemspec
619
620 %files json
621 %defattr(644,root,root,755)
622 %{ruby_libdir}/json
623 %dir %{ruby_archdir}/json
624 %dir %{ruby_archdir}/json/ext
625 %attr(755,root,root) %{ruby_archdir}/json/ext/*.so
626 %{gem_dir}/specifications/json-%{json_ver}.gemspec
627 %endif
628
629 %files modules
630 %defattr(644,root,root,755)
631 %attr(755,root,root) %{_bindir}/erb%{ruby_suffix}
632 %attr(755,root,root) %{_bindir}/testrb%{ruby_suffix}
633 %{ruby_libdir}/bigdecimal
634 %{ruby_libdir}/cgi
635 %{ruby_libdir}/date
636 %{ruby_libdir}/digest
637 %{ruby_libdir}/dl
638 %{ruby_libdir}/drb
639 %{ruby_libdir}/fiddle
640 %{ruby_libdir}/io
641 %{ruby_libdir}/matrix
642 %{ruby_libdir}/net
643 %{ruby_libdir}/openssl
644 %{ruby_libdir}/optparse
645 %{ruby_libdir}/psych
646 %{ruby_libdir}/racc
647 %{ruby_libdir}/rbconfig
648 %{ruby_libdir}/rexml
649 %{ruby_libdir}/rinda
650 %{ruby_libdir}/ripper
651 %{ruby_libdir}/rss
652 %{ruby_libdir}/shell
653 %{ruby_libdir}/syck
654 %{ruby_libdir}/test
655 %{ruby_libdir}/uri
656 %{ruby_libdir}/webrick
657 %{ruby_libdir}/xmlrpc
658 %{ruby_libdir}/yaml
659 %{ruby_libdir}/[A-Za-s]*.rb
660 %{ruby_libdir}/tempfile.rb
661 %{ruby_libdir}/thread.rb
662 %{ruby_libdir}/thwait.rb
663 %{ruby_libdir}/time.rb
664 %{ruby_libdir}/timeout.rb
665 %{ruby_libdir}/tmpdir.rb
666 %{ruby_libdir}/tracer.rb
667 %{ruby_libdir}/tsort.rb
668 %{ruby_libdir}/[u-z]*.rb
669 %if %{with batteries}
670 %exclude %{ruby_libdir}/rubygems.rb
671 %exclude %{ruby_libdir}/ubygems.rb
672 %endif
673 %exclude %{ruby_libdir}/irb.rb
674 %exclude %{ruby_libdir}/mkmf.rb
675 %attr(755,root,root) %{ruby_archdir}/[a-s]*.so
676 %attr(755,root,root) %{ruby_archdir}/[u-z]*.so
677 %dir %{ruby_archdir}/digest
678 %attr(755,root,root) %{ruby_archdir}/digest/*.so
679 %dir %{ruby_archdir}/dl
680 %attr(755,root,root) %{ruby_archdir}/dl/callback.so
681 %dir %{ruby_archdir}/enc
682 %attr(755,root,root) %{ruby_archdir}/enc/*.so
683 %dir %{ruby_archdir}/enc/trans
684 %attr(755,root,root) %{ruby_archdir}/enc/trans/*.so
685 %dir %{ruby_archdir}/io
686 %attr(755,root,root) %{ruby_archdir}/io/*.so
687 %dir %{ruby_archdir}/mathn
688 %attr(755,root,root) %{ruby_archdir}/mathn/*.so
689 %dir %{ruby_archdir}/racc
690 %attr(755,root,root) %{ruby_archdir}/racc/*.so
691 %{ruby_archdir}/rbconfig.rb
692
693 %{gem_dir}/specifications/bigdecimal-%{bigdecimal_ver}.gemspec
694 %{gem_dir}/specifications/io-console-%{io_console_ver}.gemspec
695
696 %if %{with batteries}
697 # minitest
698 %{ruby_libdir}/minitest
699 %{gem_dir}/specifications/minitest-%{minitest_ver}.gemspec
700 %endif
701
702 # parents of gem_dir
703 %dir %{_datadir}/%{oname}/gems
704 #%dir %{_datadir}/%{oname}/gems/%{ruby_version}
705 %dir %{_datadir}/%{oname}/gems/%{ruby_version}/gems
706
707 %dir %{gem_dir}
708 %dir %{gem_dir}/specifications
709 %{_mandir}/man1/erb%{ruby_suffix}.1*
710 %{_mandir}/man1/ri%{ruby_suffix}.1*
711 %{_mandir}/man1/testrb%{ruby_suffix}.1*
712
713 %files doc
714 %defattr(644,root,root,755)
715 %doc ruby-doc-bundle/*
716 %{?with_doc:%doc ruby_%{doc_version}_stdlib}
717 %{?with_doc:%doc ruby_%{doc_version}_core}
718
719 %if %{with doc}
720 %files doc-ri
721 %defattr(644,root,root,755)
722 %{ruby_ridir}/*
723 %endif
724
725 %files examples
726 %defattr(644,root,root,755)
727 %{_examplesdir}/%{oname}-*
This page took 0.121861 seconds and 3 git commands to generate.