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