# Taken from the fedora ruby-2.2.3 .spec. Thanks! %global major_version 3 %global minor_version 1 %global teeny_version 4 %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 44 %{!?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 3.3.26 %global rubygems_molinillo_version 0.7.0 %global rubygems_optparse_version 0.2.0 %global rubygems_tsort_version 0.1.0 # Default gems. %global bundler_version 2.3.26 %global bundler_connection_pool_version 2.3.0 %global bundler_fileutils_version 1.4.1 %global bundler_molinillo_version 0.8.0 %global bundler_net_http_persistent_version 4.0.0 %global bundler_thor_version 1.2.1 %global bundler_tmpdir_version 0.1.0 # TODO: Check the version if/when available in library. %global bundler_tsort_version 0.1.1 %global bundler_uri_version 0.10.1 %global bigdecimal_version 3.1.1 %global did_you_mean_version 1.6.1 %global erb_version 2.2.3 %global io_console_version 0.5.11 %global irb_version 1.4.1 %global json_version 2.6.1 %global openssl_version 3.0.1 %global psych_version 4.0.4 %global racc_version 1.6.0 %global rdoc_version 6.4.0 %global stringio_version 3.0.1 # Bundled gems. %global minitest_version 5.15.0 %global power_assert_version 2.0.1 %global rake_version 13.0.6 %global test_unit_version 3.5.3 %global rexml_version 3.2.5 %global rss_version 0.2.9 %global net_ftp_version 0.1.3 %global net_imap_version 0.2.3 %global net_pop_version 0.1.1 %global net_smtp_version 0.3.1 %global matrix_version 0.4.2 %global prime_version 0.1.2 %global rbs_version 2.7.0 %global typeprof_version 0.21.3 %global debug_version 1.6.3 # Allow updating them in separate packages %global build_rubygems 1 %global build_bigdecimal 1 %global build_json 1 %global build_minitest 0 %global build_rake 1 %global build_rdoc 1 %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 %global tapset_libdir %(echo %{_libdir} | sed 's/64//')* %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 # StdLib default gems. Provides: bundled(rubygem-did_you_mean) = %{did_you_mean_version} Provides: bundled(rubygem-openssl) = %{openssl_version} Provides: bundled(rubygem-racc) = %{racc_version} # 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 Provides: ruby(release) = %rubyver Requires: ruby-RubyGems >= %rubygems_version Provides: rubygem(did_you_mean) = %{did_you_mean_version} Provides: rubygem(openssl) = %{openssl_version} Provides: rubygem(racc) = %{racc_version} Provides: rubygem(stringio) = %{stringio_version} Obsoletes: ruby-did_you_mean < 1.4.0-36 Obsoletes: ruby-racc < 1.5.0-2 Obsoletes: ruby-openssl < 2.7.2-36 Source0: https://ftp.ruby-lang.org/pub/ruby/%{subver}/ruby-%{rubyver}.tar.xz Source1: operating_system.rb Source2: libruby.stp Source3: ruby-exercise.stp # Similar to FC: Source4: macros.ruby Source5: macros.rubygems # From FC: # RPM dependency generators. Source8: rubygems.attr Source9: rubygems.req Source10: rubygems.prov Source11: rubygems.con URL: https://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 # The ABRT hook used to be initialized by preludes via following patches: # https://bugs.ruby-lang.org/issues/8566 # https://bugs.ruby-lang.org/issues/15306 # Unfortunately, due to https://bugs.ruby-lang.org/issues/16254 # and especially since https://github.com/ruby/ruby/pull/2735 # this would require boostrapping: # https://lists.fedoraproject.org/archives/list/ruby-sig@lists.fedoraproject.org/message/LH6L6YJOYQT4Y5ZNOO4SLIPTUWZ5V45Q/ # For now, load the ABRT hook via this simple patch: Patch6: ruby-2.7.0-Initialize-ABRT-hook.patch # Prevent segfaults running with SystemTap due to `RubyVM::FrozenCore` being # corrupted by GC. # https://bugzilla.redhat.com/show_bug.cgi?id=2015441 # https://bugzilla.redhat.com/show_bug.cgi?id=1986206 # https://bugs.ruby-lang.org/issues/18257 Patch7: ruby-3.1.0-Don-t-query-RubyVM-FrozenCore-for-class-path.patch # Avoid possible timeout errors in TestBugReporter#test_bug_reporter_add. # https://bugs.ruby-lang.org/issues/16492 Patch19: ruby-2.7.1-Timeout-the-test_bug_reporter_add-witout-raising-err.patch # Drop hard dependency on RDoc in IRB. # https://github.com/ruby/irb/pull/393 Patch27: ruby-irb-1.4.1-drop-rdoc-hard-dep.patch # Set soft dependency on RDoc in input-method.rb in IRB. # https://github.com/ruby/irb/pull/395 Patch28: ruby-irb-1.4.1-set-rdoc-soft-dep.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 %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 %package rbs Summary: Type signature for Ruby Version: %{rbs_version} License: Ruby or BSD Requires: ruby(abi) = %{subver} Requires: ruby(rubygems) >= %{rubygems_version} Provides: rubygem(rbs) = %{version}-%{release} %description rbs RBS is the language for type signatures for Ruby and standard library definitions. %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 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: rubygem(irb) = %{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 = %{irb_version}-%{release} Provides: rubygem(irb) = %{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 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 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 bundler Summary: Library and utilities to manage a Ruby application's gem dependencies Version: %{bundler_version} License: MIT Requires: ruby(rubygems) >= %{rubygems_version} Requires: rubygem(io-console) Provides: rubygem(bundler) = %{version}-%{release} BuildArch: noarch %package bundled-gems Summary: Bundled gems which are part of Ruby StdLib Requires: ruby(rubygems) >= %{rubygems_version} Provides: rubygem(net-ftp) = %{net_ftp_version} Provides: rubygem(net-imap) = %{net_imap_version} Provides: rubygem(net-pop) = %{net_pop_version} Provides: rubygem(net-smtp) = %{net_smtp_version} Provides: rubygem(matrix) = %{matrix_version} Provides: rubygem(prime) = %{prime_version} Provides: rubygem(debug) = %{debug_version} %package rexml Summary: An XML toolkit for Ruby Version: %{rexml_version} License: BSD URL: https://github.com/ruby/rexml Requires: ruby(rubygems) >= %{rubygems_version} Provides: rubygem(rexml) = %{version}-%{release} BuildArch: noarch %description rexml REXML was inspired by the Electric XML library for Java, which features an easy-to-use API, small size, and speed. Hopefully, REXML, designed with the same philosophy, has these same features. I've tried to keep the API as intuitive as possible, and have followed the Ruby methodology for method naming and code flow, rather than mirroring the Java API. REXML supports both tree and stream document parsing. Stream parsing is faster (about 1.5 times as fast). However, with stream parsing, you don't get access to features such as XPath. %package rss Summary: Family of libraries that support various formats of XML "feeds" Version: %{rss_version} License: BSD URL: https://github.com/ruby/rss Requires: ruby(rubygems) >= %{rubygems_version} Provides: rubygem(rss) = %{version}-%{release} BuildArch: noarch %package typeprof Summary: TypeProf is a type analysis tool for Ruby code based on abstract interpretation Version: %{typeprof_version} License: MIT URL: https://github.com/ruby/typeprof Requires: ruby(rubygems) >= %{rubygems_version} Requires: rubygem(rbs) >= %{rbs_version} Provides: rubygem(typeprof) = %{version}-%{release} 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 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 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 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 bundler Bundler manages an application's dependencies through its entire life, across many machines, systematically and repeatably. %description bundled-gems Bundled gems which are part of Ruby StdLib. While being part of Ruby, these needs to be listed in Gemfile to be used by Bundler. %description typeprof TypeProf performs a type analysis of non-annotated Ruby code. It abstractly executes input Ruby code in a level of types instead of values, gathers what types are passed to and returned by methods, and prints the analysis result in RBS format, a standard type description format for Ruby 3.0. %description rss Really Simple Syndication (RSS) is a family of formats that describe 'feeds', specially constructed XML documents that allow an interested person to subscribe and receive updates from a particular web service. This library provides tooling to read and create these feeds. %prep %setup -q -n ruby-%{rubyver} %autopatch -p1 # Remove bundled libraries to be sure they are not used. rm -rf ext/psych/yaml rm -rf ext/fiddle/libffi* %build autoreconf -vfi CFLAGS=`echo %optflags | sed 's/-fomit-frame-pointer//'` %configure --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' \ --with-compress-debug-sections=no \ --disable-rpath \ --enable-mkmf-verbose \ --enable-multiarch \ --with-compress-debug-sections=no \ --with-ruby-version='' \ %ifarch aarch64 --with-setjmp-type=setjmp \ %endif %make_build Q= %install %make_install 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.org/GlobalSignRootCA.pem \ rubygems.org/GlobalSignRootCA_R3.pem do rm %{buildroot}%{rubygems_dir}/rubygems/ssl_certs/$cert rm -d $(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)" # Move macros file into proper place mkdir -p %{buildroot}%{_rpmconfigdir}/macros.d install -m 644 %{SOURCE4} %{buildroot}%{_rpmconfigdir}/macros.d/macros.ruby %if %build_rubygems install -m 644 %{SOURCE5} %{buildroot}%{_rpmconfigdir}/macros.d/macros.rubygems # 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 -m 755 %{SOURCE11} %{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 bundled rubygems to %%gem_dir and %%gem_extdir_mri # make symlinks for io-console and bigdecimal, which are considered to be part of stdlib by other Gems mkdir -p %{buildroot}%{gem_dir}/gems/irb-%{irb_version}/lib mv %{buildroot}%{ruby_libdir}/irb* %{buildroot}%{gem_dir}/gems/irb-%{irb_version}/lib mv %{buildroot}%{gem_dir}/specifications/default/irb-%{irb_version}.gemspec %{buildroot}%{gem_dir}/specifications ln -s %{gem_dir}/gems/irb-%{irb_version}/lib/irb.rb %{buildroot}%{ruby_libdir}/irb.rb # TODO: This should be possible to replaced by simple directory symlink # after ~ F31 EOL (rhbz#1691039). mkdir -p %{buildroot}%{ruby_libdir}/irb pushd %{buildroot}%{gem_dir}/gems/irb-%{irb_version}/lib find irb -type d -mindepth 1 -exec mkdir %{buildroot}%{ruby_libdir}/'{}' \; find irb -type f -exec ln -s %{gem_dir}/gems/irb-%{irb_version}/lib/'{}' %{buildroot}%{ruby_libdir}/'{}' \; popd mkdir -p %{buildroot}%{gem_dir}/gems/rdoc-%{rdoc_version}/lib mv %{buildroot}%{ruby_libdir}/rdoc* %{buildroot}%{gem_dir}/gems/rdoc-%{rdoc_version}/lib mv %{buildroot}%{gem_dir}/specifications/default/rdoc-%{rdoc_version}.gemspec %{buildroot}%{gem_dir}/specifications mkdir -p %{buildroot}%{gem_dir}/gems/bigdecimal-%{bigdecimal_version}/lib mkdir -p %{buildroot}%{_libdir}/gems/%{name}/bigdecimal-%{bigdecimal_version}/bigdecimal mv %{buildroot}%{ruby_libdir}/bigdecimal %{buildroot}%{gem_dir}/gems/bigdecimal-%{bigdecimal_version}/lib mv %{buildroot}%{ruby_libarchdir}/bigdecimal.so %{buildroot}%{_libdir}/gems/%{name}/bigdecimal-%{bigdecimal_version} mv %{buildroot}%{gem_dir}/specifications/default/bigdecimal-%{bigdecimal_version}.gemspec %{buildroot}%{gem_dir}/specifications mkdir -p %{buildroot}%{ruby_libdir}/bigdecimal pushd %{buildroot}%{gem_dir}/gems/bigdecimal-%{bigdecimal_version}/lib find bigdecimal -type d -mindepth 1 -exec mkdir %{buildroot}%{ruby_libdir}/'{}' \; find bigdecimal -type f -exec ln -s %{gem_dir}/gems/bigdecimal-%{bigdecimal_version}/lib/'{}' %{buildroot}%{ruby_libdir}/'{}' \; popd ln -s %{_libdir}/gems/%{name}/bigdecimal-%{bigdecimal_version}/bigdecimal.so %{buildroot}%{ruby_libarchdir}/bigdecimal.so # TODO: Put help files into proper location. # https://bugs.ruby-lang.org/issues/15359 mkdir -p %{buildroot}%{gem_dir}/gems/bundler-%{bundler_version}/lib mv %{buildroot}%{ruby_libdir}/bundler.rb %{buildroot}%{gem_dir}/gems/bundler-%{bundler_version}/lib mv %{buildroot}%{ruby_libdir}/bundler %{buildroot}%{gem_dir}/gems/bundler-%{bundler_version}/lib mv %{buildroot}%{gem_dir}/specifications/default/bundler-%{bundler_version}.gemspec %{buildroot}%{gem_dir}/specifications mkdir -p %{buildroot}%{gem_dir}/gems/json-%{json_version}/lib mkdir -p %{buildroot}%{_libdir}/gems/%{name}/json-%{json_version} mv %{buildroot}%{ruby_libdir}/json* %{buildroot}%{gem_dir}/gems/json-%{json_version}/lib mv %{buildroot}%{ruby_libarchdir}/json/ %{buildroot}%{_libdir}/gems/%{name}/json-%{json_version}/ touch %{buildroot}%{_libdir}/gems/%{name}/json-%{json_version}/gem.build_complete mv %{buildroot}%{gem_dir}/specifications/default/json-%{json_version}.gemspec %{buildroot}%{gem_dir}/specifications ln -s %{gem_dir}/gems/json-%{json_version}/lib/json.rb %{buildroot}%{ruby_libdir}/json.rb ln -s %{gem_dir}/gems/json-%{json_version}/lib/json %{buildroot}%{ruby_libdir}/json # Move the binary extensions into proper place (if no gem has binary extension, # the extensions directory might be empty). # TODO: Get information about extension form .gemspec files. find %{buildroot}%{gem_dir}/extensions/*-%{_target_os}*/%{major_minor_version}.*/* -maxdepth 0 \ -exec mv '{}' %{buildroot}%{_libdir}/gems/%{name}/ \; \ || echo "No gem binary extensions to move." # Remove the extension sources and library copies from `lib` dir. find %{buildroot}%{gem_dir}/gems/*/ext -maxdepth 0 -exec rm -rf '{}' + find %{buildroot}%{gem_dir}/gems/*/lib -name \*.so -delete # Move man pages into proper location mkdir -p %{buildroot}%{_mandir}/man{1,5} mv %{buildroot}%{gem_dir}/gems/rake-%{rake_version}/doc/rake.1 %{buildroot}%{_mandir}/man1 # https://bugs.ruby-lang.org/issues/17778 cp -a %{buildroot}%{gem_dir}/gems/bundler-%{bundler_version}/lib/bundler/man/*.1 %{buildroot}%{_mandir}/man1 cp -a %{buildroot}%{gem_dir}/gems/bundler-%{bundler_version}/lib/bundler/man/*.5 %{buildroot}%{_mandir}/man5 # Exclude is not enough for native extensions as they get debuginfo generated %if !%build_json rm -rf %{buildroot}%{ruby_libarchdir}/json rm -rf %{buildroot}%{_libdir}/gems/%{name}/json-%{json_version} %endif %if !%build_bigdecimal rm -f %{buildroot}%{ruby_libarchdir}/bigdecimal.so rm -rf %{buildroot}%{_libdir}/gems/%{name}/bigdecimal-%{bigdecimal_version} %endif # https://github.com/yuki24/did_you_mean/issues/122 rm -rf %{buildroot}%{gem_dir}/gems/did_you_mean-%{did_you_mean_version}/tmp/ # https://github.com/ruby/rake/issues/316 rm -f %{buildroot}%{gem_dir}/gems/rake-%{rake_version}/.gitignore %check # test_debug(TestRubyOptions) fails due to LoadError reported in debug mode, # when abrt.rb cannot be required (seems to be easier way then customizing # the test suite). touch abrt.rb DISABLE_TESTS="" MSPECOPTS="" # Avoid `hostname' dependency. %{!?with_hostname:MSPECOPTS="-P 'Socket.gethostname returns the host name'"} %ifarch armv7hl # TestReadline#test_interrupt_in_other_thread fails on 32 bit arches according # to upstream, but the test is disabled just on Travis, not in test suite. # https://bugs.ruby-lang.org/issues/18393 DISABLE_TESTS="$DISABLE_TESTS -n !/TestReadline#test_interrupt_in_other_thread/" %endif # Several test broken by libffi-3.4.2. There should be fix in libffi, once # other components are fixed. # https://bugzilla.redhat.com/show_bug.cgi?id=2040380 mv test/fiddle/test_import.rb{,.disable} mv test/fiddle/test_closure.rb{,.disable} DISABLE_TESTS="$DISABLE_TESTS -n !/Fiddle::TestFunc#test_qsort1/" DISABLE_TESTS="$DISABLE_TESTS -n !/Fiddle::TestFunction#test_argument_count/" # Disable "File.utime allows Time instances in the far future to set # mtime and atime". # https://bugs.ruby-lang.org/issues/16410 MSPECOPTS="$MSPECOPTS -P 'File.utime allows Time instances in the far future to set mtime and atime'" # Increase timeout for TestBugReporter#test_bug_reporter_add test, which fails # quite often. # https://bugs.ruby-lang.org/issues/16492 %ifarch s390x sed -i '/assert_in_out_err/ s/)/, timeout: 30)/' test/-ext-/bug_reporter/test_bug_reporter.rb %endif #make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" %files %{_bindir}/erb %{_bindir}/ruby %dir %{ruby_libdir} # Use standalone ruby-racc if Racc binary is required. Shipping this # executable in both packages might possibly cause conflicts. The situation # could be better if Ruby generated these files: # https://github.com/ruby/ruby/pull/2545 %exclude %{_bindir}/racc %exclude %{gem_dir}/gems/racc-%{racc_version}/bin %{ruby_libdir}/*.rb %exclude %{ruby_libdir}/psych.rb %{ruby_libdir}/benchmark %{ruby_libdir}/cgi %{ruby_libdir}/csv %{ruby_libdir}/did_you_mean %{ruby_libdir}/digest %{ruby_libdir}/drb %{ruby_libdir}/erb %{ruby_libdir}/error_highlight %{ruby_libdir}/fiddle %{ruby_libdir}/forwardable %{ruby_libdir}/io %{ruby_libdir}/logger %{ruby_libdir}/net %{ruby_libdir}/objspace %{ruby_libdir}/open3 %{ruby_libdir}/openssl %{ruby_libdir}/optparse %{ruby_libdir}/racc %{ruby_libdir}/random %{ruby_libdir}/reline %{ruby_libdir}/rinda %{ruby_libdir}/ripper %{ruby_libdir}/set %{ruby_libdir}/syslog %{ruby_libdir}/unicode_normalize %{ruby_libdir}/uri %{ruby_libdir}/yaml %dir %{ruby_libarchdir} %{ruby_libarchdir}/cgi/escape.so %{ruby_libarchdir}/continuation.so %{ruby_libarchdir}/coverage.so %{ruby_libarchdir}/date_core.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}/fiddle.so %dir %{ruby_libarchdir}/io %{ruby_libarchdir}/io/nonblock.so %{ruby_libarchdir}/io/wait.so %{ruby_libarchdir}/monitor.so %{ruby_libarchdir}/nkf.so %{ruby_libarchdir}/objspace.so %{ruby_libarchdir}/openssl.so %{ruby_libarchdir}/pathname.so %{ruby_libarchdir}/pty.so %dir %{ruby_libarchdir}/racc %{ruby_libarchdir}/racc/cparse.so %{ruby_libarchdir}/rbconfig.rb %dir %{ruby_libarchdir}/rbconfig %{ruby_libarchdir}/rbconfig/*.so %{ruby_libarchdir}/readline.so %{ruby_libarchdir}/ripper.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.* %{_rpmconfigdir}/macros.d/macros.ruby %{_datadir}/ruby/vendor_ruby %{_libdir}/ruby/vendor_ruby %dir %{gem_dir}/specifications/default %{gem_dir}/specifications/default/abbrev-0.1.0.gemspec %{gem_dir}/specifications/default/base64-0.1.1.gemspec %{gem_dir}/specifications/default/benchmark-0.2.0.gemspec %{gem_dir}/specifications/default/cgi-0.3.6.gemspec %{gem_dir}/specifications/default/csv-3.2.5.gemspec %{gem_dir}/specifications/default/date-3.2.2.gemspec %{gem_dir}/specifications/default/delegate-0.2.0.gemspec %{gem_dir}/specifications/default/did_you_mean-%{did_you_mean_version}.gemspec %{gem_dir}/specifications/default/digest-3.1.0.gemspec %{gem_dir}/specifications/default/drb-2.1.0.gemspec %{gem_dir}/specifications/default/english-0.7.1.gemspec %{gem_dir}/specifications/default/erb-%{erb_version}.gemspec %{gem_dir}/specifications/default/error_highlight-0.3.0.gemspec %{gem_dir}/specifications/default/etc-1.3.0.gemspec %{gem_dir}/specifications/default/fcntl-1.0.1.gemspec %{gem_dir}/specifications/default/fiddle-1.1.0.gemspec %{gem_dir}/specifications/default/fileutils-1.6.0.gemspec %{gem_dir}/specifications/default/find-0.1.1.gemspec %{gem_dir}/specifications/default/forwardable-1.3.2.gemspec %{gem_dir}/specifications/default/getoptlong-0.1.1.gemspec %{gem_dir}/specifications/default/io-nonblock-0.1.0.gemspec %{gem_dir}/specifications/default/io-wait-0.2.1.gemspec %{gem_dir}/specifications/default/ipaddr-1.2.4.gemspec %{gem_dir}/specifications/default/logger-1.5.0.gemspec %{gem_dir}/specifications/default/mutex_m-0.1.1.gemspec %{gem_dir}/specifications/default/net-http-0.3.0.gemspec %{gem_dir}/specifications/default/net-protocol-0.1.2.gemspec %{gem_dir}/specifications/default/nkf-0.1.1.gemspec %{gem_dir}/specifications/default/observer-0.1.1.gemspec %{gem_dir}/specifications/default/open3-0.1.1.gemspec %{gem_dir}/specifications/default/openssl-%{openssl_version}.gemspec %{gem_dir}/specifications/default/open-uri-0.2.0.gemspec %{gem_dir}/specifications/default/optparse-0.2.0.gemspec %{gem_dir}/specifications/default/ostruct-0.5.2.gemspec %{gem_dir}/specifications/default/pathname-0.2.0.gemspec %{gem_dir}/specifications/default/pp-0.3.0.gemspec %{gem_dir}/specifications/default/prettyprint-0.1.1.gemspec %{gem_dir}/specifications/default/pstore-0.1.1.gemspec %{gem_dir}/specifications/default/racc-%{racc_version}.gemspec %{gem_dir}/specifications/default/readline-0.0.3.gemspec %{gem_dir}/specifications/default/readline-ext-0.1.4.gemspec %{gem_dir}/specifications/default/reline-0.3.1.gemspec %{gem_dir}/specifications/default/resolv-0.2.1.gemspec %{gem_dir}/specifications/default/resolv-replace-0.1.0.gemspec %{gem_dir}/specifications/default/rinda-0.1.1.gemspec %{gem_dir}/specifications/default/ruby2_keywords-0.0.5.gemspec %{gem_dir}/specifications/default/securerandom-0.2.0.gemspec %{gem_dir}/specifications/default/set-1.0.2.gemspec %{gem_dir}/specifications/default/shellwords-0.1.0.gemspec %{gem_dir}/specifications/default/singleton-0.1.1.gemspec %{gem_dir}/specifications/default/stringio-3.0.1.gemspec %{gem_dir}/specifications/default/strscan-3.0.1.gemspec %{gem_dir}/specifications/default/syslog-0.1.0.gemspec %{gem_dir}/specifications/default/tempfile-0.1.2.gemspec %{gem_dir}/specifications/default/time-0.2.2.gemspec %{gem_dir}/specifications/default/timeout-0.2.0.gemspec %{gem_dir}/specifications/default/tmpdir-0.1.2.gemspec %{gem_dir}/specifications/default/tsort-0.1.0.gemspec %{gem_dir}/specifications/default/un-0.2.0.gemspec %{gem_dir}/specifications/default/uri-0.12.1.gemspec %{gem_dir}/specifications/default/weakref-0.1.1.gemspec %{gem_dir}/specifications/default/yaml-0.2.0.gemspec %{gem_dir}/specifications/default/zlib-2.1.1.gemspec %{gem_dir}/gems/erb-%{erb_version} %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 %{_mandir}/man1/irb.1* %{gem_dir}/specifications/irb-%{irb_version}.gemspec %{gem_dir}/gems/irb-%{irb_version} %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 %{_rpmconfigdir}/macros.d/macros.rubygems %dir %{rubygems_dir} %{rubygems_dir}/rubygems %{rubygems_dir}/rubygems.rb %{_rpmconfigdir}/fileattrs/rubygems.attr %{_rpmconfigdir}/rubygems.req %{_rpmconfigdir}/rubygems.prov %{_rpmconfigdir}/rubygems.con %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 %{_mandir}/man5/gemfile.5* %endif %exclude %{gem_dir}/cache/* %if %build_rdoc %files rdoc %endif %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/rdoc-%{rdoc_version}.gemspec %if %build_json %files json %{_libdir}/gems/%{name}/json-%{json_version} %endif %exclude_json %{ruby_libdir}/json* %exclude_json %{gem_dir}/gems/json-%{json_version} %exclude_json %{gem_dir}/specifications/json-%{json_version}.gemspec %if %build_bigdecimal %files bigdecimal %{ruby_libarchdir}/bigdecimal.so %{_libdir}/gems/ruby/bigdecimal-%{bigdecimal_version} %endif %exclude_bigdecimal %{ruby_libdir}/bigdecimal %exclude_bigdecimal %{gem_dir}/gems/bigdecimal-%{bigdecimal_version} %exclude_bigdecimal %{gem_dir}/specifications/bigdecimal-%{bigdecimal_version}.gemspec %files psych %{ruby_libdir}/psych %{ruby_libdir}/psych.rb %{ruby_libarchdir}/psych.so %{gem_dir}/specifications/default/psych-%{psych_version}.gemspec %files bundler %{_bindir}/bundle %{_bindir}/bundler %{gem_dir}/gems/bundler-%{bundler_version} %{gem_dir}/specifications/bundler-%{bundler_version}.gemspec %{_mandir}/man1/bundle* %files bundled-gems %{_bindir}/rdbg %dir %{_libdir}/gems/%{name}/debug-%{debug_version} %{_libdir}/gems/%{name}/debug-%{debug_version}/gem.build_complete %dir %{_libdir}/gems/%{name}/debug-%{debug_version}/debug %{_libdir}/gems/%{name}/debug-%{debug_version}/debug/debug.so %dir %{gem_dir}/gems/debug-%{debug_version} %exclude %{gem_dir}/gems/debug-%{debug_version}/.* %doc %{gem_dir}/gems/debug-%{debug_version}/CONTRIBUTING.md %{gem_dir}/gems/debug-%{debug_version}/Gemfile %license %{gem_dir}/gems/debug-%{debug_version}/LICENSE.txt %doc %{gem_dir}/gems/debug-%{debug_version}/README.md %{gem_dir}/gems/debug-%{debug_version}/Rakefile %doc %{gem_dir}/gems/debug-%{debug_version}/TODO.md %{gem_dir}/gems/debug-%{debug_version}/exe %{gem_dir}/gems/debug-%{debug_version}/lib %{gem_dir}/gems/debug-%{debug_version}/misc %{gem_dir}/specifications/debug-%{debug_version}.gemspec %dir %{gem_dir}/gems/net-ftp-%{net_ftp_version} %{gem_dir}/gems/net-ftp-%{net_ftp_version}/Gemfile %license %{gem_dir}/gems/net-ftp-%{net_ftp_version}/LICENSE.txt %doc %{gem_dir}/gems/net-ftp-%{net_ftp_version}/README.md %{gem_dir}/gems/net-ftp-%{net_ftp_version}/Rakefile %{gem_dir}/gems/net-ftp-%{net_ftp_version}/bin %{gem_dir}/gems/net-ftp-%{net_ftp_version}/lib %{gem_dir}/specifications/net-ftp-%{net_ftp_version}.gemspec %dir %{gem_dir}/gems/net-imap-%{net_imap_version} %{gem_dir}/gems/net-imap-%{net_imap_version}/Gemfile %license %{gem_dir}/gems/net-imap-%{net_imap_version}/LICENSE.txt %doc %{gem_dir}/gems/net-imap-%{net_imap_version}/README.md %{gem_dir}/gems/net-imap-%{net_imap_version}/Rakefile %{gem_dir}/gems/net-imap-%{net_imap_version}/lib %{gem_dir}/specifications/net-imap-%{net_imap_version}.gemspec %dir %{gem_dir}/gems/net-pop-%{net_pop_version} %{gem_dir}/gems/net-pop-%{net_pop_version}/Gemfile %license %{gem_dir}/gems/net-pop-%{net_pop_version}/LICENSE.txt %doc %{gem_dir}/gems/net-pop-%{net_pop_version}/README.md %{gem_dir}/gems/net-pop-%{net_pop_version}/Rakefile %{gem_dir}/gems/net-pop-%{net_pop_version}/bin %{gem_dir}/gems/net-pop-%{net_pop_version}/lib %{gem_dir}/specifications/net-pop-%{net_pop_version}.gemspec %dir %{gem_dir}/gems/net-smtp-%{net_smtp_version} %license %{gem_dir}/gems/net-smtp-%{net_smtp_version}/LICENSE.txt %{gem_dir}/gems/net-smtp-%{net_smtp_version}/lib %{gem_dir}/specifications/net-smtp-%{net_smtp_version}.gemspec %dir %{gem_dir}/gems/matrix-%{matrix_version} %license %{gem_dir}/gems/matrix-%{matrix_version}/LICENSE.txt %{gem_dir}/gems/matrix-%{matrix_version}/lib %{gem_dir}/specifications/matrix-%{matrix_version}.gemspec %dir %{gem_dir}/gems/prime-%{prime_version} %{gem_dir}/gems/prime-%{prime_version}/Gemfile %license %{gem_dir}/gems/prime-%{prime_version}/LICENSE.txt %doc %{gem_dir}/gems/prime-%{prime_version}/README.md %{gem_dir}/gems/prime-%{prime_version}/Rakefile %{gem_dir}/gems/prime-%{prime_version}/bin %{gem_dir}/gems/prime-%{prime_version}/lib %{gem_dir}/specifications/prime-%{prime_version}.gemspec %if %build_minitest %files minitest %endif %exclude_minitest %{gem_dir}/gems/minitest-%{minitest_version} %exclude %{gem_dir}/gems/minitest-%{minitest_version}/.* %exclude_minitest %{gem_dir}/specifications/minitest-%{minitest_version}.gemspec %files power_assert %dir %{gem_dir}/gems/power_assert-%{power_assert_version} %exclude %{gem_dir}/gems/power_assert-%{power_assert_version}/.* %license %{gem_dir}/gems/power_assert-%{power_assert_version}/BSDL %license %{gem_dir}/gems/power_assert-%{power_assert_version}/COPYING %license %{gem_dir}/gems/power_assert-%{power_assert_version}/LEGAL %{gem_dir}/gems/power_assert-%{power_assert_version}/lib %{gem_dir}/specifications/power_assert-%{power_assert_version}.gemspec %{gem_dir}/gems/power_assert-%{power_assert_version}/Gemfile %doc %{gem_dir}/gems/power_assert-%{power_assert_version}/README.md %{gem_dir}/gems/power_assert-%{power_assert_version}/Rakefile %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 %files rbs %{_bindir}/rbs %dir %{_libdir}/gems/%{name}/rbs-%{rbs_version} %{_libdir}/gems/%{name}/rbs-%{rbs_version}/gem.build_complete %{_libdir}/gems/%{name}/rbs-%{rbs_version}/rbs_extension.so %dir %{gem_dir}/gems/rbs-%{rbs_version} %exclude %{gem_dir}/gems/rbs-%{rbs_version}/.* %license %{gem_dir}/gems/rbs-%{rbs_version}/BSDL %doc %{gem_dir}/gems/rbs-%{rbs_version}/CHANGELOG.md %license %{gem_dir}/gems/rbs-%{rbs_version}/COPYING %{gem_dir}/gems/rbs-%{rbs_version}/Gemfile* %doc %{gem_dir}/gems/rbs-%{rbs_version}/README.md %{gem_dir}/gems/rbs-%{rbs_version}/Rakefile %{gem_dir}/gems/rbs-%{rbs_version}/Steepfile %{gem_dir}/gems/rbs-%{rbs_version}/core %doc %{gem_dir}/gems/rbs-%{rbs_version}/docs %{gem_dir}/gems/rbs-%{rbs_version}/exe %{gem_dir}/gems/rbs-%{rbs_version}/goodcheck.yml %{gem_dir}/gems/rbs-%{rbs_version}/lib %{gem_dir}/gems/rbs-%{rbs_version}/schema %{gem_dir}/gems/rbs-%{rbs_version}/sig %{gem_dir}/gems/rbs-%{rbs_version}/stdlib %{gem_dir}/gems/rbs-%{rbs_version}/steep %{gem_dir}/specifications/rbs-%{rbs_version}.gemspec %files rexml %dir %{gem_dir}/gems/rexml-%{rexml_version} %license %{gem_dir}/gems/rexml-%{rexml_version}/LICENSE.txt %doc %{gem_dir}/gems/rexml-%{rexml_version}/NEWS.md %doc %{gem_dir}/gems/rexml-%{rexml_version}/doc %{gem_dir}/gems/rexml-%{rexml_version}/lib %{gem_dir}/specifications/rexml-%{rexml_version}.gemspec %doc %{gem_dir}/gems/rexml-%{rexml_version}/README.md %files rss %dir %{gem_dir}/gems/rss-%{rss_version} %exclude %{gem_dir}/gems/rss-%{rss_version}/.* %license %{gem_dir}/gems/rss-%{rss_version}/LICENSE.txt %doc %{gem_dir}/gems/rss-%{rss_version}/NEWS.md %{gem_dir}/gems/rss-%{rss_version}/lib %{gem_dir}/specifications/rss-%{rss_version}.gemspec %doc %{gem_dir}/gems/rss-%{rss_version}/Gemfile %doc %{gem_dir}/gems/rss-%{rss_version}/README.md %doc %{gem_dir}/gems/rss-%{rss_version}/Rakefile %doc %{gem_dir}/gems/rss-%{rss_version}/test %files typeprof %dir %{gem_dir}/gems/typeprof-%{typeprof_version} %{_bindir}/typeprof %exclude %{gem_dir}/gems/typeprof-%{typeprof_version}/.* %license %{gem_dir}/gems/typeprof-%{typeprof_version}/LICENSE %{gem_dir}/gems/typeprof-%{typeprof_version}/exe %{gem_dir}/gems/typeprof-%{typeprof_version}/lib %doc %{gem_dir}/gems/typeprof-%{typeprof_version}/tools %exclude %{gem_dir}/gems/typeprof-%{typeprof_version}/typeprof-lsp %{gem_dir}/specifications/typeprof-%{typeprof_version}.gemspec %doc %{gem_dir}/gems/typeprof-%{typeprof_version}/Gemfile* %doc %{gem_dir}/gems/typeprof-%{typeprof_version}/README.md %doc %{gem_dir}/gems/typeprof-%{typeprof_version}/Rakefile %changelog * Thu Apr 13 2023 pterjan <pterjan> 3.1.4-44.mga9 + Revision: 1952870 - Bump release to get back all subpakages * Wed Apr 05 2023 pterjan <pterjan> 3.1.4-43.mga9 + Revision: 1951512 - Update to 3.1.4 (CVE-2023-28755, CVE-2023-28756) * Fri Dec 09 2022 pterjan <pterjan> 3.1.3-43.mga9 + Revision: 1920101 - Disable minitest, we currently have a newer gem - Update to 3.1.3 and sync some patches with Fedora * Thu Apr 14 2022 pterjan <pterjan> 3.1.2-42.mga9 + Revision: 1849372 - Fix build on armv7hl * Thu Apr 14 2022 pterjan <pterjan> 3.1.2-41.mga9 + Revision: 1849345 - Update to 3.1.2 and sync with Fedora on extension installation * Fri Mar 25 2022 umeabot <umeabot> 3.1.0-40.mga9 + Revision: 1825697 - Mageia 9 Mass Rebuild * Sat Feb 26 2022 pterjan <pterjan> 3.1.0-39.mga9 + Revision: 1785710 - Do not emit rich dependencies for ~> * Fri Feb 25 2022 pterjan <pterjan> 3.1.0-38.mga9 + Revision: 1784868 - Add missing provides of rubygem(racc) * Fri Feb 25 2022 pterjan <pterjan> 3.1.0-37.mga9 + Revision: 1784549 - Fix move of binary extensions on armv7hl * Thu Feb 24 2022 pterjan <pterjan> 3.1.0-36.mga9 + Revision: 1784231 - Commit again ruby 3.1.0, resolving an old minor conflict on ruby.spec reverted all my recent changes - Install rubygems.con - Update to 3.1.0 and get much closer to Fedora packaging to ease future updates + wally <wally> - rebuild for openssl 3.0.0 * Thu Aug 05 2021 luigiwalser <luigiwalser> 2.7.2-35.mga9 + Revision: 1739668 - rebuild for libffi + tv <tv> - move macros into /usr/lib/rpm/macros.d/, /etc/rpm/macros.d is unofficial and we wan't to drop the patch for it - Fix passing ldflags to gems * Tue Apr 27 2021 pterjan <pterjan> 2.7.2-34.mga9 + Revision: 1720163 - Rebuild to hopefully help with gcc commands name change * Tue Nov 10 2020 pterjan <pterjan> 2.7.2-33.mga8 + Revision: 1644398 - Dependency generator now wants ruby(release) which is the package with ruby libs * Sat Oct 17 2020 pterjan <pterjan> 2.7.2-32.mga8 + Revision: 1636656 - Update to 2.7.2 * Mon Jun 22 2020 joequant <joequant> 2.7.1-31.mga8 + Revision: 1598468 - rebuild * Sun Jun 21 2020 wally <wally> 2.7.1-30.mga8 + Revision: 1598349 - add patch to fix build with autoconf git + martinw <martinw> - rebuild for new libffi major * Sun Apr 05 2020 pterjan <pterjan> 2.7.1-29.mga8 + Revision: 1564990 - Revert accidental changes to uby-2.1.0-custom-rubygems-location.patch - Update to 2.7.1 * Sat Mar 28 2020 pterjan <pterjan> 2.7.0-28.mga8 + Revision: 1561998 - Disable minitest, the gem was updated to a new version - Fix racc accidentally also being in bundler - Stop building racc, gem has been updated to a newer version * Wed Mar 04 2020 pterjan <pterjan> 2.7.0-27.mga8 + Revision: 1553852 - Set cflags/cxxflags/ldflags when building gems * Mon Mar 02 2020 pterjan <pterjan> 2.7.0-26.mga8 + Revision: 1553058 - Require did_you_mean which is unfortunately mandatory * Mon Mar 02 2020 pterjan <pterjan> 2.7.0-25.mga8 + Revision: 1553045 - Update gem_build to use --document=ri,rdoc instead of --rdoc --ri * Mon Mar 02 2020 pterjan <pterjan> 2.7.0-24.mga8 + Revision: 1553038 - Fix some directories replaced with symlinks * Mon Mar 02 2020 pterjan <pterjan> 2.7.0-23.mga8 + Revision: 1552752 - Sync a bit more with fedora, in particular moving some files to a better place - Update file lists and various other fixes - Add some test workarounds from Fedora - Update to 2.7.0 and sync patches from Fedora * Wed Feb 19 2020 umeabot <umeabot> 2.5.7-22.mga8 + Revision: 1542336 - Mageia 8 Mass Rebuild + wally <wally> - replace deprecated %%configure2_5x * Sat Jan 04 2020 luigiwalser <luigiwalser> 2.5.7-21.mga8 + Revision: 1476009 - rebuild for readline + wally <wally> - replace deprecated %%makeinstall_std * Sun Dec 22 2019 pterjan <pterjan> 2.5.7-20.mga8 + Revision: 1469562 - Add upstream patch fixing tests with recent openssl - Update to 2.5.7 (my work on 2.6.5 is still not finished and 2.7 is arriving this month...) * 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