]>
Commit | Line | Data |
---|---|---|
c20703d7 JR |
1 | # |
2 | # Conditional build: | |
3 | %bcond_without tests # do not perform "make test" | |
4 | # | |
5 | %define pdir Data | |
6 | %define pnam Dump-Streamer | |
7 | %include /usr/lib/rpm/macros.perl | |
8 | Summary: Data::Dump::Streamer - Accurately serialize a data structure as Perl code | |
9 | Name: perl-Data-Dump-Streamer | |
7ffa8fe8 | 10 | Version: 2.39 |
dc2e1856 | 11 | Release: 6 |
c20703d7 JR |
12 | License: GPL v1+ or Artistic |
13 | Group: Development/Languages/Perl | |
14 | Source0: http://www.cpan.org/modules/by-module/Data/%{pdir}-%{pnam}-%{version}.tar.gz | |
7ffa8fe8 | 15 | # Source0-md5: 5cd6fe67653c8de544fa41930de157b7 |
c20703d7 JR |
16 | URL: http://search.cpan.org/dist/Data-Dump-Streamer/ |
17 | BuildRequires: perl-Module-Build | |
18 | BuildRequires: perl-devel >= 1:5.8.0 | |
19 | BuildRequires: rpm-perlprov >= 4.1-13 | |
20 | %if %{with tests} | |
21 | BuildRequires: perl-B-Utils | |
e8ceffc6 | 22 | BuildRequires: perl-PadWalker |
c20703d7 JR |
23 | %endif |
24 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
25 | ||
26 | %description | |
27 | Given a list of scalars or reference variables, writes out their | |
28 | contents in perl syntax. The references can also be objects. The | |
29 | contents of each variable is output using the least number of Perl | |
30 | statements as convenient, usually only one. Self-referential | |
31 | structures, closures, and objects are output correctly. | |
32 | ||
33 | The return value can be evaled to get back an identical copy of the | |
34 | original reference structure. In some cases this may require the use | |
35 | of utility subs that Data::Dump::Streamer will optionally export. | |
36 | ||
37 | This module is very similar in concept to the core module | |
38 | Data::Dumper, with the major differences being that this module is | |
39 | designed to output to a stream instead of constructing its output in | |
40 | memory (trading speed for memory), and that the traversal over the | |
41 | data structure is effectively breadth first versus the depth first | |
42 | traversal done by the others. | |
43 | ||
44 | In fact the data structure is scanned twice, first in breadth first | |
45 | mode to perform structural analysis, and then in depth first mode to | |
46 | actually produce the output, but obeying the depth relationships of | |
47 | the first pass. | |
48 | ||
49 | %prep | |
50 | %setup -q -n %{pdir}-%{pnam}-%{version} | |
51 | ||
52 | %build | |
53 | %{__perl} Build.PL NODDS \ | |
54 | destdir=$RPM_BUILD_ROOT \ | |
55 | installdirs=vendor | |
56 | ./Build | |
57 | ||
58 | %{?with_tests:./Build test} | |
59 | ||
60 | %install | |
61 | rm -rf $RPM_BUILD_ROOT | |
62 | ||
63 | ./Build install | |
64 | ||
65 | %clean | |
66 | rm -rf $RPM_BUILD_ROOT | |
67 | ||
68 | %files | |
69 | %defattr(644,root,root,755) | |
70 | %doc Changes README | |
71 | %dir %{perl_vendorarch}/Data/Dump | |
72 | %{perl_vendorarch}/Data/Dump/*.pm | |
73 | %{perl_vendorarch}/Data/Dump/Streamer | |
74 | %dir %{perl_vendorarch}/auto/Data/Dump | |
75 | %dir %{perl_vendorarch}/auto/Data/Dump/Streamer | |
c20703d7 JR |
76 | %attr(755,root,root) %{perl_vendorarch}/auto/Data/Dump/Streamer/Streamer.so |
77 | %{_mandir}/man3/* |