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

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

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.30