]> git.pld-linux.org Git - packages/ruby.git/blob - ruby.spec
71a67a6c5705b88a18359b00ccbc4acd79d17115
[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-pthread \
593         --enable-shared \
594         --disable-install-doc \
595         --disable-rubygems \
596         --with-ruby-version='' \
597
598 %{__make} -j1 main \
599         COPY="cp -p" Q= \
600         %{?with_bootstrap:BASERUBY="%{oname}-1.8.7-p330/miniruby -I./ruby-1.8.7-p330/lib"}
601
602 %if %{with doc}
603 %{__make} -j1 rdoc
604 %endif
605
606 %if %{with tests}
607 # unset these, as testsuite does "git commit" somewhere, which points to pld .spec repo. doh
608 unset GIT_DIR GIT_WORK_TREE
609
610 unset GIT
611 DISABLE_TESTS=""
612
613 %ifarch armv7l armv7hl armv7hnl
614 # test_call_double(DL::TestDL) fails on ARM HardFP
615 # http://bugs.ruby-lang.org/issues/6592
616 DISABLE_TESTS="-x test_dl2.rb $DISABLE_TESTS"
617 %endif
618
619 # test_debug(TestRubyOptions) fails due to LoadError reported in debug mode,
620 # when abrt.rb cannot be required (seems to be easier way then customizing
621 # the test suite).
622 touch abrt.rb
623
624 # TestSignal#test_hup_me hangs up the test suite.
625 # http://bugs.ruby-lang.org/issues/8997
626 sed -i '/def test_hup_me/,/end if Process.respond_to/ s/^/#/' test/ruby/test_signal.rb
627
628 # Fix "Could not find 'minitest'" error.
629 # http://bugs.ruby-lang.org/issues/9259
630 sed -i "/^  gem 'minitest', '~> 4.0'/ s/^/#/" lib/rubygems/test_case.rb
631
632 # Segmentation fault.
633 # https://bugs.ruby-lang.org/issues/9198
634 sed -i '/^  def test_machine_stackoverflow/,/^  end/ s/^/#/' test/ruby/test_exception.rb
635
636 # Don't test wrap ciphers to prevent "OpenSSL::Cipher::CipherError: wrap mode
637 # not allowed" error.
638 # https://bugs.ruby-lang.org/issues/10229
639 sed -i '/assert(OpenSSL::Cipher::Cipher.new(name).is_a?(OpenSSL::Cipher::Cipher))/i \
640         next if /wrap/ =~ name' test/openssl/test_cipher.rb
641
642 # Test is broken due to SSLv3 disabled in Fedora.
643 # https://bugs.ruby-lang.org/issues/10046
644 sed -i '/def test_ctx_server_session_cb$/,/^  end$/ s/^/#/' test/openssl/test_ssl_session.rb
645
646 %{__make} check TESTS="-v $DISABLE_TESTS"
647 %endif
648
649 %install
650 rm -rf $RPM_BUILD_ROOT
651 install -d $RPM_BUILD_ROOT{%{ruby_rdocdir},%{ruby_ridir}} \
652         $RPM_BUILD_ROOT%{ruby_vendorarchdir} \
653         $RPM_BUILD_ROOT%{ruby_vendorlibdir}/net \
654         $RPM_BUILD_ROOT%{ruby_vendorlibdir}/data \
655
656 %{__make} install %{?with_doc:install-doc -j1} \
657         DESTDIR=$RPM_BUILD_ROOT
658
659 # Version is empty if --with-ruby-version is specified.
660 # http://bugs.ruby-lang.org/issues/7807
661 sed -i -e 's/Version: \${ruby_version}/Version: %{ruby_version}/' $RPM_BUILD_ROOT%{_pkgconfigdir}/%{oname}-%{ruby_version}.pc
662
663 # Kill bundled certificates, as they should be part of ca-certificates.
664 for cert in \
665         Class3PublicPrimaryCertificationAuthority.pem \
666         DigiCertHighAssuranceEVRootCA.pem \
667         EntrustnetSecureServerCertificationAuthority.pem \
668         GeoTrustGlobalCA.pem \
669         AddTrustExternalCARoot.pem \
670         AddTrustExternalCARoot-2048.pem \
671 ; do
672         %{__rm} $RPM_BUILD_ROOT%{rubygems_dir}/rubygems/ssl_certs/$cert
673 done
674
675 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}
676 cp -Rf sample/* $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}
677 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_mandir}/man1/rdoc%{ruby_suffix}.1
678 cp -p %{SOURCE5} $RPM_BUILD_ROOT%{_mandir}/man1/testrb%{ruby_suffix}.1
679
680 %{__rm} -rf $RPM_BUILD_ROOT%{_docdir}/%{name}/html
681
682 # detect this runtime, "make install" is affected by operating_system.rb what is installed in system!
683 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')
684
685 # Move gems root into common directory, out of Ruby directory structure.
686 install -d $RPM_BUILD_ROOT%{gem_dir}
687 %{__mv} $RPM_BUILD_ROOT${gem_dir}/{gems,specifications} $RPM_BUILD_ROOT%{gem_dir}
688
689 # Move bundled rubygems to %gem_dir
690 # make symlinks for io-console and bigdecimal, which are considered to be part of stdlib by other Gems
691 # make symlinks for all packages, so they would work without rubygems
692 # NOTE: when making symlinks, do not symlink paths that could be directories,
693 # as there may came files from other packages as well. actually, unlikely as
694 # the links to got system dir and only ruby may package there (other distro
695 # packages should go to vendor dirs)
696 %if 0
697 install -d $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/lib
698 %{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/rake* $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/lib
699 ln -s %{gem_dir}/gems/rake-%{rake_ver}/lib/rake $RPM_BUILD_ROOT%{ruby_libdir}
700 ln -s %{gem_dir}/gems/rake-%{rake_ver}/lib/rake.rb $RPM_BUILD_ROOT%{ruby_libdir}
701 %{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/rake-%{rake_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
702 %endif
703
704 install -d $RPM_BUILD_ROOT%{gem_dir}/gems/rdoc-%{rdoc_ver}/lib
705 %{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/rdoc* $RPM_BUILD_ROOT%{gem_dir}/gems/rdoc-%{rdoc_ver}/lib
706 ln -s %{gem_dir}/gems/rdoc-%{rdoc_ver}/lib/rdoc $RPM_BUILD_ROOT%{ruby_libdir}
707 ln -s %{gem_dir}/gems/rdoc-%{rdoc_ver}/lib/rdoc.rb $RPM_BUILD_ROOT%{ruby_libdir}
708 %{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/rdoc-%{rdoc_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
709
710 install -d $RPM_BUILD_ROOT%{gem_dir}/gems/bigdecimal-%{bigdecimal_ver}/lib
711 install -d $RPM_BUILD_ROOT%{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib
712 %{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/bigdecimal $RPM_BUILD_ROOT%{gem_dir}/gems/bigdecimal-%{bigdecimal_ver}/lib
713 %{__mv} $RPM_BUILD_ROOT%{ruby_libarchdir}/bigdecimal.so $RPM_BUILD_ROOT%{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib
714 %{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/bigdecimal-%{bigdecimal_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
715 ln -s %{gem_dir}/gems/bigdecimal-%{bigdecimal_ver}/lib/bigdecimal $RPM_BUILD_ROOT%{ruby_libdir}/bigdecimal
716 ln -s %{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib/bigdecimal.so $RPM_BUILD_ROOT%{ruby_libarchdir}/bigdecimal.so
717
718 install -d $RPM_BUILD_ROOT%{gem_dir}/gems/io-console-%{io_console_ver}/lib
719 install -d $RPM_BUILD_ROOT%{gem_libdir}/io-console-%{io_console_ver}/lib/io
720 %{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/io $RPM_BUILD_ROOT%{gem_dir}/gems/io-console-%{io_console_ver}/lib
721 %{__mv} $RPM_BUILD_ROOT%{ruby_libarchdir}/io/console.so $RPM_BUILD_ROOT%{gem_libdir}/io-console-%{io_console_ver}/lib/io
722 %{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/io-console-%{io_console_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
723 ln -s %{gem_dir}/gems/io-console-%{io_console_ver}/lib/io $RPM_BUILD_ROOT%{ruby_libdir}/io
724 ln -s %{gem_libdir}/io-console-%{io_console_ver}/lib/io/console.so $RPM_BUILD_ROOT%{ruby_libarchdir}/io/console.so
725
726 install -d $RPM_BUILD_ROOT%{gem_dir}/gems/json-%{json_ver}/lib
727 install -d $RPM_BUILD_ROOT%{gem_libdir}/json-%{json_ver}/lib
728 %{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/json* $RPM_BUILD_ROOT%{gem_dir}/gems/json-%{json_ver}/lib
729 %{__mv} $RPM_BUILD_ROOT%{ruby_libarchdir}/json $RPM_BUILD_ROOT%{gem_libdir}/json-%{json_ver}/lib
730 %{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/json-%{json_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
731 ln -s %{gem_dir}/gems/json-%{json_ver}/lib/json $RPM_BUILD_ROOT%{ruby_libdir}/json
732 ln -s %{gem_dir}/gems/json-%{json_ver}/lib/json.rb $RPM_BUILD_ROOT%{ruby_libdir}/json.rb
733 install -d $RPM_BUILD_ROOT%{ruby_libarchdir}/json/ext
734 ln -s %{gem_libdir}/json-%{json_ver}/lib/json/ext/parser.so $RPM_BUILD_ROOT%{ruby_libarchdir}/json/ext
735 ln -s %{gem_libdir}/json-%{json_ver}/lib/json/ext/generator.so $RPM_BUILD_ROOT%{ruby_libarchdir}/json/ext
736
737 ln -s %{gem_dir}/gems/minitest-%{minitest_ver}/lib/minitest $RPM_BUILD_ROOT%{ruby_libdir}
738
739 install -d $RPM_BUILD_ROOT%{ruby_libdir}/test
740 ln -s %{gem_dir}/gems/test-unit-%{test_unit_ver}/lib/unit $RPM_BUILD_ROOT%{ruby_libdir}/test
741
742 install -d $RPM_BUILD_ROOT%{gem_dir}/gems/psych-%{psych_ver}/lib
743 install -d $RPM_BUILD_ROOT%{gem_libdir}/psych-%{psych_ver}/lib
744 %{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/psych* $RPM_BUILD_ROOT%{gem_dir}/gems/psych-%{psych_ver}/lib
745 %{__mv} $RPM_BUILD_ROOT%{ruby_libarchdir}/psych.so $RPM_BUILD_ROOT%{gem_libdir}/psych-%{psych_ver}/lib/
746 %{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/psych-%{psych_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
747 ln -s %{gem_dir}/gems/psych-%{psych_ver}/lib/psych $RPM_BUILD_ROOT%{ruby_libdir}/psych
748 ln -s %{gem_dir}/gems/psych-%{psych_ver}/lib/psych.rb $RPM_BUILD_ROOT%{ruby_libdir}/psych.rb
749 ln -s %{gem_libdir}/psych-%{psych_ver}/lib/psych.so $RPM_BUILD_ROOT%{ruby_archdir}/psych.so
750
751 # Adjust the gemspec files so that the gems will load properly
752 sed -i '/^end$/ i\
753   s.require_paths = ["lib"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/rake-%{rake_ver}.gemspec
754
755 sed -i '/^end$/ i\
756   s.require_paths = ["lib"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/rdoc-%{rdoc_ver}.gemspec
757
758 sed -i '/^end$/ i\
759   s.require_paths = ["lib"]\
760   s.extensions = ["bigdecimal.so"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/bigdecimal-%{bigdecimal_ver}.gemspec
761
762 sed -i '/^end$/ i\
763   s.require_paths = ["lib"]\
764   s.extensions = ["io/console.so"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/io-console-%{io_console_ver}.gemspec
765
766 sed -i '/^end$/ i\
767   s.require_paths = ["lib"]\
768   s.extensions = ["json/ext/parser.so", "json/ext/generator.so"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/json-%{json_ver}.gemspec
769
770 sed -i '/^end$/ i\
771   s.require_paths = ["lib"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/minitest-%{minitest_ver}.gemspec
772
773 # Push the .gemspecs through the RubyGems to let them write the stub headers.
774 # This speeds up loading of libraries and avoids warnings in Spring:
775 # https://github.com/rubygems/rubygems/pull/694
776 for s in rake-%{rake_ver}.gemspec rdoc-%{rdoc_ver}.gemspec json-%{json_ver}.gemspec; do
777         s="$RPM_BUILD_ROOT%{gem_dir}/specifications/$s"
778         %{__make} runruby TESTRUN_SCRIPT="-rubygems \
779         -e \"spec = Gem::Specification.load('$s')\" \
780         -e \"File.write '$s', spec.to_ruby\""
781 done
782
783 ln -sf %{gem_dir}/gems/rake-%{rake_ver}/bin/rake $RPM_BUILD_ROOT%{_bindir}/rake%{ruby_suffix}
784
785 %{__sed} -i -e '1s,/usr/bin/env ruby,/usr/bin/ruby,' \
786         $RPM_BUILD_ROOT%{ruby_libdir}/abbrev.rb \
787         $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/bin/rake \
788         $RPM_BUILD_ROOT%{gem_dir}/gems/rdoc-%{rdoc_ver}/bin/rdoc \
789         $RPM_BUILD_ROOT%{gem_dir}/gems/rdoc-%{rdoc_ver}/bin/ri \
790         $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}/{cal,test,time,uumerge}.rb \
791         $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}/{drb,logger,openssl,ripper,rss}/*.rb \
792         $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}/webrick/*.cgi
793
794 # gem non library files
795 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/minitest-%{minitest_ver}/test
796 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/test-unit-%{test_unit_ver}/{[A-Z]*,doc,sample,test}
797 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/power_assert-%{power_assert_ver}/{[A-Z]*,test}
798 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/{[A-Z]*,doc,test}
799 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/{[A-Z]*,doc,test}
800 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/net-telnet-%{net_telnet_ver}/{[A-Z]*,bin}
801
802 %if %{without batteries}
803 # packaged separately
804 %{__rm} -r $RPM_BUILD_ROOT%{ruby_libdir}/{rubygems,rake,json,minitest}
805 %{__rm} -r $RPM_BUILD_ROOT%{ruby_archdir}/json
806 %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/rake-*
807 %{__rm} $RPM_BUILD_ROOT%{ruby_libdir}/{rake,rubygems,json}.rb
808 %{__rm} $RPM_BUILD_ROOT%{_bindir}/{gem,rake}
809 #%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/rake*
810 %{__rm} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/{json,minitest,rake}-*.gemspec
811 %{?with_doc:%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/ri/%{ruby_version}/system/JSON}
812 %endif
813
814 %if %{with doc}
815 # too much .ri
816 %{__rm} $RPM_BUILD_ROOT%{ruby_ridir}/cache.ri
817 %{__rm} $RPM_BUILD_ROOT%{ruby_ridir}/created.rid
818 %endif
819
820 %clean
821 rm -rf $RPM_BUILD_ROOT
822
823 %post   -p /sbin/ldconfig
824 %postun -p /sbin/ldconfig
825
826 %files
827 %defattr(644,root,root,755)
828 %doc NEWS LEGAL BSDL README.md README.EXT ChangeLog
829 %attr(755,root,root) %{_bindir}/ruby%{ruby_suffix}
830 %attr(755,root,root) %{_libdir}/libruby.so.*.*.*
831 %attr(755,root,root) %ghost %{_libdir}/libruby.so.%{ruby_version}
832 %{_mandir}/man1/ruby%{ruby_suffix}.1*
833
834 %dir %{_libdir}/%{oname}
835 %dir %{_libdir}/%{oname}/%{vendordir}
836 %dir %{_datadir}/%{oname}
837
838 %dir %{ruby_libdir}
839 %dir %{ruby_archdir}
840 %dir %{ruby_vendorlibdir}
841 %dir %{ruby_vendorarchdir}
842
843 %dir %{dirname:%{ruby_ridir}}
844 %dir %{ruby_ridir}
845 %dir %{ruby_rdocdir}
846
847 # common dirs for ruby vendor modules
848 %dir %{ruby_vendorlibdir}/data
849 %dir %{ruby_vendorlibdir}/net
850
851 %files devel
852 %defattr(644,root,root,755)
853 %attr(755,root,root) %{_libdir}/libruby.so
854 %{_includedir}/%{oname}-%{ruby_version}
855 %{_pkgconfigdir}/%{oname}-%{ruby_version}.pc
856 %{ruby_libdir}/mkmf.rb
857
858 %files static
859 %defattr(644,root,root,755)
860 %{_libdir}/libruby-static.a
861
862 %if %{with tk}
863 %files tk
864 %defattr(644,root,root,755)
865 %doc ext/tk/{ChangeLog.tkextlib,MANUAL_tcltklib.eng,README.fork}
866 %lang(ja) %doc ext/tk/MANUAL_tcltklib.ja
867 %{ruby_libdir}/multi-tk.rb
868 %{ruby_libdir}/remote-tk.rb
869 %{ruby_libdir}/tcltk.rb
870 %{ruby_libdir}/tk*.rb
871 %{ruby_libdir}/tk
872 %{ruby_libdir}/tkextlib
873 %attr(755,root,root) %{ruby_archdir}/tcltklib.so
874 %attr(755,root,root) %{ruby_archdir}/tkutil.so
875 %endif
876
877 %files irb
878 %defattr(644,root,root,755)
879 %attr(755,root,root) %{_bindir}/irb%{ruby_suffix}
880 %{ruby_libdir}/irb.rb
881 %{ruby_libdir}/irb
882 %{_mandir}/man1/irb%{ruby_suffix}.1*
883
884 %files rdoc
885 %defattr(644,root,root,755)
886 %attr(755,root,root) %{_bindir}/rdoc%{ruby_suffix}
887 %attr(755,root,root) %{_bindir}/ri%{ruby_suffix}
888 %{_mandir}/man1/rdoc%{ruby_suffix}.1*
889 %{ruby_libdir}/rdoc
890 %dir %{gem_dir}/gems/rdoc-%{rdoc_ver}
891 %{gem_dir}/gems/rdoc-%{rdoc_ver}/lib
892 %dir %{gem_dir}/gems/rdoc-%{rdoc_ver}/bin
893 %attr(755,root,root) %{gem_dir}/gems/rdoc-%{rdoc_ver}/bin/rdoc
894 %{gem_dir}/specifications/rdoc-%{rdoc_ver}.gemspec
895 %attr(755,root,root) %{gem_dir}/gems/rdoc-%{rdoc_ver}/bin/ri
896
897 %if %{with batteries}
898 %files rubygems
899 %defattr(644,root,root,755)
900 %attr(755,root,root) %{_bindir}/gem%{ruby_suffix}
901 %{rubygems_dir}/rubygems
902 %{rubygems_dir}/rubygems.rb
903 %{rubygems_dir}/ubygems.rb
904 %{rubygems_dir}/rbconfig
905
906 %files rake
907 %defattr(644,root,root,755)
908 %attr(755,root,root) %{_bindir}/rake%{ruby_suffix}
909 #%{_mandir}/man1/rake%{ruby_suffix}.1*
910 #%{ruby_libdir}/rake
911 #%{ruby_libdir}/rake.rb
912 %dir %{gem_dir}/gems/rake-%{rake_ver}
913 %{gem_dir}/gems/rake-%{rake_ver}/lib
914 %{gem_dir}/gems/rake-%{rake_ver}/rakelib
915 %dir %{gem_dir}/gems/rake-%{rake_ver}/bin
916 %attr(755,root,root) %{gem_dir}/gems/rake-%{rake_ver}/bin/rake
917 %{gem_dir}/specifications/rake-%{rake_ver}.gemspec
918
919 %files json
920 %defattr(644,root,root,755)
921 %{ruby_libdir}/json
922 %dir %{ruby_archdir}/json
923 %dir %{ruby_archdir}/json/ext
924 %attr(755,root,root) %{ruby_archdir}/json/ext/*.so
925
926 %dir %{gem_libdir}/json-%{json_ver}
927 %dir %{gem_libdir}/json-%{json_ver}/lib
928 %dir %{gem_libdir}/json-%{json_ver}/lib/json
929 %dir %{gem_libdir}/json-%{json_ver}/lib/json/ext
930 %attr(755,root,root) %{gem_libdir}/json-%{json_ver}/lib/json/ext/generator.so
931 %attr(755,root,root) %{gem_libdir}/json-%{json_ver}/lib/json/ext/parser.so
932
933 %{gem_dir}/gems/json-%{json_ver}
934 %{gem_dir}/specifications/json-%{json_ver}.gemspec
935 %endif
936
937 %files power_assert
938 %defattr(644,root,root,755)
939 %dir %{gem_dir}/gems/power_assert-%{power_assert_ver}
940 %{gem_dir}/gems/power_assert-%{power_assert_ver}/lib
941 %{gem_dir}/specifications/power_assert-%{power_assert_ver}.gemspec
942
943 %files minitest
944 %defattr(644,root,root,755)
945 %{ruby_libdir}/minitest
946 %{gem_dir}/gems/minitest-%{minitest_ver}
947 %{gem_dir}/specifications/minitest-%{minitest_ver}.gemspec
948
949 %files test-unit
950 %defattr(644,root,root,755)
951 %dir %{gem_dir}/gems/test-unit-%{test_unit_ver}
952 %{gem_dir}/gems/test-unit-%{test_unit_ver}/lib
953 %{gem_dir}/specifications/test-unit-%{test_unit_ver}.gemspec
954 %{_mandir}/man1/testrb%{ruby_suffix}.1*
955
956 %files did_you_mean
957 %defattr(644,root,root,755)
958 %dir %{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}
959 %{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/benchmark
960 %{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/evaluation
961 %{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/lib
962 %{gem_dir}/specifications/did_you_mean-%{did_you_mean_ver}.gemspec
963
964 %files net-telnet
965 %defattr(644,root,root,755)
966 %dir %{gem_dir}/gems/net-telnet-%{net_telnet_ver}
967 %{gem_dir}/gems/net-telnet-%{net_telnet_ver}/lib
968 %{gem_dir}/specifications/net-telnet-%{net_telnet_ver}.gemspec
969
970 %files modules
971 %defattr(644,root,root,755)
972 %attr(755,root,root) %{_bindir}/erb%{ruby_suffix}
973 %{ruby_libdir}/cgi
974 #%{ruby_libdir}/date
975 %{ruby_libdir}/digest
976 #%{ruby_libdir}/dl
977 %{ruby_libdir}/drb
978 %{ruby_libdir}/fiddle
979 %{ruby_libdir}/io
980 %{ruby_libdir}/matrix
981 %{ruby_libdir}/net
982 %{ruby_libdir}/openssl
983 %{ruby_libdir}/optparse
984 %{ruby_libdir}/racc
985 %{ruby_libdir}/rbconfig
986 %{ruby_libdir}/rexml
987 %{ruby_libdir}/rinda
988 %{ruby_libdir}/ripper
989 %{ruby_libdir}/rss
990 %{ruby_libdir}/shell
991 %{ruby_libdir}/syslog
992 %{ruby_libdir}/test
993 %{ruby_libdir}/uri
994 %{ruby_libdir}/webrick
995 %{ruby_libdir}/xmlrpc
996 %{ruby_libdir}/yaml
997
998 %{ruby_libdir}/English.rb
999 %{ruby_libdir}/abbrev.rb
1000 %{ruby_libdir}/base64.rb
1001 %{ruby_libdir}/benchmark.rb
1002 %{ruby_libdir}/cgi.rb
1003 %{ruby_libdir}/cmath.rb
1004 #%{ruby_libdir}/complex.rb
1005 %{ruby_libdir}/csv.rb
1006 %{ruby_libdir}/date.rb
1007 %{ruby_libdir}/debug.rb
1008 %{ruby_libdir}/delegate.rb
1009 %{ruby_libdir}/digest.rb
1010 #%{ruby_libdir}/dl.rb
1011 %{ruby_libdir}/drb.rb
1012 %{ruby_libdir}/e2mmap.rb
1013 %{ruby_libdir}/erb.rb
1014 %{ruby_libdir}/expect.rb
1015 %{ruby_libdir}/fiddle.rb
1016 %{ruby_libdir}/fileutils.rb
1017 %{ruby_libdir}/find.rb
1018 %{ruby_libdir}/forwardable.rb
1019 %{ruby_libdir}/getoptlong.rb
1020 #%{ruby_libdir}/gserver.rb
1021 %{ruby_libdir}/ipaddr.rb
1022 %{ruby_libdir}/json.rb
1023 %{ruby_libdir}/kconv.rb
1024 %{ruby_libdir}/logger.rb
1025 %{ruby_libdir}/mathn.rb
1026 %{ruby_libdir}/matrix.rb
1027 %{ruby_libdir}/monitor.rb
1028 %{ruby_libdir}/mutex_m.rb
1029 %{ruby_libdir}/observer.rb
1030 %{ruby_libdir}/open-uri.rb
1031 %{ruby_libdir}/open3.rb
1032 %{ruby_libdir}/openssl.rb
1033 %{ruby_libdir}/optionparser.rb
1034 %{ruby_libdir}/optparse.rb
1035 %{ruby_libdir}/ostruct.rb
1036 %{ruby_libdir}/pathname.rb
1037 %{ruby_libdir}/pp.rb
1038 %{ruby_libdir}/prettyprint.rb
1039 %{ruby_libdir}/prime.rb
1040 %{ruby_libdir}/profile.rb
1041 %{ruby_libdir}/profiler.rb
1042 %{ruby_libdir}/pstore.rb
1043 %{ruby_libdir}/psych.rb
1044 #%{ruby_libdir}/rational.rb
1045 %{ruby_libdir}/rdoc.rb
1046 %{ruby_libdir}/resolv-replace.rb
1047 %{ruby_libdir}/resolv.rb
1048 %{ruby_libdir}/ripper.rb
1049 %{ruby_libdir}/rss.rb
1050 %{ruby_libdir}/scanf.rb
1051 %{ruby_libdir}/securerandom.rb
1052 %{ruby_libdir}/set.rb
1053 %{ruby_libdir}/shell.rb
1054 %{ruby_libdir}/shellwords.rb
1055 %{ruby_libdir}/singleton.rb
1056 %{ruby_libdir}/socket.rb
1057 %{ruby_libdir}/sync.rb
1058 %{ruby_libdir}/tempfile.rb
1059 %{ruby_libdir}/thwait.rb
1060 %{ruby_libdir}/time.rb
1061 %{ruby_libdir}/timeout.rb
1062 %{ruby_libdir}/tmpdir.rb
1063 %{ruby_libdir}/tracer.rb
1064 %{ruby_libdir}/tsort.rb
1065 %{ruby_libdir}/un.rb
1066 %{ruby_libdir}/unicode_normalize
1067 %{ruby_libdir}/unicode_normalize.rb
1068 %{ruby_libdir}/uri.rb
1069 %{ruby_libdir}/weakref.rb
1070 %{ruby_libdir}/webrick.rb
1071 %{ruby_libdir}/xmlrpc.rb
1072 %{ruby_libdir}/yaml.rb
1073
1074 %if %{with batteries}
1075 %exclude %{ruby_libdir}/rubygems.rb
1076 %exclude %{ruby_libdir}/ubygems.rb
1077 %exclude %{ruby_libdir}/rbconfig/datadir.rb
1078 #%exclude %{ruby_libdir}/rbconfig/obsolete.rb
1079 %endif
1080 %exclude %{ruby_libdir}/irb.rb
1081 %exclude %{ruby_libdir}/mkmf.rb
1082 #%exclude %{ruby_libdir}/rake.rb
1083
1084 %{ruby_archdir}/rbconfig.rb
1085 %attr(755,root,root) %{ruby_archdir}/bigdecimal.so
1086 %attr(755,root,root) %{ruby_archdir}/continuation.so
1087 %attr(755,root,root) %{ruby_archdir}/coverage.so
1088 %attr(755,root,root) %{ruby_archdir}/date_core.so
1089 %attr(755,root,root) %{ruby_archdir}/dbm.so
1090 %attr(755,root,root) %{ruby_archdir}/digest.so
1091 #%attr(755,root,root) %{ruby_archdir}/dl.so
1092 %attr(755,root,root) %{ruby_archdir}/etc.so
1093 %attr(755,root,root) %{ruby_archdir}/fcntl.so
1094 %attr(755,root,root) %{ruby_archdir}/fiber.so
1095 %attr(755,root,root) %{ruby_archdir}/fiddle.so
1096 %attr(755,root,root) %{ruby_archdir}/gdbm.so
1097 %attr(755,root,root) %{ruby_archdir}/nkf.so
1098 %attr(755,root,root) %{ruby_archdir}/objspace.so
1099 %attr(755,root,root) %{ruby_archdir}/openssl.so
1100 %attr(755,root,root) %{ruby_archdir}/pathname.so
1101 %attr(755,root,root) %{ruby_archdir}/psych.so
1102 %attr(755,root,root) %{ruby_archdir}/pty.so
1103 %attr(755,root,root) %{ruby_archdir}/readline.so
1104 %attr(755,root,root) %{ruby_archdir}/ripper.so
1105 %attr(755,root,root) %{ruby_archdir}/thread.so
1106 %attr(755,root,root) %{ruby_archdir}/sdbm.so
1107 %attr(755,root,root) %{ruby_archdir}/socket.so
1108 %attr(755,root,root) %{ruby_archdir}/stringio.so
1109 %attr(755,root,root) %{ruby_archdir}/strscan.so
1110 %attr(755,root,root) %{ruby_archdir}/syslog.so
1111 %attr(755,root,root) %{ruby_archdir}/zlib.so
1112
1113 %dir %{ruby_archdir}/cgi
1114 %attr(755,root,root) %{ruby_archdir}/cgi/escape.so
1115 %dir %{ruby_archdir}/digest
1116 %attr(755,root,root) %{ruby_archdir}/digest/*.so
1117 #%dir %{ruby_archdir}/dl
1118 #%attr(755,root,root) %{ruby_archdir}/dl/callback.so
1119 %dir %{ruby_archdir}/enc
1120 %attr(755,root,root) %{ruby_archdir}/enc/*.so
1121 %dir %{ruby_archdir}/enc/trans
1122 %attr(755,root,root) %{ruby_archdir}/enc/trans/*.so
1123 %dir %{ruby_archdir}/io
1124 %attr(755,root,root) %{ruby_archdir}/io/*.so
1125 %dir %{ruby_archdir}/mathn
1126 %attr(755,root,root) %{ruby_archdir}/mathn/*.so
1127 %dir %{ruby_archdir}/racc
1128 %attr(755,root,root) %{ruby_archdir}/racc/*.so
1129 %dir %{ruby_archdir}/rbconfig
1130 %attr(755,root,root) %{ruby_archdir}/rbconfig/sizeof.so
1131
1132 # bigdecimal
1133 %{gem_dir}/specifications/bigdecimal-%{bigdecimal_ver}.gemspec
1134 %{gem_dir}/gems/bigdecimal-%{bigdecimal_ver}
1135 %dir %{gem_libdir}/bigdecimal-%{bigdecimal_ver}
1136 %dir %{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib
1137 %attr(755,root,root) %{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib/bigdecimal.so
1138 %{ruby_libdir}/bigdecimal
1139
1140 %dir %{_libdir}/gems
1141 %dir %{_libdir}/gems/%{oname}
1142
1143 # io-console
1144 %{gem_dir}/specifications/io-console-%{io_console_ver}.gemspec
1145 %{gem_dir}/gems/io-console-%{io_console_ver}
1146 %dir %{gem_libdir}/io-console-%{io_console_ver}
1147 %dir %{gem_libdir}/io-console-%{io_console_ver}/lib
1148 %dir %{gem_libdir}/io-console-%{io_console_ver}/lib/io
1149 %attr(755,root,root) %{gem_libdir}/io-console-%{io_console_ver}/lib/io/console.so
1150
1151 %{gem_dir}/specifications/psych-%{psych_ver}.gemspec
1152 %{gem_dir}/gems/psych-%{psych_ver}
1153 %{ruby_libdir}/psych
1154 %dir %{gem_libdir}/psych-%{psych_ver}
1155 %dir %{gem_libdir}/psych-%{psych_ver}/lib
1156 %attr(755,root,root) %{gem_libdir}/psych-%{psych_ver}/lib/psych.so
1157
1158 %dir %{gem_dir}
1159 %dir %{gem_dir}/gems
1160 %dir %{gem_dir}/specifications
1161 %dir %{gem_dir}/specifications/default
1162 %{_mandir}/man1/erb%{ruby_suffix}.1*
1163 %{_mandir}/man1/ri%{ruby_suffix}.1*
1164
1165 %files doc
1166 %defattr(644,root,root,755)
1167 %doc ruby-doc-bundle/*
1168 %{?with_doc:%doc ruby_%{doc_version}_stdlib}
1169 %{?with_doc:%doc ruby_%{doc_version}_core}
1170
1171 %if %{with doc}
1172 %files doc-ri
1173 %defattr(644,root,root,755)
1174 %{ruby_ridir}/*
1175 %endif
1176
1177 %files examples
1178 %defattr(644,root,root,755)
1179 %{_examplesdir}/%{oname}-%{pkg_version}
This page took 0.30662 seconds and 3 git commands to generate.