diff --git a/.gitignore b/.gitignore index 74d3118..6068b00 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/Encode-3.01.tar.gz +Encode-3.21.tar.gz diff --git a/.perl-Encode.metadata b/.perl-Encode.metadata deleted file mode 100644 index 7db4bd6..0000000 --- a/.perl-Encode.metadata +++ /dev/null @@ -1 +0,0 @@ -39db23dce79fda1c775099663d3ce59745847871 SOURCES/Encode-3.01.tar.gz diff --git a/SPECS/perl-Encode.spec b/perl-Encode.spec similarity index 66% rename from SPECS/perl-Encode.spec rename to perl-Encode.spec index 74d5b38..579b2b7 100644 --- a/SPECS/perl-Encode.spec +++ b/perl-Encode.spec @@ -1,6 +1,6 @@ # Because encoding sub-package has an independent version, version macro gets # redefined. -%global cpan_version 3.01 +%global cpan_version 3.21 Name: perl-Encode Epoch: 4 Version: %{cpan_version} @@ -8,14 +8,16 @@ Version: %{cpan_version} # perl-encoding sub-package has independent version which does not change # often and consecutive builds would clash on perl-encoding NEVRA. This is the # same case as in perl.spec. -Release: 439%{?dist} +Release: 511%{?dist} Summary: Character encodings in Perl -# ucm: UCD -# bin/encguess: Artistic 2.0 -# other files: GPL+ or Artistic -License: (GPL+ or Artistic) and Artistic 2.0 and UCD +# ucm: license in this repository can be ingored based on +# https://gitlab.com/fedora/legal/fedora-license-data/-/issues/30#note_1435176617 +# bin/encguess: Artistic-2.0 +# other files: GPL-1.0-or-later OR Artistic-1.0-Perl +License: (GPL-1.0-or-later OR Artistic-1.0-Perl) AND Artistic-2.0 URL: https://metacpan.org/release/Encode Source0: https://cpan.metacpan.org/authors/id/D/DA/DANKOGAI/Encode-%{cpan_version}.tar.gz +BuildRequires: coreutils BuildRequires: findutils BuildRequires: gcc BuildRequires: make @@ -52,9 +54,12 @@ BuildRequires: perl(vars) BuildRequires: perl(XSLoader) # Tests: # Benchmark not used +BuildRequires: perl(blib) BuildRequires: perl(charnames) +BuildRequires: perl(Devel::Peek) BuildRequires: perl(File::Compare) BuildRequires: perl(File::Copy) +BuildRequires: perl(File::Temp) BuildRequires: perl(FileHandle) BuildRequires: perl(FindBin) BuildRequires: perl(IO::Select) @@ -63,11 +68,11 @@ BuildRequires: perl(IPC::Open3) # JSON::PP not used BuildRequires: perl(lib) BuildRequires: perl(open) +BuildRequires: perl(PerlIO::encoding) BuildRequires: perl(Scalar::Util) BuildRequires: perl(Symbol) BuildRequires: perl(Test::More) BuildRequires: perl(Tie::Scalar) -Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version)) Requires: perl(parent) >= 0.221 %{?perl_default_filter} @@ -82,11 +87,10 @@ of the system. Perl strings are sequences of characters. %package -n perl-encoding Summary: Write your Perl script in non-ASCII or non-UTF-8 -Version: 2.22 -License: GPL+ or Artistic +Version: 3.00 +License: GPL-1.0-or-later OR Artistic-1.0-Perl # Keeping this sub-package arch-specific because it installs files into # arch-specific directories. -Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version)) Requires: perl(Carp) # Config not needed on perl ≥ 5.008 # Consider Filter::Util::Call as mandatory, bug #1165183, CPAN RT#100427 @@ -112,9 +116,8 @@ The easiest and the best alternative is to write your script in UTF-8. %package devel Summary: Perl Encode Module Generator Version: %{cpan_version} -License: (GPL+ or Artistic) and UCD +License: GPL-1.0-or-later OR Artistic-1.0-Perl Requires: %{name}%{?_isa} = %{epoch}:%{cpan_version}-%{release} -Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version)) Recommends: perl-devel%{?_isa} Requires: perl(Encode) @@ -123,25 +126,66 @@ enc2xs builds a Perl extension for use by Encode from either Unicode Character Mapping files (.ucm) or Tcl Encoding Files (.enc). You can use enc2xs to add your own encoding to perl. No knowledge of XS is necessary. +%package tests +Summary: Tests for %{name} +Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: perl-Test-Harness + +%description tests +Tests from %{name}. Execute them +with "%{_libexecdir}/%{name}/test". + +# Filter modules bundled for tests +%global __provides_exclude_from %{?__provides_exclude_from:%__provides_exclude_from|}^%{_libexecdir} +%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\(Mod_EUCJP\\) %prep %setup -q -n Encode-%{cpan_version} +# Help generators to recognize Perl scripts +for F in t/*.t t/*.pl; do + perl -i -MConfig -ple 'print $Config{startperl} if $. == 1 && !s{\A#!.*perl\b}{$Config{startperl}}' "$F" + chmod +x "$F" +done + %build # Additional scripts can be installed by appending MORE_SCRIPTS, UCM files by # INSTALL_UCM. perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 NO_PERLLOCAL=1 \ - OPTIMIZE="$RPM_OPT_FLAGS" + OPTIMIZE="%{optflags}" %{make_build} %install %{make_install} -find $RPM_BUILD_ROOT -type f -name '*.bs' -empty -delete -%{_fixperms} $RPM_BUILD_ROOT/* +find %{buildroot} -type f -name '*.bs' -empty -delete +%{_fixperms} %{buildroot}/* + +# Install tests +mkdir -p %{buildroot}%{_libexecdir}/%{name} +cp -a t %{buildroot}%{_libexecdir}/%{name} +# Remove blib code +perl -i -pe 's{catdir\(\$blib, }{catdir("/usr", }' %{buildroot}%{_libexecdir}/%{name}/t/piconv.t +perl -i -pe 's{, "-Mblib=\$blib"}{}' %{buildroot}%{_libexecdir}/%{name}/t/piconv.t +mkdir -p %{buildroot}%{_libexecdir}/%{name}/bin +ln -s %{_bindir}/piconv %{buildroot}%{_libexecdir}/%{name}/bin +cat > %{buildroot}%{_libexecdir}/%{name}/test << 'EOF' +#!/bin/bash +set -e +# Some tests write into temporary files/directories. The easiest solution +# is to copy the tests into a writable directory and execute them from there. +DIR=$(mktemp -d) +pushd "$DIR" +cp -a %{_libexecdir}/%{name}/* ./ +prove -I . -j "$(getconf _NPROCESSORS_ONLN)" +popd +rm -rf "$DIR" +EOF +chmod +x %{buildroot}%{_libexecdir}/%{name}/test %check -unset AUTHOR_TESTING ENC2XS_VERBOSE MAKEFLAGS PERL_CORE PERL_ENCODING \ - PERL_ENCODE_DEBUG RELEASE_TESTING +unset AUTHOR_TESTING ENC2XS_NO_COMMENTS ENC2XS_VERBOSE MAKEFLAGS PERL_CORE \ + PERL_ENCODING PERL_ENCODE_DEBUG +export HARNESS_OPTIONS=j$(perl -e 'if ($ARGV[0] =~ /.*-j([0-9][0-9]*).*/) {print $1} else {print 1}' -- '%{?_smp_mflags}') make test %files @@ -168,7 +212,125 @@ make test %{perl_vendorarch}/Encode/*.e2x %{perl_vendorarch}/Encode/encode.h +%files tests +%{_libexecdir}/%{name} + %changelog +* Tue Oct 29 2024 Troy Dawson - 4:3.21-511 +- Bump release for October 2024 mass rebuild: + Resolves: RHEL-64018 + +* Thu Jul 18 2024 Jitka Plesnikova - 4:3.21-510 +- Increase release to favour standalone package + +* Mon Jun 24 2024 Troy Dawson - 4:3.21-505 +- Bump release for June 2024 mass rebuild + +* Tue Jun 18 2024 Jitka Plesnikova - 4:3.21-504 +- Resolves: RHEL-43260 - Update to 3.21 +- Update License tag + +* Thu Jan 25 2024 Fedora Release Engineering - 4:3.20-503 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 4:3.20-502 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Nov 10 2023 Jitka Plesnikova - 4:3.20-501 +- 3.20 bump (rhbz#2248987) + +* Thu Jul 20 2023 Fedora Release Engineering - 4:3.19-500 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jul 11 2023 Jitka Plesnikova - 4:3.19-499 +- Increase release to favour standalone package + +* Fri Jan 20 2023 Fedora Release Engineering - 4:3.19-493 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Mon Aug 15 2022 Jitka Plesnikova - 4:3.19-492 +- Increase release to solve conflicts with sub-package perl-encoding in the + module perl-bootstrap + +* Fri Aug 05 2022 Jitka Plesnikova - 4:3.19-491 +- 3.19 bump + +* Fri Jul 22 2022 Fedora Release Engineering - 4:3.18-490 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jun 27 2022 Jitka Plesnikova - 4:3.18-489 +- 3.18 bump + +* Mon May 30 2022 Jitka Plesnikova - 4:3.17-488 +- Increase release to favour standalone package + +* Thu Apr 07 2022 Jitka Plesnikova - 4:3.17-485 +- 3.17 bump +- Package tests + +* Fri Jan 21 2022 Fedora Release Engineering - 4:3.16-484 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Mon Oct 25 2021 Jitka Plesnikova - 4:3.16-483 +- 3.16 bump + +* Sun Oct 10 2021 Jitka Plesnikova - 4:3.15-482 +- 3.15 bump + +* Wed Oct 06 2021 Jitka Plesnikova - 4:3.13-481 +- 3.13 bump + +* Mon Aug 09 2021 Jitka Plesnikova - 4:3.12-480 +- 3.12 bump + +* Fri Jul 23 2021 Jitka Plesnikova - 4:3.11-479 +- 3.11 bump + +* Thu Jul 22 2021 Fedora Release Engineering - 4:3.10-478 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri May 21 2021 Jitka Plesnikova - 4:3.10-477 +- Increase release to favour standalone package + +* Fri May 21 2021 Jitka Plesnikova - 4:3.10-461 +- Perl 5.34 rebuild + +* Tue May 18 2021 Jitka Plesnikova - 4:3.10-460 +- 3.10 bump + +* Fri May 14 2021 Jitka Plesnikova - 4:3.09-1 +- 3.09 bump + +* Wed Jan 27 2021 Fedora Release Engineering - 4:3.08-459 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Dec 02 2020 Jitka Plesnikova - 4:3.08-458 +- 3.08 bump + +* Mon Jul 27 2020 Petr Pisar - 4:3.07-457 +- 3.07 bump + +* Mon Jun 22 2020 Jitka Plesnikova - 4:3.06-456 +- Increase release to favour standalone package + +* Mon May 04 2020 Petr Pisar - 4:3.06-445 +- 3.06 bump + +* Thu Mar 19 2020 Petr Pisar - 4:3.05-444 +- 3.05 bump + +* Wed Mar 11 2020 Petr Pisar - 4:3.04-443 +- 3.04 bump + +* Mon Mar 02 2020 Petr Pisar - 4:3.03-442 +- 3.03 bump + +* Wed Jan 29 2020 Fedora Release Engineering - 4:3.02-441 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Jan 02 2020 Petr Pisar - 4:3.02-440 +- 3.02 bump + * Fri Jul 26 2019 Fedora Release Engineering - 4:3.01-439 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild diff --git a/sources b/sources new file mode 100644 index 0000000..a7a843a --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (Encode-3.21.tar.gz) = 413b22ff4175bc32b1081c9bb2db0b290379bf318de5ef94e86165fa68a197a68c64da538915e50a1d0c5f7db0de058e9c7248a024bca1301bc7b1d5b41f2467