[svn] r5599 - in trunk/rpms: . perl-Thread-Conveyor
perl-Thread-Conveyor-Monitored perl-Thread-Pool
perl-Thread-Serialize perl-Thread-Tie perl-load
packagers at lists.rpmforge.net
packagers at lists.rpmforge.net
Tue Jul 10 23:45:13 CEST 2007
Author: dries
Date: 2007-07-10 23:45:12 +0200 (Tue, 10 Jul 2007)
New Revision: 5599
Added:
trunk/rpms/perl-Thread-Conveyor-Monitored/
trunk/rpms/perl-Thread-Conveyor-Monitored/perl-Thread-Conveyor-Monitored.spec
trunk/rpms/perl-Thread-Conveyor/
trunk/rpms/perl-Thread-Conveyor/perl-Thread-Conveyor.spec
trunk/rpms/perl-Thread-Pool/
trunk/rpms/perl-Thread-Pool/perl-Thread-Pool.spec
trunk/rpms/perl-Thread-Serialize/
trunk/rpms/perl-Thread-Serialize/perl-Thread-Serialize.spec
trunk/rpms/perl-Thread-Tie/
trunk/rpms/perl-Thread-Tie/perl-Thread-Tie.spec
trunk/rpms/perl-load/
trunk/rpms/perl-load/perl-load.spec
Log:
perl modules contributed by Dominik Gehl
Added: trunk/rpms/perl-Thread-Conveyor/perl-Thread-Conveyor.spec
===================================================================
--- trunk/rpms/perl-Thread-Conveyor/perl-Thread-Conveyor.spec (rev 0)
+++ trunk/rpms/perl-Thread-Conveyor/perl-Thread-Conveyor.spec 2007-07-10 21:45:12 UTC (rev 5599)
@@ -0,0 +1,79 @@
+# $Id$
+# Authority: dgehl
+
+%define perl_vendorlib %(eval "`%{__perl} -V:installvendorlib`"; echo $installvendorlib)
+%define perl_vendorarch %(eval "`%{__perl} -V:installvendorarch`"; echo $installvendorarch)
+
+%define real_name Thread-Conveyor
+
+Summary: Transport of any data-structure between threads
+Name: perl-Thread-Conveyor
+Version: 0.17
+Release: 1
+License: Artistic
+Group: Applications/CPAN
+URL: http://search.cpan.org/dist/Thread-Conveyor/
+
+Source: http://search.cpan.org/CPAN/authors/id/E/EL/ELIZABETH/Thread-Conveyor-%{version}.tar.gz
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
+
+BuildArch: noarch
+BuildRequires: perl
+
+%description
+The Thread::Conveyor object is a thread-safe data structure that
+mimics the behaviour of a conveyor belt. One or more worker threads
+can put boxes with frozen values and references on one end of the belt
+to be taken off by one or more worker threads on the other end of the
+belt to be thawed and returned.
+
+A box may consist of any combination of scalars and references to
+scalars, arrays (lists) and hashes. Freezing and thawing is currently
+done with the Thread::Serialize module, but that may change in the
+future. Objects and code references are currently not allowed.
+
+By default, the maximum number of boxes on the belt is limited to 50.
+Putting of boxes on the belt is halted if the maximum number of boxes
+is exceeded. This throttling feature was added because it was found
+that excessive memory usage could be caused by having the belt growing
+too large. Throttling can be disabled if so desired.
+
+This module only functions on Perl versions 5.8.0 and later.
+And then only when threads are enabled with -Dusethreads. It
+is of no use with any version of Perl before 5.8.0 or without
+threads enabled.
+%prep
+%setup -n %{real_name}-%{version}
+
+%build
+%{expand: %%define optflags %{optflags} -fPIC}
+CFLAGS="%{optflags}" %{__perl} Makefile.PL INSTALLDIRS="vendor" PREFIX="%{buildroot}%{_prefix}"
+%{__make} %{?_smp_mflags} OPTIMIZE="%{optflags}"
+
+%install
+%{__rm} -rf %{buildroot}
+%makeinstall
+
+### Clean up buildroot
+%{__rm} -rf %{buildroot}%{perl_archlib}/perllocal.pod %{buildroot}%{perl_vendorarch}/auto/*{,/*{,/*}}/.packlist
+
+%clean
+%{__rm} -rf %{buildroot}
+
+%files
+%defattr(-, root, root, 0755)
+%doc MANIFEST README CHANGELOG TODO
+%doc %{_mandir}/man3/Thread::Conveyor.3pm*
+%doc %{_mandir}/man3/Thread::Conveyor::Array.3pm*
+%doc %{_mandir}/man3/Thread::Conveyor::Throttled.3pm*
+%doc %{_mandir}/man3/Thread::Conveyor::Tied.3pm*
+%dir %{perl_vendorlib}/Thread/
+%{perl_vendorlib}/Thread/Conveyor.pm
+%dir %{perl_vendorlib}/Thread/Conveyor/
+%{perl_vendorlib}/Thread/Conveyor/Array.pm
+%{perl_vendorlib}/Thread/Conveyor/Throttled.pm
+%{perl_vendorlib}/Thread/Conveyor/Tied.pm
+
+%changelog
+* Fri Jun 22 2007 Dominik Gehl <gehl at inverse.ca> - 0.17-1
+- Initial package.
Added: trunk/rpms/perl-Thread-Conveyor-Monitored/perl-Thread-Conveyor-Monitored.spec
===================================================================
--- trunk/rpms/perl-Thread-Conveyor-Monitored/perl-Thread-Conveyor-Monitored.spec (rev 0)
+++ trunk/rpms/perl-Thread-Conveyor-Monitored/perl-Thread-Conveyor-Monitored.spec 2007-07-10 21:45:12 UTC (rev 5599)
@@ -0,0 +1,63 @@
+# $Id$
+# Authority: dgehl
+
+%define perl_vendorlib %(eval "`%{__perl} -V:installvendorlib`"; echo $installvendorlib)
+%define perl_vendorarch %(eval "`%{__perl} -V:installvendorarch`"; echo $installvendorarch)
+
+%define real_name Thread-Conveyor-Monitored
+
+Summary: Monitor a belt for specific content
+Name: perl-Thread-Conveyor-Monitored
+Version: 0.12
+Release: 1
+License: Artistic
+Group: Applications/CPAN
+URL: http://search.cpan.org/dist/Thread-Conveyor/
+
+Source: http://search.cpan.org/CPAN/authors/id/E/EL/ELIZABETH/Thread-Conveyor-Monitored-%{version}.tar.gz
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
+
+BuildArch: noarch
+BuildRequires: perl
+
+%description
+The Thread::Conveyor::Monitored module implements a single worker
+thread that takes of boxes of values from a belt created with
+Thread::Conveyor and which checks the boxes for specific content.
+
+It can be used for simply logging actions that are placed on the belt.
+Or only output warnings if a certain value is encountered in a box. Or
+create a safe sandbox for Perl modules that are not thread-safe yet.
+
+This module only functions on Perl versions 5.8.0 and later.
+And then only when threads are enabled with -Dusethreads. It
+is of no use with any version of Perl before 5.8.0 or without
+threads enabled.
+%prep
+%setup -n %{real_name}-%{version}
+
+%build
+%{expand: %%define optflags %{optflags} -fPIC}
+CFLAGS="%{optflags}" %{__perl} Makefile.PL INSTALLDIRS="vendor" PREFIX="%{buildroot}%{_prefix}"
+%{__make} %{?_smp_mflags} OPTIMIZE="%{optflags}"
+
+%install
+%{__rm} -rf %{buildroot}
+%makeinstall
+
+### Clean up buildroot
+%{__rm} -rf %{buildroot}%{perl_archlib}/perllocal.pod %{buildroot}%{perl_vendorarch}/auto/*{,/*{,/*}}/.packlist
+
+%clean
+%{__rm} -rf %{buildroot}
+
+%files
+%defattr(-, root, root, 0755)
+%doc MANIFEST README CHANGELOG TODO
+%doc %{_mandir}/man3/Thread::Conveyor::Monitored.3pm*
+%dir %{perl_vendorlib}/Thread/Conveyor/
+%{perl_vendorlib}/Thread/Conveyor/Monitored.pm
+
+%changelog
+* Fri Jun 22 2007 Dominik Gehl <gehl at inverse.ca> - 0.12-1
+- Initial package.
Added: trunk/rpms/perl-Thread-Pool/perl-Thread-Pool.spec
===================================================================
--- trunk/rpms/perl-Thread-Pool/perl-Thread-Pool.spec (rev 0)
+++ trunk/rpms/perl-Thread-Pool/perl-Thread-Pool.spec 2007-07-10 21:45:12 UTC (rev 5599)
@@ -0,0 +1,61 @@
+# $Id$
+# Authority: dgehl
+
+%define perl_vendorlib %(eval "`%{__perl} -V:installvendorlib`"; echo $installvendorlib)
+%define perl_vendorarch %(eval "`%{__perl} -V:installvendorarch`"; echo $installvendorarch)
+
+%define real_name Thread-Pool
+
+Summary: Group of threads for performing similar jobs
+Name: perl-Thread-Pool
+Version: 0.32
+Release: 1
+License: Artistic
+Group: Applications/CPAN
+URL: http://search.cpan.org/dist/Thread-Pool/
+
+Source: http://search.cpan.org/CPAN/authors/id/E/EL/ELIZABETH/Thread-Pool-%{version}.tar.gz
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
+
+BuildArch: noarch
+BuildRequires: perl
+
+%description
+The Thread::Pool allows you to set up a group of (worker) threads to
+execute a (large) number of similar jobs that need to be executed
+asynchronously. The routine that actually performs the job (the "do"
+routine), must be specified as a name or a reference to a (anonymous)
+subroutine.
+
+This module only functions on Perl versions 5.8.0 and later.
+And then only when threads are enabled with -Dusethreads. It
+is of no use with any version of Perl before 5.8.0 or without
+threads enabled.
+%prep
+%setup -n %{real_name}-%{version}
+
+%build
+%{expand: %%define optflags %{optflags} -fPIC}
+CFLAGS="%{optflags}" %{__perl} Makefile.PL INSTALLDIRS="vendor" PREFIX="%{buildroot}%{_prefix}"
+%{__make} %{?_smp_mflags} OPTIMIZE="%{optflags}"
+
+%install
+%{__rm} -rf %{buildroot}
+%makeinstall
+
+### Clean up buildroot
+%{__rm} -rf %{buildroot}%{perl_archlib}/perllocal.pod %{buildroot}%{perl_vendorarch}/auto/*{,/*{,/*}}/.packlist
+
+%clean
+%{__rm} -rf %{buildroot}
+
+%files
+%defattr(-, root, root, 0755)
+%doc MANIFEST README CHANGELOG TODO
+%doc %{_mandir}/man3/Thread::Pool.3pm*
+%dir %{perl_vendorlib}/Thread/
+%{perl_vendorlib}/Thread/Pool.pm
+
+%changelog
+* Fri Jun 22 2007 Dominik Gehl <gehl at inverse.ca> - 0.32-1
+- Initial package.
Added: trunk/rpms/perl-Thread-Serialize/perl-Thread-Serialize.spec
===================================================================
--- trunk/rpms/perl-Thread-Serialize/perl-Thread-Serialize.spec (rev 0)
+++ trunk/rpms/perl-Thread-Serialize/perl-Thread-Serialize.spec 2007-07-10 21:45:12 UTC (rev 5599)
@@ -0,0 +1,61 @@
+# $Id$
+# Authority: dgehl
+
+%define perl_vendorlib %(eval "`%{__perl} -V:installvendorlib`"; echo $installvendorlib)
+%define perl_vendorarch %(eval "`%{__perl} -V:installvendorarch`"; echo $installvendorarch)
+
+%define real_name Thread-Serialize
+
+Summary: serialize data-structures between threads
+Name: perl-Thread-Serialize
+Version: 0.10
+Release: 1
+License: Artistic
+Group: Applications/CPAN
+URL: http://search.cpan.org/dist/Thread-Serialize/
+
+Source: http://search.cpan.org/CPAN/authors/id/E/EL/ELIZABETH/Thread-Serialize-%{version}.tar.gz
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
+
+BuildArch: noarch
+BuildRequires: perl
+
+%description
+The Thread::Serialize module is a library for centralizing the
+routines used to serialize data-structures between threads.
+Because of this central location, other modules such as
+Thread::Conveyor, Thread::Pool or Thread::Tie can benefit from
+the same optimizations that may take place here in the future.
+
+This module only functions on Perl versions 5.8.0 and later.
+And then only when threads are enabled with -Dusethreads. It
+is of no use with any version of Perl before 5.8.0 or without
+threads enabled.
+%prep
+%setup -n %{real_name}-%{version}
+
+%build
+%{expand: %%define optflags %{optflags} -fPIC}
+CFLAGS="%{optflags}" %{__perl} Makefile.PL INSTALLDIRS="vendor" PREFIX="%{buildroot}%{_prefix}"
+%{__make} %{?_smp_mflags} OPTIMIZE="%{optflags}"
+
+%install
+%{__rm} -rf %{buildroot}
+%makeinstall
+
+### Clean up buildroot
+%{__rm} -rf %{buildroot}%{perl_archlib}/perllocal.pod %{buildroot}%{perl_vendorarch}/auto/*{,/*{,/*}}/.packlist
+
+%clean
+%{__rm} -rf %{buildroot}
+
+%files
+%defattr(-, root, root, 0755)
+%doc MANIFEST README CHANGELOG TODO
+%doc %{_mandir}/man3/Thread::Serialize.3pm*
+%dir %{perl_vendorlib}/Thread/
+%{perl_vendorlib}/Thread/Serialize.pm
+
+%changelog
+* Fri Jun 22 2007 Dominik Gehl <gehl at inverse.ca> - 0.10-1
+- Initial package.
Added: trunk/rpms/perl-Thread-Tie/perl-Thread-Tie.spec
===================================================================
--- trunk/rpms/perl-Thread-Tie/perl-Thread-Tie.spec (rev 0)
+++ trunk/rpms/perl-Thread-Tie/perl-Thread-Tie.spec 2007-07-10 21:45:12 UTC (rev 5599)
@@ -0,0 +1,86 @@
+# $Id$
+# Authority: dgehl
+
+%define perl_vendorlib %(eval "`%{__perl} -V:installvendorlib`"; echo $installvendorlib)
+%define perl_vendorarch %(eval "`%{__perl} -V:installvendorarch`"; echo $installvendorarch)
+
+%define real_name Thread-Tie
+
+Summary: Tie variables into a thread of their own
+Name: perl-Thread-Tie
+Version: 0.12
+Release: 1
+License: Artistic
+Group: Applications/CPAN
+URL: http://search.cpan.org/dist/Thread-Tie/
+
+Source: http://search.cpan.org/CPAN/authors/id/E/EL/ELIZABETH/Thread-Tie-%{version}.tar.gz
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
+
+BuildArch: noarch
+BuildRequires: perl
+
+%description
+The standard shared variable scheme used by Perl, is based on tie-ing
+the variable to some very special dark magic. This dark magic ensures
+that shared variables, which are copied just as any other variable
+when a thread is started, update values in all of the threads where
+they exist as soon as the value of a shared variable is changed.
+
+Needless to say, this could use some improvement.
+
+The Thread::Tie module is a proof-of-concept implementation of another
+approach to shared variables. Instead of having shared variables exist
+in all the threads from which they are accessible, shared variable
+exist as "normal", unshared variables in a seperate thread. Only a
+tied object exists in each thread from which the shared variable is
+accesible.
+
+Through the use of a client-server model, any thread can fetch and/or
+update variables living in that thread. This client-server
+functionality is hidden under the hood of tie().
+
+
+This module only functions on Perl versions 5.8.0 and later.
+And then only when threads are enabled with -Dusethreads. It
+is of no use with any version of Perl before 5.8.0 or without
+threads enabled.
+%prep
+%setup -n %{real_name}-%{version}
+
+%build
+%{expand: %%define optflags %{optflags} -fPIC}
+CFLAGS="%{optflags}" %{__perl} Makefile.PL INSTALLDIRS="vendor" PREFIX="%{buildroot}%{_prefix}"
+%{__make} %{?_smp_mflags} OPTIMIZE="%{optflags}"
+
+%install
+%{__rm} -rf %{buildroot}
+%makeinstall
+
+### Clean up buildroot
+%{__rm} -rf %{buildroot}%{perl_archlib}/perllocal.pod %{buildroot}%{perl_vendorarch}/auto/*{,/*{,/*}}/.packlist
+
+%clean
+%{__rm} -rf %{buildroot}
+
+%files
+%defattr(-, root, root, 0755)
+%doc MANIFEST README CHANGELOG TODO
+%doc %{_mandir}/man3/Thread::Tie.3pm*
+%doc %{_mandir}/man3/Thread::Tie::Array.3pm*
+%doc %{_mandir}/man3/Thread::Tie::Handle.3pm*
+%doc %{_mandir}/man3/Thread::Tie::Hash.3pm*
+%doc %{_mandir}/man3/Thread::Tie::Scalar.3pm*
+%doc %{_mandir}/man3/Thread::Tie::Thread.3pm*
+%dir %{perl_vendorlib}/Thread/
+%{perl_vendorlib}/Thread/Tie.pm
+%dir %{perl_vendorlib}/Thread/Tie/
+%{perl_vendorlib}/Thread/Tie/Array.pm
+%{perl_vendorlib}/Thread/Tie/Handle.pm
+%{perl_vendorlib}/Thread/Tie/Hash.pm
+%{perl_vendorlib}/Thread/Tie/Scalar.pm
+%{perl_vendorlib}/Thread/Tie/Thread.pm
+
+%changelog
+* Fri Jun 22 2007 Dominik Gehl <gehl at inverse.ca> - 0.12-1
+- Initial package.
Added: trunk/rpms/perl-load/perl-load.spec
===================================================================
--- trunk/rpms/perl-load/perl-load.spec (rev 0)
+++ trunk/rpms/perl-load/perl-load.spec 2007-07-10 21:45:12 UTC (rev 5599)
@@ -0,0 +1,61 @@
+# $Id$
+# Authority: dgehl
+
+%define perl_vendorlib %(eval "`%{__perl} -V:installvendorlib`"; echo $installvendorlib)
+%define perl_vendorarch %(eval "`%{__perl} -V:installvendorarch`"; echo $installvendorarch)
+
+%define real_name load
+
+Summary: Control when subroutines will be loaded
+Name: perl-load
+Version: 0.19
+Release: 1
+License: Artistic
+Group: Applications/CPAN
+URL: http://search.cpan.org/dist/load/
+
+Source: http://search.cpan.org/CPAN/authors/id/E/EL/ELIZABETH/load-%{version}.tar.gz
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
+
+BuildArch: noarch
+BuildRequires: perl
+
+%description
+The "load" pragma allows a module developer to give the application
+developer more options with regards to optimize for memory or CPU
+usage. The "load" pragma gives more control on the moment when
+subroutines are loaded and start taking up memory. This allows the
+application developer to optimize for CPU usage (by loading all of a
+module at compile time and thus reducing the amount of CPU used during
+the execution of an application). Or allow the application developer
+to optimize for memory usage, by loading subroutines only when they
+are actually needed, thereby however increasing the amount of CPU
+needed during execution.
+
+%prep
+%setup -n %{real_name}-%{version}
+
+%build
+%{expand: %%define optflags %{optflags} -fPIC}
+CFLAGS="%{optflags}" %{__perl} Makefile.PL INSTALLDIRS="vendor" PREFIX="%{buildroot}%{_prefix}"
+%{__make} %{?_smp_mflags} OPTIMIZE="%{optflags}"
+
+%install
+%{__rm} -rf %{buildroot}
+%makeinstall
+
+### Clean up buildroot
+%{__rm} -rf %{buildroot}%{perl_archlib}/perllocal.pod %{buildroot}%{perl_vendorarch}/auto/*{,/*{,/*}}/.packlist
+
+%clean
+%{__rm} -rf %{buildroot}
+
+%files
+%defattr(-, root, root, 0755)
+%doc MANIFEST README CHANGELOG TODO
+%doc %{_mandir}/man3/load.3pm*
+%{perl_vendorlib}/load.pm
+
+%changelog
+* Fri Jun 22 2007 Dominik Gehl <gehl at inverse.ca> - 0.19-1
+- Initial package.
More information about the svn-commits
mailing list