summaryrefslogtreecommitdiff
path: root/dev-ruby/async
diff options
context:
space:
mode:
Diffstat (limited to 'dev-ruby/async')
-rw-r--r--dev-ruby/async/Manifest5
-rw-r--r--dev-ruby/async/async-1.31.0.ebuild44
-rw-r--r--dev-ruby/async/async-2.5.0.ebuild2
-rw-r--r--dev-ruby/async/files/async-1.31.0-improve-robustness-test.patch49
4 files changed, 98 insertions, 2 deletions
diff --git a/dev-ruby/async/Manifest b/dev-ruby/async/Manifest
index b7ba311548e7..331b1669d3a5 100644
--- a/dev-ruby/async/Manifest
+++ b/dev-ruby/async/Manifest
@@ -1,7 +1,10 @@
+AUX async-1.31.0-improve-robustness-test.patch 1174 BLAKE2B 93c9de3f4d5ad78714cf6152e2071d05e5145f24f014454ec47a79e00c8da71d7d2b9c32ac8fb9c5f425180f059f0ed51c6ca945b88b6d1615c746db25088683 SHA512 a403f0d84f4a0d4a47fe55a011d221a554c42c4755490226776480c659bf9f005c0e5658484f9635b3816ab0075de75b98fdbd6a03033c739ca82e7f8fb3b63b
DIST async-1.30.3.tar.gz 92599 BLAKE2B 69db66676adf2dd0f77142bffc55b1e90a6983c53c7fac444f72b9365f6907e4d2ec45579ea267f3a8f31fc45af63c3517908c353749b288d1873e2cf720f96b SHA512 337a51ca8fd0e6685528e2eca9b584344ba583f7254f2600110ee62da6e4ccabeb471e7d94f36ab6f8d0eb3eada9e23335a262a50c8d035f67708fce0a590e5e
+DIST async-1.31.0.tar.gz 92889 BLAKE2B b573e3106243fd0934387254b302f541a9ebbcd34bd451562bab1d39bcd37c593e2290667b524db7bc862268812a0932a644c670cbaf2a4a5ee240a866e08726 SHA512 f60fb9f4e95d1f579ce5f664abfe96b7196e3e47baf2856b7e97815107e0aa2e807c969839d118b6144372443687568488749547d762863b31d82c8d7e5d45ac
DIST async-2.2.1.tar.gz 75671 BLAKE2B a652bbb99d49c569fd864015059391a013f35c888be1e3b32ae06900bb861274390543c64ac9687689cb012c9b4c82df7764e4aaa50d2e76b595fdc7736ec8f5 SHA512 329862fa30f56371092666bef199b949e6325d99696a7ef2029cf9524a5cea31fc361cfaf438e15731c8e09c06ca47261fd3fcdce306a464332def9897c8dec5
DIST async-2.5.0.tar.gz 84307 BLAKE2B 0aa9042e6e63087c08def6a5bd66f51565addaf8caf1db3ce5cc94afd397e164dfd0e7af40d4f55d05b0bb08cec3c98dc89b5e4345ff053f06617a8ba6a9b0c8 SHA512 caa16d07b2863f236bdd31fc87aa29216a5e32c8182a6e6bf9fd5203cd223350bb1746be02a617f8930c31f2941ce4204f01c5f2fd902c215a1898192afd01c3
EBUILD async-1.30.3.ebuild 1085 BLAKE2B 1e659a38ffcb334ffcc5f4c308058f42c9b09c9932b4d631a0b2177a21bc649db56f81fe412b67b42de12db45673697573070169f65346451ef552feb0024e8d SHA512 fbe133e2cab13eec23cad652eae0eec40000ba5d4e2b17391f87a5943e17d9ebf4ebf8eba5459e669d5c2e0fc30a12c0b3b64ad02f29084e46f8401f25504fb6
+EBUILD async-1.31.0.ebuild 1159 BLAKE2B 869dd99373891ea5d5bdd791b2e70c83ed7119f15fbf82603fb2570ce13759ff738e227708f12f9eefdfb475c803d912dc071ad7e3c82c444eab382529f8d2dd SHA512 3014580b683345214eaef6faea8b43608f8ed0d6aa569c646ed41b40d32b38ab8864236fa1169c8519d90237cb4095660b72a31a69891c40ac4dc1f649a8f7e3
EBUILD async-2.2.1.ebuild 1186 BLAKE2B cbc4c374d1caca55be6c84525c8d5d2b02fb46ff1a9b1ef09cc360cf6c1913432eded53f92f1750ea5baa111b91e637bc249dcbf74948cdaa1db46cc5c2ad824 SHA512 8f88a3ff2f1cef888a65ca857dcee7c0708eea7526ba9f79a709e58fd5820f17c37e86ca102051b1194bea83d0686ec6b229b9951ebefe8c1be1ecd5c9eba0ec
-EBUILD async-2.5.0.ebuild 1121 BLAKE2B 8e7ed13bd0a300749e7d3f4ddbda043de5d58f64d0d4932b4b35aba33f473557f9553e18edaf638cb38e195a5e6f5a9f2dd7a111077f5d8fb7ce70ad0a662360 SHA512 a66b47b985db49a540e4d320455c78d92ed9fc1fa81f696ba2ecb8a32f73d40a4d6b828e0069a21167d94ac8c8d6e544097f82e5c4ad8ea932fe1e14c282a861
+EBUILD async-2.5.0.ebuild 1127 BLAKE2B 030ef9c41479f7f6bd2f436bf6ccc4327ab157d66c0beaa85a96358bfc28b2acc53525f7dba66fdd9fba74c47450dc3f04b1a290343efc7994f89f6fa7ff9a80 SHA512 63d73926d6b8db09e4af47bb5e60e6e7a80b148ca4441f91d1055d36dda40bb0f518064e07ea9415395d472e50f1b2da2acfc37e434b692f1f187f955dbdf1b6
MISC metadata.xml 341 BLAKE2B acbe731aefbd211b23790c22ed97fbc1f83c45cf5ed786aa99fedafa5ca930081e71b3466584846f6e2f7a793da65c82bb4c9c85c15a669ebf5e7db47b74836f SHA512 d96626a4c34ef4981c11dcd07f51a9940d29b2bd8013868f3e5778d2f62a59bf3ca864a370a4d7951ca98079d6d5939d9aa9a4f4ed0233ec5f7fe544fa64fa26
diff --git a/dev-ruby/async/async-1.31.0.ebuild b/dev-ruby/async/async-1.31.0.ebuild
new file mode 100644
index 000000000000..4ab6b816c761
--- /dev/null
+++ b/dev-ruby/async/async-1.31.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby27 ruby30 ruby31"
+
+RUBY_FAKEGEM_RECIPE_TEST="rspec3"
+RUBY_FAKEGEM_EXTRADOC="README.md"
+RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
+
+inherit ruby-fakegem
+
+DESCRIPTION="A concurrency framework for Ruby"
+HOMEPAGE="https://github.com/socketry/async"
+SRC_URI="https://github.com/socketry/async/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="$(ver_cut 1)"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
+
+ruby_add_rdepend ">=dev-ruby/console-1.10:1
+ >=dev-ruby/nio4r-2.3:2
+ >=dev-ruby/timers-4.1:4"
+
+ruby_add_bdepend "test? (
+ >=dev-ruby/async-rspec-1.1:1
+ dev-ruby/benchmark-ips
+)"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-improve-robustness-test.patch
+)
+
+all_ruby_prepare() {
+ sed -i -E 's/require_relative "(.+)"/require File.expand_path("\1")/g' "${RUBY_FAKEGEM_GEMSPEC}" || die
+
+ # Avoid network tests
+ sed -i -e '/can fetch website using Net::HTTP/askip "requires network"' spec/async/scheduler_spec.rb || die
+
+ # Avoid test dependency on unpackaged covered
+ sed -i -e '/covered/ s:^:#:' spec/spec_helper.rb || die
+}
diff --git a/dev-ruby/async/async-2.5.0.ebuild b/dev-ruby/async/async-2.5.0.ebuild
index a37891de18a0..aaecf4fca25c 100644
--- a/dev-ruby/async/async-2.5.0.ebuild
+++ b/dev-ruby/async/async-2.5.0.ebuild
@@ -20,7 +20,7 @@ SRC_URI="https://github.com/socketry/async/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
ruby_add_rdepend ">=dev-ruby/console-1.10:1
dev-ruby/io-event:1.1
diff --git a/dev-ruby/async/files/async-1.31.0-improve-robustness-test.patch b/dev-ruby/async/files/async-1.31.0-improve-robustness-test.patch
new file mode 100644
index 000000000000..240fe060e224
--- /dev/null
+++ b/dev-ruby/async/files/async-1.31.0-improve-robustness-test.patch
@@ -0,0 +1,49 @@
+https://github.com/socketry/async/commit/8f590415c08943372e0227f01d3c32e92dbcbed0
+https://github.com/socketry/async/issues/218
+
+From 8f590415c08943372e0227f01d3c32e92dbcbed0 Mon Sep 17 00:00:00 2001
+From: Samuel Williams <samuel.williams@oriontransfer.co.nz>
+Date: Sun, 12 Mar 2023 20:33:48 +1300
+Subject: [PATCH] Improve robustness of test, fixes #218.
+
+--- a/spec/async/semaphore_spec.rb
++++ b/spec/async/semaphore_spec.rb
+@@ -62,7 +62,7 @@
+ 3.times.map do |i|
+ semaphore.async do |task|
+ order << i
+- task.sleep(0.1)
++ task.yield
+ order << i
+ end
+ end.collect(&:result)
+@@ -72,17 +72,22 @@
+
+ it 'allows tasks to execute concurrently' do
+ semaphore = Async::Semaphore.new(3)
+- order = []
++ concurrency = 0
++ latch = Async::Condition.new
+
+ 3.times.map do |i|
+ semaphore.async do |task|
+- order << i
+- task.sleep(0.1)
+- order << i
++ concurrency += 1
++
++ if concurrency == 3
++ latch.signal
++ else
++ latch.wait
++ end
+ end
+- end.collect(&:result)
++ end.each(&:wait)
+
+- expect(order).to be == [0, 1, 2, 0, 1, 2]
++ expect(concurrency).to be == 3
+ end
+ end
+
+