/[packages]/cauldron/ruby/current/SPECS/ruby.spec
ViewVC logotype

Contents of /cauldron/ruby/current/SPECS/ruby.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 291748 - (show annotations) (download)
Mon Sep 10 11:39:29 2012 UTC (11 years, 6 months ago) by shlomif
File size: 14841 byte(s)
Add a missing provides for rake
1 %define subver 1.9
2 %define rubyapi 1.9.1
3 %define rubyver 1.9.3
4 %define patchversion p194
5 %define rel 4
6
7 %define libname %mklibname ruby %{subver}
8
9 %define ruby_libdir %{_datadir}/%{name}
10 %define ruby_libarchdir %{_libdir}/%{name}
11
12 # This is the local lib/arch and should not be used for packaging.
13 %define ruby_sitelibdir %{_datadir}/ruby/site_ruby
14 %define ruby_sitearchdir %{_libdir}/ruby/site_ruby
15
16 # This is the general location for libs/archs compatible with all
17 # or most of the Ruby versions available in the Fedora repositories.
18 %define ruby_vendorlibdir %{_datadir}/ruby/vendor_ruby
19 %define ruby_vendorarchdir %{_libdir}/ruby/vendor_ruby
20
21 # The RubyGems library has to stay out of Ruby directory three, since the
22 # RubyGems should be share by all Ruby implementations.
23 %define rubygems_dir %{_datadir}/ruby/gems
24 %define rubygems_version 1.8.23
25
26 Summary: Object Oriented Script Language
27 Name: ruby
28 Epoch: 1
29 Version: %{rubyver}.%{patchversion}
30 Release: %mkrel %rel
31 License: Ruby or GPLv2
32 Group: Development/Ruby
33 BuildRequires: autoconf
34 BuildRequires: byacc
35 BuildRequires: doxygen
36 BuildRequires: ncurses-devel
37 BuildRequires: readline-devel
38 BuildRequires: tcl-devel tk-devel
39 BuildRequires: db-devel
40 BuildRequires: gdbm-devel >= 1.8.3
41 BuildRequires: openssl-devel
42 BuildRequires: zlib-devel
43 BuildRequires: libffi-devel
44 BuildRequires: yaml-devel
45 BuildRequires: rpm-mageia-setup >= 1.158
46 Obsoletes: ruby-rexml
47 Provides: ruby-rexml
48 # explicit file provides (since such requires are automatically added by find-requires)
49 Provides: /usr/bin/ruby
50 Provides: ruby(abi) = %subver
51
52 Source0: http://ftp.ruby-lang.org/pub/ruby/%{subver}/ruby-%{rubyver}-%{patchversion}.tar.bz2
53 Source3: ruby.macros
54 URL: http://www.ruby-lang.org/
55
56 # == FEDORA PATCHES BEGINS ==
57 # http://redmine.ruby-lang.org/issues/5231
58 Patch0: ruby-1.9.3-disable-versioned-paths.patch
59 # TODO: Should be submitted upstream?
60 Patch1: ruby-1.9.3-arch-specific-dir.patch
61 # http://redmine.ruby-lang.org/issues/5281
62 Patch2: ruby-1.9.3-added-site-and-vendor-arch-flags.patch
63 # http://redmine.ruby-lang.org/issues/5465
64 Patch4: ruby-1.9.3-fix-s390x-build.patch
65 # Fix the uninstaller, so that it doesn't say that gem doesn't exist
66 # when it exists outside of the GEM_HOME (already fixed in the upstream)
67 Patch5: ruby-1.9.3-rubygems-1.8.11-uninstaller.patch
68 # http://redmine.ruby-lang.org/issues/5135 - see comment 29
69 Patch6: ruby-1.9.3-webrick-test-fix.patch
70 # Already fixed upstream:
71 # https://github.com/ruby/ruby/commit/f212df564a4e1025f9fb019ce727022a97bfff53
72 Patch7: ruby-1.9.3-bignum-test-fix.patch
73 # Allows to install RubyGems into custom directory, outside of Ruby's tree.
74 # http://redmine.ruby-lang.org/issues/5617
75 Patch8: ruby-1.9.3-custom-rubygems-location.patch
76 # Add support for installing binary extensions according to FHS.
77 # https://github.com/rubygems/rubygems/issues/210
78 Patch9: rubygems-1.8.11-binary-extensions.patch
79 # == FEDORA PATCHES ENDS ==
80
81 %package -n %{libname}
82 Summary: Libraries necessary to run Ruby
83 Group: Development/Ruby
84
85 %package doc
86 Summary: Documentation for the powerful language Ruby
87 Group: Development/Ruby
88 BuildArch: noarch
89
90 %package devel
91 Summary: Development file for the powerful language Ruby
92 Group: Development/Ruby
93 Requires: %{name} = %{epoch}:%{version}
94 Requires: %{libname} = %{epoch}:%{version}
95
96 %package tk
97 Summary: Tk extension for the powerful language Ruby
98 Group: Development/Ruby
99 Requires: %{name} = %{epoch}:%{version}
100
101 %package RubyGems
102 Summary: The Ruby standard for packaging ruby libraries
103 Group: Development/Ruby
104 Version: %{rubygems_version}
105 Requires: ruby(abi) = %{subver}
106 Provides: gem = %{rubygems_version}
107 Provides: rubygems = %{rubygems_version}
108 Provides: ruby(rubygems) = %{rubygems_version}
109 BuildArch: noarch
110
111 %package rake
112 Summary: Simple ruby build program with capabilities similar to make
113 Group: Development/Ruby
114 Version: 0.9.2.2
115 Requires: ruby(abi) = %{subver}
116 Provides: rubygem(rake) = 0.9.2.2
117 BuildArch: noarch
118
119 %package minitest
120 Summary: Minitest provides a complete suite of testing facilities
121 Group: Development/Ruby
122 Version: 2.5.1
123 License: MIT
124 Requires: ruby(abi) = %{subver}
125 Requires: ruby(rubygems) >= %{rubygems_version}
126 Provides: rubygem(minitest) = 2.5.1
127 BuildArch: noarch
128
129 %package json
130 Summary: This is a JSON implementation as a Ruby extension in C
131 Group: Development/Ruby
132 Version: 1.5.4
133 License: Ruby or GPLv2
134 Requires: ruby(abi) = %{subver}
135 Requires: ruby(rubygems) >= %{rubygems_version}
136 Provides: rubygem(json) = 1.5.4
137
138 %package rdoc
139 Summary: A tool to generate HTML and command-line documentation for Ruby projects
140 Group: Development/Ruby
141 Version: 3.9.4
142 License: GPLv2 and Ruby and MIT
143 Requires: ruby(abi) = %{subver}
144 Requires: ruby(rubygems) >= %{rubygems_version}
145 Requires: ruby(irb) = %{version}
146 Provides: rdoc = 3.9.4
147 Provides: ri = 3.9.4
148 BuildArch: noarch
149
150 %package irb
151 Summary: The Interactive Ruby
152 Group: Development/Ruby
153 Provides: irb = %{version}-%{release}
154 Provides: ruby(irb) = %{version}-%{release}
155 BuildArch: noarch
156
157 %package bigdecimal
158 Summary: BigDecimal provides arbitrary-precision floating point decimal arithmetic
159 Group: Development/Ruby
160 Version: 1.1.0
161 License: GPL+ or Artistic
162 Requires: ruby(abi) = %{subver}
163 Requires: ruby(rubygems) >= %{rubygems_version}
164 Provides: rubygem(bigdecimal) = 1.1.0
165
166 %package io-console
167 Summary: IO/Console is a simple console utilizing library
168 Group: Development/Ruby
169 Version: 0.3
170 Requires: ruby(abi) = %{subver}
171 Requires: ruby(rubygems) >= %{rubygems_version}
172 Provides: rubygem(io-console) = 0.3
173
174 %description
175 Ruby is the interpreted scripting language for quick and
176 easy object-oriented programming. It has many features to
177 process text files and to do system management tasks (as in
178 Perl). It is simple, straight-forward, and extensible.
179
180 %description doc
181 Ruby is the interpreted scripting language for quick and
182 easy object-oriented programming. It has many features to
183 process text files and to do system management tasks (as in
184 Perl). It is simple, straight-forward, and extensible.
185
186 This package contains the Ruby's documentation
187
188 %description -n %{libname}
189 This package includes the libruby, necessary to run Ruby.
190
191 %description devel
192 Ruby is the interpreted scripting language for quick and
193 easy object-oriented programming. It has many features to
194 process text files and to do system management tasks (as in
195 Perl). It is simple, straight-forward, and extensible.
196
197 This package contains the Ruby's devel files.
198
199 %description tk
200 Ruby is the interpreted scripting language for quick and
201 easy object-oriented programming. It has many features to
202 process text files and to do system management tasks (as in
203 Perl). It is simple, straight-forward, and extensible.
204
205 This package contains the Tk extension for Ruby.
206
207 %description RubyGems
208 RubyGems is the Ruby standard for publishing and managing third party
209 libraries.
210
211 %description rake
212 Rake is a Make-like program implemented in Ruby. Tasks and dependencies are
213 specified in standard Ruby syntax.
214
215 %description rdoc
216 RDoc produces HTML and command-line documentation for Ruby projects. RDoc
217 includes the 'rdoc' and 'ri' tools for generating and displaying online
218 documentation.
219
220 %description json
221 This is a implementation of the JSON specification according to RFC 4627.
222 You can think of it as a low fat alternative to XML, if you want to store
223 data to disk or transmit it over a network rather than use a verbose
224 markup language.
225
226 %description minitest
227 minitest/unit is a small and incredibly fast unit testing framework.
228
229 minitest/spec is a functionally complete spec engine.
230
231 minitest/benchmark is an awesome way to assert the performance of your
232 algorithms in a repeatable manner.
233
234 minitest/mock by Steven Baker, is a beautifully tiny mock object
235 framework.
236
237 minitest/pride shows pride in testing and adds coloring to your test
238 output.
239
240 %description irb
241 The irb is acronym for Interactive Ruby. It evaluates ruby expression
242 from the terminal.
243
244 %description bigdecimal
245 Ruby provides built-in support for arbitrary precision integer arithmetic.
246 For example:
247
248 42**13 -> 1265437718438866624512
249
250 BigDecimal provides similar support for very large or very accurate floating
251 point numbers. Decimal arithmetic is also useful for general calculation,
252 because it provides the correct answers people expect–whereas normal binary
253 floating point arithmetic often introduces subtle errors because of the
254 conversion between base 10 and base 2.
255
256 %description io-console
257 IO/Console provides very simple and portable access to console. It doesn't
258 provide higher layer features, such like curses and readline.
259
260 %prep
261 %setup -q -n ruby-%{rubyver}-%{patchversion}
262 %apply_patches
263
264 %build
265 autoconf
266 CFLAGS=`echo %optflags | sed 's/-fomit-frame-pointer//'`
267 %configure2_5x --enable-shared --disable-rpath --enable-pthread --disable-versioned-paths \
268 --with-rubylibprefix='%{ruby_libdir}' \
269 --with-archdir='%{ruby_libarchdir}' \
270 --with-sitedir='%{ruby_sitelibdir}' \
271 --with-sitearchdir='%{ruby_sitearchdir}' \
272 --with-vendordir='%{ruby_vendorlibdir}' \
273 --with-vendorarchdir='%{ruby_vendorarchdir}' \
274 --with-rubyhdrdir='%{_includedir}' \
275 --with-rubygemsdir='%{rubygems_dir}'
276 %make
277
278 %install
279 %makeinstall_std install-doc
280
281 install -d %buildroot%{_datadir}/emacs/site-lisp
282 cp -a misc/ruby-mode.el %buildroot%{_datadir}/emacs/site-lisp
283
284 install -d %buildroot%{_sysconfdir}/emacs/site-start.d
285 cat <<EOF >%buildroot%{_sysconfdir}/emacs/site-start.d/%{name}.el
286 (autoload 'ruby-mode "ruby-mode" "Ruby editing mode." t)
287 (add-to-list 'auto-mode-alist '("\\\\.rb$" . ruby-mode))
288 (add-to-list 'interpreter-mode-alist '("ruby" . ruby-mode))
289 EOF
290
291 # Install the rpm macros
292 mkdir -p %buildroot%{_sysconfdir}/rpm/macros.d
293 cp %{SOURCE3} %buildroot%{_sysconfdir}/rpm/macros.d
294
295 %check
296 make test
297
298 %files
299 %{_bindir}/erb
300 %{_bindir}/rake
301 %{_bindir}/rdoc
302 %{_bindir}/ri
303 %{_bindir}/ruby
304 %{_bindir}/testrb
305 %dir %{ruby_libdir}
306 %{ruby_libdir}/*.rb
307 %exclude %{ruby_libdir}/irb.rb
308 %exclude %{ruby_libdir}/multi-tk.rb
309 %exclude %{ruby_libdir}/remote-tk.rb
310 %exclude %{ruby_libdir}/tcltk.rb
311 %exclude %{ruby_libdir}/tk.rb
312 %exclude %{ruby_libdir}/tkafter.rb
313 %exclude %{ruby_libdir}/tkbgerror.rb
314 %exclude %{ruby_libdir}/tkcanvas.rb
315 %exclude %{ruby_libdir}/tkclass.rb
316 %exclude %{ruby_libdir}/tkconsole.rb
317 %exclude %{ruby_libdir}/tkdialog.rb
318 %exclude %{ruby_libdir}/tkentry.rb
319 %exclude %{ruby_libdir}/tkfont.rb
320 %exclude %{ruby_libdir}/tkmacpkg.rb
321 %exclude %{ruby_libdir}/tkmenubar.rb
322 %exclude %{ruby_libdir}/tkmngfocus.rb
323 %exclude %{ruby_libdir}/tkpalette.rb
324 %exclude %{ruby_libdir}/tkscrollbox.rb
325 %exclude %{ruby_libdir}/tktext.rb
326 %exclude %{ruby_libdir}/tkvirtevent.rb
327 %exclude %{ruby_libdir}/tkwinpkg.rb
328 %{ruby_libdir}/cgi
329 %{ruby_libdir}/date
330 %{ruby_libdir}/digest
331 %{ruby_libdir}/dl
332 %{ruby_libdir}/drb
333 %{ruby_libdir}/fiddle
334 %{ruby_libdir}/matrix
335 %{ruby_libdir}/net
336 %{ruby_libdir}/openssl
337 %{ruby_libdir}/optparse
338 %{ruby_libdir}/psych
339 %{ruby_libdir}/racc
340 %{ruby_libdir}/rbconfig
341 %{ruby_libdir}/rexml
342 %{ruby_libdir}/rinda
343 %{ruby_libdir}/ripper
344 %{ruby_libdir}/rss
345 %{ruby_libdir}/shell
346 %{ruby_libdir}/syck
347 %{ruby_libdir}/test
348 %{ruby_libdir}/uri
349 %{ruby_libdir}/webrick
350 %{ruby_libdir}/xmlrpc
351 %{ruby_libdir}/yaml
352 %dir %{ruby_libarchdir}
353 %{ruby_libarchdir}/bigdecimal.so
354 %{ruby_libarchdir}/continuation.so
355 %{ruby_libarchdir}/coverage.so
356 %{ruby_libarchdir}/curses.so
357 %{ruby_libarchdir}/date_core.so
358 %{ruby_libarchdir}/dbm.so
359 %dir %{ruby_libarchdir}/digest
360 %{ruby_libarchdir}/digest.so
361 %{ruby_libarchdir}/digest/*.so
362 %dir %{ruby_libarchdir}/dl
363 %{ruby_libarchdir}/dl.so
364 %{ruby_libarchdir}/dl/*.so
365 %dir %{ruby_libarchdir}/enc
366 %{ruby_libarchdir}/enc/*.so
367 %dir %{ruby_libarchdir}/enc/trans
368 %{ruby_libarchdir}/enc/trans/*.so
369 %{ruby_libarchdir}/etc.so
370 %{ruby_libarchdir}/fcntl.so
371 %{ruby_libarchdir}/fiber.so
372 %{ruby_libarchdir}/fiddle.so
373 %{ruby_libarchdir}/gdbm.so
374 %{ruby_libarchdir}/iconv.so
375 %dir %{ruby_libarchdir}/io
376 %{ruby_libarchdir}/io/nonblock.so
377 %{ruby_libarchdir}/io/wait.so
378 %dir %{ruby_libarchdir}/mathn
379 %{ruby_libarchdir}/mathn/*.so
380 %{ruby_libarchdir}/nkf.so
381 %{ruby_libarchdir}/objspace.so
382 %{ruby_libarchdir}/openssl.so
383 %{ruby_libarchdir}/pathname.so
384 %{ruby_libarchdir}/psych.so
385 %{ruby_libarchdir}/pty.so
386 %dir %{ruby_libarchdir}/racc
387 %{ruby_libarchdir}/racc/*.so
388 %{ruby_libarchdir}/rbconfig.rb
389 %{ruby_libarchdir}/readline.so
390 %{ruby_libarchdir}/ripper.so
391 %{ruby_libarchdir}/sdbm.so
392 %{ruby_libarchdir}/socket.so
393 %{ruby_libarchdir}/stringio.so
394 %{ruby_libarchdir}/strscan.so
395 %{ruby_libarchdir}/syck.so
396 %{ruby_libarchdir}/syslog.so
397 %{ruby_libarchdir}/zlib.so
398 %{_mandir}/man1/erb.1.*
399 %{_mandir}/man1/ri.1.*
400 %{_mandir}/man1/ruby.1.*
401 %{_datadir}/emacs/site-lisp/*
402 %config(noreplace) %{_sysconfdir}/emacs/site-start.d/*
403 %{_sysconfdir}/rpm/macros.d/%{name}.macros
404 %{_datadir}/ruby/site_ruby
405 %{_libdir}/ruby/site_ruby
406 %{_datadir}/ruby/vendor_ruby
407 %{_libdir}/ruby/vendor_ruby
408
409 %files doc
410 %{_datadir}/ri
411 %{_datadir}/doc/ruby/html/*
412
413 %files -n %{libname}
414 %{_libdir}/libruby.so.%{subver}
415 %{_libdir}/libruby.so.%{rubyapi}
416
417 %files devel
418 %{_includedir}/*
419 %{_libdir}/libruby-static.a
420 %{_libdir}/libruby.so
421 %{_libdir}/pkgconfig/*.pc
422
423 %files tk
424 %{ruby_libarchdir}/tcltklib.so
425 %{ruby_libarchdir}/tkutil.so
426 %{ruby_libdir}/multi-tk.rb
427 %{ruby_libdir}/remote-tk.rb
428 %{ruby_libdir}/tcltk.rb
429 %{ruby_libdir}/tk.rb
430 %{ruby_libdir}/tkafter.rb
431 %{ruby_libdir}/tkbgerror.rb
432 %{ruby_libdir}/tkcanvas.rb
433 %{ruby_libdir}/tkclass.rb
434 %{ruby_libdir}/tkconsole.rb
435 %{ruby_libdir}/tkdialog.rb
436 %{ruby_libdir}/tkentry.rb
437 %{ruby_libdir}/tkfont.rb
438 %{ruby_libdir}/tkmacpkg.rb
439 %{ruby_libdir}/tkmenubar.rb
440 %{ruby_libdir}/tkmngfocus.rb
441 %{ruby_libdir}/tkpalette.rb
442 %{ruby_libdir}/tkscrollbox.rb
443 %{ruby_libdir}/tktext.rb
444 %{ruby_libdir}/tkvirtevent.rb
445 %{ruby_libdir}/tkwinpkg.rb
446 %{ruby_libdir}/tk
447 %{ruby_libdir}/tkextlib
448
449 %files RubyGems
450 %{_bindir}/gem
451 %dir %{rubygems_dir}
452 %{rubygems_dir}/rbconfig
453 %{rubygems_dir}/rubygems
454 %{rubygems_dir}/rubygems.rb
455 %{rubygems_dir}/ubygems.rb
456
457 %files minitest
458 %{ruby_libdir}/minitest
459 %{rubygems_dir}/%{rubyapi}/specifications/minitest-*.gemspec
460
461 %files rake
462 %{_bindir}/rake
463 %{_mandir}/man1/rake.1.*
464 %{ruby_libdir}/rake
465 %{rubygems_dir}/%{rubyapi}/gems/rake-*
466 %{rubygems_dir}/%{rubyapi}/specifications/rake-*.gemspec
467
468 %files rdoc
469 %{_bindir}/rdoc
470 %{_bindir}/ri
471 %{ruby_libdir}/rdoc
472 %{rubygems_dir}/%{rubyapi}/gems/rdoc-*
473 %{rubygems_dir}/%{rubyapi}/specifications/rdoc-*.gemspec
474 %{_mandir}/man1/ri.1.*
475
476 %files json
477 %dir %{ruby_libarchdir}/json
478 %dir %{ruby_libarchdir}/json/ext
479 %{ruby_libarchdir}/json/ext/*.so
480 %{ruby_libdir}/json
481 %{rubygems_dir}/%{rubyapi}/specifications/json-*.gemspec
482
483 %files irb
484 %{_bindir}/irb
485 %{ruby_libdir}/irb.rb
486 %{ruby_libdir}/irb
487 %{_mandir}/man1/irb.1*
488
489 %files bigdecimal
490 %{ruby_libdir}/bigdecimal
491 %{ruby_libarchdir}/bigdecimal.so
492 %{rubygems_dir}/%{rubyapi}/specifications/bigdecimal-*.gemspec
493
494 %files io-console
495 %{ruby_libdir}/io
496 %{ruby_libarchdir}/io/console.so
497 %{rubygems_dir}/%{rubyapi}/specifications/io-console-*.gemspec

  ViewVC Help
Powered by ViewVC 1.1.30