# Taken from the fedora ruby-2.2.3 .spec. Thanks! %global major_version 2 %global minor_version 5 %global teeny_version 7 %global major_minor_version %{major_version}.%{minor_version} %global ruby_version %{major_minor_version}.%{teeny_version} %global ruby_release %{ruby_version} # Specify the named version. It has precedense to revision. #%%global milestone rc1 # Keep the revision enabled for pre-releases from SVN. #%%global revision 48936 %global ruby_archive %{name}-%{ruby_version} # If revision and milestone are removed/commented out, the official release build is expected. %if 0%{?milestone:1}%{?revision:1} != 0 %global development_release %{?milestone}%{?!milestone:%{?revision:r%{revision}}} %global ruby_archive %{ruby_archive}-%{?milestone}%{?!milestone:%{?revision:r%{revision}}} %endif # We need to keep this increasing even with new versions of ruby unless all gems get new release :( %define rel 20 %{!?release_string:%global release_string %mkrel %{?development_release:0.}%{rel}%{?development_release:.%{development_release}}} # The RubyGems library has to stay out of Ruby directory three, since the # RubyGems should be share by all Ruby implementations. %global rubygems_dir %{_datadir}/rubygems # Bundled libraries versions %global rubygems_version 2.6.13 %global molinillo_version 0.5.7 # TODO: The IRB has strange versioning. Keep the Ruby's versioning ATM. # http://redmine.ruby-lang.org/issues/5313 %global irb_version %{ruby_version} %global bigdecimal_version 1.3.4 %global cmath_version 1.0.0 %global csv_version 1.0.0 %global date_version 1.0.0 %global dbm_version 1.0.0 %global did_you_mean_version 1.2.0 %global etc_version 1.0.0 %global fcntl_version 1.0.0 %global fiddle_version 1.0.0 %global fileutils_version 1.0.2 %global gdbm_version 2.0.0 %global io_console_version 0.4.6 %global ipaddr_version 1.2.0 %global json_version 2.1.0 %global minitest_version 5.10.3 %global net_telnet_version 0.1.1 %global openssl_version 2.1.2 %global power_assert_version 1.1.1 %global psych_version 3.0.2 %global rake_version 12.3.0 %global rdoc_version 6.0.1.1 %global scanf_version 1.0.0 %global sdbm_version 1.0.0 %global stringio_version 0.0.1 %global strscan_version 1.0.0 %global test_unit_version 3.2.7 %global webrick_version 1.4.2 %global xmlrpc_version 0.3.0 %global zlib_version 1.0.0 # Allow updating them in separate packages %global build_rubygems 0 %global build_bigdecimal 0 %global build_json 0 %global build_minitest 0 %global build_rake 1 %global build_rdoc 0 %if %build_bigdecimal %global exclude_bigdecimal %nil %else %global exclude_bigdecimal %exclude %endif %if %build_json %global exclude_json %nil %else %global exclude_json %exclude %endif %if %build_minitest %global exclude_minitest %nil %else %global exclude_minitest %exclude %endif %if %build_rake %global exclude_rake %nil %else %global exclude_rake %exclude %endif %if %build_rdoc %global exclude_rdoc %nil %else %global exclude_rdoc %exclude %endif # Might not be needed in the future, if we are lucky enough. # https://bugzilla.redhat.com/show_bug.cgi?id=888262 %global tapset_root %{_datadir}/systemtap %global tapset_dir %{tapset_root}/tapset %global tapset_libdir %(echo %{_libdir} | sed 's/64//')* %global _normalized_cpu %(echo %{_target_cpu} | sed 's/^ppc/powerpc/;s/i.86/i386/;s/sparcv./sparc/') %global with_rubypick 1 # Additional defines by Mageia. %define subver %{major_minor_version} %define rubyapi %{subver}.%{teeny_version} %define rubyver %{ruby_version} %define libname %mklibname ruby %{subver} %global ruby_libdir %{_datadir}/%{name} %global ruby_libarchdir %{_libdir}/%{name} # This is the local lib/arch and should not be used for packaging. %global ruby_sitedir site_ruby %global ruby_sitelibdir %{_prefix}/local/share/%{name}/%{ruby_sitedir} %global ruby_sitearchdir %{_prefix}/local/%{_lib}/%{name}/%{ruby_sitedir} # This is the general location for libs/archs compatible with all # or most of the Ruby versions available in the Fedora repositories. %global ruby_vendordir vendor_ruby %global ruby_vendorlibdir %{ruby_libdir}/%{ruby_vendordir} %global ruby_vendorarchdir %{ruby_libarchdir}/%{ruby_vendordir} # The RubyGems library has to stay out of Ruby directory tree, since the # RubyGems should be shared by all Ruby implementations. %define gem_dir %{_datadir}/gems Summary: Object Oriented Script Language Name: ruby Version: %{rubyver} Release: %release_string License: Ruby or BSD Group: Development/Ruby BuildRequires: autoconf BuildRequires: byacc BuildRequires: bison BuildRequires: doxygen BuildRequires: pkgconfig(ncurses) BuildRequires: pkgconfig(openssl) BuildRequires: pkgconfig(zlib) BuildRequires: pkgconfig(libffi) BuildRequires: pkgconfig(yaml-0.1) BuildRequires: readline-devel BuildRequires: db-devel BuildRequires: gdbm-devel >= 1.8.3 BuildRequires: rpm-mageia-setup >= 1.158 # Needed to pass test_set_program_name(TestRubyOptions) BuildRequires: procps # This causes gems to be installed in the home directory and breaks build BuildConflicts: ruby-RubyGems Conflicts: ruby-devel < 2.0.0.p451-4.mga5 Obsoletes: ruby-rexml Provides: ruby-rexml # Tcl/Tk support was removed from stdlib in Ruby 2.4 Obsoletes: ruby-tk < 2.4.0 # explicit file provides (since such requires are automatically added by find-requires) Provides: /usr/bin/ruby Provides: ruby(abi) = %subver Requires: ruby-RubyGems >= %rubygems_version Source0: http://ftp.ruby-lang.org/pub/ruby/%{subver}/ruby-%{rubyver}.tar.xz Source1: operating_system.rb Source3: ruby.macros Source4: rubygems.macros # From FC: # RPM dependency generators. Source8: rubygems.attr Source9: rubygems.req Source10: rubygems.prov URL: http://ruby-lang.org/ # == FEDORA PATCHES BEGINS == # Fix ruby_version abuse. # https://bugs.ruby-lang.org/issues/11002 Patch0: ruby-2.3.0-ruby_version.patch # http://bugs.ruby-lang.org/issues/7807 Patch1: ruby-2.1.0-Prevent-duplicated-paths-when-empty-version-string-i.patch # Allows to override libruby.so placement. Hopefully we will be able to return # to plain --with-rubyarchprefix. # http://bugs.ruby-lang.org/issues/8973 Patch2: ruby-2.1.0-Enable-configuration-of-archlibdir.patch # Force multiarch directories for i.86 to be always named i386. This solves # some differencies in build between Fedora and RHEL. Patch3: ruby-2.1.0-always-use-i386.patch # Allows to install RubyGems into custom directory, outside of Ruby's tree. # http://bugs.ruby-lang.org/issues/5617 Patch4: ruby-2.1.0-custom-rubygems-location.patch # Make mkmf verbose by default Patch5: ruby-1.9.3-mkmf-verbose.patch # Adds support for '--with-prelude' configuration option. This allows to built # in support for ABRT. # http://bugs.ruby-lang.org/issues/8566 Patch6: ruby-2.1.0-Allow-to-specify-additional-preludes-by-configuratio.patch # Use miniruby to regenerate prelude.c. # https://bugs.ruby-lang.org/issues/10554 Patch7: ruby-2.2.3-Generate-preludes-using-miniruby.patch # Workaround "an invalid stdio handle" error on PPC, due to recently introduced # hardening features of glibc (rhbz#1361037). # https://bugs.ruby-lang.org/issues/12666 Patch9: ruby-2.3.1-Rely-on-ldd-to-detect-glibc.patch # == FEDORA PATCHES ENDS == # operating_system.rb sets default_dir to user_dir for non root, this causes the build # to install gems into user dir #Patch20: ruby-2.3.0-Do-not-install-to-user-dir.patch # Some tests except / to not be owned by root, it seems to not be the case on the # build system where it is (wrongly) owned by iurt. Change to /tmp. Patch20: ruby-2.4.1-notowned.patch # Upstream patch fixing tests failing with recent openssl Patch21: edbac1b986d6cbacf191bd1fde15e5de801a4935.patch %package -n %{libname} Summary: Libraries necessary to run Ruby Group: Development/Ruby %package doc Summary: Documentation for the powerful language Ruby Group: Development/Ruby BuildArch: noarch %package devel Summary: Development file for the powerful language Ruby Group: Development/Ruby Requires: %{name} = %{version} Requires: %{libname} = %{version} %if %build_rubygems %package RubyGems Summary: The Ruby standard for packaging ruby libraries Group: Development/Ruby Version: %{rubygems_version} Requires: ruby(abi) = %{subver} Requires: rubygem(json) >= %{json_version} Requires: rubygem(openssl) >= %{openssl_version} Requires: rubygem(psych) >= %{psych_version} # This should probably not be a strict require but --rdoc/--ri fail badly without it Requires: rubygem(rdoc) >= %{rdoc_version} Provides: gem = %{rubygems_version} Provides: rubygems = %{rubygems_version} Provides: ruby(rubygems) = %{rubygems_version} Conflicts: rpm-mageia-setup-build < 1.159 Conflicts: ruby < 2.4.1-10 BuildArch: noarch %endif %if %build_rake %package rake Summary: Simple ruby build program with capabilities similar to make Group: Development/Ruby Version: %{rake_version} Requires: ruby(abi) = %{subver} Provides: rubygem(rake) = %{version} BuildArch: noarch %endif %if %build_minitest %package minitest Summary: Minitest provides a complete suite of testing facilities Group: Development/Ruby Version: %{minitest_version} License: MIT Requires: ruby(abi) = %{subver} Requires: ruby(rubygems) >= %{rubygems_version} Provides: rubygem(minitest) = %{version} BuildArch: noarch %endif %package openssl Summary: OpenSSL provides SSL, TLS and general purpose cryptography Group: Development/Ruby Version: %{openssl_version} License: Ruby or BSD Requires: ruby(abi) = %{subver} Requires: ruby(rubygems) >= %{rubygems_version} Provides: rubygem(openssl) = %{version} %package power_assert Summary: Power Assert for Ruby Group: Development/Ruby Version: %{power_assert_version} License: BSD Requires: ruby(abi) = %{subver} Requires: ruby(rubygems) >= %{rubygems_version} Provides: rubygem(power_assert) = %{version} BuildArch: noarch %if %build_json %package json Summary: This is a JSON implementation as a Ruby extension in C Group: Development/Ruby Version: %{json_version} License: Ruby or GPLv2 Requires: ruby(abi) = %{subver} Requires: ruby(rubygems) >= %{rubygems_version} Provides: rubygem(json) = %{version} Conflicts: ruby < 2.4.1 %endif %if %build_rdoc %package rdoc Summary: A tool to generate HTML and command-line documentation for Ruby projects Group: Development/Ruby Version: %{rdoc_version} License: GPLv2 and Ruby and MIT Requires: ruby(abi) = %{subver} Requires: ruby(rubygems) >= %{rubygems_version} Requires: ruby(irb) = %{version} Requires: rubygem(io-console) >= %{io_console_version} Requires: rubygem(json) >= %{json_version} Provides: rubygem(rdoc) = %{version} Provides: rdoc = %{rdoc_version} Provides: ri = %{rdoc_version} BuildArch: noarch %endif %package irb Summary: The Interactive Ruby Group: Development/Ruby Provides: irb = %{version}-%{release} Provides: ruby(irb) = %{version}-%{release} Conflicts: ruby < 1.9 BuildArch: noarch %if %build_bigdecimal %package bigdecimal Summary: BigDecimal provides arbitrary-precision floating point decimal arithmetic Group: Development/Ruby Version: %{bigdecimal_version} License: GPL+ or Artistic Requires: ruby(abi) = %{subver} Provides: rubygem(bigdecimal) = %{version} Requires: ruby(rubygems) >= %{rubygems_version} %endif %package did_you_mean Summary: "Did you mean?" experience in Ruby Version: %{did_you_mean_version} Group: Development/Ruby License: MIT Requires: ruby(rubygems) >= %{rubygems_version} Provides: rubygem(did_you_mean) = %{version} %package io-console Summary: IO/Console is a simple console utilizing library Group: Development/Ruby Version: %{io_console_version} Requires: ruby(abi) = %{subver} Requires: ruby(rubygems) >= %{rubygems_version} Provides: rubygem(io-console) = %{version} %package psych Summary: A libyaml wrapper for Ruby Version: %{psych_version} Group: Development/Ruby License: MIT Requires: ruby(abi) = %{subver} Requires: ruby(rubygems) >= %{rubygems_version} Provides: rubygem(psych) = %{version} Conflicts: ruby < 2.4.1-11 %package net-telnet Summary: Provides telnet client functionality Version: %{net_telnet_version} Group: Development/Ruby Requires: ruby(rubygems) >= %{rubygems_version} Provides: rubygem(net-telnet) = %{version} %package test-unit Summary: test/unit compatible API testing framework Version: %{test_unit_version} Group: Development/Ruby License: MIT Provides: rubygem(test-unit) = %{test_unit_version} Requires: ruby(abi) = %{subver} Requires: ruby(rubygems) >= %{rubygems_version} Provides: rubygem(test-unit) = %{version} Conflicts: ruby < 2.0.0 BuildArch: noarch %package xmlrpc Summary: XMLRPC is a lightweight protocol that enables remote procedure calls over HTTP Version: %{xmlrpc_version} Group: Development/Ruby License: Ruby or BSD Requires: ruby(abi) = %{subver} Requires: ruby(rubygems) >= %{rubygems_version} Provides: rubygem(xmlrpc) = %{version} BuildArch: noarch %description Ruby is the interpreted scripting language for quick and easy object-oriented programming. It has many features to process text files and to do system management tasks (as in Perl). It is simple, straight-forward, and extensible. %description doc Ruby is the interpreted scripting language for quick and easy object-oriented programming. It has many features to process text files and to do system management tasks (as in Perl). It is simple, straight-forward, and extensible. This package contains the Ruby's documentation %description -n %{libname} This package includes the libruby, necessary to run Ruby. %description devel Ruby is the interpreted scripting language for quick and easy object-oriented programming. It has many features to process text files and to do system management tasks (as in Perl). It is simple, straight-forward, and extensible. This package contains the Ruby's devel files. %if %build_rubygems %description RubyGems RubyGems is the Ruby standard for publishing and managing third party libraries. %endif %if %build_rake %description rake Rake is a Make-like program implemented in Ruby. Tasks and dependencies are specified in standard Ruby syntax. %endif %if %build_rdoc %description rdoc RDoc produces HTML and command-line documentation for Ruby projects. RDoc includes the 'rdoc' and 'ri' tools for generating and displaying online documentation. %endif %if %build_json %description json This is a implementation of the JSON specification according to RFC 4627. You can think of it as a low fat alternative to XML, if you want to store data to disk or transmit it over a network rather than use a verbose markup language. %endif %if %build_minitest %description minitest minitest/unit is a small and incredibly fast unit testing framework. minitest/spec is a functionally complete spec engine. minitest/benchmark is an awesome way to assert the performance of your algorithms in a repeatable manner. minitest/mock by Steven Baker, is a beautifully tiny mock object framework. minitest/pride shows pride in testing and adds coloring to your test output. %endif %description openssl OpenSSL provides SSL, TLS and general purpose cryptography. It wraps the OpenSSL library. %description power_assert Power Assert shows each value of variables and method calls in the expression. It is useful for testing, providing which value wasn't correct when the condition is not satisfied. %description irb The irb is acronym for Interactive Ruby. It evaluates ruby expression from the terminal. %if %build_bigdecimal %description bigdecimal Ruby provides built-in support for arbitrary precision integer arithmetic. For example: 42**13 -> 1265437718438866624512 BigDecimal provides similar support for very large or very accurate floating point numbers. Decimal arithmetic is also useful for general calculation, because it provides the correct answers people expectâwhereas normal binary floating point arithmetic often introduces subtle errors because of the conversion between base 10 and base 2. %endif %description did_you_mean "did you mean?" experience in Ruby: the error message will tell you the right one when you misspelled something. %description io-console IO/Console provides very simple and portable access to console. It doesn't provide higher layer features, such like curses and readline. %description psych Psych is a YAML parser and emitter. Psych leverages libyaml[http://pyyaml.org/wiki/LibYAML] for its YAML parsing and emitting capabilities. In addition to wrapping libyaml, Psych also knows how to serialize and de-serialize most Ruby objects to and from the YAML format. %description net-telnet Provides telnet client functionality. This class also has, through delegation, all the methods of a socket object (by default, a TCPSocket, but can be set by the Proxy option to new()). This provides methods such as close() to end the session and sysread() to read data directly from the host, instead of via the waitfor() mechanism. Note that if you do use sysread() directly when in telnet mode, you should probably pass the output through preprocess() to extract telnet command sequences. %description test-unit This library implements test/unit compatible API on minitest. The test/unit means that test/unit which was bundled with Ruby 1.8. %description xmlrpc XMLRPC is a lightweight protocol that enables remote procedure calls over HTTP. %prep %setup -q -n ruby-%{rubyver} %autopatch -p1 %build autoconf CFLAGS=`echo %optflags | sed 's/-fomit-frame-pointer//'` %configure2_5x --enable-shared --disable-rpath --enable-pthread \ --enable-multiarch \ --with-rubylibprefix='%{ruby_libdir}' \ --with-archlibdir='%{_libdir}' \ --with-rubyarchprefix='%{ruby_libarchdir}' \ --with-sitedir='%{ruby_sitelibdir}' \ --with-sitearchdir='%{ruby_sitearchdir}' \ --with-vendordir='%{ruby_vendorlibdir}' \ --with-vendorarchdir='%{ruby_vendorarchdir}' \ --with-rubyhdrdir='%{_includedir}' \ --with-rubyarchhdrdir='%{_includedir}' \ --with-sitearchhdrdir='$(sitehdrdir)/$(arch)' \ --with-vendorarchhdrdir='$(vendorhdrdir)/$(arch)' \ --with-rubygemsdir='%{rubygems_dir}' \ --with-ruby-pc='%{name}.pc' \ --enable-multiarch \ --with-compress-debug-sections=no \ --with-ruby-version='' \ %ifarch aarch64 --with-setjmp-type=setjmp \ %endif %make_build Q= %install %makeinstall_std install-doc # Version is empty if --with-ruby-version is specified. # http://bugs.ruby-lang.org/issues/7807 sed -i 's/Version: \${ruby_version}/Version: %{ruby_version}/' %{buildroot}%{_libdir}/pkgconfig/%{name}.pc # Kill bundled certificates, as they should be part of ca-certificates. for cert in \ rubygems.global.ssl.fastly.net/DigiCertHighAssuranceEVRootCA.pem \ rubygems.org/AddTrustExternalCARoot.pem \ index.rubygems.org/GlobalSignRootCA.pem do rm %{buildroot}%{rubygems_dir}/rubygems/ssl_certs/$cert rm -r $(dirname %{buildroot}%{rubygems_dir}/rubygems/ssl_certs/$cert) done # Ensure there is not forgotten any certificate. test ! "$(ls -A %{buildroot}%{rubygems_dir}/rubygems/ssl_certs/ 2>/dev/null)" # Install emacs config install -d %buildroot%{_datadir}/emacs/site-lisp cp -a misc/ruby-mode.el %buildroot%{_datadir}/emacs/site-lisp install -d %buildroot%{_sysconfdir}/emacs/site-start.d cat <<EOF >%buildroot%{_sysconfdir}/emacs/site-start.d/%{name}.el (autoload 'ruby-mode "ruby-mode" "Ruby editing mode." t) (add-to-list 'auto-mode-alist '("\\\\.rb$" . ruby-mode)) (add-to-list 'interpreter-mode-alist '("ruby" . ruby-mode)) EOF # Install the rpm macros mkdir -p %buildroot%{_sysconfdir}/rpm/macros.d cp %{SOURCE3} %buildroot%{_sysconfdir}/rpm/macros.d %if %build_rubygems cp %{SOURCE4} %buildroot%{_sysconfdir}/rpm/macros.d # Install dependency generators. mkdir -p %{buildroot}%{_rpmconfigdir}/fileattrs install -m 644 %{SOURCE8} %{buildroot}%{_rpmconfigdir}/fileattrs install -m 755 %{SOURCE9} %{buildroot}%{_rpmconfigdir} install -m 755 %{SOURCE10} %{buildroot}%{_rpmconfigdir} # Install custom operating_system.rb mkdir -p %{buildroot}%{rubygems_dir}/rubygems/defaults cp %{SOURCE1} %{buildroot}%{rubygems_dir}/rubygems/defaults %else rm -f %{buildroot}%{_bindir}/gem rm -f %{buildroot}%{rubygems_dir}/{ubygems.rb,rubygems.rb} rm -rf %{buildroot}%{rubygems_dir}/rubygems %endif # Move gems root into common direcotry, out of Ruby directory structure. mv %{buildroot}%{ruby_libdir}/gems %{buildroot}%{gem_dir} # Create folders for gem binary extensions. mkdir -p %{buildroot}%{_exec_prefix}/lib{,64}/gems/%{name} # Version is empty if --with-ruby-version is specified. # http://bugs.ruby-lang.org/issues/7807 sed -i 's/Version: .*/Version: %{rubyver}/' %{buildroot}%{_libdir}/pkgconfig/%{name}.pc # Move the binary extensions into proper place (if no gem has binary extension, # the extensions directory might be empty). find %{buildroot}%{gem_dir}/extensions/*-%{_target_os}/%{ruby_version}/* -maxdepth 0 \ -exec mv '{}' %{buildroot}%{_libdir}/gems/%{name}/ \; \ || echo "No gem binary extensions to move." %if %build_json # Adjust the gemspec files so that the gems will load properly sed -i '/^end$/ i\ s.extensions = ["json/ext/parser.so", "json/ext/generator.so"]' %{buildroot}%{gem_dir}/specifications/default/json-%{json_version}.gemspec %endif # Move man pages into proper location mv %{buildroot}%{gem_dir}/gems/rake-%{rake_version}/doc/rake.1 %{buildroot}%{_mandir}/man1 # Exclude is not enough for nativre extensions as they get debuginfo generated %if !%build_json rm -rf %{buildroot}%{ruby_libarchdir}/json %endif %if !%build_bigdecimal rm -f %{buildroot}%{ruby_libarchdir}/bigdecimal.so %endif %check DISABLE_TESTS="" # SIGSEV handler does not provide correct output on AArch64. # https://bugs.ruby-lang.org/issues/13758 %ifarch aarch64 DISABLE_TESTS="$DISABLE_TESTS -n !/test_segv_\(setproctitle\|test\)/" %endif make check TESTS="-v $DISABLE_TESTS" %files %{_bindir}/erb %{_bindir}/ruby %dir %{ruby_libdir} %{ruby_libdir}/*.rb %exclude %{ruby_libdir}/irb.rb %exclude %{ruby_libdir}/json.rb %exclude %{ruby_libdir}/openssl.rb %{ruby_libdir}/cgi %{ruby_libdir}/digest %{ruby_libdir}/drb %{ruby_libdir}/fiddle %{ruby_libdir}/forwardable %{ruby_libdir}/matrix %{ruby_libdir}/net %{ruby_libdir}/optparse %{ruby_libdir}/racc %{ruby_libdir}/rexml %{ruby_libdir}/rinda %{ruby_libdir}/ripper %{ruby_libdir}/rss %{ruby_libdir}/shell %{ruby_libdir}/syslog %{ruby_libdir}/unicode_normalize/normalize.rb %{ruby_libdir}/unicode_normalize/tables.rb %{ruby_libdir}/uri %{ruby_libdir}/webrick %{ruby_libdir}/yaml %dir %{ruby_libarchdir} %{ruby_libarchdir}/cgi/escape.so %{ruby_libarchdir}/continuation.so %{ruby_libarchdir}/coverage.so %{ruby_libarchdir}/date_core.so %{ruby_libarchdir}/dbm.so %dir %{ruby_libarchdir}/digest %{ruby_libarchdir}/digest.so %{ruby_libarchdir}/digest/*.so %dir %{ruby_libarchdir}/enc %{ruby_libarchdir}/enc/*.so %dir %{ruby_libarchdir}/enc/trans %{ruby_libarchdir}/enc/trans/*.so %{ruby_libarchdir}/etc.so %{ruby_libarchdir}/fcntl.so %{ruby_libarchdir}/fiber.so %{ruby_libarchdir}/fiddle.so %{ruby_libarchdir}/gdbm.so %dir %{ruby_libarchdir}/io %{ruby_libarchdir}/io/nonblock.so %{ruby_libarchdir}/io/wait.so %{ruby_libarchdir}/nkf.so %{ruby_libarchdir}/objspace.so %{ruby_libarchdir}/pathname.so %{ruby_libarchdir}/pty.so %dir %{ruby_libarchdir}/racc %{ruby_libarchdir}/racc/*.so %{ruby_libarchdir}/rbconfig.rb %dir %{ruby_libarchdir}/rbconfig %{ruby_libarchdir}/rbconfig/*.so %{ruby_libarchdir}/readline.so %{ruby_libarchdir}/ripper.so %{ruby_libarchdir}/sdbm.so %{ruby_libarchdir}/socket.so %{ruby_libarchdir}/stringio.so %{ruby_libarchdir}/strscan.so %{ruby_libarchdir}/syslog.so %{ruby_libarchdir}/zlib.so %{_mandir}/man1/erb.1.* %{_mandir}/man1/ruby.1.* %{_datadir}/emacs/site-lisp/* %config(noreplace) %{_sysconfdir}/emacs/site-start.d/* %{_sysconfdir}/rpm/macros.d/ruby.macros %{_datadir}/ruby/vendor_ruby %{_libdir}/ruby/vendor_ruby %dir %{gem_dir}/specifications/default # TODO: Split those out %{gem_dir}/specifications/default/cmath-%{cmath_version}.gemspec %{gem_dir}/specifications/default/csv-%{csv_version}.gemspec %{gem_dir}/specifications/default/date-%{date_version}.gemspec %{gem_dir}/specifications/default/dbm-%{dbm_version}.gemspec %{gem_dir}/specifications/default/etc-%{etc_version}.gemspec %{gem_dir}/specifications/default/fcntl-%{fcntl_version}.gemspec %{gem_dir}/specifications/default/fiddle-%{fiddle_version}.gemspec %{gem_dir}/specifications/default/fileutils-%{fileutils_version}.gemspec %{gem_dir}/specifications/default/gdbm-%{gdbm_version}.gemspec %{gem_dir}/specifications/default/ipaddr-%{ipaddr_version}.gemspec %{gem_dir}/specifications/default/scanf-%{scanf_version}.gemspec %{gem_dir}/specifications/default/sdbm-%{sdbm_version}.gemspec %{gem_dir}/specifications/default/stringio-%{stringio_version}.gemspec %{gem_dir}/specifications/default/strscan-%{strscan_version}.gemspec %{gem_dir}/specifications/default/webrick-%{webrick_version}.gemspec %{gem_dir}/specifications/default/zlib-%{zlib_version}.gemspec %files doc %{_datadir}/ri %{_datadir}/doc/ruby %files -n %{libname} %{_libdir}/libruby.so.%{subver} %{_libdir}/libruby.so.%{rubyapi} %files devel %{_includedir}/* %{_libdir}/libruby.so %{_libdir}/pkgconfig/*.pc %files irb %{_bindir}/irb %{ruby_libdir}/irb.rb %{ruby_libdir}/irb %{_mandir}/man1/irb.1* %files power_assert %{gem_dir}/gems/power_assert-%{power_assert_version} %{gem_dir}/specifications/power_assert-%{power_assert_version}.gemspec %files io-console %{ruby_libdir}/io %{ruby_libarchdir}/io/console.so %{gem_dir}/specifications/default/io-console-%{io_console_version}.gemspec %files test-unit %{gem_dir}/gems/test-unit-* %{gem_dir}/specifications/test-unit-%{test_unit_version}.gemspec %if %build_rubygems %files RubyGems %{_bindir}/gem %{_sysconfdir}/rpm/macros.d/rubygems.macros %dir %{rubygems_dir} %{rubygems_dir}/rubygems %{rubygems_dir}/rubygems.rb %{rubygems_dir}/ubygems.rb %{_rpmconfigdir}/fileattrs/rubygems.attr %{_rpmconfigdir}/rubygems.req %{_rpmconfigdir}/rubygems.prov %dir %{gem_dir} %dir %{gem_dir}/build_info %dir %{gem_dir}/cache %dir %{gem_dir}/doc %dir %{gem_dir}/extensions %dir %{gem_dir}/gems %dir %{gem_dir}/specifications %endif %exclude %{gem_dir}/cache/* %if %build_minitest %files minitest %endif %exclude_minitest %{gem_dir}/gems/minitest-%{minitest_version} %exclude_minitest %{gem_dir}/specifications/minitest-%{minitest_version}.gemspec %if %build_rake %files rake %endif %exclude_rake %{_bindir}/rake %exclude_rake %{_mandir}/man1/rake.1.* %exclude_rake %{gem_dir}/gems/rake-%{rake_version} %exclude_rake %{gem_dir}/specifications/rake-%{rake_version}.gemspec %if %build_rdoc %files rdoc %endif %exclude_rdoc %{ruby_libdir}/rdoc %exclude_rdoc %{_bindir}/rdoc %exclude_rdoc %{_bindir}/ri %exclude_rdoc %{_mandir}/man1/ri.1.* %exclude_rdoc %{gem_dir}/gems/rdoc-%{rdoc_version} %exclude_rdoc %{gem_dir}/specifications/default/rdoc-%{rdoc_version}.gemspec %if %build_json %files json %{ruby_libarchdir}/json %endif %exclude_json %{ruby_libdir}/json %exclude_json %{ruby_libdir}/json.rb %exclude_json %{gem_dir}/specifications/default/json-%{json_version}.gemspec %if %build_bigdecimal %files bigdecimal %{ruby_libarchdir}/bigdecimal.so %endif %exclude_bigdecimal %{ruby_libdir}/bigdecimal %exclude_bigdecimal %{gem_dir}/specifications/default/bigdecimal-%{bigdecimal_version}.gemspec %files openssl %{ruby_libdir}/openssl %{ruby_libdir}/openssl.rb %{ruby_libarchdir}/openssl.so %{gem_dir}/specifications/default/openssl-%{openssl_version}.gemspec %files psych %{ruby_libdir}/psych %{ruby_libdir}/psych.rb %{ruby_libarchdir}/psych.so %{gem_dir}/specifications/default/psych-%{psych_version}.gemspec %files did_you_mean %{gem_dir}/gems/did_you_mean-%{did_you_mean_version} %exclude %{gem_dir}/gems/did_you_mean-%{did_you_mean_version}/.* %{gem_dir}/specifications/did_you_mean-%{did_you_mean_version}.gemspec %files net-telnet %{gem_dir}/gems/net-telnet-%{net_telnet_version} %exclude %{gem_dir}/gems/net-telnet-%{net_telnet_version}/.* %{gem_dir}/specifications/net-telnet-%{net_telnet_version}.gemspec %files xmlrpc %{gem_dir}/gems/xmlrpc-%{xmlrpc_version} %{gem_dir}/specifications/xmlrpc-%{xmlrpc_version}.gemspec %changelog * Sun Dec 22 2019 pterjan <pterjan> 2.5.7-20.mga7 + Revision: 1469611 - Add upstream patch to fix tests with recent openssl - Update to 2.5.7 (CVE-2019-15845, CVE-2019-16201, CVE-2019-16254, CVE-2019-16255). Previous minor versions fix other vulnerabilities which are not built in this package in rdoc and rubygems but better get the full update as it also contains bug fixes. * Sun Oct 21 2018 pterjan <pterjan> 2.5.3-20.mga7 + Revision: 1323468 - Update to 2.5.3 * Sun Sep 23 2018 umeabot <umeabot> 2.5.1-19.mga7 + Revision: 1300870 - Mageia 7 Mass Rebuild * Sun Jun 17 2018 luigiwalser <luigiwalser> 2.5.1-18.mga7 + Revision: 1237492 - rebuild for gdbm * Sun Apr 29 2018 pterjan <pterjan> 2.5.1-17.mga7 + Revision: 1223656 - Drop rdoc, we have a newer gem - Update to 2.5.1 + wally <wally> - sync .spec a bit with Fedora for aarch64 - add patch from upstream to increase timeout for test_clear_unreachable_keyword_args to fix aarch64 build error * Sat Jan 06 2018 pterjan <pterjan> 2.5.0-16.mga7 + Revision: 1190623 - Sync patches with Fedora * Mon Jan 01 2018 pterjan <pterjan> 2.5.0-8.mga7 + Revision: 1188892 - Adapt upstream patch to fix a segfault * Mon Jan 01 2018 pterjan <pterjan> 2.5.0-7.mga7 + Revision: 1188465 - Rebuild for Ruby 2.5 * Sun Dec 31 2017 pterjan <pterjan> 2.5.0-6.mga7 + Revision: 1188444 - Fix my workaround... * Sun Dec 31 2017 pterjan <pterjan> 2.5.0-5.mga7 + Revision: 1188438 - Workaround loadpath issue * Sun Dec 31 2017 pterjan <pterjan> 2.5.0-4.mga7 + Revision: 1188425 - Increase release as net-telnet didn't change version - Update to 2.5.0 * Sat Dec 30 2017 luigiwalser <luigiwalser> 2.4.3-3.mga7 + Revision: 1188060 - 2.4.3 * Sun Dec 03 2017 josh <josh> 2.4.2-2.mga7 + Revision: 1180909 - Bump version to rebuild against libreadline.so.7 - Replace devel BuildRequires with pkgconfig * Thu Oct 05 2017 pterjan <pterjan> 2.4.2-1.mga7 + Revision: 1169199 - Fix file lists - Update openssl version - fix lib version - Update to 2.4.2 * Sun Sep 17 2017 pterjan <pterjan> 2.4.1-15.mga7 + Revision: 1155105 - Fix tests failing on the build system - Fix build with some disabled extensions and restore tests - json is now in a separate package * Thu Sep 14 2017 pterjan <pterjan> 2.4.1-14.mga7 + Revision: 1153712 - Add missing openssl.rb * Sat Sep 02 2017 pterjan <pterjan> 2.4.1-13.mga7 + Revision: 1150973 - Require rubygems, ruby is very upset without it * Fri Sep 01 2017 pterjan <pterjan> 2.4.1-12.mga7 + Revision: 1150389 - I failed to disable the building of unwanted extensions/gems so exclude the files - Disable more updated subpackages - Fix doubly packages psych files - Disable rubygems package to update it separately - Few more moves - Move more things to rubygems package - Move back rubygems.macros to rubygems package * Tue Aug 15 2017 pterjan <pterjan> 2.4.1-9.mga7 + Revision: 1141087 - Add macros from fedora to add/remove gem dependencies * Tue Aug 15 2017 pterjan <pterjan> 2.4.1-8.mga7 + Revision: 1140696 - Add one more dependency * Tue Aug 15 2017 pterjan <pterjan> 2.4.1-7.mga7 + Revision: 1140659 - gem install into BUILD dir, build in the build section, and manually copy files. That fixes finding sources for debuginfo * Tue Aug 15 2017 pterjan <pterjan> 2.4.1-6.mga7 + Revision: 1140636 - Add another missing dependency - Make gem install verbose and use --build-root - Add another missing dependency * Mon Aug 14 2017 pterjan <pterjan> 2.4.1-5.mga7 + Revision: 1140361 - Manually add dependencies, they generators are in this package which is not installed during build * Mon Aug 14 2017 pterjan <pterjan> 2.4.1-4.mga7 + Revision: 1140339 - Fix json conflict - Fix file list - Add back rubygems.macros * Mon Aug 14 2017 pterjan <pterjan> 2.4.1-2.mga7 + Revision: 1140286 - Fix group * Mon Aug 14 2017 pterjan <pterjan> 2.4.1-1.mga7 + Revision: 1140278 - Fix file list - Move json.rb to the right subpackage - Fix some missed renames - Simplify package, always bootstrap (fixes gem tests), and add new packages - tk is gone - Disable one more gem test, I still haven't found why they fail - Use gem_dir instead of gems_dir, to be closer to fedora, and use global in more places - Revert some local tests - Update to 2.4.1 and pull in a bunch a Fedora changes - Backport fix for CVE-2016-2339 - Update to latest bugfix release of 2.2 branch - Run all tests during build (except the gem ones that need to be checked/fixed) - Fix test_empty_data with CVE-2016-7798 patch * Sun Oct 09 2016 pterjan <pterjan> 2.2.5-15.mga6 + Revision: 1059716 - Add patch for CVE-2016-7798 * Thu Sep 08 2016 luigiwalser <luigiwalser> 2.2.5-14.mga6 + Revision: 1050451 - 2.2.5 (sync with f22) * Thu Mar 03 2016 umeabot <umeabot> 2.2.4-13.mga6 + Revision: 984820 - Rebuild for openssl + pterjan <pterjan> - Please perl-Youri-Package-RPM-Updater * Tue Dec 29 2015 pterjan <pterjan> 2.2.4-12.mga6 + Revision: 916704 - Bump release for subpackages which did not change version :( - Update to 2.2.4 - Rever the io-console change, separate gem is older - Don't ship io-console, we have a separate package * Sat Dec 19 2015 pterjan <pterjan> 2.2.3-11.mga6 + Revision: 912333 - Do not ship rake.rb, rdoc.rb and psych.rb in main package * Sun Nov 01 2015 pterjan <pterjan> 2.2.3-10.mga6 + Revision: 897270 - Ship all subpackages that are not packages separately * Sat Oct 24 2015 pterjan <pterjan> 2.2.3-9.mga6 + Revision: 895045 - Fix dependencies and disable gem subpackages * Fri Oct 23 2015 pterjan <pterjan> 2.2.3-8.mga6 + Revision: 894524 - Avoid file conflicts * Fri Oct 23 2015 pterjan <pterjan> 2.2.3-7.mga6 + Revision: 894486 - Force provides - Provide the same ruby(abi) that we require * Fri Oct 23 2015 pterjan <pterjan> 2.2.3-6.mga6 + Revision: 894469 - Rebuild 2/2 to get proper dependencies * Fri Oct 23 2015 pterjan <pterjan> 2.2.3-5.mga6 + Revision: 894465 - Rebuild 1/2 to get proper dependencies - Update gems path in the dependency extractor * Fri Oct 23 2015 pterjan <pterjan> 2.2.3-4.mga6 + Revision: 894460 - re enable bootstrap - use the defined release_string macro (and fix it) - build gems to allow bootstrap - various fixes and cleanups, not yet tested if more are needed + blino <blino> - rebuild with bootstrap since RubyGems should be installable again * Fri Oct 23 2015 blino <blino> 2.2.3-2.mga6 + Revision: 894369 - remove gems cache (build was failing only in bootstrap mode before, now fails everytime since we do not install bundles in removed home dir anymore) - stop removing gem dir in home now that all install paths should be ok - update do-not-install-to-user-dir to handle bundle gems as well - rebuild in bootstrap mode to be able to rebuild ruby-json which is required by ruby-RubyGems and thus ruby + pterjan <pterjan> - Fix file list - Fix regex * Wed Oct 21 2015 shlomif <shlomif> 2.2.3-1.mga6 + Revision: 893775 - New version 2.2.3 - synced in part from Fedora. + pterjan <pterjan> - Fix dependency extraction - Better patch fix for bootstrap * Sat Oct 17 2015 pterjan <pterjan> 2.0.0.p645-5.mga6 + Revision: 892281 - Define gems_dir in ruby package as it is used in rubygems.attr and we don't require Rubygems in bootstrap mode * Fri Oct 16 2015 pterjan <pterjan> 2.0.0.p645-4.mga6 + Revision: 892256 - fix user-dir patch to work in bootstrap * Sun Oct 11 2015 pterjan <pterjan> 2.0.0.p645-3.mga6 + Revision: 889596 - Add upstream patch to support Tk 8.6 + tv <tv> - rebuild for tk 8.6 + daviddavid <daviddavid> - rebuild for new tcl/tk 8.6.4 * Thu Apr 30 2015 pterjan <pterjan> 2.0.0.p645-1.mga5 + Revision: 820881 - Drop applied patch - Update to p645 (CVE-2015-1855) * Fri Nov 14 2014 pterjan <pterjan> 2.0.0.p598-1.mga5 + Revision: 796908 - Update to 2.0.0-p598 (CVE-2014-8090) + luigiwalser <luigiwalser> - add upstream patch to fix CVE-2014-4975 * Mon Oct 27 2014 pterjan <pterjan> 2.0.0.p594-1.mga5 + Revision: 793866 - 2.0.0-p594 (CVE-2014-8080 + Insecure SSL/TLS options are now turn off by default + many bug fixes) * Wed Oct 15 2014 umeabot <umeabot> 2.0.0.p451-6.mga5 + Revision: 748136 - Second Mageia 5 Mass Rebuild * Tue Sep 16 2014 umeabot <umeabot> 2.0.0.p451-5.mga5 + Revision: 688736 - Mageia 5 Mass Rebuild * Thu Sep 11 2014 tv <tv> 2.0.0.p451-4.mga5 + Revision: 674762 - move rubygem req/prov generator in ruby instead of -devel subpackage (this one is actually required by gems but not always -devel) * Mon Sep 08 2014 tv <tv> 2.0.0.p451-3.mga5 + Revision: 673709 - add RPM dependency generators for RubyGems * Mon Apr 21 2014 pterjan <pterjan> 2.0.0.p451-2.mga5 + Revision: 617250 - Fix version in pkg-config file (mga#13240) * Mon Mar 10 2014 pterjan <pterjan> 2.0.0.p451-1.mga5 + Revision: 601635 - Add upstream patch to fix build with new readline - Patch to force installing bundled gems to system directory even if build is running as user - Drop patch already applied - Add fedora patch preventing potential multilib conflict - Update to p451 * Fri Dec 27 2013 pterjan <pterjan> 2.0.0.p247-8.mga4 + Revision: 560987 - Fix use of wrong macro now that they are different - Move rubygems out of gems dir as this brakes bundler * Sat Nov 23 2013 fwang <fwang> 2.0.0.p247-7.mga4 + Revision: 552441 - add upstream patch to fix CVE-2013-4164 * Mon Oct 21 2013 umeabot <umeabot> 2.0.0.p247-6.mga4 + Revision: 538717 - Mageia 4 Mass Rebuild * Wed Oct 02 2013 fwang <fwang> 2.0.0.p247-5.mga4 + Revision: 490240 - fix issues with DESTDIR (patch from fedora) + pterjan <pterjan> - Switch to Ruby 2 - Grrr failed again * Wed Aug 21 2013 fwang <fwang> 2.0.0.p247-4.mga4 + Revision: 468908 - do not build bootstrap - rebuild to drop temporary obsoletes - temporarily obsolete newly built packages - move into current