]>
Commit | Line | Data |
---|---|---|
d06aa346 AF |
1 | # |
2 | # Conditional build: | |
3 | %bcond_without tests # do not perform "make test" | |
4 | # | |
5 | %include /usr/lib/rpm/macros.perl | |
6 | %define pdir JSON | |
7 | %define pnam XS | |
8 | Summary: JSON::XS - JSON serialising/deserialising, done correctly and fast | |
cec964cc | 9 | Summary(pl.UTF-8): JSON::JS - serializacja/deserializacja JSON wykonana poprawnie i szybko |
d06aa346 | 10 | Name: perl-JSON-XS |
502cfab7 | 11 | Version: 3.01 |
a007e8a2 | 12 | Release: 2 |
40e4ea37 | 13 | Epoch: 2 |
d06aa346 AF |
14 | # same as perl |
15 | License: GPL v1+ or Artistic | |
16 | Group: Development/Languages/Perl | |
cec964cc | 17 | Source0: http://www.cpan.org/modules/by-authors/id/M/ML/MLEHMANN/%{pdir}-%{pnam}-%{version}.tar.gz |
502cfab7 | 18 | # Source0-md5: b7be65295baf6dd9233c6494782c1153 |
cec964cc | 19 | URL: http://search.cpan.org/dist/JSON-XS/ |
8b529231 | 20 | BuildRequires: perl-Encode |
502cfab7 | 21 | BuildRequires: perl-Types-Serialiser |
602d051b | 22 | BuildRequires: perl-common-sense |
23 | BuildRequires: perl-devel >= 1:5.8.0 | |
d06aa346 | 24 | BuildRequires: rpm-perlprov >= 4.1-13 |
d06aa346 AF |
25 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
26 | ||
27 | %description | |
28 | This module converts Perl data structures to JSON and vice versa. Its | |
602d051b | 29 | primary goal is to be correct and its secondary goal is to be fast. To |
30 | reach the latter goal it was written in C. | |
d06aa346 AF |
31 | |
32 | As this is the n-th-something JSON module on CPAN, what was the reason | |
33 | to write yet another JSON module? While it seems there are many JSON | |
cec964cc JB |
34 | modules, none of them correctly handle all corner cases, and in most |
35 | cases their maintainers are unresponsive, gone missing, or not | |
36 | listening to bug reports for other reasons. | |
d06aa346 | 37 | |
cec964cc JB |
38 | %description -l pl.UTF-8 |
39 | Ten moduł konwertuje struktury danych Perla do formatu JSON i | |
40 | odwrotnie. Jego podstawowym celem jest poprawne działanie, a drugim - | |
41 | szybkość. W celu osiągnięcia tego drugiego celu został napisany w C. | |
d06aa346 | 42 | |
cec964cc JB |
43 | Jako że jest to już któryś moduł JSON w CPAN-ie, musiała istnieć jakaś |
44 | przyczyna dla napisania kolejnego modułu JSON. O ile istnieje wiele | |
45 | takich modułów, żaden z nich nie obsługiwał wszystkich skrajnych | |
46 | przypadków i w większości przypadków utrzymujący moduły nie | |
47 | odpowiadali, zaginęli lub z innych powodów nie zwracali uwagi na | |
48 | zgłoszenia błędów. | |
d06aa346 AF |
49 | |
50 | %prep | |
51 | %setup -q -n %{pdir}-%{pnam}-%{version} | |
52 | ||
53 | %build | |
54 | %{__perl} Makefile.PL \ | |
55 | INSTALLDIRS=vendor | |
56 | %{__make} \ | |
0e022f03 | 57 | CC="%{__cc}" \ |
d06aa346 AF |
58 | OPTIMIZE="%{rpmcflags}" |
59 | ||
60 | %{?with_tests:%{__make} test} | |
61 | ||
62 | %install | |
63 | rm -rf $RPM_BUILD_ROOT | |
64 | ||
65 | %{__make} install \ | |
66 | DESTDIR=$RPM_BUILD_ROOT | |
67 | ||
68 | install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} | |
69 | cp -a eg $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} | |
70 | ||
71 | %clean | |
72 | rm -rf $RPM_BUILD_ROOT | |
73 | ||
74 | %files | |
75 | %defattr(644,root,root,755) | |
76 | %doc Changes README | |
b65cefa5 TP |
77 | %attr(755,root,root) %{_bindir}/json_xs |
78 | %{perl_vendorarch}/JSON/XS.pm | |
7d069ff1 | 79 | %{perl_vendorarch}/JSON/XS |
cddcb278 | 80 | %dir %{perl_vendorarch}/auto/JSON |
d06aa346 | 81 | %dir %{perl_vendorarch}/auto/JSON/XS |
d06aa346 | 82 | %attr(755,root,root) %{perl_vendorarch}/auto/JSON/XS/*.so |
a4ea07a6 | 83 | %{_mandir}/man?/* |
d06aa346 | 84 | %{_examplesdir}/%{name}-%{version} |