summaryrefslogtreecommitdiff
path: root/dev-perl/Coro
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /dev-perl/Coro
reinit the tree, so we can have metadata
Diffstat (limited to 'dev-perl/Coro')
-rw-r--r--dev-perl/Coro/Coro-6.511.0.ebuild36
-rw-r--r--dev-perl/Coro/Coro-6.514.0.ebuild38
-rw-r--r--dev-perl/Coro/Manifest10
-rw-r--r--dev-perl/Coro/files/6.511.0-argarray.patch42
-rw-r--r--dev-perl/Coro/files/6.511.0-padoffset.patch60
-rw-r--r--dev-perl/Coro/files/6.514.0-ev-config.patch74
-rw-r--r--dev-perl/Coro/metadata.xml40
7 files changed, 300 insertions, 0 deletions
diff --git a/dev-perl/Coro/Coro-6.511.0.ebuild b/dev-perl/Coro/Coro-6.511.0.ebuild
new file mode 100644
index 000000000000..1be8e564e4bc
--- /dev/null
+++ b/dev-perl/Coro/Coro-6.511.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DIST_AUTHOR=MLEHMANN
+DIST_VERSION=6.511
+inherit perl-module
+
+DESCRIPTION="The only real threads in perl"
+
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="vanilla"
+
+RDEPEND="
+ >=dev-perl/AnyEvent-5
+ >=dev-perl/Guard-0.500.0
+ virtual/perl-Scalar-List-Utils
+ >=virtual/perl-Storable-2.150.0
+ dev-perl/common-sense
+"
+DEPEND="${RDEPEND}
+ dev-perl/Canary-Stability
+ >=virtual/perl-ExtUtils-MakeMaker-6.520.0
+"
+
+src_prepare() {
+ if ! use vanilla; then
+ elog "This release includes 3rd party patches for Perl 5.24 and 5.26 compatibility."
+ elog "Please do not contact upstream directly regarding problems arising from this."
+ eapply "${FILESDIR}/${PV}-argarray.patch"
+ eapply "${FILESDIR}/${PV}-padoffset.patch"
+ fi
+ perl-module_src_prepare
+}
diff --git a/dev-perl/Coro/Coro-6.514.0.ebuild b/dev-perl/Coro/Coro-6.514.0.ebuild
new file mode 100644
index 000000000000..5cbecd4664f6
--- /dev/null
+++ b/dev-perl/Coro/Coro-6.514.0.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DIST_AUTHOR=MLEHMANN
+DIST_VERSION=6.514
+DIST_EXAMPLES=( "eg/*" )
+inherit perl-module
+
+DESCRIPTION="The only real threads in perl"
+
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+ev event"
+
+RDEPEND="
+ >=dev-perl/AnyEvent-5
+ ev? ( >=dev-perl/EV-4.0.0 )
+ event? ( >=dev-perl/Event-0.890.0 )
+ >=dev-perl/Guard-0.500.0
+ virtual/perl-Scalar-List-Utils
+ >=virtual/perl-Storable-2.150.0
+ dev-perl/common-sense
+"
+DEPEND="${RDEPEND}
+ dev-perl/Canary-Stability
+ >=virtual/perl-ExtUtils-MakeMaker-6.520.0
+"
+PATCHES=(
+ "${FILESDIR}/${PV}-ev-config.patch"
+)
+src_configure() {
+ local myopts=()
+ use ev && myopts+=("EV")
+ use event && myopts+=( "Event" )
+ GENTOO_OPTS="${myopts[@]}" perl-module_src_configure
+}
diff --git a/dev-perl/Coro/Manifest b/dev-perl/Coro/Manifest
new file mode 100644
index 000000000000..ac31190895b7
--- /dev/null
+++ b/dev-perl/Coro/Manifest
@@ -0,0 +1,10 @@
+AUX 6.511.0-argarray.patch 1750 SHA256 cc0835e47d9255c39f867a8203e15a38e0c2796106cc4581287d67f49232d4ef SHA512 6e7e54dae6b9307853c2800db37411902f806a7e40a38c33bcb59023aba0348dd77a0674f77dff9747f143bf757c0278fb0bfe1027225b53c39c6792a63815c2 WHIRLPOOL acf69b3f30f7e0d609339eb2fe60d8b53ae0ab800db7529577845eb32352a111d1343abf10e0559f23d2ac5b40941a35c45083473f543df7bb2c37af6424c8d7
+AUX 6.511.0-padoffset.patch 1917 SHA256 e38dc66e899850c1f3abd4bcfbb5a3fb1a844a87fa4557c15917a539291649f2 SHA512 3896621bd247b69cc43095744fa60958b52f572f746fbc924e0a3756cb723a60c53649e039f32cfd0a139100833c7a372fd7f49ba0f971cb56611efc16d308c3 WHIRLPOOL afdd029acf4ad3372ef637c3e39882049c3689ca8449094414505622d2e2094422f46df27ad3ddeadfdc6d8834f3b4879ba8792eaa0a0c19e3d91b803f59be42
+AUX 6.514.0-ev-config.patch 1910 SHA256 27bd503018974abf9ab8717e89406f4e65366335da178f7d6f97eff56ebbac8f SHA512 8738d753d174bc1de81d8d21a59de4ca738e2f9b5810b3a5d0b66c06b724aaa5b4a98b229ef0eaaf0ce2f435b8566fb89b5de24a7156f0c4a3504a7954b81e92 WHIRLPOOL b9dd4a5c64974bac08c8c60d73948bebba74278d4d9ab0088031e34afa6dc1963c716f3b849708b3f8da53bc3b708bad80d40946a1190fe07576d4a71b6b6997
+DIST Coro-6.511.tar.gz 195173 SHA256 7e3ed48cdb3f3742d94ae3ab3d088c3ab818c521f8681da6c5f656bd49ac53ea SHA512 c3e591539e3313403496d3396e68147942e45590732bbaed7b3020fdc79e1e726c3addc3fc5d5d3e173c2b3faff4de2a9d0bae19f91cdc684285c2751b809681 WHIRLPOOL 3a56fca3116d1b2b6cd727078ebed9811aa627756c08c439ee6bceabba75117c904b692bf147f251dcd978abcf63e0d0f24e9ef068adf1592c4ff9539ae64daf
+DIST Coro-6.514.tar.gz 195122 SHA256 d83343839290a72db302a14b1ad86f0069f0bba6d45f947252d9db490edecd62 SHA512 340eea9bc2a33c40813f4852d3a12ff947426fd329a4867a36262a9ece936c9e43d36ba5e4355d1f8f91cb40690de3bb1637ab0b0651518c22fb17a34ee90b37 WHIRLPOOL 8a4f5c4e7e58698ac70dc6d958405e65f98675526637f1a329cc3f4e244d6d0b27b5bd1b30ea742619f98ea2d57d507745f75feb78c7906b2e3bbd792ae9baf5
+EBUILD Coro-6.511.0.ebuild 845 SHA256 8d374826795d46db3cd9be067e219180adbd07d3dcf5d36291ded2c9d77def8d SHA512 0f34e9a8106accda2010233bac15eb444f5f875f2d65f7cb9e2ddbac809647ed6c6194b00800e9f2a587a028dc1f040562e795c8960a8ca7e7911730e402fbbe WHIRLPOOL 4ff0d9687fa73228468f638cb249a0782d301e728392dfaed700ee3e3483ff3376aa2681e9d1e87cb2a71af7444a2be53537ee9b963ca742f6d4e1bf18e08c31
+EBUILD Coro-6.514.0.ebuild 803 SHA256 4291252ee0ad483aa0a5fdf291bb8759f6e541aaf70b0f1bfd018f545306e218 SHA512 97547c44b581163130bb8b9974678669208708f85e3390fef1051054a0bd5c394a2bc0d3466ed6e792e1897bb02a60a63a57b3c163e2a413c997b2ec98ce3a8d WHIRLPOOL 941f36bbd20db6ecdefab0b9d0f3aefe3d2871114047bdd1e855ef988506ff59ef2139d2697a086784dbd8d6b083980d02be8273629513196cef86fd22791b47
+MISC ChangeLog 3819 SHA256 dca438d2f0030884d0e584569c6d4ff18b23cf493add4a8ae8a2ac3efeb1bc09 SHA512 50c462f7cfcb9086d4c459e0cf5aaf2ebb4a0b6b1f1504be3dff140e9feb017d728c430138b347ae81d48504041c8bffc82410ed732d15f0ea4ac74439843b2f WHIRLPOOL f4481ba8934333a2637b60034111a3ab14ade0740d16ce853d9acc62d4704863aa690645ba81f43e4db48504b11282d8874f61a4599d568dd30c832766d65179
+MISC ChangeLog-2015 2929 SHA256 1ee9f57ccc0360bfad9c64733a4ec79cbe78e96d356dc0511bcf440338164d83 SHA512 95d975709dc7fac4f37cf187a0fecb10cda393c56bb63cdfc5485c5e8f09fa9ac2bfaaf4eed12177e7c379209c7856cc5d1610bc6a18602debb8c4bd803d779d WHIRLPOOL 09ed547c0fe4d4210223ec6255e7bd41e84a2512b3203b95b7f218987c29b7e148d6e00548a74e9ea364a63cbe1b5b0da01113837e0814658104f25b0fbfbb61
+MISC metadata.xml 2046 SHA256 80dea768e776425c3ff78639d424aba1ec7eebf9cf7073e5e3ef605efb2775a5 SHA512 669379a76eae094150d989d956b66dcfbd6f519c8f2f2c55045f5e9a61ba5bdbcf5a066aac85d6e48e48979c6d966ae42fa398554236c6143c8885a6b76666e5 WHIRLPOOL 78ad38a4e04e7ed366887fd51e89a2950322bf3d62e1c890d87cbeaa1b63a7ce35246a8552dceb63292398bd52a2cb63ef6baf071ccf47dd03a525a4c892aed8
diff --git a/dev-perl/Coro/files/6.511.0-argarray.patch b/dev-perl/Coro/files/6.511.0-argarray.patch
new file mode 100644
index 000000000000..243494448adc
--- /dev/null
+++ b/dev-perl/Coro/files/6.511.0-argarray.patch
@@ -0,0 +1,42 @@
+From 38fe74765a4cbf1003cc2011559bf83b05b10e46 Mon Sep 17 00:00:00 2001
+From: David Mitchell <davem@iabyn.com>
+Date: Tue, 3 May 2016 22:25:48 +0100
+Subject: [PATCH 3/5] Coro: handle argarray removal in 5.23.8
+
+---
+ Coro/State.xs | 12 +++++++++++-
+ 1 file changed, 11 insertions(+), 1 deletion(-)
+
+diff --git a/Coro/State.xs b/Coro/State.xs
+index 93c2c5b..28264c5 100644
+--- a/Coro/State.xs
++++ b/Coro/State.xs
+@@ -1415,6 +1415,7 @@ runops_trace (pTHX)
+ if (CxTYPE (cx) == CXt_SUB && oldcxix < cxstack_ix)
+ {
+ dSP;
++ AV *argarray;
+ GV *gv = CvGV (cx->blk_sub.cv);
+ SV *fullname = sv_2mortal (newSV (0));
+
+@@ -1428,7 +1429,16 @@ runops_trace (pTHX)
+ PUSHMARK (SP);
+ PUSHs (&PL_sv_yes);
+ PUSHs (fullname);
+- PUSHs (CxHASARGS (cx) ? sv_2mortal (newRV_inc ((SV *)cx->blk_sub.argarray)) : &PL_sv_undef);
++ argarray =
++# if PERL_VERSION_ATLEAST(5,23,8)
++ ((AV*)(AvARRAY(MUTABLE_AV(
++ PadlistARRAY(CvPADLIST(cx->blk_sub.cv))[
++ CvDEPTH(cx->blk_sub.cv)]))[0]));
++#else
++ cx->blk_sub.argarray;
++#endif
++
++ PUSHs (CxHASARGS (cx) ? sv_2mortal (newRV_inc ((SV *)argarray)) : &PL_sv_undef);
+ PUTBACK;
+ cb = hv_fetch ((HV *)SvRV (coro_current), "_trace_sub_cb", sizeof ("_trace_sub_cb") - 1, 0);
+ if (cb) call_sv (*cb, G_KEEPERR | G_EVAL | G_VOID | G_DISCARD);
+--
+2.4.11
+
diff --git a/dev-perl/Coro/files/6.511.0-padoffset.patch b/dev-perl/Coro/files/6.511.0-padoffset.patch
new file mode 100644
index 000000000000..2fb34c0791be
--- /dev/null
+++ b/dev-perl/Coro/files/6.511.0-padoffset.patch
@@ -0,0 +1,60 @@
+From b48bc3a8141e5f27ce48b6f3ebbe2ba6ee7bda94 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
+Date: Tue, 23 May 2017 15:12:06 +0200
+Subject: [PATCH] Adjust comppad_name_ variable sizes to Perl 5.26.0
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Perl 5.26.0 changed some variable types in this commit:
+
+commit d12be05dd0210a08e077f0cc9586a5a963122547
+Author: David Mitchell <davem@iabyn.com>
+Date: Mon Sep 26 15:56:08 2016 +0100
+
+ make PL_ pad vars be of type PADOFFSET
+
+ Now that that PADOFFSET is signed, make
+
+ PL_comppad_name_fill
+ PL_comppad_name_floor
+ PL_padix
+ PL_constpadix
+ PL_padix_floor
+ PL_min_intro_pending
+ PL_max_intro_pending
+
+ be of type PADOFFSET rather than I32, to match the rest of the pad
+ interface.
+
+ At the same time, change various I32 local vars in pad.c functions to be
+ PADOFFSET.
+
+This patch adjusts Coro to the changes.
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+---
+ Coro/state.h | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/Coro/state.h b/Coro/state.h
+index 9a3e84f..8d6d067 100644
+--- a/Coro/state.h
++++ b/Coro/state.h
+@@ -83,8 +83,13 @@ VAR(compcv, CV *) /* currently compiling subroutine */
+
+ VAR(comppad, AV *) /* storage for lexically scoped temporaries */
+ VAR(comppad_name, AV *) /* variable names for "my" variables */
++#if PERL_VERSION_ATLEAST (5,25,6)
++VAR(comppad_name_fill, PADOFFSET) /* last "introduced" variable offset */
++VAR(comppad_name_floor, PADOFFSET) /* start of vars in innermost block */
++#else
+ VAR(comppad_name_fill, I32) /* last "introduced" variable offset */
+ VAR(comppad_name_floor, I32) /* start of vars in innermost block */
++#endif
+
+ VAR(runops, runops_proc_t) /* for tracing support */
+
+--
+2.9.4
+
diff --git a/dev-perl/Coro/files/6.514.0-ev-config.patch b/dev-perl/Coro/files/6.514.0-ev-config.patch
new file mode 100644
index 000000000000..7b775b557eda
--- /dev/null
+++ b/dev-perl/Coro/files/6.514.0-ev-config.patch
@@ -0,0 +1,74 @@
+From bada194851e0a6839f78e811bfc63c2d5e8877dc Mon Sep 17 00:00:00 2001
+From: Kent Fredric <kentnl@gentoo.org>
+Date: Thu, 5 Oct 2017 22:02:38 +1300
+Subject: Make EV/Event not auto-compiled, but rely on configuration
+
+---
+ Makefile.PL | 51 ++++++++++-----------------------------------------
+ 1 file changed, 10 insertions(+), 41 deletions(-)
+
+diff --git a/Makefile.PL b/Makefile.PL
+index e58e210..25243ff 100644
+--- a/Makefile.PL
++++ b/Makefile.PL
+@@ -17,47 +17,16 @@ EOF
+
+ print "*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***\n\n";
+
+-if (eval { require Event }) {
+- if ($Event::VERSION < 0.86 or $Event::VERSION == 0.88) {
+- print <<EOF
+-
+-***
+-*** WARNING: Event version $Event::VERSION found, NOT building Event support.
+-***
+-*** This version of Event is broken. The only currently known non-broken
+-*** versions of Event are 0.87 and 0.89+. Please install one of those
+-*** versions.
+-***
+-
+-EOF
+- } else {
+- $EVENT = 1;
+- $DEFINE .= " -DHAVE_EVENT=1";
+- print "\nEvent version $Event::VERSION found, building Event support.\n\n";
+- }
+-} else {
+- print "\n*** Event not found, not building Event support.\n\n";
+-}
+-
+-if (eval { require EV }) {
+- if ($EV::VERSION < 4.0) {
+- print <<EOF
+-
+-***
+-*** WARNING: EV version $EV::VERSION found, NOT building EV support.
+-***
+-*** This version is ABI-incompatible with Coro, please upgrade to at least 4.0.
+-***
+-
+-EOF
+- } else {
+- $EV = 1;
+- $DEFINE .= " -DHAVE_EV=1";
+- print "\nEV version $EV::VERSION found, building EV support.\n\n";
+- }
+-} else {
+- print "\n*** EV not found, not building EV support.\n\n";
+-}
++$EVENT = ( $ENV{GENTOO_OPTS} =~ /\bEvent\b/ );
++$EV = ( $ENV{GENTOO_OPTS} =~ /\bEV\b/ );
++$EVENT and do {
++ require Event;
++ Event->VERSION(0.89);
++};
++$EV and do {
++ require EV;
++ EV->VERSION(4.0);
++};
+
+ WriteMakefile(
+ dist => {
+--
+2.14.1
+
diff --git a/dev-perl/Coro/metadata.xml b/dev-perl/Coro/metadata.xml
new file mode 100644
index 000000000000..b9f208cf2546
--- /dev/null
+++ b/dev-perl/Coro/metadata.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>perl@gentoo.org</email>
+ <name>Gentoo Perl Project</name>
+ </maintainer>
+ <use>
+ <flag name="ev">Build support for using <pkg>dev-perl/EV</pkg> as an event-loop via Coro::EV</flag>
+ <flag name="event">Build support for using <pkg>dev-perl/Event</pkg> as an event-loop via Coro::Event</flag>
+ </use>
+ <upstream>
+ <remote-id type="cpan">Coro</remote-id>
+ <remote-id type="cpan-module">Coro</remote-id>
+ <remote-id type="cpan-module">Coro::AIO</remote-id>
+ <remote-id type="cpan-module">Coro::AnyEvent</remote-id>
+ <remote-id type="cpan-module">Coro::BDB</remote-id>
+ <remote-id type="cpan-module">Coro::Channel</remote-id>
+ <remote-id type="cpan-module">Coro::Debug</remote-id>
+ <remote-id type="cpan-module">Coro::EV</remote-id>
+ <remote-id type="cpan-module">Coro::Event</remote-id>
+ <remote-id type="cpan-module">Coro::Handle</remote-id>
+ <remote-id type="cpan-module">Coro::Handle::FH</remote-id>
+ <remote-id type="cpan-module">Coro::LWP</remote-id>
+ <remote-id type="cpan-module">Coro::LWP::Socket</remote-id>
+ <remote-id type="cpan-module">Coro::MakeMaker</remote-id>
+ <remote-id type="cpan-module">Coro::RWLock</remote-id>
+ <remote-id type="cpan-module">Coro::Select</remote-id>
+ <remote-id type="cpan-module">Coro::Semaphore</remote-id>
+ <remote-id type="cpan-module">Coro::SemaphoreSet</remote-id>
+ <remote-id type="cpan-module">Coro::Signal</remote-id>
+ <remote-id type="cpan-module">Coro::Socket</remote-id>
+ <remote-id type="cpan-module">Coro::Specific</remote-id>
+ <remote-id type="cpan-module">Coro::State</remote-id>
+ <remote-id type="cpan-module">Coro::Storable</remote-id>
+ <remote-id type="cpan-module">Coro::Timer</remote-id>
+ <remote-id type="cpan-module">Coro::Timer::Timeout</remote-id>
+ <remote-id type="cpan-module">Coro::Util</remote-id>
+ </upstream>
+</pkgmetadata>