diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..14ff119 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/nio4r-1.2.1.gem diff --git a/.rh-ror50-rubygem-nio4r.metadata b/.rh-ror50-rubygem-nio4r.metadata new file mode 100644 index 0000000..f21b23d --- /dev/null +++ b/.rh-ror50-rubygem-nio4r.metadata @@ -0,0 +1 @@ +1006ad688d3d22fa736aecaa6c9a4e1153f16ac7 SOURCES/nio4r-1.2.1.gem diff --git a/README.md b/README.md deleted file mode 100644 index 98f42b4..0000000 --- a/README.md +++ /dev/null @@ -1,4 +0,0 @@ -The master branch has no content - -Look at the c7 branch if you are working with CentOS-7, or the c4/c5/c6 branch for CentOS-4, 5 or 6 -If you find this file in a distro specific branch, it means that no content has been checked in yet diff --git a/SPECS/rubygem-nio4r.spec b/SPECS/rubygem-nio4r.spec new file mode 100644 index 0000000..14ff3b5 --- /dev/null +++ b/SPECS/rubygem-nio4r.spec @@ -0,0 +1,145 @@ +%{?scl:%scl_package rubygem-%{gem_name}} +%{!?scl:%global pkg_name %{name}} + +# Generated from nio4r-1.2.1.gem by gem2rpm -*- rpm-spec -*- +%global gem_name nio4r + +Name: %{?scl_prefix}rubygem-%{gem_name} +Version: 1.2.1 +Release: 3%{?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/celluloid/nio4r +Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem + +Requires: %{?scl_prefix_ruby}ruby(release) +Requires: %{?scl_prefix_ruby}ruby(rubygems) +BuildRequires: %{?scl_prefix_ruby}ruby(release) +BuildRequires: %{?scl_prefix_ruby}ruby(rubygems) +BuildRequires: %{?scl_prefix_ruby}ruby-devel +BuildRequires: %{?scl_prefix_ruby}rubygems-devel +BuildRequires: %{?scl_prefix}rubygem(rspec) +Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version} + +# Explicitly require runtime subpackage, as long as older scl-utils do not generate it +%{?scl:Requires: %{?scl_prefix}runtime} + +# 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/celluloid/nio4r/commit/6801433 +# A more productive message re: GVL +# https://github.com/celluloid/nio4r/commit/fba5c68 +Provides: %{?scl_prefix}bundled(libev) = 4.22 + +%description +NIO provides a high performance selector API for monitoring IO objects + + +%package doc +Summary: Documentation for %{pkg_name} +Group: Documentation +Requires: %{?scl_prefix}%{pkg_name} = %{version}-%{release} +BuildArch: noarch + +%description doc +Documentation for %{pkg_name}. + +%prep +%{?scl:scl enable %{scl} - << \EOF} +set -e +gem unpack %{SOURCE0} + +%setup -q -D -T -n %{gem_name}-%{version} + +gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec +%{?scl:EOF} + +%build +%{?scl:scl enable %{scl} - << \EOF} +set -e +# 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 +%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 +%{?scl:EOF} + +%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/ + +# Remove useless shebang. +# https://github.com/celluloid/nio4r/pull/86 +sed -i 's|^#!/usr/bin/env rake$||' %{buildroot}%{gem_instdir}/Rakefile + +# Add executable bits to the file with shebang. +# https://github.com/celluloid/nio4r/pull/85 +chmod 755 %{buildroot}%{gem_instdir}/examples/echo_server.rb + + +# Run the test suite +%check +pushd .%{gem_instdir} +# Ignore code coverage and bundler. +sed -i '/require "coveralls"/ s/^/#/' spec/spec_helper.rb +sed -i '/Coveralls.wear!/ s/^/#/' spec/spec_helper.rb +sed -i '/require "bundler\/setup"/ s/^/#/' spec/spec_helper.rb +# Load nio4r_ext.so. +export RUBYOPT="-I$(dirs +1)%{gem_extdir_mri}" +%{?scl:scl enable %{scl} - << \EOF} +rspec spec +%{?scl:EOF} +popd + +%files +# There is no %%license macro on RHEL6. +# https://bugzilla.redhat.com/show_bug.cgi?id=1386246 +%{!?_licensedir:%global license %%doc} + +%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}/Rakefile +%{gem_instdir}/examples +%{gem_instdir}/nio4r.gemspec +%{gem_instdir}/spec + +%changelog +* Wed Feb 22 2017 Jun Aruga - 1.2.1-3 +- Add flag to avoid warnings from strict-aliasing optimization. + +* 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