diff --git a/Jcode-2.07-UTF-8.patch b/Jcode-2.07-UTF-8.patch new file mode 100644 index 0000000..a5de775 --- /dev/null +++ b/Jcode-2.07-UTF-8.patch @@ -0,0 +1,529 @@ +--- Jcode-2.07/Jcode/Nihongo.pod 2005-02-19 06:50:14.000000000 +0000 ++++ Jcode-2.07/Jcode/Nihongo.pod 2011-06-28 09:56:30.365310693 +0100 +@@ -1,77 +1,77 @@ +-=encoding euc-jp ++=encoding utf8 + +-=head1 ̾ ++=head1 名前 + +-Jcode - ܸʸϥɥ ++Jcode - 日本語文字集合ハンドラ + +-=head1 ++=head1 概要 + + use Jcode; + # +- # ż椫 ++ # 古式ゆかしく + Jcode::convert($str, $ocode, $icode, "z"); +- # ⤷ϥ֥Ȼظǡ ++ # もしくはオブジェクト指向で! + print Jcode->new($str)->h2z->tr($from, $to)->utf8; + +-=head1 ++=head1 説明 + +-Jcode.pmϥ֥ŪʥץȽ褫Υץξ +-ݡȤƤޤ֥ŪʥץȤФʴǡ ++Jcode.pmはオブジェクト的なアプローチと従来からのアプローチの両方を ++サポートしています。オブジェクト的なアプローチを使えばこんな感じで; + + $iso_2022_jp = Jcode->new($str)->h2z->jis; + +-ꥨ쥬ȤǤ礦 ++こちらよりエレガントでしょう: + + $iso_2022_jp = $str; + &jcode::convert(\$iso_2022_jp, 'jis', &jcode::getcode(\$str), "z"); + +-֥Ȥߤ̵ͤΤˡJcode.pmϤޤC +-C򥵥ݡȤƤޤ ++オブジェクトに馴染みの無い人のために、Jcode.pmはまだCと ++Cをサポートしています。 + +-PerlΥС5.8.1ʾʤ顢JcodeϡPerl 5.8ʹߤɸŪʸ +-ϥɥ⥸塼ǤLΥåѡȤƿ񤤤ޤ ++Perlのバージョンが5.8.1以上なら、Jcodeは、Perl 5.8以降の標準的な文字集合 ++ハンドラモジュールであるLのラッパーとして振る舞います。 + +-=head1 ᥽å ++=head1 メソッド + +-ä˸ڤʤ¤ꡢǵ󤲤᥽åɤJcode֥Ȥ֤ޤ ++特に言及しない限り、ここで挙げるメソッドは全てJcodeオブジェクトを返します。 + +-=head2 󥹥ȥ饯 ++=head2 コンストラクタ + + =over 2 + + =item $j = Jcode-Enew($str [, $icode]) + +-$strJcode֥$jޤŪ$icode򥻥åȤʤС +-ϥɤϼưŪȽꤵޤѲǽʸˤĤƤϡ +-L򻲾ȤƤ ++$strからJcodeオブジェクト$jを生成します。明示的に$icodeをセットしなければ、 ++入力コードは自動的に判定されます。利用可能な文字集合については、下の ++Lを参照してください。 + +-Perl 5.8.1ʹߤǤϡC<$icode>ˤLǤ +-I<ɤʥ󥳡ǥ̾>Ȥޤ ++Perl 5.8.1以降では、C<$icode>にはLが理解できる ++I<どんなエンコーディング名>も使えます。 + + $j = Jcode->new($european, 'iso-latin1'); + +-֥Ȥʸ󲽤ȡEUCѴ줿ʸ֤ޤǤ +-C<< print $j->euc >>ȤˡC<< print $j >>ȤǤޤ ++オブジェクトを文字列化すると、EUCに変換された文字列が返ります。ですから ++C<< print $j->euc >>とする代わりに、C<< print $j >>とできます。 + + =over 2 + +-=item եϤ ++=item リファレンス渡し + +-顼ͤˡʲΤ褦˥ե󥹤Ϥޤ ++スカラー値の代わりに、以下のようにリファレンスを渡せます。 + + Jcode->new(\$str); + +-Ϥۤξ֤󤷤ޤȤơ$strͤΤΤ +-Ѵޤʤ̣$strjcode֥Ȥ"tie"ΤǤˡ ++これはほんの少し時間を節約します。その代償として、$strの値そのものが ++変換されます(ある意味、$strはjcodeオブジェクトに"tieされる"のです)。 + + =back + + =item $j-Eset($str [, $icode]) + +-$jʸ$str򥻥åȤޤ֤Jcode֥ȤȤȤ +-Ǥʥ֥Ȥ֤ȥˤʤޤˡ ++$jの内部文字列に$strをセットします。繰り返しJcodeオブジェクトを使うときに ++便利です(オブジェクトを生成する時間とメモリの節約になります)。 + +- # mailboxSJISѴ ++ # mailboxをSJIS形式に変換 + my $jconv = new Jcode; + $/ = 00; + while(<>){ +@@ -80,19 +80,19 @@ + + =item $j-Eappend($str [, $icode]); + +-$jʸ$sträޤ ++$jの内部文字列に$strを加えます。 + + =item $j = jcode($str [, $icode]); + +-Jcode-Enew() û̷ʲΤ褦ˤǤޤ ++Jcode-Enew() の短縮形。以下のようにできます; + + $sjis = jcode($str)->sjis; + + =back + +-=head2 ʸΥ󥳡 ++=head2 文字列のエンコード + +-̤ˡ$j-EIȤ뤳ȤIѴ줿ʸޤ ++一般に、$j-EIとすることでIに変換された文字列を得ます。 + + =over 2 + +@@ -108,268 +108,268 @@ + + =item $utf8 = $j-Eutf8 + +-Ǥ礦 ++自明でしょう。 + WYCIWYG = What you code is what you get :) + + =item $iso_2022_jp = $j-Eiso_2022_jp + +-C<< $j->h2z->jis >>ƱǤ +-Ⱦѥʤ϶ŪѤѴޤ ++C<< $j->h2z->jis >>と同じです。 ++半角カナは強制的に全角に変換されます。 + +-Perl 5.8.1ʹߤǤϡEncodeݡȤɤʥ󥳡ǥ̾ +-ꥢǤѤǤޤ㤨С ++Perl 5.8.1以降では、Encodeがサポートするどんなエンコーディング名と ++エイリアスでも利用できます。例えば: + +- $european = $j->iso_latin1; # ᥽å̾Ѥ'-''_'֤ޤ ++ $european = $j->iso_latin1; # メソッド名用に'-'は'_'に置き換えます + +-B<>LƱȤäƤޤ ++B<参考>:Lがこれと同じ小技を使っています。 + + =over 2 + + =item $j-Efallback($fallback) + +-Perl 5.8.1ʹߤǤϡJcodeʸUTF-8ݻޤ +-I<< -Eencoding >>˥ޥåפǤʤʸ'?'֤ޤ +-LǤɸưǤ +- +- my $unistr = "\x{262f}"; # ۥޡ +- my $j = jcode($unistr); # $j->euc η̤ '?' +- +-ο񤤤ϡLƱ͡եХåꤹ뤳ȤѹǤޤ +-ͤLΤΤȰǤصΤᡢC +-CCLΤؤ +-ꥢˤʤäƤޤ ++Perl 5.8.1以降では、Jcodeは内部の文字列をUTF-8で保持します。 ++I<< -Eencoding >>にマップできない文字は'?'に置き換えられますが、 ++これはLでの標準動作です。 ++ ++ my $unistr = "\x{262f}"; # 陰陽マーク ++ my $j = jcode($unistr); # $j->euc の結果は '?' に ++ ++この振る舞いは、L同様、フォールバックを指定することで変更できます。 ++値はLのものと一緒です。便宜のため、C、 ++C、CがLのそれらへの ++エイリアスになっています。 + + print $j->fallback(Jcode::FB_PERLQQ)->euc; # '\x{262f}' + print $j->fallback(Jcode::FB_XMLCREF)->euc; # '☯' + print $j->fallback(Jcode::FB_HTMLCREF)->euc; # '☯' + +-ХѿC<$Jcode::FALLBACK>˥ǥեȤΥեХåݻ +-ƤޤΤǡͤ뤳ȤǥС饤ɤǤޤ ++グローバル変数C<$Jcode::FALLBACK>にデフォルトのフォールバックが保持 ++されていますので、この値を代入することでオーバーライドできます。 + +- $Jcode::FALLBACK = Jcode::FB_PERLQQ; # ǥեȤΥեХåޤ ++ $Jcode::FALLBACK = Jcode::FB_PERLQQ; # デフォルトのフォールバックスキーマを設定 + + =back + + =item [@lines =] $jcode-Ejfold([$width, $newline_str, $kref]) + +-$widthʥǥեȡ72jcodeʸιԤޤ֤ޤ +-$widthϡȾѡʸοǤʸ2ʸȤƥȤޤ ++$width(デフォルト:72)毎にjcode文字列内の行を折り返します。 ++$widthは”半角”文字の数です。全角文字は2文字としてカウントします。 + +-$newline_strʥǥեȤ"\n"ˤǻꤵ줿ʸäޤ +-ޤ֤줿ԤꥹȤ֤ޤ ++$newline_str(デフォルトは"\n")で指定された改行文字が加わります。 ++折り返された全行をリストで返します。 + +-Perl 5.8.1ʹߤ3ܤΰ$krefEUCʸե󥹤 +-ϤȤǡʰŪʹƬ§ʤ֤鲼ˤԤޤ ++Perl 5.8.1以降は3番目の引数$krefにEUCの文字列の配列リファレンスを ++渡すことで、簡易的な行頭禁則処理(ぶら下がり)を行えます。 + + =item $length = $jcode-Ejlength(); + +-ХĹǤϤʤʸʸȤƿʸ֤ޤ ++バイト長ではなく、全角文字も一文字として数えた場合の文字数を返します。 + + =back + +-=head2 MIME::Base64Ȥ᥽å ++=head2 MIME::Base64を使うメソッド + +-Υ᥽åɤȤˤϡLɬפǤ󥹥ȡñ ++下記のメソッドを使うには、Lが必要です。インストールは単純に + + perl -MCPAN -e 'CPAN::Shell->install("MIME::Base64")' + +-ȤޤȤPerl5.6ʹߤǤʤ顢L +-Хɥ뤵ƤΤǡ󥹥ȡɬפϤޤ ++とします。お使いのPerlが5.6以降であるなら、Lは ++バンドルされているので、インストールの必要はありません。 + + =over 2 + + =item $mime_header = $j-Emime_encode([$lf, $bpl]) + +-$strRFC1522ˤMIME-HeaderѴޤ$lfꤹȡ +-Ԥޤ֤$lfȤޤʥǥեȡ\nˡ +-$bplꤹȡޤ֤Хȿ$bplȤޤʥǥեȡ76 +-οͤ76ʲǤʤФʤޤˡ ++$strをRFC1522にあるMIME-Headerに変換します。$lfを指定すると、 ++行の折り返しに$lfが使われます(デフォルト:\n)。 ++$bplを指定すると、折り返すバイト数に$bplが使われます(デフォルト:76; ++この数値は76以下でなければなりません)。 + +-Perl 5.8.1ʹߤǤϡʲΤ褦ˤƤMIME Header󥳡ɤǤޤ ++Perl 5.8.1以降では、以下のようにしてもMIME Headerエンコードができます: + + $mime_header = $j->MIME_Header; + +-ξC<$mime_header>ͤMIME-B-encoded UTF-8ˤʤޤ +-C<< $j->mime_encode() >>MIME-B-encoded ISO-2022-JP֤ޤ +-ǶΤۤȤɤΥ᡼顼Ϥɤ⥵ݡȤƤޤ ++この場合C<$mime_header>の戻り値はMIME-B-encoded UTF-8になります。 ++一方、C<< $j->mime_encode() >>はMIME-B-encoded ISO-2022-JPを返します。 ++最近のほとんどのメーラーはどちらもサポートしています。 + + =item $j-Emime_decode; + +-Jcode֥ȤʸMIME-HeaderǥɤޤPerl 5.8.1 +-ʹߤʤ顢ʲΤ褦ˤƱȤǤޤ ++Jcodeオブジェクトの内部文字列をMIME-Headerデコードします。Perl 5.8.1 ++以降なら、以下のようにして同じことができます: + + Jcode->new($str, 'MIME-Header'); + +-ξ硢ISO-2022-JPǤϤʤUTF-8ʤɤˤбƤꡢ +-MIME B EncodingΤߤʤ餺MIME Q EncodingˤбƤ +-ΤǡPerl 5.8.1ʹߤǤФȤ٤Ǥ礦 ++こちらの場合、ISO-2022-JPだけではなくUTF-8などにも対応しており、 ++さらにMIME B EncodingのみならずMIME Q Encodingにも対応している ++ので、Perl 5.8.1以降であればこちらを使うべきでしょう。 + + =back + +-=head2 Ⱦ ++=head2 半角 ←→ 全角 + + =over 2 + + =item $j-Eh2z([$keep_dakuten]) + +-X201ʡȾѡˤX208ʡѡˤѴޤ +-$keep_dakuten˿ͤ򥻥åȤȡ򤽤Τޤޤˤޤ +-(ϤĤޤꡢ֥ܡפϡ֥פѴ줺ˤΤޤ +-ˤʤȤȤǤ) ++X201カナ(半角)をX208カナ(全角)に変換します。 ++$keep_dakutenに真値をセットすると、濁点をそのままにします ++(これはつまり、「カ+゛」は「ガ」に変換されずにそのまま ++になるということです) + +-$j->nmatch̤ƥޥåǤޤ ++$j->nmatchを通じてマッチした数を取得できます。 + + =item $j-Ez2h + +-X208ʡѡˤX201ʡȾѡˤѴޤ ++X208カナ(全角)をX201カナ(半角)に変換します。 + +-$j->nmatch̤ƥޥåǤޤ ++$j->nmatchを通じてマッチした数を取得できます。 + + =back + +-=head2 ɽߥ졼 ++=head2 正規表現エミュレータ + +-C<< -Em() >>C<< -Es() >>ȤˤϡPerl 5.8.1ʹߤ +-ɬפǤ ++C<< -Em() >>とC<< -Es() >>を使うには、Perl 5.8.1以降が ++必要です。 + + =over 2 + + =item $j-Etr($from, $to, $opt); + +-Jcode֥ȤCŬѤޤ$from$to +-EUC-JPʸǤPerl 5.8.1ʹߤǤϡflagդUTF-8ʸ +-դޤ ++JcodeオブジェクトにCを適用します。$fromと$toは ++EUC-JPの文字列です。Perl 5.8.1以降では、flag付きのUTF-8文字列 ++も受け付けます。 + +-C<$opt>򥻥åȤȡCŬѤޤC<$opt> +-'c''d'뤤ϤȤ߹碌ǤʤФʤޤ ++C<$opt>をセットすると、Cが適用されます。C<$opt>は ++'c'、'd'あるいはそれらの組み合わせでなければなりません。 + +-$j->nmatch̤ƥޥåǤޤ ++$j->nmatchを通じてマッチした数を取得できます。 + +-Perl 5.8.1ʹߤǤϡtrη˸Τä-Eerror_tr̤ơ +-$@Ǥޤ ++Perl 5.8.1以降では、trの形式に誤りのあった場合に-Eerror_trを通じて、 ++$@を取得できます。 + +-ʲΥ᥽åɤPerl 5.8.1ʹߤǤΤѲǽǤ ++以下のメソッドはPerl 5.8.1以降でのみ利用可能です。 + + =item $j-Es($patter, $replace, $opt); + +-ġCŬѤޤC<$opt>ɽץ +-ƱǤɽΥץˤĤƤL򻲾Ȥ ++個々にCを適用します。C<$opt>は正規表現オプションと ++同じです。正規表現のオプションについてはLを参照ください。 + +-C<< $j->tr() >>C<< $j->s() >>ϤΥ֥ȼȤ֤Τǡ +-ʲΤ褦ϢǤޤ ++C<< $j->tr() >>、C<< $j->s() >>はそのオブジェクト自身を返すので、 ++以下のように操作を連結できます。 + + $j->tr("A-Z", "a-z")->s("foo", "bar"); + + =item [@match = ] $j-Em($pattern, $opt); + +-CŬѤޤΥ᥽åɤϡɥ֥Ȥ֤ʤ +-ΤǡC<< $j->s() >>Τ褦˥᥽åɤϢǤʤȤդƤ ++Cを適用します。このメソッドは”オブジェクトを返さない” ++ので、C<< $j->s() >>のようにメソッドを連結できないことに注意してください。 + +-ɽη˸Τä硢-Eerror_m-Eerror_s̤ +-$@Ǥޤ ++正規表現の形式に誤りのあった場合、-Eerror_m、-Eerror_sを通じて ++$@を取得できます。 + + =back + +-=head2 󥹥ѿ ++=head2 インスタンス変数 + +-⤷Jcode֥ȤΥ󥹥ѿ˥ʤ顢ľܤ +-˥ΤǤϤʤ᥽åɤѤޤ礦ʤ줾OOP +-Ǥˡ +- +-ͤޤǤˡJcodeϡʰŪˡǤ˥ϥåե󥹤ˡ +-ե󥹤ȤȤǡԡɤŬƤޤʼºݤΤȤ +-᥽åɤȤ¤ꤳΤȤΤɬפϤޤ ⤦ +-ޤOOPʤΤǤˡ ++もしJcodeオブジェクトのインスタンス変数にアクセスしたいなら、直接それら ++にアクセスするのではなく、アクセスメソッドを利用しましょう(これぞOOP ++です)。 ++ ++参考までに、Jcodeは(一般的な方法である)ハッシュリファレンスの代わりに、 ++配列リファレンスを使うことで、スピードを最適化しています(実際のところ、 ++アクセスメソッドを使う限りこのことを知る必要はありません; もう一度 ++いいますが、これはOOPなのです)。 + +-Perl 5.8.1ʹߤǤϡϥåե󥹤Ȥ褦ѹޤ +-ˤꡢJcodeγĥϤΤñˤʤޤ ++Perl 5.8.1以降では、ハッシュリファレンスを使うように変更されました。 ++これにより、Jcodeの拡張はものすごく簡単になります。 + + =over 2 + + =item $j-Er_str + +-EUCʸؤΥե󥹡 ++EUC文字列へのリファレンス。 + +-Perl 5.8.1ʹߤǤUTF-8ե饰ΩäUTF-8ʸؤΥե󥹤Ǥ ++Perl 5.8.1以降ではUTF-8フラグの立ったUTF-8文字列へのリファレンスです。 + + =item $j-Eicode + +-ľˤʸɡ ++直近の操作における入力文字コード。 + + =item $j-Enmatch + +-ޥå$j->trȤäȤˡ ++マッチした数($j->tr等を使ったとき)。 + + =back + +-=head1 ֥롼 ++=head1 サブルーチン + + =over 2 + + =item ($code, [$nmatch]) = getcode($str) + +-$strʸɤ֤ޤ֤륳ɤϰʲ̤Ǥ ++$strの文字コードを返します。返るコードは以下の通りです。 + +- ascii Ascii ܸ쥳ɤޤޤʤ +- binary Binary ʥƥȥեǤϤʤ ++ ascii Ascii (日本語コードを含まない) ++ binary Binary (テキストファイルではない) + euc EUC-JP + sjis SHIFT_JIS + jis JIS (ISO-2022-JP) + ucs2 UCS2 (Raw Unicode) + utf8 UTF8 + +-顼ƥȤ󥳥ƥȤȤȡʸʬ +-ɤĤäΤ֤ޤǽҤ٤褦ˡ$str\$str +-Ǥ⹽ޤ +- +-B δؿjcode::getcode()100%̸ߴ +-ޤޤۤ100% +- +- * ͤΤȤν֤ϵդȤʤޤ +- jcode::getcode()$nmatchǽ֤ޤ +- +- * jcode::getcode()ϡEUCʸSJISʸοȤ'undef' +- ֤ޤ Jcode::getcode()EUC֤ޤJcode.pmˤ +- ֤ʤǤ ++スカラーコンテキストの代わりに配列コンテキストを使うと、何文字分の ++コードが見つかったのかも返します。上の方で述べたように、$strは\$str ++でも構いません。 ++ ++B この関数はjcode::getcode()と100%上位互換が ++あります。――まあ、ほぼ100%; ++ ++ * 戻り値が配列のとき、その順番は逆となります; ++ jcode::getcode()は$nmatchを最初に返します。 ++ ++ * jcode::getcode()は、EUC文字とSJIS文字の数が等しいとき、'undef'を ++ 返します。 Jcode::getcode()はEUCを返します。これはJcode.pmには ++ 中間がないためです。 + + =item Jcode::convert($str, [$ocode, $icode, $opt]) + +-$str$ocodeǻꤷʸɤѴޤ$icodeꤹȡ +-ʸgetcode()ǥåˡ$icodeȲꤷޤ +-ǽҤ٤褦ˡ$str\$strǤ⹽ޤ ++$strを$ocodeで指定した文字コードに変換します。$icodeも指定すると、 ++入力文字列をgetcode()でチェックする代わりに、$icodeと仮定します。 ++上の方で述べたように、$strは\$strでも構いません。 + +-B δؿjcode::convert()100%̸ߴ +-ޤ ++B この関数はjcode::convert()と100%上位互換が ++あります! + + =back + +-=head1 Х ++=head1 バグ + +-Perl5.8.1ʹߤξ硢JcodeLΥåѡȤƿ񤤤ޤ +-ĤޤꡢJcodeEncodeΥХαƶޤ ++Perlが5.8.1以降の場合、JcodeはLのラッパーとして振る舞います。 ++つまり、JcodeはEncode内のバグの影響を受けます。 + +-=head1 ռ ++=head1 謝辞 + +-Υѥåϡưǥ󤽤ƥɤ¿ǡ +- Perl4饤֥jcode.pläƤޤ ++このパッケージは、動機、デザインそしてコードの多くの点で、 ++歌代 和正 氏のPerl4ライブラリjcode.plに負っています。 + +- ϡȯ˽ʳ +-ɽ᤭򤷤Ƥޤ ++大崎 博基 氏は、開発の非常に初期の段階から ++正規表現を磨きあげる手助けをしてくれました。 + +-makamaka@donzoko.net JEncode ˤϡJcodeEncodeɤͻ礵 +-礭ʷޤޤܸޥ˥奢£ +-ޤ ++makamaka@donzoko.net の JEncode には、JcodeとEncodeをどう融合させれば ++いいか大変大きな啓示を受けました。また、本日本語マニュアルも寄贈して ++いただきました。 + +-Jcode ML γ󡣤ãʤˤϡ +-ޤǴʤäȤǤ礦 ++そしてJcode ML の皆さん。この方達なしには、 ++ここまで完成しなかったことでしょう。 + +-=head1 ++=head1 参考 + + L + + L + +-=head1  ++=head1 著作権 + + Copyright 1999-2005 Dan Kogai + diff --git a/Jcode-2.07.tar.gz b/Jcode-2.07.tar.gz new file mode 100644 index 0000000..56c7a78 Binary files /dev/null and b/Jcode-2.07.tar.gz differ diff --git a/perl-Jcode.spec b/perl-Jcode.spec new file mode 100644 index 0000000..c5f2346 --- /dev/null +++ b/perl-Jcode.spec @@ -0,0 +1,78 @@ +Name: perl-Jcode +Version: 2.07 +Release: 1 +Summary: Perl extension interface for converting Japanese text +License: GPL+ or Artistic +URL: https://metacpan.org/release/Jcode +Source0: https://cpan.metacpan.org/authors/id/D/DA/DANKOGAI/Jcode-%{version}.tar.gz +Patch0: Jcode-2.07-UTF-8.patch +BuildArch: noarch +# Module Build +BuildRequires: coreutils +BuildRequires: findutils +BuildRequires: make +BuildRequires: perl-generators +BuildRequires: perl-interpreter +BuildRequires: perl(ExtUtils::MakeMaker) +# Module Runtime +BuildRequires: perl(Carp) +BuildRequires: perl(DynaLoader) +BuildRequires: perl(Encode) +BuildRequires: perl(Encode::Alias) +BuildRequires: perl(Encode::Guess) +BuildRequires: perl(Encode::JP::H2Z) +BuildRequires: perl(Exporter) +BuildRequires: perl(MIME::Base64) +BuildRequires: perl(overload) +BuildRequires: perl(Scalar::Util) +BuildRequires: perl(strict) +BuildRequires: perl(vars) +# Test Suite +BuildRequires: perl(Data::Dumper) +BuildRequires: perl(diagnostics) +BuildRequires: perl(lib) +BuildRequires: perl(Test) +BuildRequires: perl(Test::More) +# Dependencies +Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version)) +Requires: perl(Encode) +Requires: perl(Encode::Alias) +Requires: perl(Encode::Guess) +Requires: perl(Encode::JP::H2Z) +Requires: perl(MIME::Base64) +Requires: perl(Scalar::Util) + +%description +%{summary}. + +%prep +%setup -q -n Jcode-%{version} + +# Fix character encoding of pod file +%patch0 -p1 -b .timestamp +touch --reference=Jcode/Nihongo.pod.timestamp Jcode/Nihongo.pod +rm Jcode/Nihongo.pod.timestamp + +%build +perl Makefile.PL INSTALLDIRS=vendor +make %{?_smp_mflags} + +%install +make pure_install DESTDIR=%{buildroot} +find %{buildroot} -type f -name .packlist -delete +%{_fixperms} -c %{buildroot} + +%check +make test + +%files +%doc Changes* README +%{perl_vendorlib}/Jcode.pm +%dir %{perl_vendorlib}/Jcode/ +%doc %{perl_vendorlib}/Jcode/Nihongo.pod +%{_mandir}/man3/Jcode.3* +%{_mandir}/man3/Jcode::Nihongo.3* + +%changelog +* Wed Jul 06 2022 misaka00251 - 2.07-1 +- Init package (Thanks to fedora team)