-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathperl.spec
1722 lines (1569 loc) · 64.4 KB
/
perl.spec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
#
# Conditional build:
%bcond_without tests # do not perform "make test"
%bcond_without threads # build without support for threads
%bcond_without gdbm # build without the GDBM_File module
#
# TODO:
# - fix "FIXME"s
# - add the {O,N}DBM_File modules
# - `diagnostics.pm' (perl-base) requires `perldiag.pod' (perl-perldoc)
# move .pod file to -base or S: perl-perldoc in -base
# - what about "prove" (binary+manual)? (conflicts with standalone Test-Harness)
# - consider separating C/XS development files (*.h, libperl.so)
# and perl development modules (like MakeMaker, Devel...)
# - subpackage for perl-ExtUtils-MakeMaker, (instmodsh conflicts with
# perl-ExtUtils-MakeMaker)
# - resolve ugly perl-base/perl-dirs dependency loop
# (in fact perl-dirs dep in perl-base could be dropped and perl-dirs
# deps in external modules autogenerated - perhaps with proper ">= version")
#
# TODO for perl-dependent packages:
# - change all "R/BR: perl" to one of perl-{base,modules,devel}
#
# NOTE
# - modules in 5.20.0: http://search.cpan.org/~rjbs/perl-5.20.0/
%define abi 5.40.0
%define perlthread %{?with_threads:-thread-multi}
%define perl_privlib %{_datadir}/perl5/%{ver}
%define perl_archlib %{_libdir}/perl5/%{ver}/%{_target_platform}%{perlthread}
%define perl_sitelib %{_usr}/local/share/perl5
%define perl_sitearch %{_usr}/local/lib/perl5/%{abi}/%{_target_platform}%{perlthread}
%define perl_vendorlib %{_datadir}/perl5/vendor_perl
%define perl_vendorarch %{_libdir}/perl5/vendor_perl/%{abi}/%{_target_platform}%{perlthread}
# extract module version from source
%define perl_modver() %([ -f %{SOURCE3} ] && awk -vp=%1 '$1 == p { print $3 }' %{SOURCE3} || echo ERROR)
%define perl_modverrel() %([ -f %{SOURCE3} ] && awk -vp=%1 -vr=%2 '$1 == p { print $3"-"r }' %{SOURCE3} || echo ERROR)
%define perl_modversion() %([ -f %{SOURCE3} ] && awk -vp=%1 '$1 == p { m=$1; gsub(/::/, "-", m); printf("perl-%s = %s\\n", m, $3)}END{if (!m) printf("# Error looking up [%s]\\n", p) }' %{SOURCE3} || echo ERROR)
%define perl_mod2ver() %([ -f %{SOURCE4} ] && awk -vp=%1 '$1 == p { print $4 }' %{SOURCE4} || echo ERROR)
%define perl_mod2verrel() %([ -f %{SOURCE4} ] && awk -vp=%1 -vr=%2 '$1 == p { print $4"-"r }' %{SOURCE4} || echo ERROR)
%define perl_mod2version() %([ -f %{SOURCE4} ] && awk -vp=%1 '$1 == p { m=$2; printf("perl-%s = %s\\n", p, $4)}END{if (!m) printf("# Error looking up [%s]\\n", p) }' %{SOURCE4} || echo ERROR)
%define ver 5.40.1
%define rel 1
Summary: Practical Extraction and Report Language (Perl)
Summary(cs.UTF-8): Programovací jazyk Perl
Summary(da.UTF-8): Programmeringssproget Perl
Summary(de.UTF-8): Praktische Extraktions- und Berichtsprache
Summary(es.UTF-8): Lenguaje práctica de extracción y listado
Summary(fr.UTF-8): Langage de programmation Perl
Summary(id.UTF-8): Bahasa pemrograman Perl
Summary(is.UTF-8): Forritunarmálið Perl
Summary(it.UTF-8): Perl: linguaggio di programmazione
Summary(ja.UTF-8): Perl プログラミング言語
Summary(ko.UTF-8): 펄 프로그래밍 언어
Summary(nb.UTF-8): Programmeringsspråket Perl
Summary(pl.UTF-8): Interpreter języka Perl (Practical Extraction and Report Language)
Summary(pt.UTF-8): A linguagem de programação Perl
Summary(pt_BR.UTF-8): Linguagem prática de extração e relatório
Summary(ru.UTF-8): Язык программирования Perl
Summary(sk.UTF-8): Programovací jazyk Perl
Summary(sl.UTF-8): Programski jezik Perl
Summary(sv.UTF-8): Programmeringsspråket Perl
Summary(tr.UTF-8): Kabuk yorumlama dili
Summary(zh_CN.UTF-8): Perl 编程语言。
Name: perl
Version: %{ver}
Release: %{rel}%{!?with_threads:_nothr}
Epoch: 1
License: GPL v1+ or Artistic
Group: Development/Languages/Perl
Source0: https://www.cpan.org/src/5.0/%{name}-%{ver}.tar.xz
# Source0-md5: bab3547a5cdf2302ee0396419d74a42e
Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
# Source1-md5: de47d7893f49ad7f41ba69c78511c0db
Source2: %{name}.prov
Source3: %{name}-modules
Source4: %{name}-modules2
Patch0: x32-io-msg-skip.diff
Patch2: %{name}_580-errno_h-parsing.patch
Patch3: %{name}_581-soname.patch
Patch4: %{name}-test-noproc.patch
Patch6: %{name}-write-permissions.patch
Patch7: %{name}-t-syslog.patch
Patch8: %{name}-Destroy-GDBM-NDBM-ODBM-SDBM-_File-objects.patch
Patch10: %{name}-invalid-void-use.patch
URL: http://dev.perl.org/perl5/
%ifarch ppc
# gcc 3.3.x miscompiles pp_hot.c
BuildRequires: gcc >= 5:4.1
%endif
%{?with_gdbm:BuildRequires: gdbm-devel}
# asm-generic, merged x86 asm dirs
BuildRequires: linux-libc-headers >= 7:2.6.24
%{?with_tests:BuildRequires: procps}
# required for proper Provides generation (older are not supported by spec)
BuildRequires: rpm-build >= 4.6
BuildRequires: rpmbuild(macros) >= 1.750
BuildRequires: tar >= 1:1.22
BuildRequires: xz
Requires: %{name}-base = %{epoch}:%{ver}-%{release}
Requires: %{name}-modules = %{epoch}:%{ver}-%{release}
Suggests: %{name}-doc-reference = %{epoch}:%{ver}-%{release}
Suggests: perldoc
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define __perl %{_builddir}/perl-%{ver}/runperl
%if %{_ver_ge '%{_rpmversion}' '4.16'} && %{_ver_lt '%{_rpmversion}' '5'}
%define __perllib_provides %{__perl} %{SOURCE2}
%else
%define __perl_provides %{__perl} %{SOURCE2}
%endif
%description
Perl is an interpreted language optimized for scanning arbitrary text
files, extracting information from those text files, and printing
reports based on that information. It's also a good language for many
system management tasks. The language is intended to be practical
(easy to use, efficient, complete) rather than beautiful (tiny,
elegant, minimal).
%description -l cs.UTF-8
Perl je vyšší programovací jazyk s kořeny v jazyce C, sed, awk a
shellových skriptech. Perl je vhodný pro manipulace s procesy a
soubory, ale obzvláště se hodí ke zpracovávání textů. Perl vyniká
praktičností účinností. I když se používá prakticky na cokoli, většina
Perlových programů slouží jako správcovské utility nebo programy pro
WWW. V Perlu je napsáno velmi mnoho CGI skriptů pro WWW servery na
celém světě.
%description -l da.UTF-8
Perl er et høgniveauprogramsprog med røtter i C, sed, awk og
skalskript. Perl er godt på at behandle processer og filer, og er
særskilt godt på at behandle text. Utmærkende for Perl er at det er
praktisk og effektivt. Det bruges for at gøre en mængd forskellige
saker, men de almindeligeste programmerne er systemadministration og
webbprogrammering. En stor andel af CGI-skripten på webben er skrivna
i Perl. Du behøver installere pakken Perl på dit system så at ditt
system kan behandle Perlskript.
%description -l de.UTF-8
Perl ist eine Interpreter-Sprache, die zum Durchsuchen beliebiger
Text- dateien, Extrahieren von Informationen aus diesen Dateien und
Drucken von auf diesen Informationen basierenden Berichten optimiert
ist. Die Sprache eignet sich außerdem für viele
Systemverwaltungsaufgaben. Sie ist eher praktisch (einfache
Anwendung,effizient, vollständig) als schön (winzig, elegant,
minimal).
%description -l es.UTF-8
Perl es un lenguaje interpretado, optimizado para manejar archivos
texto, extrayendo información de estos archivos y mostrando listados
basados en esta información. También es un buen lenguaje para varias
tareas de administración de sistema. El lenguaje busca ser más
práctico (fácil de usar, eficiente, completo) que bonito (minúsculo,
elegante, mínimo).
%description -l fr.UTF-8
Perl est un langage interprété, optimisé pour filtrer des fichiers
texte, extraire des informations de ces fichiers, et imprimer des
rapports basés sur ces informations. C'est aussi un bon langage pour
de nombreuses procédures de gestion système. Ce langage se veut
pratique (simple à utiliser, efficace, complet) autant qu'agréable
(conscrit, élégant, minimal).
%description -l id.UTF-8
Perl adalah sebuah bahasa pemrograman tingkat tinggi yang didasarkan
pada C, sed, awk, dan bahasa shell. Perl memiliki kemampuan penanganan
proses dan file yang bagus, tapi terutama kemampuan penanganan teksnya
yang baik. Ciri khas Perl adalah kepraktisan dan efisiensi. Meski
digunakan untuk berbagai hal, aplikasi Perl yang paling umum adalah
utilitas sistem administrasi dan pemrograman web. Sebagian besar skrip
CGI yang ada di web ditulis dalam Perl. Anda Perlu memasang paket Perl
di sistem agar dapat menjalankan skrip-skrip Perl.
%description -l is.UTF-8
Perl er hás stigs forritunar tungumál sem á rætur sínar að rekja til
C, sed, awk, og skeljar forritunar. Perl er góð í að meðhöndla
processa og skrár og er sérstaklega góð í að meðhöndla texta. Perls
kostir eru nytsamleiki og virkni. Á meðan það er notað til að gera
marga mismunandi hluti, Perl mest notuðu forrit eru krefisstjórnunar
tól og vef forritun Stór hluti af CGI forritum á vefnum eru skrifaðar
í Perl. Þú þarft Perl pakkann settan upp á þínu krefi svo þitt kerfi
geti notað Perl scriptur.
%description -l it.UTF-8
Perl è un linguaggio di programmazione di alto livello derivato dal
linguaggio C, da sed, da awk e dallo scripting delle shell. E' adatto
per la gestione di processi, di file e in particolare di file di
testo. Perl è un linguaggio semplice ed efficiente. Viene utilizzato
per numerosi scopi, ma le sue applicazioni più diffuse sono le utility
di amministrazione del sistema e la programmazione Web. Una grossa
parte degli script CGI nel Web sono scritti in Perl. È consigliabile
installare il pacchetto Perl in modo che il sistema sia in grado di
gestire gli script di Perl.
%description -l ja.UTF-8
Perl は C言語、sed, awk、及び シェルスクリプティングに根源を
持つハイレベルな プログラム言語です。Perl はプロセスやファイルの処理に
適切で 、特に テキスト処理には最適です。さまざまな作業に
使用されますが、 Perlの最も頻繁な活用はシステムアドミニストレーション
ユーティリティと webプログラミングです。web上の 大部分のCGI"
スクリプトがPerlで書かれています。 システムがPerlスクリプトを
処理出来るようにするためには Perlパッケージを インストールする
必要があります。
%description -l pl.UTF-8
Perl jest językiem przeznaczonym do skanowania plików tekstowych,
wyciągania z nich informacji i drukowania raportu bazującego na tych
informacjach. Jest również doskonałym językiem do wielu prac
związanych z nadzorem systemu. Język ten jest w zamierzeniu bardziej
praktyczny (łatwy w użyciu, wydajny, kompletny) niż piękny (skromny,
elegancki, minimalny).
%description -l pt.UTF-8
O Perl é uma linguagem de programação de alto nível que tem como
raizes o C, sed, awk, e 'shell scripting'. O Perl é bom a manipular
processos e ficheiros, e é especialmente bom para manipular texto.
Características do Perl são a eficiência e o uso prático. As
aplicações mais comuns do Perl são utilitários de administração de
sistema e programação Web. Uma grande parte dos 'scripts' CGI na Web
são escritos em Perl. Você precisa do pacote Perl instalado no seu
sistema de maneira a que este possa tratar de 'scripts' de Perl.
%description -l pt_BR.UTF-8
Perl é uma linguagem interpretada, otimizada para tratar arquivos
texto, extraindo informação desses arquivos e mostrando relatórios
baseados nessa informação. Também é uma boa linguagem para várias
tarefas de administração de sistema. A linguagem procura ser mais
prática (fácil de usar, eficiente, completa) do que bonita (minúscula,
elegante, mínima).
%description -l ru.UTF-8
Perl - это интерпретируемый язык программирования, уходящий корнями в
C, sed, awk и языки командных оболочек (shell). Perl хорош для работы
с процессами и файлами, а особенно хорош для задач обработки текстов.
Особенности Perl - практичность и эффективность. Хотя он и
используется для решения самых разных задач, наиболее распространенные
применения (и то, в чем он силен) это, вероятно, утилиты системного
администрирования и web-программирование. Большая часть CGI скриптов
написана на Perl.
%description -l sk.UTF-8
Perl je programovací jazyk vyššej úrovne s koreňmi v C, sed, awk, a
shell skriptoch. Perl má vhodné vlastnosti pre spracovanie procesov a
súborov a je zvlášť vhodný pre spracovanie textu. Jeho cieľmi sú
praktičnosť a efektivita. Aj keď je používaný pre množstvo rozličných
činností, jeho najčastejším použitím (a kde vyniká najviac) sú
pravdepodobne nástroje pre správu systému a programovanie na Webe.
Veľká časť CGI skriptov na Webe je napísaná v Perle. Balík Perl
potrebujete mať nainštalovaný, aby bol váš systém schopný spracovať
Perl skripty.
%description -l sv.UTF-8
Perl är ett högnivåprogramspråk med rötter i C, sed, awk och
skalskript. Perl är bra på att hantera processer och filer, och är
särskilt bra på att hantera text. Utmärkande för Perl är att det är
praktiskt och effektivt. Det används för att göra en mängd olika
saker, men de vanligaste tillämpningarna är systemadministration och
webbprogrammering. En stor andel av CGI-skripten på webben är skrivna
i Perl. Du behöver installera paketet Perl på ditt system så att ditt
%description -l tr.UTF-8
Perl, metin dosyalarını taramak, bu metin dosyalarından bilgi çıkarmak
ve bu bilgiye dayalı raporlar hazırlamak icin geliştirilmiş bir
yorumlamalı dildir. Ayrıca pek çok sistem yönetimi görevleri için de
yararlı yetenekleri vardır. Perl, güzel (ufak, zarif, minimum)
olmaktan çok, pratik olmaya yönelik (kullanımı kolay, verimli,
eksiksiz) olarak tasarlanmıştır.
%description -l uk.UTF-8
Perl - це інтерпретована мова програмування, що запозичує ідеї в C,
sed, awk та мовах командних оболонок (shell). Perl добре підходить для
роботи з процесами та файлами, а найкраще - для обробки текстів.
Особливості Perl - практичність та ефективність. Хоча сфера його
використання дуже широка, найбільш поширене його застосування (та
найсильніша сторона) це, імовірно, утиліти системного адміністрування
та web-програмування. Більша частина CGI скриптів написана на Perl.
%description -l zh_CN.UTF-8
Perl 是一种高级编程语言,起源于 C、sed、awk 和 shell 脚本。
它善于处理进程和文件,尤其是处理文本。Perl
的特点在于其实用性和有效性。
尽管它可用于执行许多不同的任务,但是通常多应用于系统管理实用程序和 Web
编程。\n Web 上的大部分 CGI 脚本均使用 Perl
语言进行编写。您必须在系统中安装 Perl 软件包, 以便处理 Perl 脚本。
%package libs
Summary: Shared Perl library
Summary(pl.UTF-8): Biblioteka współdzielona Perla
Group: Libraries
Obsoletes: perl-lib < 1:5.6.1-7
Conflicts: perl-base < 1:5.8.8-8.1
%description libs
Shared Perl library.
%description libs -l pl.UTF-8
Biblioteka współdzielona Perla.
%package base
Summary: Base Perl components for a minimal installation
Summary(pl.UTF-8): Podstawowe składniki potrzebne do minimalnej instalacji Perla
Group: Development/Languages/Perl
Requires: %{name}-libs = %{epoch}:%{ver}-%{release}
Requires: %{perl_vendorarch}
Requires: %{perl_vendorlib}
Requires: perl(Scalar::Util)
Provides: perl(largefiles)
Provides: %perl_mod2version IO-Compress
Provides: %perl_mod2version PathTools
Provides: %perl_modversion File::Compare
Provides: %perl_modversion File::Temp
Provides: %perl_modversion Getopt::Long
Provides: %perl_modversion IO
Provides: %perl_modversion IO::Zlib
Provides: %perl_modversion IPC::Cmd
Provides: %perl_modversion Perl::OSType
Provides: %perl_modversion PerlIO::via::QuotedPrint
Provides: %perl_modversion Socket
Provides: %perl_modversion Tie::File
Provides: %perl_modversion Tie::RefHash
Provides: %perl_modversion parent
Obsoletes: perl-File-Compare < %perl_modverrel File::Compare 99
Obsoletes: perl-File-Temp < %perl_modverrel File::Temp 99
Obsoletes: perl-IO < %perl_modverrel IO 99
Obsoletes: perl-IO-Compress < %perl_mod2verrel IO-Compress 99
Obsoletes: perl-IO-Zlib < %perl_modverrel IO::Zlib 99
Obsoletes: perl-IPC-Cmd < %perl_modverrel IPC::Cmd 99
Obsoletes: perl-PathTools < %perl_mod2verrel PathTools 99
Obsoletes: perl-Perl-OSType < %perl_modverrel Perl::OSType 99
Obsoletes: perl-PerlIO-via-QuotedPrint < %perl_modverrel PerlIO::via::QuotedPrint 99
Obsoletes: perl-Socket < %perl_modverrel Socket 99
Obsoletes: perl-Tie-File < %perl_modverrel Tie::File 99
Obsoletes: perl-Tie-RefHash < %perl_modverrel Tie::RefHash 99
Obsoletes: perl-parent < %perl_modverrel parent 99
Obsoletes: sperl < 1:5.12.0
Conflicts: perl < 1:5.8.0
%description base
Base components, files, core modules, etc. -- a minimal usable Perl
installation. You are encouraged to install a full Perl (the perl
package) whenever possible.
%description base -l pl.UTF-8
Podstawowe składniki, pliki, główne moduły itp. - minimalna instalacja
Perla, nadająca się do użytku. Zaleca się instalację pełnego Perla
(pakietu perl), jeśli to tylko możliwe.
%package devel
Summary: Perl development files
Summary(pl.UTF-8): Pliki potrzebne przy tworzeniu własnych aplikacji w Perlu
Summary(pt_BR.UTF-8): Arquivos de desenvolvimento e cabeçalhos para o Perl
Group: Development/Libraries
Requires: %{name}-base = %{epoch}:%{ver}-%{release}
Requires: %{name}-modules = %{epoch}:%{ver}-%{release}
Requires: %{name}-tools-pod = %{epoch}:%{ver}-%{release}
Provides: %perl_modversion CPAN
Provides: %perl_modversion CPAN::Meta
Provides: %perl_modversion CPAN::Meta::YAML
Provides: %perl_modversion Devel::PPPort
Provides: %perl_modversion Devel::Peek
Provides: %perl_modversion ExtUtils::CBuilder
Provides: %perl_modversion ExtUtils::Command
Provides: %perl_modversion ExtUtils::Embed
Provides: %perl_modversion ExtUtils::Install
Provides: %perl_modversion ExtUtils::MakeMaker
Provides: %perl_modversion ExtUtils::Manifest
Provides: %perl_modversion ExtUtils::ParseXS
Obsoletes: perl-CPAN < %perl_modverrel CPAN 99
Obsoletes: perl-CPAN-Meta < %perl_modverrel CPAN::Meta 99
Obsoletes: perl-CPAN-Meta-YAML < %perl_modverrel CPAN::Meta::YAML 99
Obsoletes: perl-Devel-PPPort < %perl_modverrel Devel::PPPort 99
Obsoletes: perl-Devel-Peek < %perl_modverrel Devel::Peek 99
Obsoletes: perl-ExtUtils-CBuilder < %perl_modverrel ExtUtils::CBuilder 99
Obsoletes: perl-ExtUtils-Command < %perl_modverrel ExtUtils::Command 99
Obsoletes: perl-ExtUtils-Embed < %perl_modverrel ExtUtils::Embed 99
Obsoletes: perl-ExtUtils-Install < %perl_modverrel ExtUtils::Install 99
Obsoletes: perl-ExtUtils-MakeMaker < %perl_modverrel ExtUtils::MakeMaker 99
Obsoletes: perl-ExtUtils-Manifest < %perl_modverrel ExtUtils::Manifest 99
Obsoletes: perl-ExtUtils-ParseXS < %perl_modverrel ExtUtils::ParseXS 99
Obsoletes: perl-lib-devel < 1:5.6.1-7
%description devel
Components required for developing applications which embed a Perl
interpreter and compiling Perl modules.
%description devel -l pl.UTF-8
Składniki potrzebne do tworzenia aplikacji osadzających interpreter
Perla oraz kompilowania modułów Perla.
%package doc-pod
Summary: Perl documentation in POD format
Summary(pl.UTF-8): Dokumentacja Perla w formacie POD
Group: Documentation
Requires: perldoc
Obsoletes: perl-pod < 1:5.8.0
%description doc-pod
Practical Extraction and Report Language - POD docs.
%description doc-pod -l pl.UTF-8
Practical Extraction and Report Language - dokumentacja w formacie
POD.
%package doc-reference
Summary: Perl reference documentation
Summary(pl.UTF-8): Dokumentacja Perla
Group: Documentation
BuildArch: noarch
%description doc-reference
Reference documentation for the Practical Extraction and Report
Language and it's interpreter in the man(1) format.
%description doc-reference -l pl.UTF-8
Dokumentacja referencyjna w formacie man do języka Perl (Practical
Extraction and Report Language) i jego interpretera.
%package modules
Summary: Modules from the core Perl distribution
Summary(pl.UTF-8): Moduły z podstawowej dystrybucji Perla
Group: Libraries
Requires: %{name}-base = %{epoch}:%{ver}-%{release}
Requires: perl-Encode >= 2:2.49-%{ver}.%{rel}
Suggests: perl-Version-Requirements
Provides: %perl_modversion Archive::Tar
Provides: %perl_modversion Attribute::Handlers
Provides: %perl_modversion Compress::Raw::Bzip2
Provides: %perl_modversion Compress::Raw::Zlib
Provides: %perl_modversion Compress::Zlib
Provides: %perl_modversion Digest
Provides: %perl_modversion Digest::MD5
Provides: %perl_modversion Digest::SHA
Provides: %perl_modversion Filter::Simple
Provides: %perl_modversion FindBin
Provides: %perl_modversion I18N::LangTags
Provides: %perl_modversion IPC::SysV
Provides: %perl_modversion JSON::PP
Provides: %perl_modversion Locale::Maketext
Provides: %perl_modversion Locale::Maketext::Simple
Provides: %perl_modversion MIME::Base64
Provides: %perl_modversion Math::BigInt
Provides: %perl_modversion Math::BigInt::FastCalc
Provides: %perl_modversion Math::BigRat
Provides: %perl_modversion Math::Complex
Provides: %perl_modversion Math::Trig
Provides: %perl_modversion Memoize
Provides: %perl_modversion Module::CoreList
Provides: %perl_modversion Module::Load
Provides: %perl_modversion Module::Load::Conditional
Provides: %perl_modversion Module::Metadata
Provides: %perl_modversion NEXT
Provides: %perl_modversion Params::Check
Provides: %perl_modversion Parse::CPAN::Meta
Provides: %perl_modversion Pod::Escapes
Provides: %perl_modversion Pod::Simple
Provides: %perl_modversion Safe
Provides: %perl_modversion Storable
Provides: %perl_modversion Sys::Syslog
Provides: %perl_modversion Term::ANSIColor
Provides: %perl_modversion Term::Cap
Provides: %perl_modversion Test
Provides: %perl_modversion Test::Builder::Tester
Provides: %perl_modversion Test::Harness
Provides: %perl_modversion Test::Simple
Provides: %perl_modversion Test::Tester
Provides: %perl_modversion Test::use::ok
Provides: %perl_modversion Text::Balanced
Provides: %perl_modversion Text::ParseWords
Provides: %perl_modversion Time::HiRes
Provides: %perl_modversion Time::Piece
Provides: %perl_modversion UNIVERSAL
Provides: %perl_modversion Unicode::Collate
Provides: %perl_modversion Unicode::Normalize
Provides: %perl_modversion bignum
Provides: %perl_modversion libnet
Provides: %perl_modversion version
Obsoletes: perl-Archive-Tar < %perl_modverrel Archive::Tar 99
Obsoletes: perl-Attribute-Handlers < %perl_modverrel Attribute::Handlers 99
Obsoletes: perl-Compress-Raw-Bzip2 < %perl_modverrel Compress::Raw::Bzip2 99
Obsoletes: perl-Compress-Raw-Zlib < %perl_modverrel Compress::Raw::Zlib 99
Obsoletes: perl-Compress-Zlib < %perl_modverrel Compress::Zlib 99
Obsoletes: perl-Digest < %perl_modverrel Digest 99
Obsoletes: perl-Digest-MD5 < %perl_modverrel Digest::MD5 99
Obsoletes: perl-Digest-SHA < %perl_modverrel Digest::SHA 99
Obsoletes: perl-Filter-Simple < %perl_modverrel Filter::Simple 99
Obsoletes: perl-FindBin < %perl_modverrel FindBin 99
Obsoletes: perl-I18N-LangTags < %perl_modverrel I18N::LangTags 99
Obsoletes: perl-IPC-SysV < %perl_modverrel IPC::SysV 99
Obsoletes: perl-JSON-PP < %perl_modverrel JSON::PP 99
Obsoletes: perl-Locale-Maketext < %perl_modverrel Locale::Maketext 99
Obsoletes: perl-Locale-Maketext-Simple < %perl_modverrel Locale::Maketext::Simple 99
Obsoletes: perl-MIME-Base64 < %perl_modverrel MIME::Base64 99
Obsoletes: perl-Math-BigInt < %perl_modverrel Math::BigInt 99
Obsoletes: perl-Math-BigInt-FastCalc < %perl_modverrel Math::BigInt::FastCalc 99
Obsoletes: perl-Math-BigRat < %perl_modverrel Math::BigRat 99
Obsoletes: perl-Math-Complex < %perl_modverrel Math::Complex 99
Obsoletes: perl-Math-Trig < %perl_modverrel Math::Trig 99
Obsoletes: perl-Memoize < %perl_modverrel Memoize 99
Obsoletes: perl-Module-CoreList < %perl_modverrel Module::CoreList 99
Obsoletes: perl-Module-Load < %perl_modverrel Module::Load 99
Obsoletes: perl-Module-Load-Conditional < %perl_modverrel Module::Load::Conditional 99
Obsoletes: perl-Module-Metadata < %perl_modverrel Module::Metadata 99
Obsoletes: perl-NEXT < %perl_modverrel NEXT 99
Obsoletes: perl-Params-Check < %perl_modverrel Params::Check 99
Obsoletes: perl-Parse-CPAN-Meta < %perl_modverrel Parse::CPAN::Meta 99
Obsoletes: perl-Pod-Escapes < %perl_modverrel Pod::Escapes 99
Obsoletes: perl-Pod-Simple < %perl_modverrel Pod::Simple 99
Obsoletes: perl-Safe < %perl_modverrel Safe 99
Obsoletes: perl-Storable < %perl_modverrel Storable 99
Obsoletes: perl-Sys-Syslog < %perl_modverrel Sys::Syslog 99
Obsoletes: perl-Term-ANSIColor < %perl_modverrel Term::ANSIColor 99
Obsoletes: perl-Term-Cap < %perl_modverrel Term::Cap 99
Obsoletes: perl-Test < %perl_modverrel Test 99
Obsoletes: perl-Test-Builder-Tester < %perl_modverrel Test::Builder::Tester 99
Obsoletes: perl-Test-Harness < %perl_modverrel Test::Harness 99
Obsoletes: perl-Test-Simple < %perl_modverrel Test::Simple 99
Obsoletes: perl-Test-Tester < %perl_modverrel Test::Tester 99
Obsoletes: perl-Test-use-ok < %perl_modverrel Test::use::ok 99
Obsoletes: perl-Text-Balanced < %perl_modverrel Text::Balanced 99
Obsoletes: perl-Text-ParseWords < %perl_modverrel Text::ParseWords 99
Obsoletes: perl-Time-HiRes < %perl_modverrel Time::HiRes 99
Obsoletes: perl-Time-Piece < %perl_modverrel Time::Piece 99
Obsoletes: perl-UNIVERSAL < %perl_modverrel UNIVERSAL 99
Obsoletes: perl-Unicode-Collate < %perl_modverrel Unicode::Collate 99
Obsoletes: perl-Unicode-Normalize < %perl_modverrel Unicode::Normalize 99
Obsoletes: perl-bignum < %perl_modverrel bignum 99
Obsoletes: perl-libnet < %perl_modverrel libnet 99
Obsoletes: perl-version < %perl_modverrel version 99
%description modules
Practical Extraction and Report Language - modules from the core
distribution.
%description modules -l pl.UTF-8
Practical Extraction and Report Language - moduły z podstawowej
dystrybucji.
%package perldoc
Summary: perldoc - Look up Perl documentation in pod format
Summary(pl.UTF-8): perldoc - przeszukiwanie dokumentacji Perla w formacie pod
Group: Development/Tools
Requires: %{name}-modules = %{epoch}:%{ver}-%{release}
Requires: %{name}-tools-pod
Requires: groff
Provides: perldoc = 3.14_02@%{ver}
%description perldoc
perldoc looks up a piece of documentation in .pod format that is
embedded in the Perl installation tree or in a Perl script, and
displays it via "pod2man | nroff -man | $PAGER". This is primarily
used for the documentation for the Perl library modules.
%description perldoc -l pl.UTF-8
perldoc wyszukuje fragment dokumentacji w formacie .pod osadzony w
drzewie instalacji Perla lub w skypcie perlowym i wyświetla go przez
"pod2man | nroff -man | $PAGER". Program ten używany jest głównie do
dokumentacji modułów z bibliotek Perla.
%package tools
Summary: Various tools from the core Perl distribution
Summary(pl.UTF-8): Różne narzędzia z podstawowej dystrybucji Perla
Group: Applications
Requires: %{name}-devel = %{epoch}:%{ver}-%{release}
%description tools
Various tools from the core Perl distribution:
encguess - guess encodning
and others.
%description tools -l pl.UTF-8
Różne narzędzia z podstawowej dystrybucji Perla:
encguess - odgaduje kodowanie znaków
i inne.
%package tools-devel
Summary: Developer's tools from the core Perl distribution
Summary(pl.UTF-8): Narzędzia z podstawowej dystrybucji Perla, przeznaczone dla programistów
Group: Development/Tools
Requires: %{name}-base = %{epoch}:%{ver}-%{release}
Requires: %{name}-devel = %{epoch}:%{ver}-%{release}
%description tools-devel
Various tools from the core Perl distribution:
h2ph - convert .h C header files to .ph Perl header files
h2xs - convert .h C header files to Perl extensions
perlivp - Perl Installation Verification Procedure
pl2pm - Rough tool to translate Perl4 .pl files to Perl5 .pm modules.
splain - force verbose warning diagnostics
%description tools-devel -l pl.UTF-8
Różne narzędzia z podstawowej dystrybucji Perla:
h2ph - konwerter plików nagłówkowych .h z C na perlowe pliki
nagłówkowe .ph
h2xs - konwerter plików nagłówkowych .h z C na rozszerzenia
Perla
perlivp - procedura weryfikacji instalacji Perla
pl2pm - zgrubne narzędzie do tłumaczenia plików pl Perla 4 na
moduły .pm Perla 5
splain - wymuszenie obszernych ostrzeżeń diagnostycznych
%package tools-pod
Summary: Tools for manipulating files in the POD format
Summary(pl.UTF-8): Narzędzia do przetwarzania plików w formacie POD
Group: Applications
Requires: %{name}-modules = %{epoch}:%{ver}-%{release}
Requires: perl-Encode >= 2:2.49-%{ver}.%{rel}
%description tools-pod
Tools for manipulating files in the POD (Plain Old Documentation)
format:
pod2html - convert .pod files to .html files
pod2latex - convert pod documentation to LaTeX format
pod2man - convert POD data to formatted *roff input
pod2text - convert POD data to formatted ASCII text
pod2usage - print usage messages from embedded pod docs in files
podchecker - check the syntax of POD format documentation files
podselect - print selected sections of pod documentation
%description tools-pod -l pl.UTF-8
Narzędzia do przetwarzania plików w formacie POD (Plain Old
Documentation):
pod2html - konwerter plików .pod do plików .html
pod2latex - konwerter dokumentacji pod do formatu LaTeX
pod2man - konwerter danych POD na wejście sformatowane dla *roffa
pod2text - konwerter danych POD na sformatowany tekst ASCII
pod2usage - wypisanie informacji o używaniu programu z dokumentacji
osadzonej w plikach
podchecker - kontrola składni dokumentacji w formacie POD
podselect - wypisanie wybranych sekcji z dokumentacji POD
%package Encode
Summary: Encode - character encodings
Summary(pl.UTF-8): Encode - kodowania znaków
Version: %perl_modver Encode
Release: %{ver}.%{rel}
Epoch: 3
Group: Libraries
Requires: %{name}-base = 1:%{ver}-%{rel}
Obsoletes: perl-Encode-compat < 1
%description Encode
The Encode module provides the interfaces between Perl's strings and
the rest of the system.
%description Encode -l pl.UTF-8
Moduł Encode udostępnia interfejs pomiędzy łańcuchami w wewnętrznym
formacie Perla a resztą systemu.
%package GDBM_File
Summary: GDBM_File - Perl5 access to the gdbm library
Summary(pl.UTF-8): GDBM_File - dostęp do biblioteki gdbm w Perlu
Version: %perl_modver GDBM_File
Release: %{ver}.%{rel}
Epoch: 4
Group: Libraries
Requires: %{name}-base = 1:%{ver}-%{rel}
%description GDBM_File
GDBM_File is a module which allows Perl programs to make use of the
facilities provided by the GNU gdbm library.
%description GDBM_File -l pl.UTF-8
GDBM_File jest modułem, który umożliwia programom w Perlu korzystanie
z biblioteki GNU gdbm.
%package Scalar-List-Utils
Summary: List::Util and Scalar::Util - selection of general-utility scalar subroutines
Summary(pl.UTF-8): List::Util i Scalar::Util - wybór procedur skalarnych ogólnego zastosowania
# extra subst to change 1.4202 -> 1.42_02 (so that 1.45 can follow as next version)
Version: %(echo %{perl_mod2ver Scalar-List-Utils} | sed -re 's,\.([0-9]{2})([0-9]+)$,.\1_\2,')
Release: %{ver}.%{rel}
Epoch: 0
Group: Development/Languages/Perl
URL: http://search.cpan.org/dist/Scalar-List-Utils/
%description Scalar-List-Utils
This package contains a selection of subroutines that people have
expressed would be nice to have in the perl core, but the usage would
not really be high enough to warrant the use of a keyword, and the
size so small such that being individual extensions would be wasteful.
%description Scalar-List-Utils -l pl.UTF-8
Ten pakiet zawiera wybrane procedury, które według niektórych ludzi
powinny znaleźć się w głównym pakiecie Perla, ale użyteczność nie jest
zbyt duża, a rozmiar za mały na tworzenie oddzielnych rozszerzeń.
# Setting Version in last %package resets the %version macro. This hack works around it.
%define version %{ver}
%prep
%setup -q
%patch0 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch10 -p1
cat > runperl <<'EOF'
#!/bin/sh
# Prevent any system paths from being used.
# Note: you cant use runperl -MXYZ because BEGIN is executed after -M
LD_PRELOAD="%{_builddir}/%{name}-%{ver}/libperl.so.%{abi}" \
PERL5LIB="%{buildroot}%{perl_privlib}:%{buildroot}%{perl_archlib}" \
exec %{buildroot}%{_bindir}/perl -e 'BEGIN { @INC = ("%{buildroot}%{perl_privlib}", "%{buildroot}%{perl_archlib}"); }; if (@ARGV > 0) { my $script=shift(@ARGV); $0=$script; do($script) or die "Error attempting to execute script: $@\n"; } ' \
${1:+"$@"}
EOF
chmod a+x runperl
%build
unset LD_SYMBOLIC_FUNCTIONS || :
sh Configure \
-des \
-Dcc="%{__cc}" \
-Darchname=%{_target_platform} \
-Dcccdlflags='-fPIC' \
-Dccdlflags='-rdynamic' \
-Dldlibpthname=none \
-Dldflags="%{rpmldflags}" \
-Dlddlflags="-shared %{rpmldflags}" \
-Doptimize="%{rpmcflags}" \
-%{?debug:D}%{!?debug:U}DEBUGGING \
-Duseshrplib \
-Dman1dir=%{_mandir}/man1 -Dman1ext=1 \
-Dman3dir=%{_mandir}/man3 -Dman3ext=3perl \
-Dvendorman1dir=%{_mandir}/man1 -Dvendorman1ext=1p \
-Dvendorman3dir=%{_mandir}/man3 -Dvendorman3ext=3pm \
-Dsiteman1dir=%{_usr}/local/man/man1 -Dsiteman1ext=1p \
-Dsiteman3dir=%{_usr}/local/man/man3 -Dsiteman3ext=3pm \
-Dprefix=%{_prefix} -Dvendorprefix=%{_prefix} -Dsiteprefix=%{_usr}/local \
-Dlibpth="%{_libdir} /%{_lib}" \
-Dprivlib=%{perl_privlib} -Darchlib=%{perl_archlib} \
-Dsitelib=%{perl_sitelib} -Dsitearch=%{perl_sitearch} \
-Dvendorlib=%{perl_vendorlib} -Dvendorarch=%{perl_vendorarch} \
-Ui_db \
%{!?with_gdbm: -Ui_dbm -Ui_gdbm -Ui_ndbm} \
%{?with_gdbm: -Ui_dbm -Di_gdbm -Ui_ndbm} \
-Dlibswanted="dl m c crypt %{?with_gdbm:gdbm}" \
-%{?with_threads:D}%{!?with_threads:U}usethreads \
-Duselargefiles
%{__make} \
LIBPERL_SONAME=libperl.so.%{abi} \
LDDLFLAGS="%{rpmcflags} -shared"
%{?with_tests:%{__make} test -j1}
#%{?with_tests:%{__make} minitest}
%install
rm -rf $RPM_BUILD_ROOT
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT%{_mandir}/{ja,ko,zh_CN,zh_TW}/man1
## use symlinks instead of hardlinks
%{__ln_s} -f perl%{ver} $RPM_BUILD_ROOT%{_bindir}/perl
## install directory needed by packages dependant on TAP::Harness
install -d $RPM_BUILD_ROOT%{perl_privlib}/TAP/Harness
## install directory needed by packages dependant on Encode
install -d $RPM_BUILD_ROOT%{perl_vendorlib}/Encode
## Fix lib
%{__rm} $RPM_BUILD_ROOT%{perl_archlib}/CORE/libperl.so
%{__mv} $RPM_BUILD_ROOT%{perl_archlib}/CORE/libperl.so.%{abi} $RPM_BUILD_ROOT%{_libdir}
%{__ln_s} ../../../../libperl.so.%{abi} $RPM_BUILD_ROOT%{perl_archlib}/CORE/libperl.so.%{abi}
%{__ln_s} libperl.so.%{abi} $RPM_BUILD_ROOT%{_libdir}/libperl.so
# installed as non-executable - let rpm generate deps
chmod 755 $RPM_BUILD_ROOT%{_libdir}/libperl.so.%{abi}
## Fix Config.pm: remove buildroot path and change man pages extensions
%{__perl} -pi -e 's,%{buildroot}/*,/,g' $RPM_BUILD_ROOT%{perl_archlib}/Config.pm
%{__perl} -pi -e "s,^man1ext='1',man1ext='1p'," $RPM_BUILD_ROOT%{perl_archlib}/Config_heavy.pl
%{__perl} -pi -e "s,^man3ext='3perl',man3ext='3pm'," $RPM_BUILD_ROOT%{perl_archlib}/Config_heavy.pl
## Generate the *.ph files
owd=$(pwd)
cd /usr/include
H2PH=$RPM_BUILD_ROOT%{_bindir}/h2ph
PHDIR=$RPM_BUILD_ROOT%{perl_archlib}
WANTED='
syscall.h
syslog.h
termios.h
wait.h
asm/termios.h
sys/ioctl.h
sys/socket.h
sys/syscall.h
sys/time.h
linux/posix_types.h
linux/stddef.h
'
# why it returns non-zero???
%{__perl} $H2PH -a -d $PHDIR $WANTED || :
cd "$owd"
## remove man pages for other operating systems
%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/perl{aix,amiga,bs2000,cygwin}* \
$RPM_BUILD_ROOT%{_mandir}/man1/perl{freebsd,hpux,macos,os2,os390}* \
$RPM_BUILD_ROOT%{_mandir}/man1/perl{qnx,solaris,vms,vos,win32}*
## symlink perldelta.1.gz -> perlFOOdelta.1.gz
[ -e $RPM_BUILD_ROOT%{_mandir}/man1/perl%(echo %{ver} | tr -d .)delta.1 ] || exit 1
%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/perldelta.1
echo ".so perl%(echo %{ver} | tr -d .)delta.1" >$RPM_BUILD_ROOT%{_mandir}/man1/perldelta.1
## These File::Spec submodules are for non-Unix systems
%{__rm} $RPM_BUILD_ROOT%{perl_archlib}/File/Spec/[EMOVW]*.pm
%{__rm} $RPM_BUILD_ROOT%{_mandir}/man3/File::Spec::{Epoc,Mac,OS2,VMS,Win32}.3perl*
## We already have these *.pod files as man pages
%{__rm} $RPM_BUILD_ROOT%{perl_privlib}/{Encode,Locale{,/Maketext},Module,Net,Test,version}/*.pod
%{__rm} $RPM_BUILD_ROOT%{perl_privlib}/*.pod
%{__rm} $RPM_BUILD_ROOT%{perl_archlib}/*.pod
## We don't build NDBM_File that Memoize::NDBM_File requires
%{__rm} $RPM_BUILD_ROOT%{perl_privlib}/Memoize/NDBM_File.pm
%{__rm} $RPM_BUILD_ROOT%{_mandir}/man3/Memoize::NDBM_File.3perl*
install -d doc-base/{DynaLoader,Errno,File/Glob,IO,PathTools} \
doc-devel/{Devel/Peek,ExtUtils/{CBuilder,ParseXS}} \
doc-modules/{Attribute/Handlers,Carp,Data/Dumper,Hash/Util/FieldHash,I18N/LangTags,Locale/Maketext} \
doc-modules/{Module/CoreList,Net/Ping,Safe,Search/Dict,Storable,Time/HiRes,base,if,mro,unicore}
cp -p dist/Attribute-Handlers/Changes doc-modules/Attribute/Handlers
cp -p dist/Carp/{Changes,README} doc-modules/Carp
cp -p dist/Data-Dumper/{Changes,Todo} doc-modules/Data/Dumper
cp -p dist/ExtUtils-CBuilder/Changes doc-devel/ExtUtils/CBuilder
cp -p dist/ExtUtils-ParseXS/Changes doc-devel/ExtUtils/ParseXS
cp -p dist/I18N-LangTags/{ChangeLog,README} doc-modules/I18N/LangTags
cp -p dist/IO/{ChangeLog,README} doc-base/IO
cp -p dist/Locale-Maketext/{ChangeLog,README} doc-modules/Locale/Maketext
cp -p dist/Module-CoreList/{Changes,README} doc-modules/Module/CoreList
cp -p dist/Net-Ping/Changes doc-modules/Net/Ping
cp -p dist/PathTools/Changes doc-base/PathTools
cp -p dist/Safe/{Changes,README} doc-modules/Safe
cp -p dist/Search-Dict/Changes doc-modules/Search/Dict
cp -p dist/Storable/{ChangeLog,README} doc-modules/Storable
cp -p dist/Time-HiRes/Changes doc-modules/Time/HiRes
cp -p dist/base/Changes doc-modules/base
cp -p dist/if/Changes doc-modules/if
cp -p ext/Devel-Peek/Changes doc-devel/Devel/Peek
cp -p ext/DynaLoader/README doc-base/DynaLoader
cp -p ext/Errno/ChangeLog doc-base/Errno
cp -p ext/File-Glob/{Changes,TODO} doc-base/File/Glob
cp -p ext/Hash-Util/Changes doc-modules/Hash/Util
cp -p ext/Hash-Util-FieldHash/Changes doc-modules/Hash/Util/FieldHash
cp -p ext/mro/Changes doc-modules/mro
# needed only for tests
%{__rm} $RPM_BUILD_ROOT%{perl_privlib}/Unicode/Collate/keys.txt
# source for *.pl
%{__rm} $RPM_BUILD_ROOT%{perl_privlib}/unicore/*.txt
# lib/Unicode/UCD.pm opens them via openunicode():
cp -p lib/unicore/{Blocks,CaseFolding,SpecialCasing}.txt $RPM_BUILD_ROOT%{perl_privlib}/unicore
# cpan tools, we use rpm instead of cpan for managing packages (some search tool would be nice to have but...)
%{__rm} $RPM_BUILD_ROOT%{_bindir}/cpan*
%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/cpan*
owd=$(pwd)
## non-english man pages
%{__bzip2} -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
%{__mv} $RPM_BUILD_ROOT%{_mandir}/man1/perlcn.* $RPM_BUILD_ROOT%{_mandir}/zh_CN/man1
%{__mv} $RPM_BUILD_ROOT%{_mandir}/man1/perljp.* $RPM_BUILD_ROOT%{_mandir}/ja/man1
%{__mv} $RPM_BUILD_ROOT%{_mandir}/man1/perlko.* $RPM_BUILD_ROOT%{_mandir}/ko/man1
%{__mv} $RPM_BUILD_ROOT%{_mandir}/man1/perltw.* $RPM_BUILD_ROOT%{_mandir}/zh_TW/man1
# `perl -MExtUtils::Embed -e ldopts` includes -Wl,--as-needed
# which is then forced upon anyone embedding perl.
%{__sed} -i -e 's#^\(ld.*=.*\)-Wl,--as-needed\(.*\)#\1 \2#g' $RPM_BUILD_ROOT%{perl_archlib}/Config*.pl
%{__rm} $RPM_BUILD_ROOT%{_mandir}/README.perl-non-english-man-pages
# update and check perl-modules files
echo '# Module versions from Perl %{ver} distribution.' > perl-modules.tmp
for m in $(awk '!/^#/ && !/^$/{print $1}' %{SOURCE3}); do
case $m in
libnet)
v=$(awk '/VERSION/ {print $3; exit}' cpan/libnet/Makefile.PL | tr -d "',")
;;
# special cased since do eval on VERSION
ExtUtils::CBuilder|Compress::Raw::Bzip2|Compress::Raw::Zlib)
v=$(%{__perl} -e "use $m; print version->parse(\$$m::VERSION)->numify")
;;
*)
v=$(%{__perl} -e "use $m; print \$$m::VERSION")
;;
esac
echo "$m = $v" >> perl-modules.tmp
done
LC_ALL=C sort perl-modules.tmp > perl-modules && rm perl-modules.tmp
echo '# Non-straight named module versions from Perl %{ver} distribution.' > perl-modules2.tmp
for m in $(awk '!/^#/ && !/^$/{print $1"!"$2}' %{SOURCE4}); do
mn="${m##*!}"
mp="${m%%!*}"
case $m in
*)
v=$(%{__perl} -e "use $mn; print \$$mn::VERSION")
;;
esac
echo "$mp $mn = $v" >> perl-modules2.tmp
done
LC_ALL=C sort perl-modules2.tmp > perl-modules2 && rm perl-modules2.tmp
if ! cmp -s %{SOURCE3} perl-modules; then
: %{SOURCE3} outdated with $(pwd)/perl-modules
exit 1
fi
if ! cmp -s %{SOURCE4} perl-modules2; then
: %{SOURCE4} outdated with $(pwd)/perl-modules2
exit 1
fi
%clean
rm -rf $RPM_BUILD_ROOT
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
%files
%defattr(644,root,root,755)
%doc README AUTHORS
%attr(755,root,root) %{_bindir}/perlthanks
%{_mandir}/man1/perlthanks.1*
%files libs
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libperl.so.%{abi}
%files base
%defattr(644,root,root,755)
%doc doc-base/*
%attr(755,root,root) %{_bindir}/perl
%attr(755,root,root) %{_bindir}/perl%{ver}
%{_mandir}/man1/perl.1*
%lang(fi) %{_mandir}/fi/man1/perl.1*
%lang(pl) %{_mandir}/pl/man1/perl.1*
%dir %{_datadir}/perl5
%dir %{perl_privlib}
%dir %{_libdir}/perl5
%dir %{_libdir}/perl5/%{ver}
%dir %{perl_archlib}
%dir %{perl_archlib}/CORE
%attr(755,root,root) %{perl_archlib}/CORE/libperl.so.%{abi}
%dir %{perl_archlib}/auto
## pragmas
%{perl_privlib}/_charnames.pm
%{perl_privlib}/autodie.pm
%{perl_privlib}/autodie
%{_mandir}/man3/autodie*.3perl*
%{perl_privlib}/base.pm
%{_mandir}/man3/base.3perl*
%{perl_privlib}/builtin.pm
%{_mandir}/man3/builtin.3perl*
%{perl_privlib}/constant.pm
%{_mandir}/man3/constant.3perl*
%{perl_privlib}/diagnostics.pm
%{_mandir}/man3/diagnostics.3perl*
%{perl_privlib}/experimental.pm
%{_mandir}/man3/experimental.3perl*
%{perl_privlib}/feature.pm
%{_mandir}/man3/feature.3perl*
%{perl_privlib}/fields.pm
%{_mandir}/man3/fields.3perl*
%{perl_privlib}/integer.pm
%{_mandir}/man3/integer.3perl*
%{perl_privlib}/overload.pm
%{perl_privlib}/overload
%{_mandir}/man3/overload.3perl*
%{perl_privlib}/overloading.pm
%{_mandir}/man3/overloading.3perl*
%{perl_privlib}/parent.pm
%{_mandir}/man3/parent.3perl*
%{perl_privlib}/sort.pm
%{_mandir}/man3/sort.3perl*
%{perl_privlib}/strict.pm
%{_mandir}/man3/strict.3perl*
%{perl_privlib}/subs.pm
%{_mandir}/man3/subs.3perl*
%{perl_privlib}/vars.pm
%{_mandir}/man3/vars.3perl*
%{perl_privlib}/warnings.pm
%{perl_privlib}/warnings
%{_mandir}/man3/warnings*.3perl*
%{perl_archlib}/lib.pm