# Generated from nio4r-1.2.1.gem by gem2rpm -*- rpm-spec -*- %global gem_name nio4r %global libev_version 4.24 Name: rubygem-%{gem_name} Version: 2.1.0 Release: 4%{?dist} Summary: New IO for Ruby Group: Development/Languages # The entire source code is MIT, bundled libev is BSD or GPLv2+ License: MIT and (BSD or GPLv2+) URL: https://github.com/socketry/nio4r Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem BuildRequires: ruby(release) BuildRequires: rubygems-devel BuildRequires: ruby-devel BuildRequires: rubygem(rspec) # As bundled libev ev.c is modified from original one, # we have to use the bundled libev instead of separating it and # using system libev. # See below commits. # Release the GIL when libev polls # https://github.com/socketry/nio4r/commit/6801433 # A more productive message re: GVL # https://github.com/socketry/nio4r/commit/fba5c68 Provides: bundled(libev) = %{libev_version} %description Cross-platform asynchronous I/O primitives for scalable network clients and servers. Inspired by the Java NIO API, but simplified for ease-of-use. %package doc Summary: Documentation for %{name} Group: Documentation Requires: %{name} = %{version}-%{release} BuildArch: noarch %description doc Documentation for %{name}. %prep gem unpack %{SOURCE0} %setup -q -D -T -n %{gem_name}-%{version} gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec %build # Create the gem as gem install only works on a gem file gem build %{gem_name}.gemspec # Update %%optflags used in %%gem_install to avoid strict-aliasing warnings. # https://github.com/socketry/nio4r/pull/130 # http://pkgs.fedoraproject.org/cgit/rpms/rubygems.git/tree/macros.rubygems %global optflags %{?optflags} -fno-strict-aliasing # %%gem_install compiles any C extensions and installs the gem into ./%%gem_dir # by default, so that we can move it into the buildroot in %%install %gem_install %install mkdir -p %{buildroot}%{gem_dir} cp -a .%{gem_dir}/* \ %{buildroot}%{gem_dir}/ mkdir -p %{buildroot}%{gem_extdir_mri} cp -a .%{gem_extdir_mri}/{gem.build_complete,*.so} %{buildroot}%{gem_extdir_mri}/ # Prevent dangling symlink in -debuginfo (rhbz#878863). rm -rf %{buildroot}%{gem_instdir}/ext/ # Run the test suite %check pushd .%{gem_instdir} # Check libev version correctness. EV_VERSION_MAJOR=$(grep EV_VERSION_MAJOR ext/libev/ev.h | cut -d ' ' -f3) EV_VERSION_MINOR=$(grep EV_VERSION_MINOR ext/libev/ev.h | cut -d ' ' -f3) [ "${EV_VERSION_MAJOR}.${EV_VERSION_MINOR}" = '%{libev_version}' ] # Ignore code coverage and bundler. sed -i '/require "coveralls"/ s/^/#/' spec/spec_helper.rb sed -i '/Coveralls.wear!/ s/^/#/' spec/spec_helper.rb # Ignore rspec-retry. # https://github.com/socketry/nio4r/commit/e718068 sed -i '/require "rspec\/retry"/ s/^/#/' spec/spec_helper.rb sed -i '/config.verbose_retry/ s/^/#/' spec/spec_helper.rb sed -i '/config.display_try_failure_messages/ s/^/#/' spec/spec_helper.rb sed -i 's/, retry: [0-9]\+//' spec/nio/selectables/tcp_socket_spec.rb sed -i 's/, retry: [0-9]\+//' spec/support/selectable_examples.rb # NIO::Selector is slow at i686 environment. sed -i '/TIMEOUT_PRECISION/ s/0.1/0.5/' spec/nio/selector_spec.rb sed -i '/^ it "wakes up if signaled to from another thread" do$/,/^ end$/ s/0.1/0.5/' \ spec/nio/selector_spec.rb # Load nio4r_ext.so. rspec -I$(dirs +1)%{gem_extdir_mri} spec popd %files %dir %{gem_instdir} %{gem_extdir_mri} %exclude %{gem_instdir}/.* %license %{gem_instdir}/LICENSE.txt %{gem_libdir} %exclude %{gem_cache} %{gem_spec} %files doc %doc %{gem_docdir} %{gem_instdir}/Gemfile %doc %{gem_instdir}/README.md %doc %{gem_instdir}/CHANGES.md %{gem_instdir}/logo.png %{gem_instdir}/tasks %{gem_instdir}/Guardfile %{gem_instdir}/Rakefile %{gem_instdir}/examples %{gem_instdir}/nio4r.gemspec %{gem_instdir}/spec %changelog * Thu Aug 03 2017 Fedora Release Engineering - 2.1.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Thu Jul 27 2017 Fedora Release Engineering - 2.1.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Wed May 31 2017 Jun Aruga - 2.1.0-2 - Add check of libev version correctness. * Mon May 29 2017 Jun Aruga - 2.1.0-1 - Update to nio4r 2.1.0. * Wed Mar 22 2017 Jun Aruga - 2.0.0-1 - Update to nio4r 2.0.0. * Tue Feb 21 2017 Jun Aruga - 1.2.1-5 - Add flag to avoid warnings from strict-aliasing optimization. * Sat Feb 11 2017 Fedora Release Engineering - 1.2.1-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Thu Jan 12 2017 Vít Ondruch - 1.2.1-3 - Rebuilt for https://fedoraproject.org/wiki/Changes/Ruby_2.4 * Thu Jun 30 2016 Jun Aruga - 1.2.1-2 - Swap the description and summary * Tue Jun 28 2016 Jun Aruga - 1.2.1-1 - Initial package