summaryrefslogtreecommitdiff
path: root/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2024-03-15 03:06:35 +0000
committerNorbert Preining <norbert@preining.info>2024-03-15 03:06:35 +0000
commit12679ab7d3c2a210f4123163671b532b8b55d5f9 (patch)
tree0060d13467186ad977f4e73488ee20dd6c0017ab /systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress
parent62170822e034fdd3f81de7274835d0d3b0467100 (diff)
CTAN sync 202403150306
Diffstat (limited to 'systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress')
-rw-r--r--systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Adapter/Bzip2.pm6
-rw-r--r--systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Adapter/Deflate.pm29
-rw-r--r--systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Adapter/Identity.pm4
-rw-r--r--systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Base.pm6
-rw-r--r--systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Base/Common.pm2
-rw-r--r--systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Bzip2.pm12
-rw-r--r--systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Deflate.pm114
-rw-r--r--systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/FAQ.pod4
-rw-r--r--systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Gzip.pm23
-rw-r--r--systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Gzip/Constants.pm2
-rw-r--r--systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/RawDeflate.pm21
-rw-r--r--systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Zip.pm91
-rw-r--r--systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Zip/Constants.pm4
-rw-r--r--systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Zlib/Constants.pm2
-rw-r--r--systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Zlib/Extra.pm4
15 files changed, 159 insertions, 165 deletions
diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Adapter/Bzip2.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Adapter/Bzip2.pm
index c157520f08..e19755123d 100644
--- a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Adapter/Bzip2.pm
+++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Adapter/Bzip2.pm
@@ -4,12 +4,12 @@ use strict;
use warnings;
use bytes;
-use IO::Compress::Base::Common 2.101 qw(:Status);
+use IO::Compress::Base::Common 2.204 qw(:Status);
-use Compress::Raw::Bzip2 2.101 ;
+use Compress::Raw::Bzip2 2.204 ;
our ($VERSION);
-$VERSION = '2.102';
+$VERSION = '2.204';
sub mkCompObject
{
diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Adapter/Deflate.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Adapter/Deflate.pm
index 1048dbda82..54696ffd78 100644
--- a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Adapter/Deflate.pm
+++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Adapter/Deflate.pm
@@ -4,13 +4,13 @@ use strict;
use warnings;
use bytes;
-use IO::Compress::Base::Common 2.101 qw(:Status);
-use Compress::Raw::Zlib 2.101 qw( !crc32 !adler32 ) ;
+use IO::Compress::Base::Common 2.204 qw(:Status);
+use Compress::Raw::Zlib 2.204 qw( !crc32 !adler32 ) ;
require Exporter;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, @EXPORT, %DEFLATE_CONSTANTS);
-$VERSION = '2.102';
+$VERSION = '2.204';
@ISA = qw(Exporter);
@EXPORT_OK = @Compress::Raw::Zlib::DEFLATE_CONSTANTS;
%EXPORT_TAGS = %Compress::Raw::Zlib::DEFLATE_CONSTANTS;
@@ -40,6 +40,29 @@ sub mkCompObject
} ;
}
+sub mkCompObject1
+{
+ my $crc32 = shift ;
+ my $adler32 = shift ;
+ my $level = shift ;
+ my $strategy = shift ;
+
+ my ($def, $status) = Compress::Raw::Zlib::Deflate->new(
+ -AppendOutput => 1,
+ -CRC32 => $crc32,
+ -ADLER32 => $adler32,
+ -Level => $level,
+ -Strategy => $strategy,
+ -WindowBits => MAX_WBITS);
+
+ return (undef, "Cannot create Deflate object: $status", $status)
+ if $status != Z_OK;
+
+ return bless {'Def' => $def,
+ 'Error' => '',
+ } ;
+}
+
sub compr
{
my $self = shift ;
diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Adapter/Identity.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Adapter/Identity.pm
index 8b92a3cea6..5938d13697 100644
--- a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Adapter/Identity.pm
+++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Adapter/Identity.pm
@@ -4,10 +4,10 @@ use strict;
use warnings;
use bytes;
-use IO::Compress::Base::Common 2.101 qw(:Status);
+use IO::Compress::Base::Common 2.204 qw(:Status);
our ($VERSION);
-$VERSION = '2.102';
+$VERSION = '2.204';
sub mkCompObject
{
diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Base.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Base.pm
index 269f10c7a4..37a0df94f3 100644
--- a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Base.pm
+++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Base.pm
@@ -6,7 +6,7 @@ require 5.006 ;
use strict ;
use warnings;
-use IO::Compress::Base::Common 2.101 ;
+use IO::Compress::Base::Common 2.204 ;
use IO::File (); ;
use Scalar::Util ();
@@ -20,7 +20,7 @@ use Symbol();
our (@ISA, $VERSION);
@ISA = qw(IO::File Exporter);
-$VERSION = '2.102';
+$VERSION = '2.204';
#Can't locate object method "SWASHNEW" via package "utf8" (perhaps you forgot to load "utf8"?) at .../ext/Compress-Zlib/Gzip/blib/lib/Compress/Zlib/Common.pm line 16.
@@ -1051,7 +1051,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2021 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2023 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Base/Common.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Base/Common.pm
index 67882cf515..32c4aa3464 100644
--- a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Base/Common.pm
+++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Base/Common.pm
@@ -11,7 +11,7 @@ use File::GlobMapper;
require Exporter;
our ($VERSION, @ISA, @EXPORT, %EXPORT_TAGS, $HAS_ENCODE);
@ISA = qw(Exporter);
-$VERSION = '2.102';
+$VERSION = '2.204';
@EXPORT = qw( isaFilehandle isaFilename isaScalar
whatIsInput whatIsOutput
diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Bzip2.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Bzip2.pm
index 2d333fd1e6..6aa0ddd4cb 100644
--- a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Bzip2.pm
+++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Bzip2.pm
@@ -5,16 +5,16 @@ use warnings;
use bytes;
require Exporter ;
-use IO::Compress::Base 2.101 ;
+use IO::Compress::Base 2.204 ;
-use IO::Compress::Base::Common 2.101 qw();
-use IO::Compress::Adapter::Bzip2 2.101 ;
+use IO::Compress::Base::Common 2.204 qw();
+use IO::Compress::Adapter::Bzip2 2.204 ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $Bzip2Error);
-$VERSION = '2.102';
+$VERSION = '2.204';
$Bzip2Error = '';
@ISA = qw(IO::Compress::Base Exporter);
@@ -51,7 +51,7 @@ sub getExtraParams
{
my $self = shift ;
- use IO::Compress::Base::Common 2.101 qw(:Parse);
+ use IO::Compress::Base::Common 2.204 qw(:Parse);
return (
'blocksize100k' => [IO::Compress::Base::Common::Parse_unsigned, 1],
@@ -818,7 +818,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2021 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2023 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Deflate.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Deflate.pm
index 9e71977df4..a34a6ba6e6 100644
--- a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Deflate.pm
+++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Deflate.pm
@@ -8,16 +8,16 @@ use bytes;
require Exporter ;
-use IO::Compress::RawDeflate 2.101 ();
-use IO::Compress::Adapter::Deflate 2.101 ;
+use IO::Compress::RawDeflate 2.204 ();
+use IO::Compress::Adapter::Deflate 2.204 ;
-use IO::Compress::Zlib::Constants 2.101 ;
-use IO::Compress::Base::Common 2.101 qw();
+use IO::Compress::Zlib::Constants 2.204 ;
+use IO::Compress::Base::Common 2.204 qw();
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $DeflateError);
-$VERSION = '2.102';
+$VERSION = '2.204';
$DeflateError = '';
@ISA = qw(IO::Compress::RawDeflate Exporter);
@@ -42,92 +42,35 @@ sub deflate
return $obj->_def(@_);
}
-
-sub bitmask($$$$)
-{
- my $into = shift ;
- my $value = shift ;
- my $offset = shift ;
- my $mask = shift ;
-
- return $into | (($value & $mask) << $offset ) ;
-}
-
-sub mkDeflateHdr($$$;$)
-{
- my $method = shift ;
- my $cinfo = shift;
- my $level = shift;
- my $fdict_adler = shift ;
-
- my $cmf = 0;
- my $flg = 0;
- my $fdict = 0;
- $fdict = 1 if defined $fdict_adler;
-
- $cmf = bitmask($cmf, $method, ZLIB_CMF_CM_OFFSET, ZLIB_CMF_CM_BITS);
- $cmf = bitmask($cmf, $cinfo, ZLIB_CMF_CINFO_OFFSET, ZLIB_CMF_CINFO_BITS);
-
- $flg = bitmask($flg, $fdict, ZLIB_FLG_FDICT_OFFSET, ZLIB_FLG_FDICT_BITS);
- $flg = bitmask($flg, $level, ZLIB_FLG_LEVEL_OFFSET, ZLIB_FLG_LEVEL_BITS);
-
- my $fcheck = 31 - ($cmf * 256 + $flg) % 31 ;
- $flg = bitmask($flg, $fcheck, ZLIB_FLG_FCHECK_OFFSET, ZLIB_FLG_FCHECK_BITS);
-
- my $hdr = pack("CC", $cmf, $flg) ;
- $hdr .= pack("N", $fdict_adler) if $fdict ;
-
- return $hdr;
-}
-
-sub mkHeader
+sub mkComp
{
my $self = shift ;
- my $param = shift ;
+ my $got = shift ;
- my $level = $param->getValue('level');
- my $strategy = $param->getValue('strategy');
+ my ($obj, $errstr, $errno) = IO::Compress::Adapter::Deflate::mkCompObject1(
+ $got->getValue('crc32'),
+ $got->getValue('adler32'),
+ $got->getValue('level'),
+ $got->getValue('strategy')
+ );
- my $lflag ;
- $level = 6
- if $level == Z_DEFAULT_COMPRESSION ;
+ return $self->saveErrorString(undef, $errstr, $errno)
+ if ! defined $obj;
- if (ZLIB_VERNUM >= 0x1210)
- {
- if ($strategy >= Z_HUFFMAN_ONLY || $level < 2)
- { $lflag = ZLIB_FLG_LEVEL_FASTEST }
- elsif ($level < 6)
- { $lflag = ZLIB_FLG_LEVEL_FAST }
- elsif ($level == 6)
- { $lflag = ZLIB_FLG_LEVEL_DEFAULT }
- else
- { $lflag = ZLIB_FLG_LEVEL_SLOWEST }
- }
- else
- {
- $lflag = ($level - 1) >> 1 ;
- $lflag = 3 if $lflag > 3 ;
- }
-
- #my $wbits = (MAX_WBITS - 8) << 4 ;
- my $wbits = 7;
- mkDeflateHdr(ZLIB_CMF_CM_DEFLATED, $wbits, $lflag);
+ return $obj;
}
-sub ckParams
+
+sub mkHeader
{
my $self = shift ;
- my $got = shift;
-
- $got->setValue('adler32' => 1);
- return 1 ;
+ return '';
}
-
sub mkTrailer
{
my $self = shift ;
- return pack("N", *$self->{Compress}->adler32()) ;
+ return '';
}
sub mkFinalTrailer
@@ -135,12 +78,6 @@ sub mkFinalTrailer
return '';
}
-#sub newHeader
-#{
-# my $self = shift ;
-# return *$self->{Header};
-#}
-
sub getExtraParams
{
my $self = shift ;
@@ -930,9 +867,9 @@ L<Archive::Tar|Archive::Tar>,
L<IO::Zlib|IO::Zlib>
For RFC 1950, 1951 and 1952 see
-L<http://www.faqs.org/rfcs/rfc1950.html>,
-L<http://www.faqs.org/rfcs/rfc1951.html> and
-L<http://www.faqs.org/rfcs/rfc1952.html>
+L<https://datatracker.ietf.org/doc/html/rfc1950>,
+L<https://datatracker.ietf.org/doc/html/rfc1951> and
+L<https://datatracker.ietf.org/doc/html/rfc1952>
The I<zlib> compression library was written by Jean-loup Gailly
C<gzip@prep.ai.mit.edu> and Mark Adler C<madler@alumni.caltech.edu>.
@@ -940,6 +877,9 @@ C<gzip@prep.ai.mit.edu> and Mark Adler C<madler@alumni.caltech.edu>.
The primary site for the I<zlib> compression library is
L<http://www.zlib.org>.
+The primary site for the I<zlib-ng> compression library is
+L<https://github.com/zlib-ng/zlib-ng>.
+
The primary site for gzip is L<http://www.gzip.org>.
=head1 AUTHOR
@@ -952,7 +892,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2021 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2023 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/FAQ.pod b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/FAQ.pod
index 367468ec07..549ea2a7b4 100644
--- a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/FAQ.pod
+++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/FAQ.pod
@@ -197,7 +197,7 @@ L<ftp://ftp.info-zip.org/pub/infozip/doc/>
=head2 Gzip Resources
The primary reference for gzip files is RFC 1952
-L<http://www.faqs.org/rfcs/rfc1952.html>
+L<https://datatracker.ietf.org/doc/html/rfc1952>
The primary site for gzip is L<http://www.gzip.org>.
@@ -682,7 +682,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2021 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2023 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Gzip.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Gzip.pm
index 4111d07938..6b142d4521 100644
--- a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Gzip.pm
+++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Gzip.pm
@@ -8,12 +8,12 @@ use bytes;
require Exporter ;
-use IO::Compress::RawDeflate 2.101 () ;
-use IO::Compress::Adapter::Deflate 2.101 ;
+use IO::Compress::RawDeflate 2.204 () ;
+use IO::Compress::Adapter::Deflate 2.204 ;
-use IO::Compress::Base::Common 2.101 qw(:Status );
-use IO::Compress::Gzip::Constants 2.101 ;
-use IO::Compress::Zlib::Extra 2.101 ;
+use IO::Compress::Base::Common 2.204 qw(:Status );
+use IO::Compress::Gzip::Constants 2.204 ;
+use IO::Compress::Zlib::Extra 2.204 ;
BEGIN
{
@@ -25,7 +25,7 @@ BEGIN
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $GzipError);
-$VERSION = '2.102';
+$VERSION = '2.204';
$GzipError = '' ;
@ISA = qw(IO::Compress::RawDeflate Exporter);
@@ -1242,9 +1242,9 @@ L<Archive::Tar|Archive::Tar>,
L<IO::Zlib|IO::Zlib>
For RFC 1950, 1951 and 1952 see
-L<http://www.faqs.org/rfcs/rfc1950.html>,
-L<http://www.faqs.org/rfcs/rfc1951.html> and
-L<http://www.faqs.org/rfcs/rfc1952.html>
+L<https://datatracker.ietf.org/doc/html/rfc1950>,
+L<https://datatracker.ietf.org/doc/html/rfc1951> and
+L<https://datatracker.ietf.org/doc/html/rfc1952>
The I<zlib> compression library was written by Jean-loup Gailly
C<gzip@prep.ai.mit.edu> and Mark Adler C<madler@alumni.caltech.edu>.
@@ -1252,6 +1252,9 @@ C<gzip@prep.ai.mit.edu> and Mark Adler C<madler@alumni.caltech.edu>.
The primary site for the I<zlib> compression library is
L<http://www.zlib.org>.
+The primary site for the I<zlib-ng> compression library is
+L<https://github.com/zlib-ng/zlib-ng>.
+
The primary site for gzip is L<http://www.gzip.org>.
=head1 AUTHOR
@@ -1264,7 +1267,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2021 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2023 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Gzip/Constants.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Gzip/Constants.pm
index a3d09e2e21..f56612d729 100644
--- a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Gzip/Constants.pm
+++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Gzip/Constants.pm
@@ -9,7 +9,7 @@ require Exporter;
our ($VERSION, @ISA, @EXPORT, %GZIP_OS_Names);
our ($GZIP_FNAME_INVALID_CHAR_RE, $GZIP_FCOMMENT_INVALID_CHAR_RE);
-$VERSION = '2.102';
+$VERSION = '2.204';
@ISA = qw(Exporter);
diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/RawDeflate.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/RawDeflate.pm
index 6a0ff6e0f3..75ee62ba48 100644
--- a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/RawDeflate.pm
+++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/RawDeflate.pm
@@ -6,16 +6,16 @@ use strict ;
use warnings;
use bytes;
-use IO::Compress::Base 2.101 ;
-use IO::Compress::Base::Common 2.101 qw(:Status :Parse);
-use IO::Compress::Adapter::Deflate 2.101 ;
-use Compress::Raw::Zlib 2.101 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY);
+use IO::Compress::Base 2.204 ;
+use IO::Compress::Base::Common 2.204 qw(:Status :Parse);
+use IO::Compress::Adapter::Deflate 2.204 ;
+use Compress::Raw::Zlib 2.204 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY);
require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %DEFLATE_CONSTANTS, %EXPORT_TAGS, $RawDeflateError);
-$VERSION = '2.102';
+$VERSION = '2.204';
$RawDeflateError = '';
@ISA = qw(IO::Compress::Base Exporter);
@@ -985,9 +985,9 @@ L<Archive::Tar|Archive::Tar>,
L<IO::Zlib|IO::Zlib>
For RFC 1950, 1951 and 1952 see
-L<http://www.faqs.org/rfcs/rfc1950.html>,
-L<http://www.faqs.org/rfcs/rfc1951.html> and
-L<http://www.faqs.org/rfcs/rfc1952.html>
+L<https://datatracker.ietf.org/doc/html/rfc1950>,
+L<https://datatracker.ietf.org/doc/html/rfc1951> and
+L<https://datatracker.ietf.org/doc/html/rfc1952>
The I<zlib> compression library was written by Jean-loup Gailly
C<gzip@prep.ai.mit.edu> and Mark Adler C<madler@alumni.caltech.edu>.
@@ -995,6 +995,9 @@ C<gzip@prep.ai.mit.edu> and Mark Adler C<madler@alumni.caltech.edu>.
The primary site for the I<zlib> compression library is
L<http://www.zlib.org>.
+The primary site for the I<zlib-ng> compression library is
+L<https://github.com/zlib-ng/zlib-ng>.
+
The primary site for gzip is L<http://www.gzip.org>.
=head1 AUTHOR
@@ -1007,7 +1010,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2021 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2023 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Zip.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Zip.pm
index fea487af67..856ae7b08a 100644
--- a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Zip.pm
+++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Zip.pm
@@ -4,41 +4,41 @@ use strict ;
use warnings;
use bytes;
-use IO::Compress::Base::Common 2.101 qw(:Status );
-use IO::Compress::RawDeflate 2.101 ();
-use IO::Compress::Adapter::Deflate 2.101 ;
-use IO::Compress::Adapter::Identity 2.101 ;
-use IO::Compress::Zlib::Extra 2.101 ;
-use IO::Compress::Zip::Constants 2.101 ;
+use IO::Compress::Base::Common 2.204 qw(:Status );
+use IO::Compress::RawDeflate 2.204 ();
+use IO::Compress::Adapter::Deflate 2.204 ;
+use IO::Compress::Adapter::Identity 2.204 ;
+use IO::Compress::Zlib::Extra 2.204 ;
+use IO::Compress::Zip::Constants 2.204 ;
use File::Spec();
use Config;
-use Compress::Raw::Zlib 2.101 ();
+use Compress::Raw::Zlib 2.204 ();
BEGIN
{
eval { require IO::Compress::Adapter::Bzip2 ;
- IO::Compress::Adapter::Bzip2->import( 2.101 );
+ IO::Compress::Adapter::Bzip2->import( 2.201 );
require IO::Compress::Bzip2 ;
- IO::Compress::Bzip2->import( 2.101 );
+ IO::Compress::Bzip2->import( 2.201 );
} ;
eval { require IO::Compress::Adapter::Lzma ;
- IO::Compress::Adapter::Lzma->import( 2.101 );
+ IO::Compress::Adapter::Lzma->import( 2.201 );
require IO::Compress::Lzma ;
- IO::Compress::Lzma->import( 2.101 );
+ IO::Compress::Lzma->import( 2.201 );
} ;
eval { require IO::Compress::Adapter::Xz ;
- IO::Compress::Adapter::Xz->import( 2.101 );
+ IO::Compress::Adapter::Xz->import( 2.201 );
require IO::Compress::Xz ;
- IO::Compress::Xz->import( 2.101 );
+ IO::Compress::Xz->import( 2.201 );
} ;
eval { require IO::Compress::Adapter::Zstd ;
- IO::Compress::Adapter::Zstd->import( 2.101 );
+ IO::Compress::Adapter::Zstd->import( 2.201 );
require IO::Compress::Zstd ;
- IO::Compress::Zstd->import( 2.101 );
+ IO::Compress::Zstd->import( 2.201 );
} ;
}
@@ -47,7 +47,7 @@ require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $ZipError);
-$VERSION = '2.102';
+$VERSION = '2.204';
$ZipError = '';
@ISA = qw(IO::Compress::RawDeflate Exporter);
@@ -85,20 +85,24 @@ sub isMethodAvailable
if $method == ZIP_CM_STORE || $method == ZIP_CM_DEFLATE ;
return 1
- if $method == ZIP_CM_BZIP2 and
- defined $IO::Compress::Adapter::Bzip2::VERSION;
+ if $method == ZIP_CM_BZIP2 &&
+ defined $IO::Compress::Adapter::Bzip2::VERSION &&
+ defined &{ "IO::Compress::Adapter::Bzip2::mkRawZipCompObject" };
return 1
- if $method == ZIP_CM_LZMA and
- defined $IO::Compress::Adapter::Lzma::VERSION;
+ if $method == ZIP_CM_LZMA &&
+ defined $IO::Compress::Adapter::Lzma::VERSION &&
+ defined &{ "IO::Compress::Adapter::Lzma::mkRawZipCompObject" };
return 1
- if $method == ZIP_CM_XZ and
- defined $IO::Compress::Adapter::Xz::VERSION;
+ if $method == ZIP_CM_XZ &&
+ defined $IO::Compress::Adapter::Xz::VERSION &&
+ defined &{ "IO::Compress::Adapter::Xz::mkRawZipCompObject" };
return 1
- if $method == ZIP_CM_ZSTD and
- defined $IO::Compress::Adapter::ZSTD::VERSION;
+ if $method == ZIP_CM_ZSTD &&
+ defined $IO::Compress::Adapter::ZSTD::VERSION &&
+ defined &{ "IO::Compress::Adapter::ZSTD::mkRawZipCompObject" };
return 0;
}
@@ -566,6 +570,8 @@ sub mkFinalTrailer
$z64e .= U64::pack_V64 $entries ; # entries in central dir
$z64e .= U64::pack_V64 $cd_len ; # size of central dir
$z64e .= *$self->{ZipData}{Offset}->getPacked_V64() ; # offset to start central dir
+ $z64e .= *$self->{ZipData}{extrafieldzip64} # otional extra field
+ if defined *$self->{ZipData}{extrafieldzip64} ;
$z64e = pack("V", ZIP64_END_CENTRAL_REC_HDR_SIG) # signature
. U64::pack_V64(length $z64e)
@@ -638,7 +644,7 @@ sub ckParams
}
*$self->{ZipData}{AnyZip64} = 1
- if $got->getValue('zip64');
+ if $got->getValue('zip64') || $got->getValue('extrafieldzip64') ;
*$self->{ZipData}{Zip64} = $got->getValue('zip64');
*$self->{ZipData}{Stream} = $got->getValue('stream');
@@ -658,7 +664,7 @@ sub ckParams
*$self->{ZipData}{ZipComment} = $got->getValue('zipcomment') ;
- for my $name (qw( extrafieldlocal extrafieldcentral ))
+ for my $name (qw( extrafieldlocal extrafieldcentral extrafieldzip64))
{
my $data = $got->getValue($name) ;
if (defined $data) {
@@ -667,6 +673,7 @@ sub ckParams
if $bad ;
$got->setValue($name, $data) ;
+ *$self->{ZipData}{$name} = $data;
}
}
@@ -731,6 +738,7 @@ our %PARAMS = (
'textflag' => [IO::Compress::Base::Common::Parse_boolean, 0],
'extrafieldlocal' => [IO::Compress::Base::Common::Parse_any, undef],
'extrafieldcentral'=> [IO::Compress::Base::Common::Parse_any, undef],
+ 'extrafieldzip64' => [IO::Compress::Base::Common::Parse_any, undef],
# Lzma
'preset' => [IO::Compress::Base::Common::Parse_unsigned, 6],
@@ -1053,12 +1061,24 @@ See L<File::GlobMapper|File::GlobMapper> for more details.
If the C<$input_filename_or_reference> parameter is any other type,
C<undef> will be returned.
-In addition, if C<$input_filename_or_reference> is a simple filename,
-the default values for
-the C<Name>, C<Time>, C<TextFlag>, C<ExtAttr>, C<exUnixN> and C<exTime> options will be sourced from that file.
+In addition, if C<$input_filename_or_reference> corresponds to a filename
+from the filesystem, a number of zip file header fields will be populated by default
+using the following attributes from the input file
+
+=over 5
+
+=item * the full filename contained in C<$input_filename_or_reference>
+
+=item * the file protection attributes
+
+=item * the UID/GID for the file
+
+=item * the file timestamps
+
+=back
If you do not want to use these defaults they can be overridden by
-explicitly setting the C<Name>, C<Time>, C<TextFlag>, C<ExtAttr>, C<exUnixN> and C<exTime> options or by setting the
+explicitly setting one, or more, of the C<Name>, C<Time>, C<TextFlag>, C<ExtAttr>, C<exUnixN> and C<exTime> options or by setting the
C<Minimal> parameter.
=head3 The C<$output_filename_or_reference> parameter
@@ -2121,9 +2141,9 @@ L<Archive::Tar|Archive::Tar>,
L<IO::Zlib|IO::Zlib>
For RFC 1950, 1951 and 1952 see
-L<http://www.faqs.org/rfcs/rfc1950.html>,
-L<http://www.faqs.org/rfcs/rfc1951.html> and
-L<http://www.faqs.org/rfcs/rfc1952.html>
+L<https://datatracker.ietf.org/doc/html/rfc1950>,
+L<https://datatracker.ietf.org/doc/html/rfc1951> and
+L<https://datatracker.ietf.org/doc/html/rfc1952>
The I<zlib> compression library was written by Jean-loup Gailly
C<gzip@prep.ai.mit.edu> and Mark Adler C<madler@alumni.caltech.edu>.
@@ -2131,6 +2151,9 @@ C<gzip@prep.ai.mit.edu> and Mark Adler C<madler@alumni.caltech.edu>.
The primary site for the I<zlib> compression library is
L<http://www.zlib.org>.
+The primary site for the I<zlib-ng> compression library is
+L<https://github.com/zlib-ng/zlib-ng>.
+
The primary site for gzip is L<http://www.gzip.org>.
=head1 AUTHOR
@@ -2143,7 +2166,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2021 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2023 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Zip/Constants.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Zip/Constants.pm
index 7982fc32f6..b6e0d35fed 100644
--- a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Zip/Constants.pm
+++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Zip/Constants.pm
@@ -7,7 +7,7 @@ require Exporter;
our ($VERSION, @ISA, @EXPORT, %ZIP_CM_MIN_VERSIONS);
-$VERSION = '2.102';
+$VERSION = '2.204';
@ISA = qw(Exporter);
@@ -20,6 +20,7 @@ $VERSION = '2.102';
ZIP_CM_PPMD
ZIP_CM_XZ
ZIP_CM_ZSTD
+ ZIP_CM_AES
ZIP_LOCAL_HDR_SIG
ZIP_DATA_HDR_SIG
@@ -69,6 +70,7 @@ use constant ZIP_CM_LZMA => 14 ;
use constant ZIP_CM_ZSTD => 93 ;
use constant ZIP_CM_XZ => 95 ;
use constant ZIP_CM_PPMD => 98 ; # Not Supported yet
+use constant ZIP_CM_AES => 99 ;
# General Purpose Flag
use constant ZIP_GP_FLAG_ENCRYPTED_MASK => (1 << 0) ;
diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Zlib/Constants.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Zlib/Constants.pm
index 937101e427..b0eb4cfcc3 100644
--- a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Zlib/Constants.pm
+++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Zlib/Constants.pm
@@ -9,7 +9,7 @@ require Exporter;
our ($VERSION, @ISA, @EXPORT);
-$VERSION = '2.102';
+$VERSION = '2.204';
@ISA = qw(Exporter);
diff --git a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Zlib/Extra.pm b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Zlib/Extra.pm
index ab7446a464..9767fe1694 100644
--- a/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Zlib/Extra.pm
+++ b/systems/texlive/tlnet/tlpkg/tlperl/lib/IO/Compress/Zlib/Extra.pm
@@ -8,9 +8,9 @@ use bytes;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS);
-$VERSION = '2.102';
+$VERSION = '2.204';
-use IO::Compress::Gzip::Constants 2.101 ;
+use IO::Compress::Gzip::Constants 2.204 ;
sub ExtraFieldError
{