commit: 75430c8e80559509f1e08aacb36aa2dc3ba5746e Author: Hans de Graaff <graaff <AT> gentoo <DOT> org> AuthorDate: Mon Apr 29 16:57:01 2019 +0000 Commit: Hans de Graaff <graaff <AT> gentoo <DOT> org> CommitDate: Mon Apr 29 16:57:41 2019 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=75430c8e
dev-ruby/childprocess: fix ruby26 compatibility https://github.com/enkessler/childprocess/pull/149 Signed-off-by: Hans de Graaff <graaff <AT> gentoo.org> Package-Manager: Portage-2.3.62, Repoman-2.3.11 dev-ruby/childprocess/childprocess-1.0.1-r1.ebuild | 43 ++++++++++++++++++++++ .../files/childprocess-1.0.1-ruby26-reopen.patch | 23 ++++++++++++ 2 files changed, 66 insertions(+) diff --git a/dev-ruby/childprocess/childprocess-1.0.1-r1.ebuild b/dev-ruby/childprocess/childprocess-1.0.1-r1.ebuild new file mode 100644 index 00000000000..31146115840 --- /dev/null +++ b/dev-ruby/childprocess/childprocess-1.0.1-r1.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +USE_RUBY="ruby24 ruby25 ruby26" + +RUBY_FAKEGEM_RECIPE_TEST="rspec3" + +RUBY_FAKEGEM_RECIPE_DOC="rdoc" +RUBY_FAKEGEM_EXTRADOC="README.md" + +RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec" + +inherit ruby-fakegem + +DESCRIPTION="Solution for controlling external programs running in the background" +HOMEPAGE="https://github.com/jarib/childprocess" + +LICENSE="MIT" +SLOT="2" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86" +IUSE="" + +ruby_add_rdepend ">=dev-ruby/ffi-1.0.11" + +all_ruby_prepare() { + eapply "${FILESDIR}/${P}-ruby26-reopen.patch" + + # Remove bundler support + rm Gemfile || die + sed -i -e "/[Bb]undler/d" Rakefile || die + sed -i -e "/[Cc]overalls/d" spec/spec_helper.rb || die + sed -i -e 's/git ls-files/find/' ${RUBY_FAKEGEM_GEMSPEC} || die +} + +each_ruby_prepare() { + sed -i -e "s:'ruby':'"${RUBY}"':" spec/childprocess_spec.rb || die +} + +each_ruby_test() { + RUBYLIB=lib RSPEC_VERSION=3 ruby-ng_rspec +} diff --git a/dev-ruby/childprocess/files/childprocess-1.0.1-ruby26-reopen.patch b/dev-ruby/childprocess/files/childprocess-1.0.1-ruby26-reopen.patch new file mode 100644 index 00000000000..11f94421829 --- /dev/null +++ b/dev-ruby/childprocess/files/childprocess-1.0.1-ruby26-reopen.patch @@ -0,0 +1,23 @@ +diff --git a/lib/childprocess/unix/fork_exec_process.rb b/lib/childprocess/unix/fork_exec_process.rb +index 5ed2a79..cc7a850 100644 +--- a/lib/childprocess/unix/fork_exec_process.rb ++++ b/lib/childprocess/unix/fork_exec_process.rb +@@ -29,8 +29,16 @@ module ChildProcess + exec_r.close + set_env + +- STDOUT.reopen(stdout || "/dev/null") +- STDERR.reopen(stderr || "/dev/null") ++ if stdout ++ STDOUT.reopen(stdout) ++ else ++ STDOUT.reopen("/dev/null", "a+") ++ end ++ if stderr ++ STDERR.reopen(stderr) ++ else ++ STDERR.reopen("/dev/null", "a+") ++ end + + if duplex? + STDIN.reopen(reader)
