Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37848402
en ru br
ALT Linux repos
S:3.19-alt1
5.0: 2.33-alt1
4.1: 2.24-alt1
4.0: 2.23-alt2
3.0: 2.10-alt1

Group :: Development/Perl
RPM: perl-Encode

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

Patch: perl-Encode-2.24-alt1.patch
Download


 .gear-rules                                        |    2 +
 .../657d75aa7326359c2d921ef729b9bee1d1807c34       |   13 ++
 .../e537352846b54a5c70f442ee0a53485a3110e114       |   13 ++
 .gear-tags/list                                    |    2 +
 Byte/Byte.pm                                       |    1 -
 CN/CN.pm                                           |    1 -
 EBCDIC/EBCDIC.pm                                   |    1 -
 Encode.pm                                          |    8 +-
 Encode.xs                                          |    4 +-
 JP/JP.pm                                           |    1 -
 KR/KR.pm                                           |    1 -
 Symbol/Symbol.pm                                   |    1 -
 TW/TW.pm                                           |    1 -
 Unicode/Unicode.pm                                 |    1 -
 bin/enc2xs                                         |    1 -
 encoding.pm                                        |   27 ++--
 lib/Encode/Alias.pm                                |    1 -
 lib/Encode/CJKConstants.pm                         |    1 -
 lib/Encode/CN/HZ.pm                                |    1 -
 lib/Encode/Config.pm                               |   28 +++-
 lib/Encode/Encoder.pm                              |    1 -
 lib/Encode/Encoding.pm                             |    6 +-
 lib/Encode/GSM0338.pm                              |    1 -
 lib/Encode/Guess.pm                                |    1 -
 lib/Encode/JP/H2Z.pm                               |    1 -
 lib/Encode/JP/JIS7.pm                              |    1 -
 lib/Encode/KR/2022_KR.pm                           |    1 -
 lib/Encode/MIME/Header.pm                          |    1 -
 lib/Encode/MIME/Header/ISO_2022_JP.pm              |    1 -
 lib/Encode/MIME/Name.pm                            |    1 -
 lib/Encode/Unicode/UTF7.pm                         |    1 -
 perl-Encode.spec                                   |  181 ++++++++++++++++++++
 t/Aliases.t                                        |   14 +-
 t/CJKT.t                                           |   10 +-
 t/Encode.t                                         |   10 +-
 t/Encoder.t                                        |   10 +-
 t/Unicode.t                                        |   10 +-
 t/at-cn.t                                          |   12 +-
 t/at-tw.t                                          |   12 +-
 t/enc_data.t                                       |   10 +-
 t/enc_eucjp.t                                      |   10 +-
 t/enc_module.t                                     |   10 +-
 t/enc_utf8.t                                       |   10 +-
 t/encoding.t                                       |   10 +-
 t/fallback.t                                       |   10 +-
 t/grow.t                                           |   20 +-
 t/gsm0338.t                                        |   10 +-
 t/guess.t                                          |   10 +-
 t/jperl.t                                          |   14 +-
 t/mime-header.t                                    |   10 +-
 t/perlio.t                                         |   10 +-
 t/utf8strict.t                                     |   18 +-
 52 files changed, 382 insertions(+), 154 deletions(-)
diff --git a/.gear-rules b/.gear-rules
new file mode 100644
index 0000000..a44920b
--- /dev/null
+++ b/.gear-rules
@@ -0,0 +1,2 @@
+tar: @version@:. name=Encode-@version@
+diff: @version@:. . name=perl-Encode-@version@-@release@.patch
diff --git a/.gear-tags/657d75aa7326359c2d921ef729b9bee1d1807c34 b/.gear-tags/657d75aa7326359c2d921ef729b9bee1d1807c34
new file mode 100644
index 0000000..0a272db
--- /dev/null
+++ b/.gear-tags/657d75aa7326359c2d921ef729b9bee1d1807c34
@@ -0,0 +1,13 @@
+object 533e2422f0b000291478a17426c0e59064ce19df
+type commit
+tag 2.23
+tagger Alexey Tourbin <at@altlinux.ru> 1181498235 +0400
+
+2.23
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.7 (GNU/Linux)
+
+iD8DBQBGbDt7fBKgtDjnu0YRAp6EAJ0ZTFJ57HQS7/t9Sulgpcy414DxHgCfXia0
+CDeF0SbxDX60piv2n4SUo7c=
+=ef1x
+-----END PGP SIGNATURE-----
diff --git a/.gear-tags/e537352846b54a5c70f442ee0a53485a3110e114 b/.gear-tags/e537352846b54a5c70f442ee0a53485a3110e114
new file mode 100644
index 0000000..a20b9b7
--- /dev/null
+++ b/.gear-tags/e537352846b54a5c70f442ee0a53485a3110e114
@@ -0,0 +1,13 @@
+object f87a456ad09b8a749c5eeb8b626370b911e2cf17
+type commit
+tag 2.24
+tagger Alexey Tourbin <at@altlinux.ru> 1205333862 +0300
+
+2.24
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.8 (GNU/Linux)
+
+iEYEABECAAYFAkfX72YACgkQfBKgtDjnu0ZL6wCfe1HWD03N4D05bbZLOaIMPcA9
+kmAAoJVSpv+LmIe1VGlWTs7zhLFTXUP+
+=WWxZ
+-----END PGP SIGNATURE-----
diff --git a/.gear-tags/list b/.gear-tags/list
new file mode 100644
index 0000000..cff38e8
--- /dev/null
+++ b/.gear-tags/list
@@ -0,0 +1,2 @@
+657d75aa7326359c2d921ef729b9bee1d1807c34 2.23
+e537352846b54a5c70f442ee0a53485a3110e114 2.24
diff --git a/Byte/Byte.pm b/Byte/Byte.pm
index 3ea9035..bd60bd4 100644
--- a/Byte/Byte.pm
+++ b/Byte/Byte.pm
@@ -1,6 +1,5 @@
 package Encode::Byte;
 use strict;
-use warnings;
 use Encode;
 our $VERSION = do { my @r = ( q$Revision: 2.3 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
diff --git a/CN/CN.pm b/CN/CN.pm
index 9f120fb..b92293c 100644
--- a/CN/CN.pm
+++ b/CN/CN.pm
@@ -5,7 +5,6 @@ BEGIN {
     }
 }
 use strict;
-use warnings;
 use Encode;
 our $VERSION = do { my @r = ( q$Revision: 2.2 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 use XSLoader;
diff --git a/EBCDIC/EBCDIC.pm b/EBCDIC/EBCDIC.pm
index 8024c13..e9b0cf5 100644
--- a/EBCDIC/EBCDIC.pm
+++ b/EBCDIC/EBCDIC.pm
@@ -1,6 +1,5 @@
 package Encode::EBCDIC;
 use strict;
-use warnings;
 use Encode;
 our $VERSION = do { my @r = ( q$Revision: 2.2 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
diff --git a/Encode.pm b/Encode.pm
index c76fcdb..81979eb 100644
--- a/Encode.pm
+++ b/Encode.pm
@@ -3,7 +3,6 @@
 #
 package Encode;
 use strict;
-use warnings;
 our $VERSION = sprintf "%d.%02d", q$Revision: 2.24 $ =~ /(\d+)/g;
 sub DEBUG () { 0 }
 use XSLoader ();
@@ -50,7 +49,7 @@ use Encode::Alias;
 our %Encoding;
 our %ExtModule;
 require Encode::Config;
-eval { require Encode::ConfigLocal };
+eval { local $SIG{__DIE__}; require Encode::ConfigLocal };
 
 sub encodings {
     my $class = shift;
@@ -107,7 +106,7 @@ sub getEncoding {
         if ( my $mod = $ExtModule{$name} || $ExtModule{$lc} ) {
             $mod =~ s,::,/,g;
             $mod .= '.pm';
-            eval { require $mod; };
+            eval { local $SIG{__DIE__}; require $mod; } or warn "$mod not available";
             exists $Encoding{$name} and return $Encoding{$name};
         }
     }
@@ -128,8 +127,7 @@ sub resolve_alias($) {
 sub clone_encoding($) {
     my $obj = find_encoding(shift);
     ref $obj or return;
-    eval { require Storable };
-    $@ and return;
+    eval { require Storable } or do { warn $@; return };
     return Storable::dclone($obj);
 }
 
diff --git a/Encode.xs b/Encode.xs
index 1424071..af2d077 100644
--- a/Encode.xs
+++ b/Encode.xs
@@ -639,9 +639,7 @@ SV *	obj
 CODE:
 {
     /* encode_t *enc = INT2PTR(encode_t *, SvIV(SvRV(obj))); */
-    /* require_pv(PERLIO_FILENAME); */
-
-    eval_pv("require PerlIO::encoding", 0);
+    require_pv(PERLIO_FILENAME);
 
     if (SvTRUE(get_sv("@", 0))) {
     ST(0) = &PL_sv_no;
diff --git a/JP/JP.pm b/JP/JP.pm
index e78e54d..f9d67e8 100644
--- a/JP/JP.pm
+++ b/JP/JP.pm
@@ -5,7 +5,6 @@ BEGIN {
     }
 }
 use strict;
-use warnings;
 use Encode;
 our $VERSION = do { my @r = ( q$Revision: 2.3 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
diff --git a/KR/KR.pm b/KR/KR.pm
index 8cb2c63..d39bdf6 100644
--- a/KR/KR.pm
+++ b/KR/KR.pm
@@ -5,7 +5,6 @@ BEGIN {
     }
 }
 use strict;
-use warnings;
 use Encode;
 our $VERSION = do { my @r = ( q$Revision: 2.2 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 use XSLoader;
diff --git a/Symbol/Symbol.pm b/Symbol/Symbol.pm
index 77031aa..b3da675 100644
--- a/Symbol/Symbol.pm
+++ b/Symbol/Symbol.pm
@@ -1,6 +1,5 @@
 package Encode::Symbol;
 use strict;
-use warnings;
 use Encode;
 our $VERSION = do { my @r = ( q$Revision: 2.2 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
diff --git a/TW/TW.pm b/TW/TW.pm
index ffaa844..b386eb7 100644
--- a/TW/TW.pm
+++ b/TW/TW.pm
@@ -5,7 +5,6 @@ BEGIN {
     }
 }
 use strict;
-use warnings;
 use Encode;
 our $VERSION = do { my @r = ( q$Revision: 2.2 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 use XSLoader;
diff --git a/Unicode/Unicode.pm b/Unicode/Unicode.pm
index cdfe02d..179e84e 100644
--- a/Unicode/Unicode.pm
+++ b/Unicode/Unicode.pm
@@ -1,7 +1,6 @@
 package Encode::Unicode;
 
 use strict;
-use warnings;
 no warnings 'redefine';
 
 our $VERSION = do { my @r = ( q$Revision: 2.5 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
diff --git a/bin/enc2xs b/bin/enc2xs
index c5cf8ee..9176ef5 100755
--- a/bin/enc2xs
+++ b/bin/enc2xs
@@ -6,7 +6,6 @@ BEGIN {
     require Config; import Config;
 }
 use strict;
-use warnings;
 use Getopt::Std;
 use Config;
 my @orig_ARGV = @ARGV;
diff --git a/encoding.pm b/encoding.pm
index 77ba447..4ecffb6 100644
--- a/encoding.pm
+++ b/encoding.pm
@@ -4,7 +4,6 @@ our $VERSION = '2.6_01';
 
 use Encode;
 use strict;
-use warnings;
 
 sub DEBUG () { 0 }
 
@@ -15,11 +14,8 @@ BEGIN {
     }
 }
 
-our $HAS_PERLIO = 0;
-eval { require PerlIO::encoding };
-unless ($@) {
-    $HAS_PERLIO = ( PerlIO::encoding->VERSION >= 0.02 );
-}
+require PerlIO::encoding;
+PerlIO::encoding->VERSION(0.02);
 
 sub _exception {
     my $name = shift;
@@ -37,13 +33,10 @@ sub _exception {
 sub in_locale { $^H & ( $locale::hint_bits || 0 ) }
 
 sub _get_locale_encoding {
-    my $locale_encoding;
-
-    # I18N::Langinfo isn't available everywhere
-    eval {
+    my $locale_encoding = do {
         require I18N::Langinfo;
         I18N::Langinfo->import(qw(langinfo CODESET));
-        $locale_encoding = langinfo( CODESET() );
+        langinfo( CODESET() );
     };
 
     my $country_language;
@@ -124,7 +117,6 @@ sub import {
     unless ( $arg{Filter} ) {
         DEBUG and warn "_exception($name) = ", _exception($name);
         _exception($name) or ${^ENCODING} = $enc;
-        $HAS_PERLIO or return 1;
     }
     else {
         defined( ${^ENCODING} ) and undef ${^ENCODING};
@@ -135,6 +127,11 @@ sub import {
         eval {
             require Filter::Util::Call;
             Filter::Util::Call->import;
+        };
+        if ($@) {
+            warn "Filter::Util::Call not available";
+        }
+        else {
             filter_add(
                 sub {
                     my $status = filter_read();
@@ -145,8 +142,8 @@ sub import {
                     $status;
                 }
             );
-        };
-        $@ eq '' and DEBUG and warn "Filter installed";
+            DEBUG and warn "Filter installed";
+        }
     }
     defined ${^UNICODE} and ${^UNICODE} != 0 and return 1;
     for my $h (qw(STDIN STDOUT)) {
@@ -177,7 +174,7 @@ sub import {
 sub unimport {
     no warnings;
     undef ${^ENCODING};
-    if ($HAS_PERLIO) {
+    if (1) {
         binmode( STDIN,  ":raw" );
         binmode( STDOUT, ":raw" );
     }
diff --git a/lib/Encode/Alias.pm b/lib/Encode/Alias.pm
index 403293b..ef1dec9 100644
--- a/lib/Encode/Alias.pm
+++ b/lib/Encode/Alias.pm
@@ -1,6 +1,5 @@
 package Encode::Alias;
 use strict;
-use warnings;
 no warnings 'redefine';
 our $VERSION = do { my @r = ( q$Revision: 2.8 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 sub DEBUG () { 0 }
diff --git a/lib/Encode/CJKConstants.pm b/lib/Encode/CJKConstants.pm
index 43d2033..fa66f9d 100644
--- a/lib/Encode/CJKConstants.pm
+++ b/lib/Encode/CJKConstants.pm
@@ -5,7 +5,6 @@
 package Encode::CJKConstants;
 
 use strict;
-use warnings;
 our $RCSID = q$Id: CJKConstants.pm,v 2.2 2006/06/03 20:28:48 dankogai Exp $;
 our $VERSION = do { my @r = ( q$Revision: 2.2 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
diff --git a/lib/Encode/CN/HZ.pm b/lib/Encode/CN/HZ.pm
index 943dc23..dba94f9 100644
--- a/lib/Encode/CN/HZ.pm
+++ b/lib/Encode/CN/HZ.pm
@@ -1,7 +1,6 @@
 package Encode::CN::HZ;
 
 use strict;
-use warnings;
 
 use vars qw($VERSION);
 $VERSION = do { my @r = ( q$Revision: 2.4 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
diff --git a/lib/Encode/Config.pm b/lib/Encode/Config.pm
index 1286a47..373bff4 100644
--- a/lib/Encode/Config.pm
+++ b/lib/Encode/Config.pm
@@ -5,7 +5,6 @@ package Encode::Config;
 our $VERSION = do { my @r = ( q$Revision: 2.5 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
 use strict;
-use warnings;
 
 our %ExtModule = (
 
@@ -141,9 +140,30 @@ unless ( ord("A") == 193 ) {
         'cp950'          => 'Encode::TW',
         'MacChineseTrad' => 'Encode::TW',
 
-        #'big5plus'           => 'Encode::HanExtra',
-        #'euc-tw'             => 'Encode::HanExtra',
-        #'gb18030'            => 'Encode::HanExtra',
+	'big5-1984'	=> 'Encode::HanExtra',
+	'big5-2003'	=> 'Encode::HanExtra',
+	'big5ext'	=> 'Encode::HanExtra',
+	'big5plus'	=> 'Encode::HanExtra',
+	'cccii'		=> 'Encode::HanExtra',
+	'unisys'	=> 'Encode::HanExtra',
+	'euc-tw'	=> 'Encode::HanExtra',
+	'gb18030'	=> 'Encode::HanExtra',
+	'cns11643-1'	=> 'Encode::HanExtra',
+	'cns11643-2'	=> 'Encode::HanExtra',
+	'cns11643-3'	=> 'Encode::HanExtra',
+	'cns11643-4'	=> 'Encode::HanExtra',
+	'cns11643-5'	=> 'Encode::HanExtra',
+	'cns11643-6'	=> 'Encode::HanExtra',
+	'cns11643-7'	=> 'Encode::HanExtra',
+	'cns11643-f'	=> 'Encode::HanExtra',
+	'unisys-sosi1'	=> 'Encode::TW::Unisys::SOSI1',
+	'unisys-sosi2'	=> 'Encode::TW::Unisys::SOSI2',
+
+	'euc-jisx0213'	=> 'Encode::JIS2K',
+	'iso-2022-jp-3'	=> 'Encode::JIS2K',
+	'jis0213-1-raw'	=> 'Encode::JIS2K',
+	'jis0213-2-raw'	=> 'Encode::JIS2K',
+	'shiftjisx0213'	=> 'Encode::JIS2K',
 
         'MIME-Header' => 'Encode::MIME::Header',
         'MIME-B'      => 'Encode::MIME::Header',
diff --git a/lib/Encode/Encoder.pm b/lib/Encode/Encoder.pm
index f7194f8..4853ab0 100644
--- a/lib/Encode/Encoder.pm
+++ b/lib/Encode/Encoder.pm
@@ -3,7 +3,6 @@
 #
 package Encode::Encoder;
 use strict;
-use warnings;
 our $VERSION = do { my @r = ( q$Revision: 2.1 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
 require Exporter;
diff --git a/lib/Encode/Encoding.pm b/lib/Encode/Encoding.pm
index 768d6d1..e152634 100644
--- a/lib/Encode/Encoding.pm
+++ b/lib/Encode/Encoding.pm
@@ -2,7 +2,6 @@ package Encode::Encoding;
 
 # Base class for classes which implement encodings
 use strict;
-use warnings;
 our $VERSION = do { my @r = ( q$Revision: 2.5 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
 require Encode;
@@ -41,10 +40,7 @@ sub renewed { return $_[0]->{renewed} || 0 }
 
 sub needs_lines { 0 }
 
-sub perlio_ok {
-    eval { require PerlIO::encoding };
-    return $@ ? 0 : 1;
-}
+sub perlio_ok { require PerlIO::encoding }
 
 # (Temporary|legacy) methods
 
diff --git a/lib/Encode/GSM0338.pm b/lib/Encode/GSM0338.pm
index b417809..c7bb3a0 100644
--- a/lib/Encode/GSM0338.pm
+++ b/lib/Encode/GSM0338.pm
@@ -4,7 +4,6 @@
 package Encode::GSM0338;
 
 use strict;
-use warnings;
 use Carp;
 
 use vars qw($VERSION);
diff --git a/lib/Encode/Guess.pm b/lib/Encode/Guess.pm
index 1bc4df7..1ead42b 100644
--- a/lib/Encode/Guess.pm
+++ b/lib/Encode/Guess.pm
@@ -1,6 +1,5 @@
 package Encode::Guess;
 use strict;
-use warnings;
 use Encode qw(:fallbacks find_encoding);
 our $VERSION = do { my @r = ( q$Revision: 2.2 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
diff --git a/lib/Encode/JP/H2Z.pm b/lib/Encode/JP/H2Z.pm
index f8e2230..664c9eb 100644
--- a/lib/Encode/JP/H2Z.pm
+++ b/lib/Encode/JP/H2Z.pm
@@ -5,7 +5,6 @@
 package Encode::JP::H2Z;
 
 use strict;
-use warnings;
 
 our $RCSID = q$Id: H2Z.pm,v 2.2 2006/06/03 20:28:48 dankogai Exp $;
 our $VERSION = do { my @r = ( q$Revision: 2.2 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
diff --git a/lib/Encode/JP/JIS7.pm b/lib/Encode/JP/JIS7.pm
index bb048fd..a673275 100644
--- a/lib/Encode/JP/JIS7.pm
+++ b/lib/Encode/JP/JIS7.pm
@@ -1,6 +1,5 @@
 package Encode::JP::JIS7;
 use strict;
-use warnings;
 our $VERSION = do { my @r = ( q$Revision: 2.3 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
 use Encode qw(:fallbacks);
diff --git a/lib/Encode/KR/2022_KR.pm b/lib/Encode/KR/2022_KR.pm
index 0218d97..083010a 100644
--- a/lib/Encode/KR/2022_KR.pm
+++ b/lib/Encode/KR/2022_KR.pm
@@ -1,6 +1,5 @@
 package Encode::KR::2022_KR;
 use strict;
-use warnings;
 our $VERSION = do { my @r = ( q$Revision: 2.2 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
 use Encode qw(:fallbacks);
diff --git a/lib/Encode/MIME/Header.pm b/lib/Encode/MIME/Header.pm
index b664d88..5891457 100644
--- a/lib/Encode/MIME/Header.pm
+++ b/lib/Encode/MIME/Header.pm
@@ -1,6 +1,5 @@
 package Encode::MIME::Header;
 use strict;
-use warnings;
 no warnings 'redefine';
 
 our $VERSION = do { my @r = ( q$Revision: 2.5 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
diff --git a/lib/Encode/MIME/Header/ISO_2022_JP.pm b/lib/Encode/MIME/Header/ISO_2022_JP.pm
index 4abfbd0..14ba5bd 100644
--- a/lib/Encode/MIME/Header/ISO_2022_JP.pm
+++ b/lib/Encode/MIME/Header/ISO_2022_JP.pm
@@ -1,7 +1,6 @@
 package Encode::MIME::Header::ISO_2022_JP;
 
 use strict;
-use warnings;
 
 use base qw(Encode::MIME::Header);
 
diff --git a/lib/Encode/MIME/Name.pm b/lib/Encode/MIME/Name.pm
index 10d86a7..2575868 100644
--- a/lib/Encode/MIME/Name.pm
+++ b/lib/Encode/MIME/Name.pm
@@ -1,6 +1,5 @@
 package Encode::MIME::Name;
 use strict;
-use warnings;
 our $VERSION = do { my @r = ( q$Revision: 1.1 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
 our %MIME_NAME_OF = (
diff --git a/lib/Encode/Unicode/UTF7.pm b/lib/Encode/Unicode/UTF7.pm
index 6ee4619..bf2524b 100644
--- a/lib/Encode/Unicode/UTF7.pm
+++ b/lib/Encode/Unicode/UTF7.pm
@@ -3,7 +3,6 @@
 #
 package Encode::Unicode::UTF7;
 use strict;
-use warnings;
 no warnings 'redefine';
 use base qw(Encode::Encoding);
 __PACKAGE__->Define('UTF-7');
diff --git a/perl-Encode.spec b/perl-Encode.spec
new file mode 100644
index 0000000..c5f49ac
--- /dev/null
+++ b/perl-Encode.spec
@@ -0,0 +1,181 @@
+%define dist Encode
+Name: perl-%dist
+Version: 2.24
+Release: alt1
+
+Summary: Character encodings
+License: GPL or Artistic
+Group: Development/Perl
+
+URL: %CPAN %dist
+Source: %dist-%version.tar
+Patch: %name-%version-%release.patch
+
+Requires: perl-base >= 1:5.8.6
+
+Provides:  perl-i18n = 1:5.8.1 perl-i18n = 1:5.8.2 perl-i18n = 1:5.8.3 perl-i18n = 1:5.8.4
+Obsoletes: perl-i18n = 1:5.8.1 perl-i18n = 1:5.8.2 perl-i18n = 1:5.8.3 perl-i18n = 1:5.8.4
+
+# Automatically added by buildreq on Wed Mar 12 2008
+BuildRequires: perl-Filter perl-PerlIO perl-devel perl-unicore
+
+%description
+The Encode module provides the interfaces between Perl's strings
+and the rest of the system.  Perl strings are sequences of characters.
+See "perldoc Encode" for the rest of the story.
+
+%package devel
+Summary: Perl Encode Module Generator
+Group: Development/Perl
+Requires: %name = %version-%release
+%description devel
+enc2xs builds a Perl extension for use by Encode from either Unicode
+Character Mapping files (.ucm) or Tcl Encoding Files (.enc).  Besides
+being used internally during the build process of the Encode module,
+you can use enc2xs to add your own encoding to Perl.
+
+%package CN
+Summary: China-based Chinese Encodings
+Group: Development/Perl
+Requires: %name = %version-%release
+%description CN
+The Encode::CN module implements China-based Chinese charset encodings.
+The following encodings are supported: euc-cn, gb2312-raw, gb12345-raw,
+iso-ir-165, MacChineseSimp, cp936, hz.
+
+%package TW
+Summary: Taiwan-based Chinese Encodings
+Group: Development/Perl
+Requires: %name = %version-%release
+%description TW
+The Encode::TW module implements tradition Chinese charset encodings
+as used in Taiwan and Hong Kong.  The following encodings are supported:
+big5-eten, big5-hkscs, MacChineseTrad, cp950.
+
+%package KR
+Summary: Korean Encodings
+Group: Development/Perl
+Requires: %name = %version-%release
+%description KR
+The Encode::KR module implements Korean charset encodings.
+The following encodings are supported: euc-kr, ksc5601-raw, cp949,
+MacKorean, johab, iso-2022-kr.
+
+%package JP
+Summary: Japanese Encodings
+Group: Development/Perl
+Requires: %name = %version-%release
+%description JP
+The Encode::JP module implements Japanese charset encodings.
+The following encodings are supported: euc-jp, shiftjis, 7bit-jis,
+iso-2022-jp, iso-2022-jp-1, MacJapanese, cp932, jis0201-raw,
+jis0208-raw, jis0212-raw.
+
+%prep
+%setup -q -n %dist-%version
+%patch -p1
+bzip2 -9fk Changes
+
+%build
+%perl_vendor_build
+
+%install
+%perl_vendor_install
+
+%files
+%doc	AUTHORS Changes.bz2 README
+	%_bindir/piconv
+	%perl_vendor_archlib/encoding.pm
+	%perl_vendor_archlib/Encode.pm
+%dir	%perl_vendor_archlib/Encode
+	%perl_vendor_archlib/Encode/*.pm
+%doc	%perl_vendor_archlib/Encode/*.pod
+%dir	%perl_vendor_archlib/Encode/MIME
+	%perl_vendor_archlib/Encode/MIME/*.pm
+	%perl_vendor_archlib/Encode/Unicode
+	%perl_vendor_autolib/Encode
+%exclude %perl_vendor_archlib/Encode/CN*
+%exclude %perl_vendor_autolib/Encode/CN*
+%exclude %perl_vendor_archlib/Encode/TW*
+%exclude %perl_vendor_autolib/Encode/TW*
+%exclude %perl_vendor_archlib/Encode/KR*
+%exclude %perl_vendor_autolib/Encode/KR*
+%exclude %perl_vendor_archlib/Encode/JP*
+%exclude %perl_vendor_autolib/Encode/JP*
+
+%files devel
+	%_bindir/enc2xs
+%dir	%perl_vendor_archlib/Encode
+	%perl_vendor_archlib/Encode/*.e2x
+	%perl_vendor_archlib/Encode/*.h
+
+%files CN
+%dir	%perl_vendor_archlib/Encode
+	%perl_vendor_archlib/Encode/CN*
+%dir	%perl_vendor_autolib/Encode
+	%perl_vendor_autolib/Encode/CN*
+
+%files TW
+%dir	%perl_vendor_archlib/Encode
+	%perl_vendor_archlib/Encode/TW*
+%dir	%perl_vendor_autolib/Encode
+	%perl_vendor_autolib/Encode/TW*
+
+%files KR
+%dir	%perl_vendor_archlib/Encode
+	%perl_vendor_archlib/Encode/KR*
+%dir	%perl_vendor_autolib/Encode
+	%perl_vendor_autolib/Encode/KR*
+
+%files JP
+%dir	%perl_vendor_archlib/Encode
+	%perl_vendor_archlib/Encode/JP*
+%dir	%perl_vendor_autolib/Encode
+	%perl_vendor_autolib/Encode/JP*
+%dir	%perl_vendor_archlib/Encode/MIME
+%dir	%perl_vendor_archlib/Encode/MIME/Header
+	%perl_vendor_archlib/Encode/MIME/Header/ISO_2022_JP.pm
+
+%changelog
+* Wed Mar 12 2008 Alexey Tourbin <at@altlinux.ru> 2.24-alt1
+- 2.23 -> 2.24
+
+* Tue Aug 21 2007 Alexey Tourbin <at@altlinux.ru> 2.23-alt2
+- Encode/Config.pm: added more Encode::HanExtra and Encode::JIS2K encodings
+- moved Encode/MIME/Header/ISO_2022_JP.pm from perl-Encode to perl-Encode-JP
+- changed src.rpm packaging to keep upstream tarball unchanged
+
+* Sun Jun 10 2007 Alexey Tourbin <at@altlinux.ru> 2.23-alt1
+- 2.20 -> 2.23
+
+* Mon Apr 23 2007 Alexey Tourbin <at@altlinux.ru> 2.20-alt1
+- 2.19 -> 2.20
+
+* Sat Apr 07 2007 Alexey Tourbin <at@altlinux.ru> 2.19-alt1
+- 2.18 -> 2.19
+
+* Tue Apr 03 2007 Alexey Tourbin <at@altlinux.ru> 2.18-alt2
+- made perl-Encode strictly depend on PerlIO::encoding; previously the
+  dependency was generated only because of a bug in rpm-build-perl < 0.6.2
+- also cleaned up conditional loading of modules under eval
+
+* Mon Oct 16 2006 Alexey Tourbin <at@altlinux.ru> 2.18-alt1
+- 2.17 -> 2.18
+- imported sources into git and built with gear
+- own Encode dir (#10020)
+- removed `use warnings;'
+
+* Mon May 22 2006 Alexey Tourbin <at@altlinux.ru> 2.17-alt1
+- 2.11 -> 2.17
+
+* Sun Aug 07 2005 Alexey Tourbin <at@altlinux.ru> 2.11-alt1
+- 2.10 -> 2.11
+- enabled support for Encode::HanExtra Chinese encodings (cpan #14041)
+
+* Tue May 17 2005 Alexey Tourbin <at@altlinux.ru> 2.10-alt1
+- 2.09 -> 2.10
+- packaged %_bindir/enc2xs into devel subpackage
+
+* Tue Dec 14 2004 Alexey Tourbin <at@altlinux.ru> 2.09-alt1
+- initial revision (split perl-i18n)
+- subpackages: CN, TW, KR, JP
diff --git a/t/Aliases.t b/t/Aliases.t
index 6fd0fe2..6c12845 100644
--- a/t/Aliases.t
+++ b/t/Aliases.t
@@ -1,14 +1,14 @@
 #!../perl
 
 BEGIN {
-    if ($ENV{'PERL_CORE'}){
-    chdir 't';
-    unshift @INC, '../lib';
-    }
     require Config; import Config;
-    if ($Config{'extensions'} !~ /\bEncode\b/) {
-    print "1..0 # Skip: Encode was not built\n";
-        exit 0;
+    if ($ENV{'PERL_CORE'}){
+        if ($Config{'extensions'} !~ /\bEncode\b/) {
+            print "1..0 # Skip: Encode was not built\n";
+            exit 0;
+        }
+        chdir 't';
+        unshift @INC, '../lib';
     }
 }
 
diff --git a/t/CJKT.t b/t/CJKT.t
index d58e3e3..7a5a7df 100644
--- a/t/CJKT.t
+++ b/t/CJKT.t
@@ -1,13 +1,13 @@
 BEGIN {
+    require Config; import Config;
     if ($ENV{'PERL_CORE'}){
+        if ($Config{'extensions'} !~ /\bEncode\b/) {
+            print "1..0 # Skip: Encode was not built\n";
+            exit 0;
+        }
         chdir 't';
         unshift @INC, '../lib';
     }
-    require Config; import Config;
-    if ($Config{'extensions'} !~ /\bEncode\b/) {
-      print "1..0 # Skip: Encode was not built\n";
-      exit 0;
-    }
     if (ord("A") == 193) {
     print "1..0 # Skip: EBCDIC\n";
     exit 0;
diff --git a/t/Encode.t b/t/Encode.t
index 369557e..c2dfd14 100644
--- a/t/Encode.t
+++ b/t/Encode.t
@@ -1,5 +1,10 @@
 BEGIN {
+    require Config; import Config;
     if ($ENV{'PERL_CORE'}){
+        if ($Config{'extensions'} !~ /\bEncode\b/) {
+            print "1..0 # Skip: Encode was not built\n";
+            exit 0;
+        }
         chdir 't';
         unshift @INC, '../lib';
     }
@@ -7,11 +12,6 @@ BEGIN {
         print "1..0 # Skip: EBCDIC\n";
         exit 0;
     }
-    require Config; import Config;
-    if ($Config{'extensions'} !~ /\bEncode\b/) {
-      print "1..0 # Skip: Encode was not built\n";
-      exit 0;
-    }
 }
 use strict;
 use Test;
diff --git a/t/Encoder.t b/t/Encoder.t
index 2aab6c6..659a763 100644
--- a/t/Encoder.t
+++ b/t/Encoder.t
@@ -4,9 +4,13 @@
 
 BEGIN {
     require Config; import Config;
-    if ($Config{'extensions'} !~ /\bEncode\b/) {
-      print "1..0 # Skip: Encode was not built\n";
-      exit 0;
+    if ($ENV{'PERL_CORE'}){
+        if ($Config{'extensions'} !~ /\bEncode\b/) {
+            print "1..0 # Skip: Encode was not built\n";
+            exit 0;
+        }
+        chdir 't';
+        unshift @INC, '../lib';
     }
     $| = 1;
 }
diff --git a/t/Unicode.t b/t/Unicode.t
index aa80899..6127633 100644
--- a/t/Unicode.t
+++ b/t/Unicode.t
@@ -7,9 +7,13 @@
 
 BEGIN {
     require Config; import Config;
-    if ($Config{'extensions'} !~ /\bEncode\b/) {
-      print "1..0 # Skip: Encode was not built\n";
-      exit 0;
+    if ($ENV{'PERL_CORE'}){
+        if ($Config{'extensions'} !~ /\bEncode\b/) {
+            print "1..0 # Skip: Encode was not built\n";
+            exit 0;
+        }
+        chdir 't';
+        unshift @INC, '../lib';
     }
     if (ord("A") == 193) {
         print "1..0 # Skip: EBCDIC\n";
diff --git a/t/at-cn.t b/t/at-cn.t
index 03ba109..23721bd 100644
--- a/t/at-cn.t
+++ b/t/at-cn.t
@@ -1,12 +1,12 @@
 BEGIN {
+    require Config; import Config;
     if ($ENV{'PERL_CORE'}){
+        if ($Config{'extensions'} !~ /\bEncode\b/) {
+            print "1..0 # Skip: Encode was not built\n";
+            exit 0;
+        }
         chdir 't';
-    unshift @INC, '../lib';
-    }
-    require Config; import Config;
-    if ($Config{'extensions'} !~ /\bEncode\b/) {
-      print "1..0 # Skip: Encode was not built\n";
-      exit 0;
+        unshift @INC, '../lib';
     }
     if (ord("A") == 193) {
     print "1..0 # Skip: EBCDIC\n";
diff --git a/t/at-tw.t b/t/at-tw.t
index e6a559b..c8c26da 100644
--- a/t/at-tw.t
+++ b/t/at-tw.t
@@ -1,10 +1,12 @@
 BEGIN {
-    if (! -d 'blib' and -d 't'){ chdir 't' };
-    unshift @INC,  '../lib';
     require Config; import Config;
-    if ($Config{'extensions'} !~ /\bEncode\b/) {
-      print "1..0 # Skip: Encode was not built\n";
-      exit 0;
+    if ($ENV{'PERL_CORE'}){
+        if ($Config{'extensions'} !~ /\bEncode\b/) {
+            print "1..0 # Skip: Encode was not built\n";
+            exit 0;
+        }
+        chdir 't';
+        unshift @INC, '../lib';
     }
     unless (find PerlIO::Layer 'perlio') {
     print "1..0 # Skip: PerlIO was not built\n";
diff --git a/t/enc_data.t b/t/enc_data.t
index 52d7e11..ea3d7a0 100644
--- a/t/enc_data.t
+++ b/t/enc_data.t
@@ -2,9 +2,13 @@
 
 BEGIN {
     require Config; import Config;
-    if ($Config{'extensions'} !~ /\bEncode\b/) {
-      print "1..0 # Skip: Encode was not built\n";
-      exit 0;
+    if ($ENV{'PERL_CORE'}){
+        if ($Config{'extensions'} !~ /\bEncode\b/) {
+            print "1..0 # Skip: Encode was not built\n";
+            exit 0;
+        }
+        chdir 't';
+        unshift @INC, '../lib';
     }
     unless (find PerlIO::Layer 'perlio') {
     print "1..0 # Skip: PerlIO was not built\n";
diff --git a/t/enc_eucjp.t b/t/enc_eucjp.t
index 2fdd811..c0738a4 100644
--- a/t/enc_eucjp.t
+++ b/t/enc_eucjp.t
@@ -3,9 +3,13 @@
 
 BEGIN {
     require Config; import Config;
-    if ($Config{'extensions'} !~ /\bEncode\b/) {
-      print "1..0 # Skip: Encode was not built\n";
-      exit 0;
+    if ($ENV{'PERL_CORE'}){
+        if ($Config{'extensions'} !~ /\bEncode\b/) {
+            print "1..0 # Skip: Encode was not built\n";
+            exit 0;
+        }
+        chdir 't';
+        unshift @INC, '../lib';
     }
     unless (find PerlIO::Layer 'perlio') {
     print "1..0 # Skip: PerlIO was not built\n";
diff --git a/t/enc_module.t b/t/enc_module.t
index f187bd7..046b1f6 100644
--- a/t/enc_module.t
+++ b/t/enc_module.t
@@ -2,9 +2,13 @@
 # This file is in euc-jp
 BEGIN {
     require Config; import Config;
-    if ($Config{'extensions'} !~ /\bEncode\b/) {
-      print "1..0 # Skip: Encode was not built\n";
-      exit 0;
+    if ($ENV{'PERL_CORE'}){
+        if ($Config{'extensions'} !~ /\bEncode\b/) {
+            print "1..0 # Skip: Encode was not built\n";
+            exit 0;
+        }
+        chdir 't';
+        unshift @INC, '../lib';
     }
     unless (find PerlIO::Layer 'perlio') {
     print "1..0 # Skip: PerlIO was not built\n";
diff --git a/t/enc_utf8.t b/t/enc_utf8.t
index 5a30196..a26168f 100644
--- a/t/enc_utf8.t
+++ b/t/enc_utf8.t
@@ -3,9 +3,13 @@
 
 BEGIN {
     require Config; import Config;
-    if ($Config{'extensions'} !~ /\bEncode\b/) {
-      print "1..0 # Skip: Encode was not built\n";
-      exit 0;
+    if ($ENV{'PERL_CORE'}){
+        if ($Config{'extensions'} !~ /\bEncode\b/) {
+            print "1..0 # Skip: Encode was not built\n";
+            exit 0;
+        }
+        chdir 't';
+        unshift @INC, '../lib';
     }
     unless (find PerlIO::Layer 'perlio') {
     print "1..0 # Skip: PerlIO was not built\n";
diff --git a/t/encoding.t b/t/encoding.t
index b17b11f..06ab2ca 100644
--- a/t/encoding.t
+++ b/t/encoding.t
@@ -1,8 +1,12 @@
 BEGIN {
     require Config; import Config;
-    if ($Config{'extensions'} !~ /\bEncode\b/) {
-      print "1..0 # Skip: Encode was not built\n";
-      exit 0;
+    if ($ENV{'PERL_CORE'}){
+        if ($Config{'extensions'} !~ /\bEncode\b/) {
+            print "1..0 # Skip: Encode was not built\n";
+            exit 0;
+        }
+        chdir 't';
+        unshift @INC, '../lib';
     }
     unless (find PerlIO::Layer 'perlio') {
     print "1..0 # Skip: PerlIO was not built\n";
diff --git a/t/fallback.t b/t/fallback.t
index f6fcc5a..6cbc90d 100644
--- a/t/fallback.t
+++ b/t/fallback.t
@@ -1,13 +1,13 @@
 BEGIN {
+    require Config; import Config;
     if ($ENV{'PERL_CORE'}){
+        if ($Config{'extensions'} !~ /\bEncode\b/) {
+            print "1..0 # Skip: Encode was not built\n";
+            exit 0;
+        }
         chdir 't';
         unshift @INC, '../lib';
     }
-    require Config; import Config;
-    if ($Config{'extensions'} !~ /\bEncode\b/) {
-      print "1..0 # Skip: Encode was not built\n";
-      exit 0;
-    }
     if (ord("A") == 193) {
     print "1..0 # Skip: EBCDIC\n";
     exit 0;
diff --git a/t/grow.t b/t/grow.t
index e6b35fc..2d8a54c 100644
--- a/t/grow.t
+++ b/t/grow.t
@@ -1,16 +1,16 @@
 #!../perl
 our $POWER;
 BEGIN {
-     if ($ENV{'PERL_CORE'}){
-         chdir 't';
-         unshift @INC, '../lib';
-     }
-     require Config; import Config;
-     if ($Config{'extensions'} !~ /\bEncode\b/) {
-         print "1..0 # Skip: Encode was not built\n";
-             exit 0;
-     }
-     $POWER = 12; # up to 1 MB.  You may adjust the figure here
+    require Config; import Config;
+    if ($ENV{'PERL_CORE'}){
+        if ($Config{'extensions'} !~ /\bEncode\b/) {
+            print "1..0 # Skip: Encode was not built\n";
+            exit 0;
+        }
+        chdir 't';
+        unshift @INC, '../lib';
+    }
+    $POWER = 12; # up to 1 MB.  You may adjust the figure here
 }
 
 use strict;
diff --git a/t/gsm0338.t b/t/gsm0338.t
index 822ff4f..7c26b3f 100644
--- a/t/gsm0338.t
+++ b/t/gsm0338.t
@@ -1,13 +1,13 @@
 BEGIN {
+    require Config; import Config;
     if ($ENV{'PERL_CORE'}){
+        if ($Config{'extensions'} !~ /\bEncode\b/) {
+            print "1..0 # Skip: Encode was not built\n";
+            exit 0;
+        }
         chdir 't';
         unshift @INC, '../lib';
     }
-    require Config; import Config;
-    if ($Config{'extensions'} !~ /\bEncode\b/) {
-      print "1..0 # Skip: Encode was not built\n";
-      exit 0;
-    }
     $| = 1;
 }
 
diff --git a/t/guess.t b/t/guess.t
index 5bfbf4e..94563dc 100644
--- a/t/guess.t
+++ b/t/guess.t
@@ -1,13 +1,13 @@
 BEGIN {
+    require Config; import Config;
     if ($ENV{'PERL_CORE'}){
+        if ($Config{'extensions'} !~ /\bEncode\b/) {
+            print "1..0 # Skip: Encode was not built\n";
+            exit 0;
+        }
         chdir 't';
         unshift @INC, '../lib';
     }
-    require Config; import Config;
-    if ($Config{'extensions'} !~ /\bEncode\b/) {
-      print "1..0 # Skip: Encode was not built\n";
-      exit 0;
-    }
     if (ord("A") == 193) {
     print "1..0 # Skip: EBCDIC\n";
     exit 0;
diff --git a/t/jperl.t b/t/jperl.t
index da68468..0455e57 100644
--- a/t/jperl.t
+++ b/t/jperl.t
@@ -5,13 +5,13 @@
 
 BEGIN {
     require Config; import Config;
-    if ($Config{'extensions'} !~ /\bEncode\b/) {
-      print "1..0 # Skip: Encode was not built\n";
-      exit 0;
-    }
-    unless (find PerlIO::Layer 'perlio') {
-    print "1..0 # Skip: PerlIO was not built\n";
-    exit 0;
+    if ($ENV{'PERL_CORE'}){
+        if ($Config{'extensions'} !~ /\bEncode\b/) {
+            print "1..0 # Skip: Encode was not built\n";
+            exit 0;
+        }
+        chdir 't';
+        unshift @INC, '../lib';
     }
     if (ord("A") == 193) {
     print "1..0 # Skip: EBCDIC\n";
diff --git a/t/mime-header.t b/t/mime-header.t
index e36e0ba..f41d30d 100644
--- a/t/mime-header.t
+++ b/t/mime-header.t
@@ -3,15 +3,15 @@
 # This script is written in utf8
 #
 BEGIN {
+    require Config; import Config;
     if ($ENV{'PERL_CORE'}){
+        if ($Config{'extensions'} !~ /\bEncode\b/) {
+            print "1..0 # Skip: Encode was not built\n";
+            exit 0;
+        }
         chdir 't';
         unshift @INC, '../lib';
     }
-    require Config; import Config;
-    if ($Config{'extensions'} !~ /\bEncode\b/) {
-      print "1..0 # Skip: Encode was not built\n";
-      exit 0;
-    }
     if (ord("A") == 193) {
     print "1..0 # Skip: EBCDIC\n";
     exit 0;
diff --git a/t/perlio.t b/t/perlio.t
index 8138a89..2feb245 100644
--- a/t/perlio.t
+++ b/t/perlio.t
@@ -1,13 +1,13 @@
 BEGIN {
+    require Config; import Config;
     if ($ENV{'PERL_CORE'}){
+        if ($Config{'extensions'} !~ /\bEncode\b/) {
+            print "1..0 # Skip: Encode was not built\n";
+            exit 0;
+        }
         chdir 't';
         unshift @INC, '../lib';
     }
-    require Config; import Config;
-    if ($Config{'extensions'} !~ /\bEncode\b/) {
-      print "1..0 # Skip: Encode was not built\n";
-      exit 0;
-    }
     if (ord("A") == 193) {
     print "1..0 # Skip: EBCDIC\n";
     exit 0;
diff --git a/t/utf8strict.t b/t/utf8strict.t
index 37e7713..6a115a6 100644
--- a/t/utf8strict.t
+++ b/t/utf8strict.t
@@ -2,15 +2,15 @@
 our $DEBUG = @ARGV;
 our (%ORD, %SEQ, $NTESTS);
 BEGIN {
-     if ($ENV{'PERL_CORE'}){
-         chdir 't';
-         unshift @INC, '../lib';
-     }
-     require Config; import Config;
-     if ($Config{'extensions'} !~ /\bEncode\b/) {
-         print "1..0 # Skip: Encode was not built\n";
-     exit 0;
-     }
+    require Config; import Config;
+    if ($ENV{'PERL_CORE'}){
+        if ($Config{'extensions'} !~ /\bEncode\b/) {
+            print "1..0 # Skip: Encode was not built\n";
+            exit 0;
+        }
+        chdir 't';
+        unshift @INC, '../lib';
+    }
      if ($] <= 5.008 and !$Config{perl_patchlevel}){
      print "1..0 # Skip: Perl 5.8.1 or later required\n";
      exit 0;
 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin