po4a: use a sufficiently capable diff program. Still broken on Solarish.diff -r1.57 -r1.58 pkgsrc/textproc/po4a/Makefile
(schmonz)
@@ -1,49 +1,54 @@ | @@ -1,49 +1,54 @@ | |||
1 | # $NetBSD: Makefile,v 1.57 2023/04/29 14:31:29 schmonz Exp $ | 1 | # $NetBSD: Makefile,v 1.58 2023/06/20 15:30:12 schmonz Exp $ | |
2 | 2 | |||
3 | DISTNAME= po4a-0.69 | 3 | DISTNAME= po4a-0.69 | |
4 | PKGREVISION= 2 | 4 | PKGREVISION= 2 | |
5 | CATEGORIES= textproc | 5 | CATEGORIES= textproc | |
6 | MASTER_SITES= ${MASTER_SITE_GITHUB:=mquinson/} | 6 | MASTER_SITES= ${MASTER_SITE_GITHUB:=mquinson/} | |
7 | GITHUB_RELEASE= v${PKGVERSION_NOREV} | 7 | GITHUB_RELEASE= v${PKGVERSION_NOREV} | |
8 | 8 | |||
9 | MAINTAINER= pkgsrc-users@NetBSD.org | 9 | MAINTAINER= pkgsrc-users@NetBSD.org | |
10 | HOMEPAGE= https://po4a.org/ | 10 | HOMEPAGE= https://po4a.org/ | |
11 | COMMENT= Tool for using gettext where it was not intended to be used | 11 | COMMENT= Tool for using gettext where it was not intended to be used | |
12 | LICENSE= gnu-gpl-v2 | 12 | LICENSE= gnu-gpl-v2 | |
13 | 13 | |||
14 | #DEPENDS+= /p5-Keyword-Syntax-Try | 14 | #DEPENDS+= /p5-Keyword-Syntax-Try | |
15 | 15 | |||
16 | DEPENDS+= docbook-xsl-[0-9]*:../../textproc/docbook-xsl | 16 | DEPENDS+= docbook-xsl-[0-9]*:../../textproc/docbook-xsl | |
17 | DEPENDS+= p5-gettext>=1.01:../../devel/p5-gettext | 17 | DEPENDS+= p5-gettext>=1.01:../../devel/p5-gettext | |
18 | DEPENDS+= p5-SGMLS-[0-9]*:../../textproc/p5-SGMLS | 18 | DEPENDS+= p5-SGMLS-[0-9]*:../../textproc/p5-SGMLS | |
19 | DEPENDS+= p5-Term-ReadKey-[0-9]*:../../devel/p5-Term-ReadKey | 19 | DEPENDS+= p5-Term-ReadKey-[0-9]*:../../devel/p5-Term-ReadKey | |
20 | DEPENDS+= p5-Pod-Parser-[0-9]*:../../textproc/p5-Pod-Parser | 20 | DEPENDS+= p5-Pod-Parser-[0-9]*:../../textproc/p5-Pod-Parser | |
21 | DEPENDS+= p5-Text-WrapI18N-[0-9]*:../../textproc/p5-Text-WrapI18N | 21 | DEPENDS+= p5-Text-WrapI18N-[0-9]*:../../textproc/p5-Text-WrapI18N | |
22 | DEPENDS+= p5-PerlIO-utf8_strict-[0-9]*:../../devel/p5-PerlIO-utf8_strict | 22 | DEPENDS+= p5-PerlIO-utf8_strict-[0-9]*:../../devel/p5-PerlIO-utf8_strict | |
23 | DEPENDS+= p5-Unicode-LineBreak-[0-9]*:../../textproc/p5-Unicode-LineBreak | 23 | DEPENDS+= p5-Unicode-LineBreak-[0-9]*:../../textproc/p5-Unicode-LineBreak | |
24 | DEPENDS+= p5-YAML-Tiny-[0-9]*:../../textproc/p5-YAML-Tiny | 24 | DEPENDS+= p5-YAML-Tiny-[0-9]*:../../textproc/p5-YAML-Tiny | |
25 | 25 | |||
26 | .include "options.mk" | 26 | .include "options.mk" | |
27 | 27 | |||
28 | USE_TOOLS+= pkg-config perl:run msgmerge:run msgfmt:run | 28 | USE_TOOLS+= pkg-config perl:run msgmerge:run msgfmt:run diff:run | |
29 | 29 | |||
30 | PERL5_MODULE_TYPE= Module::Build | 30 | PERL5_MODULE_TYPE= Module::Build | |
31 | PERL5_PACKLIST= auto/po4a/.packlist | 31 | PERL5_PACKLIST= auto/po4a/.packlist | |
32 | 32 | |||
33 | REPLACE_PERL= msguntypot po4a po4a-gettextize po4a-normalize | 33 | REPLACE_PERL= msguntypot po4a po4a-gettextize po4a-normalize | |
34 | REPLACE_PERL+= po4a-translate po4a-updatepo | 34 | REPLACE_PERL+= po4a-translate po4a-updatepo | |
35 | REPLACE_PERL+= lib/Locale/Po4a/* | 35 | REPLACE_PERL+= lib/Locale/Po4a/* | |
36 | 36 | |||
37 | MAKE_ENV+= COLUMNS=76 | 37 | MAKE_ENV+= COLUMNS=76 | |
38 | 38 | |||
39 | SUBST_CLASSES+= tools | |||
40 | SUBST_FILES.tools= lib/Locale/Po4a/Po.pm Po4aBuilder.pm | |||
41 | SUBST_STAGE.tools= pre-configure | |||
42 | SUBST_VARS.tools= DIFF | |||
43 | ||||
39 | # work around not to set PATH to msgmerge, please somebody to fix correctly | 44 | # work around not to set PATH to msgmerge, please somebody to fix correctly | |
40 | SUBST_CLASSES+= path | 45 | SUBST_CLASSES+= path | |
41 | SUBST_FILES.path= po4a | 46 | SUBST_FILES.path= po4a | |
42 | SUBST_MESSAGE.path= Fix msgmerge command path (not found) | 47 | SUBST_MESSAGE.path= Fix msgmerge command path (not found) | |
43 | SUBST_STAGE.path= pre-configure | 48 | SUBST_STAGE.path= pre-configure | |
44 | SUBST_SED.path= -e 's|"msgmerge"|"${PREFIX}/bin/msgmerge"|;' | 49 | SUBST_SED.path= -e 's|"msgmerge"|"${PREFIX}/bin/msgmerge"|;' | |
45 | 50 | |||
46 | .include "../../devel/gettext-tools/buildlink3.mk" | 51 | .include "../../devel/gettext-tools/buildlink3.mk" | |
47 | .include "../../lang/perl5/module.mk" | 52 | .include "../../lang/perl5/module.mk" | |
48 | .include "../../textproc/libxslt/buildlink3.mk" | 53 | .include "../../textproc/libxslt/buildlink3.mk" | |
49 | .include "../../mk/bsd.pkg.mk" | 54 | .include "../../mk/bsd.pkg.mk" |
@@ -1,7 +1,8 @@ | @@ -1,7 +1,8 @@ | |||
1 | $NetBSD: distinfo,v 1.26 2023/01/03 19:08:01 adam Exp $ | 1 | $NetBSD: distinfo,v 1.27 2023/06/20 15:30:12 schmonz Exp $ | |
2 | 2 | |||
3 | BLAKE2s (po4a-0.69.tar.gz) = c82a56664a6a9a674b02f1026843d65aea6671c913738f6e1e565d7242dbe96d | 3 | BLAKE2s (po4a-0.69.tar.gz) = c82a56664a6a9a674b02f1026843d65aea6671c913738f6e1e565d7242dbe96d | |
4 | SHA512 (po4a-0.69.tar.gz) = 9cb5eec547ab18d1c3ebdda212b909fc4f5489a74641ba2d7e0a3a1d060f245d23667c16e687c678c5ccc3809c9315d20673266dcc3764172a899caa397238e3 | 4 | SHA512 (po4a-0.69.tar.gz) = 9cb5eec547ab18d1c3ebdda212b909fc4f5489a74641ba2d7e0a3a1d060f245d23667c16e687c678c5ccc3809c9315d20673266dcc3764172a899caa397238e3 | |
5 | Size (po4a-0.69.tar.gz) = 4665710 bytes | 5 | Size (po4a-0.69.tar.gz) = 4665710 bytes | |
6 | SHA1 (patch-Po4aBuilder.pm) = 79d850f4a758771468a1b339fc7bd62ce34cf7ab | 6 | SHA1 (patch-Po4aBuilder.pm) = 4d8a271346f3dae4056f07bb305823a5201da805 | |
7 | SHA1 (patch-lib_Locale_Po4a_Po.pm) = d6f3bdce23db55b77bfb13a926288636dc248dd7 | |||
7 | SHA1 (patch-lib_Locale_Po4a_Text.pm) = d019287e6c03671da4433689691b5447a665208e | 8 | SHA1 (patch-lib_Locale_Po4a_Text.pm) = d019287e6c03671da4433689691b5447a665208e |
@@ -1,40 +1,55 @@ | @@ -1,40 +1,55 @@ | |||
1 | $NetBSD: patch-Po4aBuilder.pm,v 1.8 2023/01/03 19:08:01 adam Exp $ | 1 | $NetBSD: patch-Po4aBuilder.pm,v 1.9 2023/06/20 15:30:12 schmonz Exp $ | |
2 | 2 | |||
3 | (1) ryoon: remove gzip at initial import | 3 | (1) ryoon: remove gzip at initial import | |
4 | (2) mef: Add PerlIO::F_UTF8 () macro | 4 | (2) mef: Add PerlIO::F_UTF8 () macro | |
5 | (3) mef: to avoid --previous option is said unknown to msgmerge | 5 | (3) mef: to avoid --previous option is said unknown to msgmerge | |
6 | (but sounds strange) | 6 | (but sounds strange) | |
7 | (4) schmonz: Use a sufficiently capable diff | |||
7 | 8 | |||
8 | --- Po4aBuilder.pm.orig 2023-01-01 00:30:43.000000000 +0000 | 9 | --- Po4aBuilder.pm.orig 2023-01-01 00:30:43.000000000 +0000 | |
9 | +++ Po4aBuilder.pm | 10 | +++ Po4aBuilder.pm | |
10 | @@ -9,6 +9,8 @@ use File::stat; | 11 | @@ -9,6 +9,8 @@ use File::stat; | |
11 | 12 | |||
12 | @ISA = qw(Module::Build); | 13 | @ISA = qw(Module::Build); | |
13 | 14 | |||
14 | +sub PerlIO::F_UTF8 () { 0x00008000 } # from perliol.h | 15 | +sub PerlIO::F_UTF8 () { 0x00008000 } # from perliol.h | |
15 | + | 16 | + | |
16 | sub ACTION_build { | 17 | sub ACTION_build { | |
17 | my $self = shift; | 18 | my $self = shift; | |
18 | $self->depends_on('code'); | 19 | $self->depends_on('code'); | |
19 | @@ -82,7 +84,7 @@ sub ACTION_binpo { | 20 | @@ -60,7 +62,7 @@ sub ACTION_binpo { | |
21 | chdir "../.."; | |||
22 | ||||
23 | if ( -e "po/bin/po4a.pot") { | |||
24 | - $diff = qx(diff -q -I'#:' -I'POT-Creation-Date:' -I'PO-Revision-Date:' po/bin/po4a.pot po/bin/po4a.pot.new); | |||
25 | + $diff = qx(@DIFF@ -q -I'#:' -I'POT-Creation-Date:' -I'PO-Revision-Date:' po/bin/po4a.pot po/bin/po4a.pot.new); | |||
26 | if ( $diff eq "" ) { | |||
27 | unlink "po/bin/po4a.pot.new" || die; | |||
28 | # touch it | |||
29 | @@ -82,11 +84,11 @@ sub ACTION_binpo { | |||
20 | if (0) { | 30 | if (0) { | |
21 | unless ($self->up_to_date("po/bin/po4a.pot", $_)) { | 31 | unless ($self->up_to_date("po/bin/po4a.pot", $_)) { | |
22 | print "XX Sync $_: "; | 32 | print "XX Sync $_: "; | |
23 | - system("msgmerge --previous $_ po/bin/po4a.pot -o $_.new") && die; | 33 | - system("msgmerge --previous $_ po/bin/po4a.pot -o $_.new") && die; | |
24 | + system("msgmerge $_ po/bin/po4a.pot -o $_.new") && die; | 34 | + system("msgmerge $_ po/bin/po4a.pot -o $_.new") && die; | |
25 | # Typically all that changes was a date. I'd | 35 | # Typically all that changes was a date. I'd | |
26 | # prefer not to commit such changes, so detect | 36 | # prefer not to commit such changes, so detect | |
27 | # and ignore them. | 37 | # and ignore them. | |
38 | - $diff = qx(diff -q -I'#:' -I'POT-Creation-Date:' -I'PO-Revision-Date:' $_ $_.new); | |||
39 | + $diff = qx(@DIFF@ -q -I'#:' -I'POT-Creation-Date:' -I'PO-Revision-Date:' $_ $_.new); | |||
40 | if ($diff eq "") { | |||
41 | unlink "$_.new" || die; | |||
42 | # touch it | |||
28 | @@ -234,8 +236,6 @@ sub ACTION_man { | 43 | @@ -234,8 +236,6 @@ sub ACTION_man { | |
29 | } | 44 | } | |
30 | $parser->parse_from_file ($file, $out); | 45 | $parser->parse_from_file ($file, $out); | |
31 | 46 | |||
32 | - system("gzip -9 -n -f $out") and die; | 47 | - system("gzip -9 -n -f $out") and die; | |
33 | - unlink "$file" || die; | 48 | - unlink "$file" || die; | |
34 | } | 49 | } | |
35 | 50 | |||
36 | if ($^O ne 'MSWin32') { | 51 | if ($^O ne 'MSWin32') { | |
37 | @@ -253,9 +253,7 @@ sub ACTION_man { | 52 | @@ -253,9 +253,7 @@ sub ACTION_man { | |
38 | print "Convert $outdir/$outfile.$section (online docbook.xsl file). "; | 53 | print "Convert $outdir/$outfile.$section (online docbook.xsl file). "; | |
39 | system("xsltproc -o $outdir/$outfile.$section --nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $file") and die; | 54 | system("xsltproc -o $outdir/$outfile.$section --nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $file") and die; | |
40 | } | 55 | } |
$NetBSD: patch-lib_Locale_Po4a_Po.pm,v 1.1 2023/06/20 15:30:12 schmonz Exp $
Use a sufficiently capable diff.
--- lib/Locale/Po4a/Po.pm.orig 2023-01-01 00:30:43.000000000 +0000
+++ lib/Locale/Po4a/Po.pm
@@ -621,7 +621,7 @@ sub move_po_if_needed {
my $diff;
if ( -e $old_po ) {
- $diff = qx(diff -q -I'^#:' -I'^\"POT-Creation-Date:' -I'^\"PO-Revision-Date:' $old_po $new_po);
+ $diff = qx(@DIFF@ -q -I'^#:' -I'^\"POT-Creation-Date:' -I'^\"PO-Revision-Date:' $old_po $new_po);
if ( $diff eq "" ) {
unlink $new_po
or die wrap_msg( dgettext( "po4a", "Cannot unlink %s: %s." ), $new_po, $! );