/[packages]/updates/6/ruby/current/SPECS/ruby.spec
ViewVC logotype

Diff of /updates/6/ruby/current/SPECS/ruby.spec

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 892281 by pterjan, Sat Oct 17 02:00:43 2015 UTC revision 893775 by shlomif, Wed Oct 21 15:24:51 2015 UTC
# Line 1  Line 1 
1  %define subver 2.0  # Taken from the fedora ruby-2.2.3 .spec. Thanks!
2  %define rubyapi 2.0.0  
3  %define rubyver 2.0.0  %global major_version 2
4  %define patchversion p645  %global minor_version 2
5  %define rel 5  %global teeny_version 3
6    %global major_minor_version %{major_version}.%{minor_version}
7    
8    %global ruby_version %{major_minor_version}.%{teeny_version}
9    %global ruby_release %{ruby_version}
10    
11    # Specify the named version. It has precedense to revision.
12    #%%global milestone rc1
13    
14    # Keep the revision enabled for pre-releases from SVN.
15    #%%global revision 48936
16    
17    %global ruby_archive %{name}-%{ruby_version}
18    
19    # If revision and milestone are removed/commented out, the official release build is expected.
20    %if 0%{?milestone:1}%{?revision:1} != 0
21    %global development_release %{?milestone}%{?!milestone:%{?revision:r%{revision}}}
22    %global ruby_archive %{ruby_archive}-%{?milestone}%{?!milestone:%{?revision:r%{revision}}}
23    %endif
24    
25    
26    %global release 1
27    %{!?release_string:%global release_string %{?development_release:0.}%{release}%{?development_release:.%{development_release}}%{?dist}}
28    
29    %global rubygems_version 2.4.5.1
30    
31    # The RubyGems library has to stay out of Ruby directory three, since the
32    # RubyGems should be share by all Ruby implementations.
33    %global rubygems_dir %{_datadir}/rubygems
34    
35    # TODO: The IRB has strange versioning. Keep the Ruby's versioning ATM.
36    # http://redmine.ruby-lang.org/issues/5313
37    %global irb_version %{ruby_version}
38    
39    %global bigdecimal_version 1.2.6
40    %global io_console_version 0.4.3
41    %global json_version 1.8.1
42    %global minitest_version 5.4.3
43    %global power_assert_version 0.2.2
44    %global psych_version 2.0.8
45    %global rake_version 10.4.2
46    %global rdoc_version 4.2.0
47    %global test_unit_version 3.0.8
48    
49    # Might not be needed in the future, if we are lucky enough.
50    # https://bugzilla.redhat.com/show_bug.cgi?id=888262
51    %global tapset_root %{_datadir}/systemtap
52    %global tapset_dir %{tapset_root}/tapset
53    %global tapset_libdir %(echo %{_libdir} | sed 's/64//')*
54    
55    %global _normalized_cpu %(echo %{_target_cpu} | sed 's/^ppc/powerpc/;s/i.86/i386/;s/sparcv./sparc/')
56    
57    %global with_rubypick 1
58    
59    # Additional defines by Mageia.
60    
61    %define subver %{major_minor_version}
62    %define rubyapi %{subver}.0
63    %define rubyver %{ruby_version}
64    %define rel %{release}
65    
66  %define libname %mklibname ruby %{subver}  %define libname %mklibname ruby %{subver}
67    
# Line 20  Line 79 
79    
80  # The RubyGems library has to stay out of Ruby directory tree, since the  # The RubyGems library has to stay out of Ruby directory tree, since the
81  # RubyGems should be shared by all Ruby implementations.  # RubyGems should be shared by all Ruby implementations.
 %define rubygems_dir %{_datadir}/rubygems  
82  %define gems_dir %{_datadir}/ruby/gems  %define gems_dir %{_datadir}/ruby/gems
 %define rubygems_version 2.0.2  
83    
84  %define bootstrap 0  %define bootstrap 0
85  %define build_gems 0  %define build_gems 0
86    
87  Summary:        Object Oriented Script Language  Summary:        Object Oriented Script Language
88  Name:           ruby  Name:           ruby
89  Version:        %{rubyver}.%{patchversion}  Version:        %{rubyver}
90  Release:        %mkrel %rel  Release:        %mkrel %rel
91  License:        Ruby or BSD  License:        Ruby or BSD
92  Group:          Development/Ruby  Group:          Development/Ruby
# Line 38  BuildRequires: byacc Line 95  BuildRequires: byacc
95  BuildRequires:  doxygen  BuildRequires:  doxygen
96  BuildRequires:  ncurses-devel  BuildRequires:  ncurses-devel
97  BuildRequires:  readline-devel  BuildRequires:  readline-devel
98  BuildRequires:  tcl-devel  BuildRequires:  tcl-devel
99  BuildRequires:  tk-devel  BuildRequires:  tk-devel
100  BuildRequires:  db-devel  BuildRequires:  db-devel
101  BuildRequires:  gdbm-devel >= 1.8.3  BuildRequires:  gdbm-devel >= 1.8.3
# Line 55  Provides:      rubygem(psych) Line 112  Provides:      rubygem(psych)
112  # explicit file provides (since such requires are automatically added by find-requires)  # explicit file provides (since such requires are automatically added by find-requires)
113  Provides: /usr/bin/ruby  Provides: /usr/bin/ruby
114  Provides: ruby(abi) = %rubyapi  Provides: ruby(abi) = %rubyapi
115  Source0:        http://ftp.ruby-lang.org/pub/ruby/%{subver}/ruby-%{rubyver}-%{patchversion}.tar.bz2  Source0:        http://ftp.ruby-lang.org/pub/ruby/%{subver}/ruby-%{rubyver}.tar.xz
116  Source1:        operating_system.rb  Source1:        operating_system.rb
117  Source3:        ruby.macros  Source3:        ruby.macros
118  # From FC:  # From FC:
# Line 63  Source3:       ruby.macros Line 120  Source3:       ruby.macros
120  Source8: rubygems.attr  Source8: rubygems.attr
121  Source9: rubygems.req  Source9: rubygems.req
122  Source10: rubygems.prov  Source10: rubygems.prov
123  URL:            http://www.ruby-lang.org/  URL:            http://ruby-lang.org/
124  %if !%bootstrap  %if !%bootstrap
125  Requires:       rubygems >= %{rubygems_version}  Requires:       rubygems >= %{rubygems_version}
126  BuildRequires:  ruby  BuildRequires:  ruby
# Line 71  BuildRequires: ruby Line 128  BuildRequires: ruby
128    
129  # == FEDORA PATCHES BEGINS ==  # == FEDORA PATCHES BEGINS ==
130  # http://bugs.ruby-lang.org/issues/7807  # http://bugs.ruby-lang.org/issues/7807
131  Patch0: ruby-2.0.0-Prevent-duplicated-paths-when-empty-version-string-i.patch  Patch0: ruby-2.1.0-Prevent-duplicated-paths-when-empty-version-string-i.patch
132  # Fixes random WEBRick test failures.  # Allows to override libruby.so placement. Hopefully we will be able to return
133  # https://bugs.ruby-lang.org/issues/6573.  # to plain --with-rubyarchprefix.
134  Patch5: ruby-1.9.3.p195-fix-webrick-tests.patch  # http://bugs.ruby-lang.org/issues/8973
135    Patch1: ruby-2.1.0-Enable-configuration-of-archlibdir.patch
136    # Force multiarch directories for i.86 to be always named i386. This solves
137    # some differencies in build between Fedora and RHEL.
138    Patch2: ruby-2.1.0-always-use-i386.patch
139  # Allows to install RubyGems into custom directory, outside of Ruby's tree.  # Allows to install RubyGems into custom directory, outside of Ruby's tree.
140  # http://redmine.ruby-lang.org/issues/5617  # http://bugs.ruby-lang.org/issues/5617
141  Patch8: ruby-1.9.3-custom-rubygems-location.patch  Patch4: ruby-2.1.0-custom-rubygems-location.patch
 # Add support for installing binary extensions according to FHS.  
 # https://github.com/rubygems/rubygems/issues/210  
 # Note that 8th patch might be resolved by  
 # https://bugs.ruby-lang.org/issues/7897  
 Patch9: rubygems-2.0.0-binary-extensions.patch  
142  # Make mkmf verbose by default  # Make mkmf verbose by default
143  Patch12: ruby-1.9.3-mkmf-verbose.patch  Patch5: ruby-1.9.3-mkmf-verbose.patch
144  # This slightly changes behavior of "gem install --install-dir" behavior.  # Adds support for '--with-prelude' configuration option. This allows to built
145  # Without this patch, Specifications.dirs is modified and gems installed on  # in support for ABRT.
146  # the system cannot be required anymore. This causes later issues when RDoc  # http://bugs.ruby-lang.org/issues/8566
147  # documentation should be generated, since json gem is sudenly not accessible.  Patch6: ruby-2.1.0-Allow-to-specify-additional-preludes-by-configuratio.patch
148  # https://github.com/rubygems/rubygems/pull/452  # Don't use SSLv3 for tests.
149  Patch13: rubygems-2.0.0-Do-not-modify-global-Specification.dirs-during-insta.patch  # https://bugs.ruby-lang.org/issues/10046
150  # This prevents issues, when ruby configuration specifies --with-ruby-version=''.  Patch9: ruby-2.3.0-fix-test-ctx-client-session-cb.patch
151  # https://github.com/rubygems/rubygems/pull/455  Patch10: ruby-2.3.0-Don-t-force-SSLv3-in-test-as-it-is-insecure-and-may-.patch
152  Patch14: rubygems-2.0.0-Fixes-for-empty-ruby-version.patch  Patch11: ruby-2.3.0-Use-OP_NO_TICKET-when-testing-SSL-session-cache-call.patch
153  # == FEDORA PATCHES ENDS ==  # == FEDORA PATCHES ENDS ==
154  # operating_system.rb sets default_dir to user_dir for non root, this causes the build  # operating_system.rb sets default_dir to user_dir for non root, this causes the build
155  # to install gems into user dir  # to install gems into user dir
156  Patch20: ruby-2.0.0-p451-Do-not-install-to-user-dir.patch  Patch20: ruby-2.3.0-Do-not-installt-user-dir.patch
157    
158  Patch21: ruby-2.0.0-CVE-2014-4975.patch  # Patch22: ruby-2.0.0-tk2.6.patch
 Patch22: ruby-2.0.0-tk2.6.patch  
159    
160  %package        -n %{libname}  %package        -n %{libname}
161  Summary:        Libraries necessary to run Ruby  Summary:        Libraries necessary to run Ruby
# Line 133  Provides:      ruby(rubygems) = %{rubygems_ve Line 188  Provides:      ruby(rubygems) = %{rubygems_ve
188  Conflicts:      rpm-mageia-setup-build < 1.159  Conflicts:      rpm-mageia-setup-build < 1.159
189  BuildArch:      noarch  BuildArch:      noarch
190    
191  %define rake_ver 0.9.6  %define rake_ver %{rake_version}
192  %package        rake  %package        rake
193  Summary:        Simple ruby build program with capabilities similar to make  Summary:        Simple ruby build program with capabilities similar to make
194  Group:          Development/Ruby  Group:          Development/Ruby
# Line 141  Version:       %{rake_ver} Line 196  Version:       %{rake_ver}
196  Requires:       ruby(abi) = %{subver}  Requires:       ruby(abi) = %{subver}
197  BuildArch:      noarch  BuildArch:      noarch
198    
199  %define minitest_ver 4.3.2  %define minitest_ver %{minitest_version}
200  %package        minitest  %package        minitest
201  Summary:        Minitest provides a complete suite of testing facilities  Summary:        Minitest provides a complete suite of testing facilities
202  Group:          Development/Ruby  Group:          Development/Ruby
# Line 151  Requires:      ruby(abi) = %{subver} Line 206  Requires:      ruby(abi) = %{subver}
206  Requires:       ruby(rubygems) >= %{rubygems_version}  Requires:       ruby(rubygems) >= %{rubygems_version}
207  BuildArch:      noarch  BuildArch:      noarch
208    
209  %define json_ver 1.7.7  %define json_ver %{json_version}
210  %package        json  %package        json
211  Summary:        This is a JSON implementation as a Ruby extension in C  Summary:        This is a JSON implementation as a Ruby extension in C
212  Group:          Development/Ruby  Group:          Development/Ruby
# Line 160  License:       Ruby or GPLv2 Line 215  License:       Ruby or GPLv2
215  Requires:       ruby(abi) = %{subver}  Requires:       ruby(abi) = %{subver}
216  Requires:       ruby(rubygems) >= %{rubygems_version}  Requires:       ruby(rubygems) >= %{rubygems_version}
217    
218  %define rdoc_ver 4.0.0  %define rdoc_ver %{rdoc_version}
219  %package        rdoc  %package        rdoc
220  Summary:        A tool to generate HTML and command-line documentation for Ruby projects  Summary:        A tool to generate HTML and command-line documentation for Ruby projects
221  Group:          Development/Ruby  Group:          Development/Ruby
# Line 181  Provides:      ruby(irb) = %{version}-%{relea Line 236  Provides:      ruby(irb) = %{version}-%{relea
236  Conflicts:      ruby < 1.9  Conflicts:      ruby < 1.9
237  BuildArch:      noarch  BuildArch:      noarch
238    
239  %define bigdecimal_ver 1.2.0  %define bigdecimal_ver %{bigdecimal_version}
240  %package        bigdecimal  %package        bigdecimal
241  Summary:        BigDecimal provides arbitrary-precision floating point decimal arithmetic  Summary:        BigDecimal provides arbitrary-precision floating point decimal arithmetic
242  Group:          Development/Ruby  Group:          Development/Ruby
# Line 190  License:       GPL+ or Artistic Line 245  License:       GPL+ or Artistic
245  Requires:       ruby(abi) = %{subver}  Requires:       ruby(abi) = %{subver}
246  Requires:       ruby(rubygems) >= %{rubygems_version}  Requires:       ruby(rubygems) >= %{rubygems_version}
247    
248  %define io_console_ver 0.4.2  %define io_console_ver %{io_console_version}
249  %package        io-console  %package        io-console
250  Summary:        IO/Console is a simple console utilizing library  Summary:        IO/Console is a simple console utilizing library
251  Group:          Development/Ruby  Group:          Development/Ruby
# Line 198  Version:       %{io_console_ver} Line 253  Version:       %{io_console_ver}
253  Requires:       ruby(abi) = %{subver}  Requires:       ruby(abi) = %{subver}
254  Requires:       ruby(rubygems) >= %{rubygems_version}  Requires:       ruby(rubygems) >= %{rubygems_version}
255    
256  %define psych_ver 2.0.0  %define psych_ver %{psych_version}
257  %package psych  %package psych
258  Summary:        A libyaml wrapper for Ruby  Summary:        A libyaml wrapper for Ruby
259  Version:        %{psych_ver}  Version:        %{psych_ver}
# Line 208  Requires:      ruby(abi) = %{subver} Line 263  Requires:      ruby(abi) = %{subver}
263  Requires:       ruby(rubygems) >= %{rubygems_version}  Requires:       ruby(rubygems) >= %{rubygems_version}
264  Conflicts:      ruby < 2.0.0  Conflicts:      ruby < 2.0.0
265    
266  %define test_unit_ver 2.0.0  %define test_unit_ver %{test_unit_version}
267  %package test-unit  %package test-unit
268  Summary:        test/unit compatible API testing framework  Summary:        test/unit compatible API testing framework
269  Version:        %{psych_ver}  Version:        %{psych_ver}
# Line 316  This library implements test/unit compat Line 371  This library implements test/unit compat
371  The test/unit means that test/unit which was bundled with Ruby 1.8.  The test/unit means that test/unit which was bundled with Ruby 1.8.
372    
373  %prep  %prep
374  %setup -q -n ruby-%{rubyver}-%{patchversion}  %setup -q -n ruby-%{rubyver}
 %apply_patches  
375  # When patching mkmf.rb the mkmf.rb.0010 gets installed  # When patching mkmf.rb the mkmf.rb.0010 gets installed
376  rm lib/mkmf.rb.0*  %patch0 -p1
377    %patch1 -p1
378    %patch2 -p1
379    %patch4 -p1
380    %patch5 -p1
381    %patch6 -p1
382    %patch9
383    %patch10
384    %patch11
385    %patch20 -p1
386    # #patch22 -p1
387    
388  %build  %build
389  autoconf  autoconf
390  CFLAGS=`echo %optflags | sed 's/-fomit-frame-pointer//'`  CFLAGS=`echo %optflags | sed 's/-fomit-frame-pointer//'`
391  %configure2_5x --enable-shared --disable-rpath --enable-pthread \  %configure2_5x --enable-shared --disable-rpath --enable-pthread \
392          --with-rubylibprefix='%{ruby_libdir}' \          --enable-multiarch \
393            --with-rubylibprefix='%{ruby_libdir}' \
394            --with-archlibdir='%{_libdir}' \
395          --with-rubyarchprefix='%{ruby_libarchdir}' \          --with-rubyarchprefix='%{ruby_libarchdir}' \
396          --with-sitedir='%{ruby_sitelibdir}' \          --with-sitedir='%{ruby_sitelibdir}' \
397          --with-sitearchdir='%{ruby_sitearchdir}' \          --with-sitearchdir='%{ruby_sitearchdir}' \
398          --with-vendordir='%{ruby_vendorlibdir}' \          --with-vendordir='%{ruby_vendorlibdir}' \
399          --with-vendorarchdir='%{ruby_vendorarchdir}' \          --with-vendorarchdir='%{ruby_vendorarchdir}' \
400          --with-rubyhdrdir='%{_includedir}' \          --with-rubyhdrdir='%{_includedir}' \
401          --with-rubyarchhdrdir='$(archincludedir)' \          --with-rubyarchhdrdir='%{_includedir}' \
402          --with-sitearchhdrdir='$(sitehdrdir)/$(arch)' \          --with-sitearchhdrdir='$(sitehdrdir)/$(arch)' \
403          --with-vendorarchhdrdir='$(vendorhdrdir)/$(arch)' \          --with-vendorarchhdrdir='$(vendorhdrdir)/$(arch)' \
404          --with-rubygemsdir='%{rubygems_dir}' \          --with-rubygemsdir='%{rubygems_dir}' \
# Line 354  cat <<EOF >%buildroot%{_sysconfdir}/emac Line 420  cat <<EOF >%buildroot%{_sysconfdir}/emac
420  (add-to-list 'interpreter-mode-alist '("ruby" . ruby-mode))  (add-to-list 'interpreter-mode-alist '("ruby" . ruby-mode))
421  EOF  EOF
422    
423  # Install the rpm macros  # Install the rpm macros
424  mkdir -p %buildroot%{_sysconfdir}/rpm/macros.d  mkdir -p %buildroot%{_sysconfdir}/rpm/macros.d
425  cp %{SOURCE3} %buildroot%{_sysconfdir}/rpm/macros.d  cp %{SOURCE3} %buildroot%{_sysconfdir}/rpm/macros.d
426    
# Line 379  rm -f %{buildroot}%{_mandir}/man1/{rake, Line 445  rm -f %{buildroot}%{_mandir}/man1/{rake,
445  rm -fr %{buildroot}%{ruby_libdir}/{minitest,rake,rdoc,json,bigdecimal,io,test}  rm -fr %{buildroot}%{ruby_libdir}/{minitest,rake,rdoc,json,bigdecimal,io,test}
446  rm -fr %{buildroot}%{ruby_libarchdir}/{json,bigdecimal.so,io/console.so}  rm -fr %{buildroot}%{ruby_libarchdir}/{json,bigdecimal.so,io/console.so}
447  rm -fr %{buildroot}%{gems_dir}/{gems,specifications}  rm -fr %{buildroot}%{gems_dir}/{gems,specifications}
448    rm -fr %{buildroot}"$HOME/.gem"
449  %if !%bootstrap  %if !%bootstrap
450  rm -f %{buildroot}%{_bindir}/gem  rm -f %{buildroot}%{_bindir}/gem
451  rm -fr %{buildroot}%{rubygems_dir}/rbconfig  rm -fr %{buildroot}%{rubygems_dir}/rbconfig
# Line 418  make test Line 485  make test
485  %exclude %{ruby_libdir}/tkvirtevent.rb  %exclude %{ruby_libdir}/tkvirtevent.rb
486  %exclude %{ruby_libdir}/tkwinpkg.rb  %exclude %{ruby_libdir}/tkwinpkg.rb
487  %{ruby_libdir}/cgi  %{ruby_libdir}/cgi
 %{ruby_libdir}/date  
488  %{ruby_libdir}/digest  %{ruby_libdir}/digest
 %{ruby_libdir}/dl  
489  %{ruby_libdir}/drb  %{ruby_libdir}/drb
490  %{ruby_libdir}/fiddle  %{ruby_libdir}/fiddle
491  %{ruby_libdir}/matrix  %{ruby_libdir}/matrix
# Line 436  make test Line 501  make test
501  %{ruby_libdir}/rss  %{ruby_libdir}/rss
502  %{ruby_libdir}/shell  %{ruby_libdir}/shell
503  %{ruby_libdir}/syslog  %{ruby_libdir}/syslog
504    %{ruby_libdir}/unicode_normalize/normalize.rb
505    %{ruby_libdir}/unicode_normalize/tables.rb
506    %{ruby_libdir}/unicode_normalize.rb
507  %{ruby_libdir}/uri  %{ruby_libdir}/uri
508  %{ruby_libdir}/webrick  %{ruby_libdir}/webrick
509  %{ruby_libdir}/xmlrpc  %{ruby_libdir}/xmlrpc
# Line 443  make test Line 511  make test
511  %dir %{ruby_libarchdir}  %dir %{ruby_libarchdir}
512  %{ruby_libarchdir}/continuation.so  %{ruby_libarchdir}/continuation.so
513  %{ruby_libarchdir}/coverage.so  %{ruby_libarchdir}/coverage.so
 %{ruby_libarchdir}/curses.so  
514  %{ruby_libarchdir}/date_core.so  %{ruby_libarchdir}/date_core.so
515  %{ruby_libarchdir}/dbm.so  %{ruby_libarchdir}/dbm.so
516  %dir %{ruby_libarchdir}/digest  %dir %{ruby_libarchdir}/digest
517  %{ruby_libarchdir}/digest.so  %{ruby_libarchdir}/digest.so
518  %{ruby_libarchdir}/digest/*.so  %{ruby_libarchdir}/digest/*.so
 %dir %{ruby_libarchdir}/dl  
 %{ruby_libarchdir}/dl.so  
 %{ruby_libarchdir}/dl/*.so  
519  %dir %{ruby_libarchdir}/enc  %dir %{ruby_libarchdir}/enc
520  %{ruby_libarchdir}/enc/*.so  %{ruby_libarchdir}/enc/*.so
521  %dir %{ruby_libarchdir}/enc/trans  %dir %{ruby_libarchdir}/enc/trans
# Line 475  make test Line 539  make test
539  %dir %{ruby_libarchdir}/racc  %dir %{ruby_libarchdir}/racc
540  %{ruby_libarchdir}/racc/*.so  %{ruby_libarchdir}/racc/*.so
541  %{ruby_libarchdir}/rbconfig.rb  %{ruby_libarchdir}/rbconfig.rb
542    %{ruby_libarchdir}/rbconfig/sizeof.so
543  %{ruby_libarchdir}/readline.so  %{ruby_libarchdir}/readline.so
544  %{ruby_libarchdir}/ripper.so  %{ruby_libarchdir}/ripper.so
545  %{ruby_libarchdir}/sdbm.so  %{ruby_libarchdir}/sdbm.so
# Line 482  make test Line 547  make test
547  %{ruby_libarchdir}/stringio.so  %{ruby_libarchdir}/stringio.so
548  %{ruby_libarchdir}/strscan.so  %{ruby_libarchdir}/strscan.so
549  %{ruby_libarchdir}/syslog.so  %{ruby_libarchdir}/syslog.so
550    %{ruby_libarchdir}/thread.so
551  %{ruby_libarchdir}/zlib.so  %{ruby_libarchdir}/zlib.so
552  %{_mandir}/man1/erb.1.*  %{_mandir}/man1/erb.1.*
553  %{_mandir}/man1/ruby.1.*  %{_mandir}/man1/ruby.1.*

Legend:
Removed from v.892281  
changed lines
  Added in v.893775

  ViewVC Help
Powered by ViewVC 1.1.30