]> git.pld-linux.org Git - packages/ruby.git/blob - ruby.spec
- bigdecimal and io-console are not noarch
[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 #
6 # Conditional build:
7 %bcond_without  doc             # skip (time-consuming) docs generating; intended for speed up test builds
8 %bcond_with     tk              # Tk bindings
9 %bcond_without  batteries       # Don't include rubygems, json, rake, minitest
10 %bcond_without  default_ruby    # use this Ruby as default system Ruby
11 %bcond_with     bootstrap       # build bootstrap version
12 %bcond_with     tests           # build without tests
13
14 %define         rel             2
15 %define         ruby_version    2.3
16 %define         patchlevel      5
17 %define         pkg_version     %{ruby_version}.%{patchlevel}
18 %define         ruby_suffix %{!?with_default_ruby:%{ruby_version}}
19 %define         doc_version     2_3_4
20 %define         oname   ruby
21 Summary:        Ruby - interpreted scripting language
22 Summary(ja.UTF-8):      オブジェクト指向言語Rubyインタプリタ
23 Summary(pl.UTF-8):      Ruby - interpretowany język skryptowy
24 Summary(pt_BR.UTF-8):   Linguagem de script orientada a objeto
25 Summary(zh_CN.UTF-8):   ruby - 一种快速高效的面向对象脚本编程语言
26 Name:           ruby%{ruby_suffix}
27 Version:        %{pkg_version}
28 Release:        %{rel}
29 Epoch:          1
30 # Public Domain for example for: include/ruby/st.h, strftime.c, missing/*, ...
31 # MIT and CCO: ccan/*
32 # zlib: ext/digest/md5/md5.*, ext/nkf/nkf-utf8/nkf.c
33 # UCD: some of enc/trans/**/*.src
34 License:        (Ruby or BSD) and Public Domain and MIT and CC0 and zlib and UCD
35 Group:          Development/Languages
36 # https://www.ruby-lang.org/en/downloads/
37 Source0:        https://cache.ruby-lang.org/pub/ruby/%{ruby_version}/%{oname}-%{pkg_version}.tar.xz
38 # Source0-md5:  7bc4c199647f9eceb66c9611f11d6da0
39 Source2:        http://www.ruby-doc.org/downloads/%{oname}_%{doc_version}_stdlib_rdocs.tgz
40 # Source2-md5:  480c3f6f8d9311e86c1aa395f7d7bba6
41 Source3:        http://www.ruby-doc.org/downloads/%{oname}_%{doc_version}_core_rdocs.tgz
42 # Source3-md5:  9805d5d4537b73d2af1860e0759421f1
43 Source100:      ftp://ftp.ruby-lang.org/pub/ruby/1.8/%{oname}-1.8.7-p330.tar.gz
44 # Source100-md5:        50a49edb787211598d08e756e733e42e
45 Source4:        rdoc.1
46 Source5:        testrb.1
47 Source6:        operating_system.rb
48 Patch0:         %{oname}-lib64.patch
49 #Patch1:                %{oname}-ffs.patch
50 Patch2:         fix-bison-invocation.patch
51 Patch3:         mkmf-verbose.patch
52 Patch4:         strip-ccache.patch
53 Patch5:         ruby-version.patch
54 Patch6:         duplicated-paths.patch
55 # obsolete?
56 Patch8:         rubygems-2.0.0-binary-extensions.patch
57 Patch9:         custom-rubygems-location.patch
58 Patch12:        archlibdir.patch
59 URL:            http://www.ruby-lang.org/
60 BuildRequires:  autoconf >= 2.67
61 BuildRequires:  automake
62 BuildRequires:  bison >= 1.875
63 BuildRequires:  db-devel
64 BuildRequires:  gdbm-devel >= 1.8.3
65 BuildRequires:  gmp-devel
66 BuildRequires:  libffi-devel
67 BuildRequires:  ncurses-devel
68 BuildRequires:  openssl-devel >= 0.9.6
69 BuildRequires:  pkgconfig
70 BuildRequires:  readline-devel >= 4.2
71 BuildRequires:  rpm-build >= 5.4.10-49
72 BuildRequires:  sed >= 4.0
73 BuildRequires:  systemtap-sdt-devel
74 BuildRequires:  tar >= 1:1.22
75 BuildRequires:  xz
76 BuildRequires:  yaml-devel
77 BuildRequires:  zlib-devel
78 %if %{without bootstrap}
79 # bootstrap needs ruby binary, erb module
80 BuildRequires:  rpm-rubyprov
81 BuildRequires:  ruby
82 BuildRequires:  ruby-modules
83 %endif
84 %if %{with tk}
85 BuildRequires:  tk-devel < 8.7
86 BuildRequires:  tk-devel >= 8.4
87 %endif
88 Requires(post,postun):  /sbin/ldconfig
89 Obsoletes:      ruby-REXML <= 2.4.0-2
90 Obsoletes:      ruby-doc < 1.8.4
91 Obsoletes:      ruby-fastthread <= 0.6.3
92 Conflicts:      rpm-build-macros < 1.695
93 Conflicts:      ruby-activesupport < 2.3.11-2
94 Conflicts:      ruby-activesupport2 < 2.3.11-2
95 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
96
97 %define bigdecimal_ver          1.2.8
98 %define io_console_ver          0.4.5
99 %define irb_ver                 0.9.6
100 %define json_ver                1.8.3.1
101 %define minitest_ver            5.8.5
102 %define psych_ver               2.1.0.1
103 %define rake_ver                10.4.2
104 %define rdoc_ver                4.2.1
105 %define rubygems_ver            2.5.2.1
106 %define test_unit_ver           3.1.5
107 %define power_assert_ver        0.2.6
108 %define did_you_mean_ver        1.0.0
109 %define net_telnet_ver          0.1.1
110
111 %define ruby_ridir              %{_datadir}/ri/system
112 %define gem_dir                 %{_datadir}/gems
113 %define gem_libdir              %{_libdir}/gems/%{oname}
114
115 # location where rubygems is installed
116 %define rubygems_dir            %{ruby_libdir}
117
118 %define ruby_archdir            %{_libdir}/%{oname}/%{ruby_version}
119 %define ruby_libarchdir         %{_libdir}/%{oname}/%{ruby_version}
120 %define ruby_libdir             %{_datadir}/%{oname}/%{ruby_version}
121
122 # This is the local lib/arch and should not be used for packaging.
123 %define sitedir                 site_ruby
124 %define ruby_sitearchdir        %{_prefix}/local/%{_lib}/%{oname}/%{sitedir}/%{ruby_version}
125 %define ruby_sitelibdir         %{_prefix}/local/share/%{oname}/%{sitedir}
126
127 # This is the general location for libs/archs compatible with all
128 # or most of the Ruby versions available in the PLD repositories.
129 %define vendordir               vendor_ruby
130 %define ruby_vendorarchdir      %{_libdir}/%{oname}/%{vendordir}/%{ruby_version}
131 %define ruby_vendorlibdir       %{_datadir}/%{oname}/%{vendordir}
132
133 # bleh, some nasty (gcc or ruby) bug still not fixed
134 # (SEGV or "unexpected break" on miniruby run during build)
135 %define specflags_ia64  -O0
136
137 # ruby needs frame pointers for correct exception handling
138 %define specflags_ia32  -fno-omit-frame-pointer
139
140 %description
141 Ruby is the interpreted scripting language for quick and easy
142 object-oriented programming. It has many features to process text
143 files and to do system management tasks (as in Perl). It is simple,
144 straight-forward, extensible, and portable.
145
146 This package contains only shared library and ruby interpreter. To get
147 full-functional ruby environment install ruby-modules package.
148
149 %description -l ja.UTF-8
150 Rubyはシンプルかつ強力なオブジェクト指向スクリプト言語です.Rubyは最初
151 から純粋なオブジェクト指向言語として設計されていますから,オブジェクト
152 指向プログラミングを手軽に行う事が出来ます.もちろん通常の手続き型のプ ログラミングも可能です.
153
154 %description -l pl.UTF-8
155 Ruby to interpretowany język skryptowy, w sam raz dla łatwego i
156 szybkiego pisania zorientowanych obiektowo programów. Ma wiele funkcji
157 ułatwiających przetwarzanie plików tekstowych i wykonywanie prac
158 związanych z zarządzaniem systemu (podobnie jak Perl). Jest prosty,
159 rozszerzalny i przenośny.
160
161 Ten pakiet zawiera tylko bibliotekę dzieloną i interpreter ruby.
162 Zainstaluj pakiet ruby-modules, jeżeli potrzebujesz w pełni
163 funkcjonalnego środowiska ruby.
164
165 %description -l pt_BR.UTF-8
166 Ruby é uma linguagem de script interpretada de programação orientada a
167 objeto. Possui diversas características para processamento de texto. É
168 simples, extensível e direta.
169
170 %package modules
171 Summary:        Ruby standard modules and utilities
172 Summary(pl.UTF-8):      Standardowe moduły i narzędzia dla języka Ruby
173 Group:          Development/Languages
174 Requires:       %{name} = %{epoch}:%{version}-%{release}
175 Suggests:       ruby-rubygems
176 # ruby-modules deprecated, rpm5 generates ruby(abi) itself
177 Provides:       ruby-modules(ver) = %{ruby_version}
178 # FIXME later
179 Provides:       ruby(abi) = %{ruby_version}
180 %requires_ge_to openssl openssl-devel
181
182 %description modules
183 Ruby standard modules and utilities:
184 - erb - Tiny eRuby
185 - testrb - automatic runner for Test::Unit of Ruby
186
187 %description modules -l pl.UTF-8
188 Standardowe moduły i narzędzia Ruby:
189 - erb - mały eRuby
190 - testrb - automatyczny runner dla Ruby Test::Unit
191
192 %package tk
193 Summary:        Ruby/Tk bindings
194 Summary(pl.UTF-8):      Wiązania Ruby/Tk
195 Group:          Development/Languages
196 Requires:       %{name}-modules = %{epoch}:%{version}-%{release}
197
198 %description tk
199 This package contains Ruby/Tk bindings.
200
201 %description tk -l pl.UTF-8
202 Ten pakiet zawiera wiązania Ruby/Tk.
203
204 %package devel
205 Summary:        Ruby development libraries
206 Summary(pl.UTF-8):      Biblioteki programistyczne interpretera języka Ruby
207 Group:          Development/Languages
208 Requires:       %{name}-modules = %{epoch}:%{version}-%{release}
209 Requires:       gcc
210 Requires:       glibc-devel
211 Requires:       pkgconfig
212
213 %description devel
214 Ruby development libraries.
215
216 %description devel -l pl.UTF-8
217 Biblioteki programistyczne interpretera języka Ruby.
218
219 %package static
220 Summary:        Ruby static libraries
221 Summary(pl.UTF-8):      Biblioteki statyczne Ruby
222 Group:          Development/Languages
223 Requires:       %{name}-devel = %{epoch}:%{version}-%{release}
224
225 %description static
226 Ruby static libraries.
227
228 %description static -l pl.UTF-8
229 Biblioteki statyczne Ruby.
230
231 %package doc
232 Summary:        Ruby HTML documentation
233 Summary(pl.UTF-8):      Dokumentacja HTML do Ruby
234 Group:          Documentation
235 %if "%{_rpmversion}" >= "5"
236 BuildArch:      noarch
237 %endif
238
239 %description doc
240 Ruby HTML documentation: FAQ, guide, core and standard library.
241
242 %description doc -l pl.UTF-8
243 Dokumentacja HTML do Ruby: FAQ, przewodnik, dokumentacja dla core i
244 stdlib.
245
246 %package doc-ri
247 Summary:        Ruby ri documentation
248 Summary(pl.UTF-8):      Dokumentacja Ruby w formacie ri
249 Group:          Documentation
250 Requires:       %{name}-modules = %{epoch}:%{version}-%{release}
251 %if "%{_rpmversion}" >= "5"
252 BuildArch:      noarch
253 %endif
254
255 %description doc-ri
256 Ruby ri documentation.
257
258 %description doc-ri -l pl.UTF-8
259 Dokumentacja Ruby w formacie ri.
260
261 %package examples
262 Summary:        Ruby examples
263 Summary(pl.UTF-8):      Przykłady dla języka Ruby
264 Group:          Development/Languages
265 %if "%{_rpmversion}" >= "5"
266 BuildArch:      noarch
267 %endif
268
269 %description examples
270 Ruby examples.
271
272 %description examples -l pl.UTF-8
273 Przykłady programów w języku Ruby.
274
275 # IMPORTANT: keep irb, rdoc, rubygems, rake, json as last packages as we reset epoch/version/release
276 # and %{version},%{release} macros may not be used directly as they take last
277 # subpackage value not main package one what you intend to use
278
279 %package irb
280 Summary:        The Interactive Ruby
281 Version:        %{irb_ver}
282 Release:        %{pkg_version}.%{rel}
283 Epoch:          0
284 Group:          Development/Languages
285 Requires:       %{name}-modules = 1:%{pkg_version}-%{rel}
286 Provides:       irb = %{version}-%{release}
287 Provides:       ruby(irb) = %{version}-%{release}
288 %if "%{_rpmversion}" >= "5"
289 BuildArch:      noarch
290 %endif
291
292 %description irb
293 The irb is acronym for Interactive Ruby. It evaluates ruby expression
294 from the terminal.
295
296 %package rdoc
297 Summary:        A tool to generate HTML and command-line documentation for Ruby projects
298 Summary(pl.UTF-8):      Narzędzie do generowania dokumentacji HTML i linii poleceń dla projektów w Rubym
299 Version:        %{rdoc_ver}
300 Release:        %{pkg_version}.%{rel}
301 Epoch:          0
302 # SIL: lib/rdoc/generator/template/darkfish/css/fonts.css
303 License:        GPLv2 and Ruby and MIT and SIL
304 Group:          Development/Libraries
305 Requires:       %{name}-irb >= %{irb_ver}
306 Requires:       %{name}-json >= %{json_ver}
307 Requires:       %{name}-modules = 1:%{pkg_version}-%{rel}
308 Obsoletes:      rdoc <= 0.9.0
309 %if "%{_rpmversion}" >= "5"
310 BuildArch:      noarch
311 %endif
312
313 %description rdoc
314 RDoc produces HTML and command-line documentation for Ruby projects.
315 RDoc includes the 'rdoc' and 'ri' tools for generating and displaying
316 online documentation.
317
318 %description rdoc -l pl.UTF-8
319 RDoc tworzy dokumentację HTML i linii poleceń dla projektów w języku
320 Ruby. RDoc zawiera narzędzia 'rdoc' i 'ri' do generowania i
321 wyświetlania dokumentacji online.
322
323 %package rubygems
324 Summary:        RubyGems - the Ruby standard for packaging Ruby libraries
325 Summary(pl.UTF-8):      RubyGems - standard Ruby'ego pakietowania bibliotek
326 Version:        %{rubygems_ver}
327 Release:        %{pkg_version}.%{rel}
328 Epoch:          0
329 License:        Ruby or MIT
330 Group:          Development/Libraries
331 Requires:       %{name}-bigdecimal = %{bigdecimal_ver}-%{pkg_version}.%{rel}
332 Requires:       %{name}-io-console = %{io_console_ver}-%{pkg_version}.%{rel}
333 Requires:       %{name}-modules = 1:%{pkg_version}-%{rel}
334 Requires:       %{name}-psych = %{psych_ver}-%{pkg_version}.%{rel}
335 Requires:       %{name}-rdoc >= %{rdoc_ver}
336 Suggests:       %{name}-devel
337 Provides:       rubygems = %{rubygems_ver}
338 %if "%{_rpmversion}" >= "5"
339 BuildArch:      noarch
340 %endif
341
342 %description rubygems
343 RubyGems is the Ruby standard for publishing and managing third party
344 libraries.
345
346 %description rubygems -l pl.UTF-8
347 RubyGems to standardowe narzędzie języka Ruby do publikowania i
348 zarządzania zewnętrznymi bibliotekami.
349
350 %package rake
351 Summary:        Rake is a Make-like program implemented in Ruby
352 Summary(pl.UTF-8):      Program typu Make dla języka Ruby
353 Version:        %{rake_ver}
354 Release:        %{pkg_version}.%{rel}
355 Epoch:          0
356 License:        MIT
357 Group:          Development/Languages
358 Provides:       rake = %{rake_ver}
359 Conflicts:      ruby-modules < 1:1.9.3.429-2
360 %if "%{_rpmversion}" >= "5"
361 BuildArch:      noarch
362 %endif
363
364 %description rake
365 Rake is a simple Ruby build program with capabilities similar to make.
366
367 It has the following features:
368 - Rakefiles (rake's version of Makefiles) are completely defined in
369   standard Ruby syntax. No XML files to edit. No quirky Makefile syntax
370   to worry about (is that a tab or a space?)
371 - Users can specify tasks with prerequisites.
372 - Rake supports rule patterns to synthesize implicit tasks.
373 - Rake is lightweight. It can be distributed with other projects as a
374   single file. Projects that depend upon rake do not require that rake
375   be installed on target systems.
376
377 %description rake -l pl.UTF-8
378 Rake to prosty program do budowania w języku Ruby o możliwościach
379 podobnych do make.
380
381 Ma następujące cechy:
382 - Pliki Rakefile (rake'owa odmiana plików Makefile) są definiowane
383   całkowicie w standardowej składni języka Ruby. Nie trzeba modyfikować
384   plików XML. Nie trzeba martwić się kaprysami składni Makefile (czy to
385   tabulacja czy spacja?).
386 - Użytkownicy mogą określać zadania z ich zależnościami.
387 - Rake obsługuje wzorce reguł do tworzenia z nich wynikowych zadań.
388 - Rake jest lekki. Może być rozpowszechniany z innymi projektami jako
389   pojedynczy plik. Projekty używające rake'a nie wymagają go
390   zainstalowanego na systemach docelowych.
391
392 %package json
393 Summary:        JSON library for Ruby
394 Summary(pl.UTF-8):      Biblioteka JSON dla języka Ruby
395 Version:        %{json_ver}
396 Release:        %{pkg_version}.%{rel}
397 Epoch:          0
398 # UCD: ext/json/generator/generator.c
399 License:        (Ruby or GPLv2) and UCD
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 %package minitest
411 Summary:        Minitest provides a complete suite of testing facilities
412 Version:        %{minitest_ver}
413 Release:        %{pkg_version}.%{rel}
414 Epoch:          0
415 License:        MIT
416 Group:          Development/Libraries
417 %if "%{_rpmversion}" >= "5"
418 BuildArch:      noarch
419 %endif
420
421 %description minitest
422 minitest/unit is a small and incredibly fast unit testing framework.
423
424 minitest/spec is a functionally complete spec engine.
425
426 minitest/benchmark is an awesome way to assert the performance of your
427 algorithms in a repeatable manner.
428
429 minitest/mock by Steven Baker, is a beautifully tiny mock object
430 framework.
431
432 minitest/pride shows pride in testing and adds coloring to your test
433 output.
434
435 %package power_assert
436 # The Summary/Description fields are rather poor.
437 # https://github.com/k-tsj/power_assert/issues/3
438 Summary:        Power Assert for Ruby
439 Version:        %{power_assert_ver}
440 Release:        %{pkg_version}.%{rel}
441 Epoch:          0
442 License:        Ruby or BSD
443 Group:          Development/Libraries
444 %if "%{_rpmversion}" >= "5"
445 BuildArch:      noarch
446 %endif
447
448 %description power_assert
449 Power Assert shows each value of variables and method calls in the
450 expression. It is useful for testing, providing which value wasn't
451 correct when the condition is not satisfied.
452
453 %package test-unit
454 # The Summary/Description fields are rather poor.
455 # https://github.com/test-unit/test-unit/issues/73
456 Summary:        Improved version of Test::Unit bundled in Ruby 1.8.x
457 Version:        %{test_unit_ver}
458 Release:        %{pkg_version}.%{rel}
459 Epoch:          0
460 Group:          Development/Libraries
461 # lib/test/unit/diff.rb is a double license of the Ruby license and PSF license.
462 # lib/test-unit.rb is a dual license of the Ruby license and LGPLv2.1 or later.
463 License:        (Ruby or BSD) and (Ruby or BSD or Python) and (Ruby or BSD or LGPLv2+)
464 %if "%{_rpmversion}" >= "5"
465 BuildArch:      noarch
466 %endif
467
468 %description test-unit
469 Ruby 1.9.x bundles minitest not Test::Unit. Test::Unit bundled in Ruby
470 1.8.x had not been improved but unbundled Test::Unit (test-unit) is
471 improved actively.
472
473 %package did_you_mean
474 Summary:        "Did you mean?" experience in Ruby
475 Version:        %{did_you_mean_ver}
476 Release:        %{pkg_version}.%{rel}
477 Epoch:          0
478 License:        MIT
479 Group:          Development/Libraries
480 %if "%{_rpmversion}" >= "5"
481 BuildArch:      noarch
482 %endif
483
484 %description did_you_mean
485 "did you mean?" experience in Ruby: the error message will tell you
486 the right one when you misspelled something.
487
488 %package net-telnet
489 Summary:        Provides telnet client functionality
490 Version:        %{net_telnet_ver}
491 Release:        %{pkg_version}.%{rel}
492 Epoch:          0
493 Group:          Development/Libraries
494 %if "%{_rpmversion}" >= "5"
495 BuildArch:      noarch
496 %endif
497
498 %description net-telnet
499 Provides telnet client functionality.
500
501 This class also has, through delegation, all the methods of a socket
502 object (by default, a TCPSocket, but can be set by the Proxy option to
503 new()). This provides methods such as close() to end the session and
504 sysread() to read data directly from the host, instead of via the
505 waitfor() mechanism. Note that if you do use sysread() directly when
506 in telnet mode, you should probably pass the output through
507 preprocess() to extract telnet command sequences.
508
509 %package bigdecimal
510 Summary:        BigDecimal provides arbitrary-precision floating point decimal arithmetic
511 Version:        %{bigdecimal_ver}
512 Release:        %{pkg_version}.%{rel}
513 Epoch:          0
514 License:        GPL+ or Artistic
515 Group:          Development/Libraries
516
517 %description bigdecimal
518 Ruby provides built-in support for arbitrary precision integer
519 arithmetic. For example:
520
521 42**13 -> 1265437718438866624512
522
523 BigDecimal provides similar support for very large or very accurate
524 floating point numbers. Decimal arithmetic is also useful for general
525 calculation, because it provides the correct answers people
526 expect–whereas normal binary floating point arithmetic often
527 introduces subtle errors because of the conversion between base 10 and
528 base 2.
529
530 %package io-console
531 Summary:        IO/Console is a simple console utilizing library
532 Version:        %{io_console_ver}
533 Release:        %{pkg_version}.%{rel}
534 Epoch:          0
535 Group:          Development/Libraries
536
537 %description io-console
538 IO/Console provides very simple and portable access to console. It
539 doesn't provide higher layer features, such like curses and readline.
540
541 %package psych
542 Summary:        A libyaml wrapper for Ruby
543 Version:        %{psych_ver}
544 Release:        %{pkg_version}.%{rel}
545 Epoch:          0
546 License:        MIT
547 Group:          Development/Libraries
548
549 %description psych
550 Psych is a YAML parser and emitter. Psych leverages libyaml for its
551 YAML parsing and emitting capabilities. In addition to wrapping
552 libyaml, Psych also knows how to serialize and de-serialize most Ruby
553 objects to and from the YAML format.
554
555 %prep
556 %setup -q -n %{oname}-%{pkg_version} -a2 -a3 %{?with_bootstrap:-a100}
557 %patch0 -p1
558 #%patch1 -p1
559 %patch2 -p1
560 %patch3 -p1
561 %patch4 -p1
562 %patch5 -p1
563 %patch6 -p1
564 #%patch8 -p1
565 %patch9 -p1
566 %patch12 -p1
567
568 # must be regenerated with new bison
569 %{__rm} parse.{c,h}
570
571 # Remove bundled libraries to be sure they are not used.
572 %{__rm} -r ext/psych/yaml
573 %{__rm} -r ext/fiddle/libffi*
574
575 # Install custom operating_system.rb.
576 install -d lib/rubygems/defaults
577 cp -p %{SOURCE6} lib/rubygems/defaults
578
579 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
580
581 find -type f '(' -name '*.rb' -o -name '*.cgi' -o -name '*.test' \
582         -o -name 'ruby.1' -o -name '*.html' -o -name '*.tcl' ')' \
583         | xargs %{__sed} -i 's,/usr/local/bin/,%{_bindir}/,'
584
585 # no configure option to disable, so just rm
586 %{!?with_tk:rm -rf ext/tk}
587
588 %build
589 rubygems_ver=$(awk '/VERSION =/ && $1 == "VERSION" {print $3}' lib/rubygems.rb | xargs)
590 if [ $rubygems_ver != %{rubygems_ver} ]; then
591         echo "Set %%define rubygems_ver to $rubygems_ver and re-run."
592         exit 1
593 fi
594 rdoc_ver=$(awk '/VERSION =/ && $1 == "VERSION" {print $3}' lib/rdoc.rb | xargs)
595 if [ $rdoc_ver != %{rdoc_ver} ]; then
596         echo "Set %%define rdoc_ver to $rdoc_ver and re-run."
597         exit 1
598 fi
599
600 cp -f /usr/share/automake/config.sub .
601
602 # build ruby-1.8.7 first
603 %if %{with bootstrap}
604 cd %{oname}-1.8.7-p330
605 %configure
606 %{__make}
607 cd ..
608 %endif
609
610 %{__autoconf}
611 %configure \
612         %{?with_bootstrap:--with-baseruby=%{oname}-1.8.7-p330/miniruby} \
613         --program-suffix=%{ruby_suffix} \
614         --with-archlibdir=%{_libdir} \
615         --with-rubygemsdir=%{rubygems_dir} \
616         --with-rubylibprefix=%{ruby_libdir} \
617         --with-rubyarchprefix=%{ruby_archdir} \
618         --with-sitedir=%{ruby_sitelibdir} \
619         --with-sitearchdir=%{ruby_sitearchdir} \
620         --with-vendordir=%{ruby_vendorlibdir} \
621         --with-vendorarchdir=%{ruby_vendorarchdir} \
622         --with-rubyhdrdir=%{_includedir}/%{oname}-%{ruby_version} \
623         --with-rubyarchhdrdir=%{_includedir}/%{oname}-%{ruby_version} \
624         --with-sitearchhdrdir='$(sitehdrdir)/$(arch)' \
625         --with-vendorarchhdrdir='$(vendorhdrdir)/$(arch)' \
626         --enable-multiarch \
627         --enable-shared \
628         --disable-install-doc \
629         --disable-rpath \
630         --disable-rubygems \
631         --with-ruby-version='' \
632
633 %{__make} -j1 main \
634         COPY="cp -p" Q= \
635         %{?with_bootstrap:BASERUBY="%{oname}-1.8.7-p330/miniruby -I./ruby-1.8.7-p330/lib"}
636
637 %if %{with doc}
638 %{__make} -j1 rdoc
639 %endif
640
641 %if %{with tests}
642 # unset these, as testsuite does "git commit" somewhere, which points to pld .spec repo. doh
643 unset GIT_DIR GIT_WORK_TREE
644
645 unset GIT
646 DISABLE_TESTS=""
647
648 %ifarch armv7l armv7hl armv7hnl
649 # test_call_double(DL::TestDL) fails on ARM HardFP
650 # http://bugs.ruby-lang.org/issues/6592
651 DISABLE_TESTS="-x test_dl2.rb $DISABLE_TESTS"
652 %endif
653
654 # test_debug(TestRubyOptions) fails due to LoadError reported in debug mode,
655 # when abrt.rb cannot be required (seems to be easier way then customizing
656 # the test suite).
657 touch abrt.rb
658
659 # TestSignal#test_hup_me hangs up the test suite.
660 # http://bugs.ruby-lang.org/issues/8997
661 sed -i '/def test_hup_me/,/end if Process.respond_to/ s/^/#/' test/ruby/test_signal.rb
662
663 # Fix "Could not find 'minitest'" error.
664 # http://bugs.ruby-lang.org/issues/9259
665 sed -i "/^  gem 'minitest', '~> 4.0'/ s/^/#/" lib/rubygems/test_case.rb
666
667 # Segmentation fault.
668 # https://bugs.ruby-lang.org/issues/9198
669 sed -i '/^  def test_machine_stackoverflow/,/^  end/ s/^/#/' test/ruby/test_exception.rb
670
671 # Don't test wrap ciphers to prevent "OpenSSL::Cipher::CipherError: wrap mode
672 # not allowed" error.
673 # https://bugs.ruby-lang.org/issues/10229
674 sed -i '/assert(OpenSSL::Cipher::Cipher.new(name).is_a?(OpenSSL::Cipher::Cipher))/i \
675         next if /wrap/ =~ name' test/openssl/test_cipher.rb
676
677 # Test is broken due to SSLv3 disabled in Fedora.
678 # https://bugs.ruby-lang.org/issues/10046
679 sed -i '/def test_ctx_server_session_cb$/,/^  end$/ s/^/#/' test/openssl/test_ssl_session.rb
680
681 %{__make} check TESTS="-v $DISABLE_TESTS"
682 %endif
683
684 %install
685 rm -rf $RPM_BUILD_ROOT
686 install -d $RPM_BUILD_ROOT{%{ruby_rdocdir},%{ruby_ridir}} \
687         $RPM_BUILD_ROOT%{ruby_vendorarchdir} \
688         $RPM_BUILD_ROOT%{ruby_vendorlibdir}/net \
689         $RPM_BUILD_ROOT%{ruby_vendorlibdir}/data \
690
691 %{__make} install %{?with_doc:install-doc -j1} \
692         DESTDIR=$RPM_BUILD_ROOT
693
694 # Version is empty if --with-ruby-version is specified.
695 # http://bugs.ruby-lang.org/issues/7807
696 sed -i -e 's/Version: \${ruby_version}/Version: %{ruby_version}/' $RPM_BUILD_ROOT%{_pkgconfigdir}/%{oname}-%{ruby_version}.pc
697
698 # Kill bundled certificates, as they should be part of ca-certificates.
699 for cert in \
700         Class3PublicPrimaryCertificationAuthority.pem \
701         DigiCertHighAssuranceEVRootCA.pem \
702         EntrustnetSecureServerCertificationAuthority.pem \
703         GeoTrustGlobalCA.pem \
704         AddTrustExternalCARoot.pem \
705         AddTrustExternalCARoot-2048.pem \
706 ; do
707         %{__rm} $RPM_BUILD_ROOT%{rubygems_dir}/rubygems/ssl_certs/$cert
708 done
709
710 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}
711 cp -Rf sample/* $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}
712 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_mandir}/man1/rdoc%{ruby_suffix}.1
713 cp -p %{SOURCE5} $RPM_BUILD_ROOT%{_mandir}/man1/testrb%{ruby_suffix}.1
714
715 %{__rm} -rf $RPM_BUILD_ROOT%{_docdir}/%{name}/html
716
717 # detect this runtime, "make install" is affected by operating_system.rb what is installed in system!
718 gem_dir=$(./miniruby -Ilib -I. -I.ext/common ./tool/runruby.rb -- --disable-gems -r$(basename *-linux*-fake.rb .rb) -r rubygems -e 'puts Gem.default_dir')
719
720 # Move gems root into common directory, out of Ruby directory structure.
721 install -d $RPM_BUILD_ROOT%{gem_dir}
722 %{__mv} $RPM_BUILD_ROOT${gem_dir}/{gems,specifications} $RPM_BUILD_ROOT%{gem_dir}
723
724 # Move bundled rubygems to %gem_dir
725 # make symlinks for io-console and bigdecimal, which are considered to be part of stdlib by other Gems
726 # make symlinks for all packages, so they would work without rubygems
727 # NOTE: when making symlinks, do not symlink paths that could be directories,
728 # as there may came files from other packages as well. actually, unlikely as
729 # the links to got system dir and only ruby may package there (other distro
730 # packages should go to vendor dirs)
731 %if 0
732 install -d $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/lib
733 %{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/rake* $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/lib
734 ln -s %{gem_dir}/gems/rake-%{rake_ver}/lib/rake $RPM_BUILD_ROOT%{ruby_libdir}
735 ln -s %{gem_dir}/gems/rake-%{rake_ver}/lib/rake.rb $RPM_BUILD_ROOT%{ruby_libdir}
736 %{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/rake-%{rake_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
737 %endif
738
739 install -d $RPM_BUILD_ROOT%{gem_dir}/gems/rdoc-%{rdoc_ver}/lib
740 %{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/rdoc* $RPM_BUILD_ROOT%{gem_dir}/gems/rdoc-%{rdoc_ver}/lib
741 ln -s %{gem_dir}/gems/rdoc-%{rdoc_ver}/lib/rdoc $RPM_BUILD_ROOT%{ruby_libdir}
742 ln -s %{gem_dir}/gems/rdoc-%{rdoc_ver}/lib/rdoc.rb $RPM_BUILD_ROOT%{ruby_libdir}
743 %{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/rdoc-%{rdoc_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
744
745 install -d $RPM_BUILD_ROOT%{gem_dir}/gems/bigdecimal-%{bigdecimal_ver}/lib
746 install -d $RPM_BUILD_ROOT%{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib
747 %{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/bigdecimal $RPM_BUILD_ROOT%{gem_dir}/gems/bigdecimal-%{bigdecimal_ver}/lib
748 %{__mv} $RPM_BUILD_ROOT%{ruby_libarchdir}/bigdecimal.so $RPM_BUILD_ROOT%{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib
749 %{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/bigdecimal-%{bigdecimal_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
750 ln -s %{gem_dir}/gems/bigdecimal-%{bigdecimal_ver}/lib/bigdecimal $RPM_BUILD_ROOT%{ruby_libdir}/bigdecimal
751 ln -s %{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib/bigdecimal.so $RPM_BUILD_ROOT%{ruby_libarchdir}/bigdecimal.so
752
753 install -d $RPM_BUILD_ROOT%{gem_dir}/gems/io-console-%{io_console_ver}/lib
754 install -d $RPM_BUILD_ROOT%{gem_libdir}/io-console-%{io_console_ver}/lib/io
755 %{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/io $RPM_BUILD_ROOT%{gem_dir}/gems/io-console-%{io_console_ver}/lib
756 %{__mv} $RPM_BUILD_ROOT%{ruby_libarchdir}/io/console.so $RPM_BUILD_ROOT%{gem_libdir}/io-console-%{io_console_ver}/lib/io
757 %{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/io-console-%{io_console_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
758 ln -s %{gem_dir}/gems/io-console-%{io_console_ver}/lib/io $RPM_BUILD_ROOT%{ruby_libdir}/io
759 ln -s %{gem_libdir}/io-console-%{io_console_ver}/lib/io/console.so $RPM_BUILD_ROOT%{ruby_libarchdir}/io/console.so
760
761 install -d $RPM_BUILD_ROOT%{gem_dir}/gems/json-%{json_ver}/lib
762 install -d $RPM_BUILD_ROOT%{gem_libdir}/json-%{json_ver}/lib
763 %{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/json* $RPM_BUILD_ROOT%{gem_dir}/gems/json-%{json_ver}/lib
764 %{__mv} $RPM_BUILD_ROOT%{ruby_libarchdir}/json $RPM_BUILD_ROOT%{gem_libdir}/json-%{json_ver}/lib
765 %{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/json-%{json_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
766 ln -s %{gem_dir}/gems/json-%{json_ver}/lib/json $RPM_BUILD_ROOT%{ruby_libdir}/json
767 ln -s %{gem_dir}/gems/json-%{json_ver}/lib/json.rb $RPM_BUILD_ROOT%{ruby_libdir}/json.rb
768 install -d $RPM_BUILD_ROOT%{ruby_libarchdir}/json/ext
769 ln -s %{gem_libdir}/json-%{json_ver}/lib/json/ext/parser.so $RPM_BUILD_ROOT%{ruby_libarchdir}/json/ext
770 ln -s %{gem_libdir}/json-%{json_ver}/lib/json/ext/generator.so $RPM_BUILD_ROOT%{ruby_libarchdir}/json/ext
771
772 ln -s %{gem_dir}/gems/minitest-%{minitest_ver}/lib/minitest $RPM_BUILD_ROOT%{ruby_libdir}
773
774 install -d $RPM_BUILD_ROOT%{ruby_libdir}/test
775 ln -s %{gem_dir}/gems/test-unit-%{test_unit_ver}/lib/unit $RPM_BUILD_ROOT%{ruby_libdir}/test
776
777 install -d $RPM_BUILD_ROOT%{gem_dir}/gems/psych-%{psych_ver}/lib
778 install -d $RPM_BUILD_ROOT%{gem_libdir}/psych-%{psych_ver}/lib
779 %{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/psych* $RPM_BUILD_ROOT%{gem_dir}/gems/psych-%{psych_ver}/lib
780 %{__mv} $RPM_BUILD_ROOT%{ruby_libarchdir}/psych.so $RPM_BUILD_ROOT%{gem_libdir}/psych-%{psych_ver}/lib/
781 %{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/psych-%{psych_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
782 ln -s %{gem_dir}/gems/psych-%{psych_ver}/lib/psych $RPM_BUILD_ROOT%{ruby_libdir}/psych
783 ln -s %{gem_dir}/gems/psych-%{psych_ver}/lib/psych.rb $RPM_BUILD_ROOT%{ruby_libdir}/psych.rb
784 ln -s %{gem_libdir}/psych-%{psych_ver}/lib/psych.so $RPM_BUILD_ROOT%{ruby_archdir}/psych.so
785
786 # Adjust the gemspec files so that the gems will load properly
787 sed -i '/^end$/ i\
788   s.require_paths = ["lib"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/rake-%{rake_ver}.gemspec
789
790 sed -i '/^end$/ i\
791   s.require_paths = ["lib"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/rdoc-%{rdoc_ver}.gemspec
792
793 sed -i '/^end$/ i\
794   s.require_paths = ["lib"]\
795   s.extensions = ["bigdecimal.so"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/bigdecimal-%{bigdecimal_ver}.gemspec
796
797 sed -i '/^end$/ i\
798   s.require_paths = ["lib"]\
799   s.extensions = ["io/console.so"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/io-console-%{io_console_ver}.gemspec
800
801 sed -i '/^end$/ i\
802   s.require_paths = ["lib"]\
803   s.extensions = ["json/ext/parser.so", "json/ext/generator.so"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/json-%{json_ver}.gemspec
804
805 sed -i '/^end$/ i\
806   s.require_paths = ["lib"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/minitest-%{minitest_ver}.gemspec
807
808 # Push the .gemspecs through the RubyGems to let them write the stub headers.
809 # This speeds up loading of libraries and avoids warnings in Spring:
810 # https://github.com/rubygems/rubygems/pull/694
811 for s in rake-%{rake_ver}.gemspec rdoc-%{rdoc_ver}.gemspec json-%{json_ver}.gemspec; do
812         s="$RPM_BUILD_ROOT%{gem_dir}/specifications/$s"
813         %{__make} runruby TESTRUN_SCRIPT="-rubygems \
814         -e \"spec = Gem::Specification.load('$s')\" \
815         -e \"File.write '$s', spec.to_ruby\""
816 done
817
818 ln -sf %{gem_dir}/gems/rake-%{rake_ver}/bin/rake $RPM_BUILD_ROOT%{_bindir}/rake%{ruby_suffix}
819
820 %{__sed} -i -e '1s,/usr/bin/env ruby,/usr/bin/ruby,' \
821         $RPM_BUILD_ROOT%{ruby_libdir}/abbrev.rb \
822         $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/bin/rake \
823         $RPM_BUILD_ROOT%{gem_dir}/gems/rdoc-%{rdoc_ver}/bin/rdoc \
824         $RPM_BUILD_ROOT%{gem_dir}/gems/rdoc-%{rdoc_ver}/bin/ri \
825         $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}/{cal,test,time,uumerge}.rb \
826         $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}/{drb,logger,openssl,ripper,rss}/*.rb \
827         $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}/webrick/*.cgi
828
829 # gem non library files
830 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/minitest-%{minitest_ver}/test
831 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/test-unit-%{test_unit_ver}/{[A-Z]*,doc,sample,test}
832 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/power_assert-%{power_assert_ver}/{[A-Z]*,test}
833 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/{[A-Z]*,doc,test}
834 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/{[A-Z]*,doc,test}
835 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/net-telnet-%{net_telnet_ver}/{[A-Z]*,bin}
836
837 %if %{without batteries}
838 # packaged separately
839 %{__rm} -r $RPM_BUILD_ROOT%{ruby_libdir}/{rubygems,rake,json,minitest}
840 %{__rm} -r $RPM_BUILD_ROOT%{ruby_archdir}/json
841 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/rake-*
842 %{__rm} $RPM_BUILD_ROOT%{ruby_libdir}/{rake,rubygems,json}.rb
843 %{__rm} $RPM_BUILD_ROOT%{_bindir}/{gem,rake}
844 #%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/rake*
845 %{__rm} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/{json,minitest,rake}-*.gemspec
846 %{?with_doc:%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/ri/%{ruby_version}/system/JSON}
847 %endif
848
849 %if %{with doc}
850 # too much .ri
851 %{__rm} $RPM_BUILD_ROOT%{ruby_ridir}/cache.ri
852 %{__rm} $RPM_BUILD_ROOT%{ruby_ridir}/created.rid
853 %endif
854
855 %clean
856 rm -rf $RPM_BUILD_ROOT
857
858 %post   -p /sbin/ldconfig
859 %postun -p /sbin/ldconfig
860
861 %files
862 %defattr(644,root,root,755)
863 %doc NEWS LEGAL BSDL README.md README.EXT ChangeLog
864 %attr(755,root,root) %{_bindir}/ruby%{ruby_suffix}
865 %attr(755,root,root) %{_libdir}/libruby.so.*.*.*
866 %attr(755,root,root) %ghost %{_libdir}/libruby.so.%{ruby_version}
867 %{_mandir}/man1/ruby%{ruby_suffix}.1*
868
869 %dir %{_libdir}/%{oname}
870 %dir %{_libdir}/%{oname}/%{vendordir}
871 %dir %{_datadir}/%{oname}
872
873 %dir %{ruby_libdir}
874 %dir %{ruby_archdir}
875 %dir %{ruby_vendorlibdir}
876 %dir %{ruby_vendorarchdir}
877
878 %dir %{dirname:%{ruby_ridir}}
879 %dir %{ruby_ridir}
880 %dir %{ruby_rdocdir}
881
882 # common dirs for ruby vendor modules
883 %dir %{ruby_vendorlibdir}/data
884 %dir %{ruby_vendorlibdir}/net
885
886 %files devel
887 %defattr(644,root,root,755)
888 %attr(755,root,root) %{_libdir}/libruby.so
889 %{_includedir}/%{oname}-%{ruby_version}
890 %{_pkgconfigdir}/%{oname}-%{ruby_version}.pc
891 %{ruby_libdir}/mkmf.rb
892
893 %files static
894 %defattr(644,root,root,755)
895 %{_libdir}/libruby-static.a
896
897 %if %{with tk}
898 %files tk
899 %defattr(644,root,root,755)
900 %doc ext/tk/{ChangeLog.tkextlib,MANUAL_tcltklib.eng,README.fork}
901 %lang(ja) %doc ext/tk/MANUAL_tcltklib.ja
902 %{ruby_libdir}/multi-tk.rb
903 %{ruby_libdir}/remote-tk.rb
904 %{ruby_libdir}/tcltk.rb
905 %{ruby_libdir}/tk*.rb
906 %{ruby_libdir}/tk
907 %{ruby_libdir}/tkextlib
908 %attr(755,root,root) %{ruby_archdir}/tcltklib.so
909 %attr(755,root,root) %{ruby_archdir}/tkutil.so
910 %endif
911
912 %files irb
913 %defattr(644,root,root,755)
914 %attr(755,root,root) %{_bindir}/irb%{ruby_suffix}
915 %{ruby_libdir}/irb.rb
916 %{ruby_libdir}/irb
917 %{_mandir}/man1/irb%{ruby_suffix}.1*
918
919 %files rdoc
920 %defattr(644,root,root,755)
921 %attr(755,root,root) %{_bindir}/rdoc%{ruby_suffix}
922 %attr(755,root,root) %{_bindir}/ri%{ruby_suffix}
923 %{_mandir}/man1/rdoc%{ruby_suffix}.1*
924 %{ruby_libdir}/rdoc
925 %dir %{gem_dir}/gems/rdoc-%{rdoc_ver}
926 %{gem_dir}/gems/rdoc-%{rdoc_ver}/lib
927 %dir %{gem_dir}/gems/rdoc-%{rdoc_ver}/bin
928 %attr(755,root,root) %{gem_dir}/gems/rdoc-%{rdoc_ver}/bin/rdoc
929 %{gem_dir}/specifications/rdoc-%{rdoc_ver}.gemspec
930 %attr(755,root,root) %{gem_dir}/gems/rdoc-%{rdoc_ver}/bin/ri
931
932 %if %{with batteries}
933 %files rubygems
934 %defattr(644,root,root,755)
935 %attr(755,root,root) %{_bindir}/gem%{ruby_suffix}
936 %{rubygems_dir}/rubygems
937 %{rubygems_dir}/rubygems.rb
938 %{rubygems_dir}/ubygems.rb
939 %{rubygems_dir}/rbconfig
940
941 %files rake
942 %defattr(644,root,root,755)
943 %attr(755,root,root) %{_bindir}/rake%{ruby_suffix}
944 %dir %{gem_dir}/gems/rake-%{rake_ver}
945 %{gem_dir}/gems/rake-%{rake_ver}/lib
946 %{gem_dir}/gems/rake-%{rake_ver}/rakelib
947 %dir %{gem_dir}/gems/rake-%{rake_ver}/bin
948 %attr(755,root,root) %{gem_dir}/gems/rake-%{rake_ver}/bin/rake
949 %{gem_dir}/specifications/rake-%{rake_ver}.gemspec
950
951 %files json
952 %defattr(644,root,root,755)
953 %{ruby_libdir}/json
954 %dir %{ruby_archdir}/json
955 %dir %{ruby_archdir}/json/ext
956 %attr(755,root,root) %{ruby_archdir}/json/ext/*.so
957
958 %dir %{gem_libdir}/json-%{json_ver}
959 %dir %{gem_libdir}/json-%{json_ver}/lib
960 %dir %{gem_libdir}/json-%{json_ver}/lib/json
961 %dir %{gem_libdir}/json-%{json_ver}/lib/json/ext
962 %attr(755,root,root) %{gem_libdir}/json-%{json_ver}/lib/json/ext/generator.so
963 %attr(755,root,root) %{gem_libdir}/json-%{json_ver}/lib/json/ext/parser.so
964
965 %{gem_dir}/gems/json-%{json_ver}
966 %{gem_dir}/specifications/json-%{json_ver}.gemspec
967 %endif
968
969 %files power_assert
970 %defattr(644,root,root,755)
971 %dir %{gem_dir}/gems/power_assert-%{power_assert_ver}
972 %{gem_dir}/gems/power_assert-%{power_assert_ver}/lib
973 %{gem_dir}/specifications/power_assert-%{power_assert_ver}.gemspec
974
975 %files minitest
976 %defattr(644,root,root,755)
977 %{ruby_libdir}/minitest
978 %{gem_dir}/gems/minitest-%{minitest_ver}
979 %{gem_dir}/specifications/minitest-%{minitest_ver}.gemspec
980
981 %files test-unit
982 %defattr(644,root,root,755)
983 %dir %{gem_dir}/gems/test-unit-%{test_unit_ver}
984 %{gem_dir}/gems/test-unit-%{test_unit_ver}/lib
985 %{gem_dir}/specifications/test-unit-%{test_unit_ver}.gemspec
986 %{_mandir}/man1/testrb%{ruby_suffix}.1*
987
988 %files did_you_mean
989 %defattr(644,root,root,755)
990 %dir %{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}
991 %{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/benchmark
992 %{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/evaluation
993 %{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/lib
994 %{gem_dir}/specifications/did_you_mean-%{did_you_mean_ver}.gemspec
995
996 %files net-telnet
997 %defattr(644,root,root,755)
998 %dir %{gem_dir}/gems/net-telnet-%{net_telnet_ver}
999 %{gem_dir}/gems/net-telnet-%{net_telnet_ver}/lib
1000 %{gem_dir}/specifications/net-telnet-%{net_telnet_ver}.gemspec
1001
1002 %files bigdecimal
1003 %defattr(644,root,root,755)
1004 %{gem_dir}/gems/bigdecimal-%{bigdecimal_ver}
1005 %dir %{gem_libdir}/bigdecimal-%{bigdecimal_ver}
1006 %dir %{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib
1007 %attr(755,root,root) %{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib/bigdecimal.so
1008 %{ruby_libdir}/bigdecimal
1009 %{gem_dir}/specifications/bigdecimal-%{bigdecimal_ver}.gemspec
1010
1011 %files io-console
1012 %defattr(644,root,root,755)
1013 %{gem_dir}/gems/io-console-%{io_console_ver}
1014 %dir %{gem_libdir}/io-console-%{io_console_ver}
1015 %dir %{gem_libdir}/io-console-%{io_console_ver}/lib
1016 %dir %{gem_libdir}/io-console-%{io_console_ver}/lib/io
1017 %attr(755,root,root) %{gem_libdir}/io-console-%{io_console_ver}/lib/io/console.so
1018 %{gem_dir}/specifications/io-console-%{io_console_ver}.gemspec
1019
1020 %files psych
1021 %defattr(644,root,root,755)
1022 %{ruby_libdir}/psych.rb
1023 %attr(755,root,root) %{ruby_archdir}/psych.so
1024 %{gem_dir}/gems/psych-%{psych_ver}
1025 %{ruby_libdir}/psych
1026 %dir %{gem_libdir}/psych-%{psych_ver}
1027 %dir %{gem_libdir}/psych-%{psych_ver}/lib
1028 %attr(755,root,root) %{gem_libdir}/psych-%{psych_ver}/lib/psych.so
1029 %{gem_dir}/specifications/psych-%{psych_ver}.gemspec
1030
1031 %files modules
1032 %defattr(644,root,root,755)
1033 %attr(755,root,root) %{_bindir}/erb%{ruby_suffix}
1034 %{ruby_libdir}/cgi
1035 %{ruby_libdir}/digest
1036 %{ruby_libdir}/drb
1037 %{ruby_libdir}/fiddle
1038 %{ruby_libdir}/io
1039 %{ruby_libdir}/matrix
1040 %{ruby_libdir}/net
1041 %{ruby_libdir}/openssl
1042 %{ruby_libdir}/optparse
1043 %{ruby_libdir}/racc
1044 %{ruby_libdir}/rbconfig
1045 %{ruby_libdir}/rexml
1046 %{ruby_libdir}/rinda
1047 %{ruby_libdir}/ripper
1048 %{ruby_libdir}/rss
1049 %{ruby_libdir}/shell
1050 %{ruby_libdir}/syslog
1051 %{ruby_libdir}/test
1052 %{ruby_libdir}/uri
1053 %{ruby_libdir}/webrick
1054 %{ruby_libdir}/xmlrpc
1055 %{ruby_libdir}/yaml
1056
1057 %{ruby_libdir}/English.rb
1058 %{ruby_libdir}/abbrev.rb
1059 %{ruby_libdir}/base64.rb
1060 %{ruby_libdir}/benchmark.rb
1061 %{ruby_libdir}/cgi.rb
1062 %{ruby_libdir}/cmath.rb
1063 %{ruby_libdir}/csv.rb
1064 %{ruby_libdir}/date.rb
1065 %{ruby_libdir}/debug.rb
1066 %{ruby_libdir}/delegate.rb
1067 %{ruby_libdir}/digest.rb
1068 %{ruby_libdir}/drb.rb
1069 %{ruby_libdir}/e2mmap.rb
1070 %{ruby_libdir}/erb.rb
1071 %{ruby_libdir}/expect.rb
1072 %{ruby_libdir}/fiddle.rb
1073 %{ruby_libdir}/fileutils.rb
1074 %{ruby_libdir}/find.rb
1075 %{ruby_libdir}/forwardable.rb
1076 %{ruby_libdir}/getoptlong.rb
1077 %{ruby_libdir}/ipaddr.rb
1078 %{ruby_libdir}/json.rb
1079 %{ruby_libdir}/kconv.rb
1080 %{ruby_libdir}/logger.rb
1081 %{ruby_libdir}/mathn.rb
1082 %{ruby_libdir}/matrix.rb
1083 %{ruby_libdir}/monitor.rb
1084 %{ruby_libdir}/mutex_m.rb
1085 %{ruby_libdir}/observer.rb
1086 %{ruby_libdir}/open-uri.rb
1087 %{ruby_libdir}/open3.rb
1088 %{ruby_libdir}/openssl.rb
1089 %{ruby_libdir}/optionparser.rb
1090 %{ruby_libdir}/optparse.rb
1091 %{ruby_libdir}/ostruct.rb
1092 %{ruby_libdir}/pathname.rb
1093 %{ruby_libdir}/pp.rb
1094 %{ruby_libdir}/prettyprint.rb
1095 %{ruby_libdir}/prime.rb
1096 %{ruby_libdir}/profile.rb
1097 %{ruby_libdir}/profiler.rb
1098 %{ruby_libdir}/pstore.rb
1099 %{ruby_libdir}/rdoc.rb
1100 %{ruby_libdir}/resolv-replace.rb
1101 %{ruby_libdir}/resolv.rb
1102 %{ruby_libdir}/ripper.rb
1103 %{ruby_libdir}/rss.rb
1104 %{ruby_libdir}/scanf.rb
1105 %{ruby_libdir}/securerandom.rb
1106 %{ruby_libdir}/set.rb
1107 %{ruby_libdir}/shell.rb
1108 %{ruby_libdir}/shellwords.rb
1109 %{ruby_libdir}/singleton.rb
1110 %{ruby_libdir}/socket.rb
1111 %{ruby_libdir}/sync.rb
1112 %{ruby_libdir}/tempfile.rb
1113 %{ruby_libdir}/thwait.rb
1114 %{ruby_libdir}/time.rb
1115 %{ruby_libdir}/timeout.rb
1116 %{ruby_libdir}/tmpdir.rb
1117 %{ruby_libdir}/tracer.rb
1118 %{ruby_libdir}/tsort.rb
1119 %{ruby_libdir}/un.rb
1120 %{ruby_libdir}/unicode_normalize
1121 %{ruby_libdir}/unicode_normalize.rb
1122 %{ruby_libdir}/uri.rb
1123 %{ruby_libdir}/weakref.rb
1124 %{ruby_libdir}/webrick.rb
1125 %{ruby_libdir}/xmlrpc.rb
1126 %{ruby_libdir}/yaml.rb
1127
1128 %if %{with batteries}
1129 %exclude %{ruby_libdir}/rubygems.rb
1130 %exclude %{ruby_libdir}/ubygems.rb
1131 %exclude %{ruby_libdir}/rbconfig/datadir.rb
1132 %endif
1133 %exclude %{ruby_libdir}/irb.rb
1134 %exclude %{ruby_libdir}/mkmf.rb
1135
1136 %{ruby_archdir}/rbconfig.rb
1137 %attr(755,root,root) %{ruby_archdir}/bigdecimal.so
1138 %attr(755,root,root) %{ruby_archdir}/continuation.so
1139 %attr(755,root,root) %{ruby_archdir}/coverage.so
1140 %attr(755,root,root) %{ruby_archdir}/date_core.so
1141 %attr(755,root,root) %{ruby_archdir}/dbm.so
1142 %attr(755,root,root) %{ruby_archdir}/digest.so
1143 %attr(755,root,root) %{ruby_archdir}/etc.so
1144 %attr(755,root,root) %{ruby_archdir}/fcntl.so
1145 %attr(755,root,root) %{ruby_archdir}/fiber.so
1146 %attr(755,root,root) %{ruby_archdir}/fiddle.so
1147 %attr(755,root,root) %{ruby_archdir}/gdbm.so
1148 %attr(755,root,root) %{ruby_archdir}/nkf.so
1149 %attr(755,root,root) %{ruby_archdir}/objspace.so
1150 %attr(755,root,root) %{ruby_archdir}/openssl.so
1151 %attr(755,root,root) %{ruby_archdir}/pathname.so
1152 %attr(755,root,root) %{ruby_archdir}/pty.so
1153 %attr(755,root,root) %{ruby_archdir}/readline.so
1154 %attr(755,root,root) %{ruby_archdir}/ripper.so
1155 %attr(755,root,root) %{ruby_archdir}/thread.so
1156 %attr(755,root,root) %{ruby_archdir}/sdbm.so
1157 %attr(755,root,root) %{ruby_archdir}/socket.so
1158 %attr(755,root,root) %{ruby_archdir}/stringio.so
1159 %attr(755,root,root) %{ruby_archdir}/strscan.so
1160 %attr(755,root,root) %{ruby_archdir}/syslog.so
1161 %attr(755,root,root) %{ruby_archdir}/zlib.so
1162
1163 %dir %{ruby_archdir}/cgi
1164 %attr(755,root,root) %{ruby_archdir}/cgi/escape.so
1165 %dir %{ruby_archdir}/digest
1166 %attr(755,root,root) %{ruby_archdir}/digest/*.so
1167 %dir %{ruby_archdir}/enc
1168 %attr(755,root,root) %{ruby_archdir}/enc/*.so
1169 %dir %{ruby_archdir}/enc/trans
1170 %attr(755,root,root) %{ruby_archdir}/enc/trans/*.so
1171 %dir %{ruby_archdir}/io
1172 %attr(755,root,root) %{ruby_archdir}/io/*.so
1173 %dir %{ruby_archdir}/mathn
1174 %attr(755,root,root) %{ruby_archdir}/mathn/*.so
1175 %dir %{ruby_archdir}/racc
1176 %attr(755,root,root) %{ruby_archdir}/racc/*.so
1177 %dir %{ruby_archdir}/rbconfig
1178 %attr(755,root,root) %{ruby_archdir}/rbconfig/sizeof.so
1179
1180 %dir %{_libdir}/gems
1181 %dir %{_libdir}/gems/%{oname}
1182
1183 %dir %{gem_dir}
1184 %dir %{gem_dir}/gems
1185 %dir %{gem_dir}/specifications
1186 %dir %{gem_dir}/specifications/default
1187 %{_mandir}/man1/erb%{ruby_suffix}.1*
1188 %{_mandir}/man1/ri%{ruby_suffix}.1*
1189
1190 %if %{with doc}
1191 %files doc
1192 %defattr(644,root,root,755)
1193 %doc ruby_%{doc_version}_stdlib
1194 %doc ruby_%{doc_version}_core
1195
1196 %files doc-ri
1197 %defattr(644,root,root,755)
1198 %{ruby_ridir}/*
1199 %endif
1200
1201 %files examples
1202 %defattr(644,root,root,755)
1203 %{_examplesdir}/%{oname}-%{pkg_version}
This page took 0.187535 seconds and 4 git commands to generate.