perl-Coro-vl.spec 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. Name: perl-Coro
  2. Version: 6.57
  3. Release: 2%{?_dist_release}
  4. Summary: The only real threads in perl
  5. Group: programming
  6. Vendor: Project Vine
  7. Distribution: Vine Linux
  8. License: GPL+ or Artistic
  9. URL: https://metacpan.org/pod/Coro
  10. Source0: https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN/Coro-%{version}.tar.gz
  11. Patch0: %{name}-5.25-ucontext-default.patch
  12. # Do not disable hardening
  13. Patch1: Coro-6.512-Disable-disabling-FORTIFY_SOURCE.patch
  14. Patch100: Coro-6.57-c23.patch
  15. BuildRequires: perl(Canary::Stability)
  16. BuildRequires: perl(AnyEvent)
  17. BuildRequires: perl(common::sense)
  18. BuildRequires: perl(ExtUtils::MakeMaker)
  19. BuildRequires: perl(Guard)
  20. BuildRequires: perl(Scalar::Util)
  21. BuildRequires: perl(Storable)
  22. BuildRequires: perl(Time::HiRes)
  23. # Recommended optional modules
  24. BuildRequires: perl(AnyEvent::AIO)
  25. BuildRequires: perl(AnyEvent::BDB)
  26. BuildRequires: perl(BDB)
  27. # perl-EV not packaged
  28. BuildRequires: perl(EV)
  29. BuildRequires: perl(Event)
  30. BuildRequires: perl(IO::AIO)
  31. Requires: perl(:MODULE_COMPAT_%perl_abi_version)
  32. # Export correct required versions
  33. Requires: perl(AnyEvent)
  34. Requires: perl(AnyEvent::AIO)
  35. Requires: perl(AnyEvent::BDB)
  36. Requires: perl(EV)
  37. Requires: perl(Event)
  38. Requires: perl(Guard)
  39. Requires: perl(Storable)
  40. %{?perl_default_filter}
  41. # Filter underspecified dependencies
  42. %global __requires_exclude %{?__requires_exclude:__requires_exclude|}^perl\\(AnyEvent\\)$
  43. %global __requires_exclude %__requires_exclude|^perl\\(AnyEvent\\) >= 4.800001$
  44. %global __requires_exclude %__requires_exclude|^perl\\(AnyEvent::AIO\\)$
  45. %global __requires_exclude %__requires_exclude|^perl\\(AnyEvent::BDB\\)$
  46. %global __requires_exclude %__requires_exclude|^perl\\(EV\\)$
  47. %global __requires_exclude %__requires_exclude|^perl\\(Event\\)$
  48. %global __requires_exclude %__requires_exclude|^perl\\(Guard\\)$
  49. %global __requires_exclude %__requires_exclude|^perl\\(Storable\\)$
  50. %global __requires_exclude %__requires_exclude|^perl\\(Coro\\)$
  51. %global __provides_exclude %{?__provides_exclude:__provides_exclude|}^perl\\(Coro\\)$
  52. %description
  53. This module collection manages continuations in general, most often in the
  54. form of cooperative threads (also called coros, or simply "coro" in the
  55. documentation). They are similar to kernel threads but don't (in general) run
  56. in parallel at the same time even on SMP machines. The specific flavor of
  57. thread offered by this module also guarantees you that it will not switch
  58. between threads unless necessary, at easily-identified points in your
  59. program, so locking and parallel access are rarely an issue, making thread
  60. programming much safer and easier than using other thread models.
  61. %debug_package
  62. %prep
  63. %setup -q -n Coro-%{version}
  64. %ifnarch %{ix86} x86_64 %{arm}
  65. # use ucontext backend on non-x86 (setjmp didn't work on s390(x))
  66. %patch -P0 -p1 -b .ucontext-default
  67. %endif
  68. %patch1 -p1
  69. %patch100 -p0
  70. for F in Coro/jit-*.pl; do
  71. sed -i -e '/^#!/d' "$F"
  72. chmod -x "$F"
  73. done
  74. %global wrong_shbangs eg/myhttpd
  75. %if %{defined fix_shbang_line}
  76. %fix_shbang_line %wrong_shbangs
  77. %else
  78. # at least EL6 doesn't have the %%fix_shbang_line macro
  79. sed -i -e '/^#!/ s|.*|#!%{__perl}|' %wrong_shbangs
  80. %endif
  81. %build
  82. # Interractive configuration. Use default values.
  83. %{__perl} Makefile.PL INSTALLDIRS=perl NO_PACKLIST=1 NO_PERLLOCAL=1 \
  84. OPTIMIZE="$RPM_OPT_FLAGS" </dev/null
  85. %make_build
  86. %install
  87. %make_install
  88. find %{buildroot} -type f -name '*.bs' -size 0 -delete
  89. %{_fixperms} %{buildroot}/*
  90. %check
  91. %make_build test
  92. %files
  93. %license COPYING
  94. %doc Changes README README.linux-glibc
  95. %doc doc/* eg
  96. %{perl_archlib}/auto/*
  97. %{perl_archlib}/Coro*
  98. %{_mandir}/man3/*
  99. %changelog
  100. * Sat Jun 14 2025 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 6.57-2
  101. - rebuilt with perl-5.40.
  102. * Thu Nov 18 2021 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 6.57-1
  103. - new upstream release.
  104. - rebuilt with perl-5.34.0.
  105. * Fri May 17 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 6.54-1
  106. - new upstream release.
  107. - rebuilt with perl-5.26.
  108. * Mon Dec 1 2014 Ryoichi INAGAKI <ryo1@toki.waseda.jp> 6.41-1
  109. - updated to 6.41
  110. * Fri Jun 27 2014 IWAI, Masaharu <iwaim.sub@gmail.com> 6.07-2
  111. - build with Perl 5.16
  112. * Fri Mar 02 2012 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 6.07-1
  113. - initial build for Vine Linux
  114. * Tue Feb 21 2012 Peter Robinson <pbrobinson@fedoraproject.org> - 6.07-3
  115. - Add patch to fix build on ARM. RHBZ 750805
  116. * Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 6.07-2
  117. - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
  118. * Fri Dec 09 2011 Petr Pisar <ppisar@redhat.com> - 6.07-1
  119. - 6.07 bump
  120. * Thu Nov 03 2011 Nicolas Chauvet <kwizart@gmail.com> - 6.06-2
  121. - Fix ucontext on ARM - rhbz750805
  122. * Fri Aug 12 2011 Petr Sabata <contyk@redhat.com> - 6.06-1
  123. - 6.06 bump
  124. * Fri Aug 05 2011 Petr Sabata <contyk@redhat.com> - 6.05-1
  125. - 6.05 bump
  126. * Thu Aug 04 2011 Petr Sabata <contyk@redhat.com> - 6.04-1
  127. - 6.04 bump
  128. * Fri Jul 29 2011 Petr Pisar <ppisar@redhat.com> - 6.02-1
  129. - 6.02 bump
  130. - Major version 6 breaks compatibility: Unreferenced coro objects will now be
  131. destroyed and cleaned up automatically (e.g. async { schedule }).
  132. * Tue Jun 21 2011 Marcela Mašláňová <mmaslano@redhat.com> - 5.372-4
  133. - Perl mass rebuild
  134. * Fri Apr 08 2011 Mathieu Bridon <bochecha@fedoraproject.org> - 5.372-3
  135. - Added explicit versionned Requires: on perl(EV)
  136. - Removed automatically added unversionned Requires: on perl(EV)
  137. * Thu Apr 07 2011 Mathieu Bridon <bochecha@fedoraproject.org> - 5.372-2
  138. - Rebuild with EV support.
  139. * Mon Mar 07 2011 Petr Pisar <ppisar@redhat.com> - 5.372-1
  140. - 5.372 bump
  141. * Mon Feb 21 2011 Petr Pisar <ppisar@redhat.com> - 5.37-1
  142. - 5.37 bump
  143. - Fix State.xs syntax (RT#65991)
  144. - Version unversioned Provides
  145. * Mon Feb 14 2011 Petr Pisar <ppisar@redhat.com> - 5.26-1
  146. - 5.26 bump
  147. * Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.25-4
  148. - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
  149. * Fri Jan 21 2011 Mathieu Bridon <bochecha@fedoraproject.org> 5.25-3
  150. - Allow building on systems without %%fix_shbang_line macro (needed for EL6)
  151. * Mon Jan 10 2011 Dan Horák <dan[at]danny.cz> 5.25-2
  152. - use ucontext backend on non-x86
  153. * Tue Jan 04 2011 Petr Pisar <ppisar@redhat.com> 5.25-1
  154. - 5.25 import
  155. - Disable perl(EV) support as it's not packaged yet