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

Annotation of /cauldron/ruby/pristine/SPECS/ruby.spec

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.30