commit:     3dfc448531890d921a1f333ba33a093291c8b98e
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Apr  2 23:41:19 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Apr  3 00:46:29 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3dfc4485

dev-ruby/sus-fixtures-async: new package, add 0.1.1

Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-ruby/sus-fixtures-async/Manifest               |  1 +
 .../sus-fixtures-async-0.1.1-tests-require.patch   | 43 ++++++++++++++++++++++
 dev-ruby/sus-fixtures-async/metadata.xml           | 11 ++++++
 .../sus-fixtures-async-0.1.1.ebuild                | 37 +++++++++++++++++++
 4 files changed, 92 insertions(+)

diff --git a/dev-ruby/sus-fixtures-async/Manifest 
b/dev-ruby/sus-fixtures-async/Manifest
new file mode 100644
index 000000000000..3b8571b90174
--- /dev/null
+++ b/dev-ruby/sus-fixtures-async/Manifest
@@ -0,0 +1 @@
+DIST sus-fixtures-async-0.1.1.tar.gz 5017 BLAKE2B 
f293d9fe336b05e510a82c4337250f48b871eab8c38b7d9587a6402d19689197eb6a2b1f7f14e7b5823246b6f14d104e7e49f14f84a980392dd545543ffcd733
 SHA512 
cca073491d143b0ceaff34ada08d416ea43a035bc887c6dec02f62372724d891f47e9dfa8d749f6e485e7d14da8c395dc67185ed0a91d9ea0eb5466d3164c378

diff --git 
a/dev-ruby/sus-fixtures-async/files/sus-fixtures-async-0.1.1-tests-require.patch
 
b/dev-ruby/sus-fixtures-async/files/sus-fixtures-async-0.1.1-tests-require.patch
new file mode 100644
index 000000000000..af89916b7c5f
--- /dev/null
+++ 
b/dev-ruby/sus-fixtures-async/files/sus-fixtures-async-0.1.1-tests-require.patch
@@ -0,0 +1,43 @@
+https://github.com/socketry/sus-fixtures-async/pull/2
+
+From 3d3a1016c1718a8a5eca6ee76cd65d88a66e2481 Mon Sep 17 00:00:00 2001
+From: Sam James <[email protected]>
+Date: Mon, 3 Apr 2023 00:36:26 +0100
+Subject: [PATCH] test: Fix version require
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+When running e.g. 'ruby32 -S sus', I had:
+```
+🔥 Errored assertions:
+file test/sus/fixtures/async.rb:8
+        âš  NameError: uninitialized constant Sus::Fixtures::Async::VERSION
+                test/sus/fixtures/async.rb:8 block in <top (required)>
+                /usr/lib64/ruby/gems/3.2.0/gems/sus-0.20.3/lib/sus/file.rb:10 
class_eval
+                /usr/lib64/ruby/gems/3.2.0/gems/sus-0.20.3/lib/sus/file.rb:10 
block in <top (required)>
+                /usr/lib64/ruby/gems/3.2.0/gems/sus-0.20.3/lib/sus/file.rb:39 
build
+                /usr/lib64/ruby/gems/3.2.0/gems/sus-0.20.3/lib/sus/file.rb:105 
file
+                
/usr/lib64/ruby/gems/3.2.0/gems/sus-0.20.3/lib/sus/registry.rb:50 load_file
+                
/usr/lib64/ruby/gems/3.2.0/gems/sus-0.20.3/lib/sus/registry.rb:45 load
+                
/usr/lib64/ruby/gems/3.2.0/gems/sus-0.20.3/lib/sus/config.rb:95 block in 
load_registry
+                
/usr/lib64/ruby/gems/3.2.0/gems/sus-0.20.3/lib/sus/config.rb:94 each
+                
/usr/lib64/ruby/gems/3.2.0/gems/sus-0.20.3/lib/sus/config.rb:94 load_registry
+                
/usr/lib64/ruby/gems/3.2.0/gems/sus-0.20.3/lib/sus/config.rb:82 registry
+                /usr/lib64/ruby/gems/3.2.0/gems/sus-0.20.3/bin/sus:10 <top 
(required)>
+                /usr/bin/sus:9 load
+                /usr/bin/sus:9 <main>
+```
+
+It turns out we're missing a direct require, so chuck it in.
+--- a/test/sus/fixtures/async.rb
++++ b/test/sus/fixtures/async.rb
+@@ -4,6 +4,7 @@
+ # Copyright, 2022, by Samuel Williams.
+ 
+ require 'sus/fixtures/async'
++require 'sus/fixtures/async/version'
+ 
+ describe Sus::Fixtures::Async::VERSION do
+       it 'is a version string' do
+

diff --git a/dev-ruby/sus-fixtures-async/metadata.xml 
b/dev-ruby/sus-fixtures-async/metadata.xml
new file mode 100644
index 000000000000..8b415315d6d1
--- /dev/null
+++ b/dev-ruby/sus-fixtures-async/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+  <maintainer type="project">
+    <email>[email protected]</email>
+    <name>Gentoo Ruby Project</name>
+  </maintainer>
+  <upstream>
+    <remote-id type="github">socketry/sus-fixtures-async</remote-id>
+  </upstream>
+</pkgmetadata>

diff --git a/dev-ruby/sus-fixtures-async/sus-fixtures-async-0.1.1.ebuild 
b/dev-ruby/sus-fixtures-async/sus-fixtures-async-0.1.1.ebuild
new file mode 100644
index 000000000000..c1969443f83f
--- /dev/null
+++ b/dev-ruby/sus-fixtures-async/sus-fixtures-async-0.1.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby27 ruby30 ruby31 ruby32"
+
+RUBY_FAKEGEM_EXTRADOC="readme.md"
+RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
+RUBY_FAKEGEM_RECIPE_TEST="sus"
+
+inherit ruby-fakegem
+
+DESCRIPTION="Convenient fixture for testing async components in a reactor"
+HOMEPAGE="https://github.com/socketry/sus-fixtures-async";
+SRC_URI="https://github.com/socketry/sus-fixtures-async/archive/v${PV}.tar.gz 
-> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+ruby_add_rdepend "
+       dev-ruby/async
+       dev-ruby/sus
+"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-0.1.1-tests-require.patch
+)
+
+all_ruby_prepare() {
+       sed -i -E 's/require_relative "(.+)"/require File.expand_path("\1")/g' 
"${RUBY_FAKEGEM_GEMSPEC}" || die
+
+       # Remove the sus configuration which enabled coverage checks.
+       # Its dependency is not packaged.
+       rm -f config/sus.rb || die
+}

Reply via email to