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