Tue Jun 20 15:30:12 2023 UTC ()
po4a: use a sufficiently capable diff program. Still broken on Solarish.


(schmonz)
diff -r1.57 -r1.58 pkgsrc/textproc/po4a/Makefile
diff -r1.26 -r1.27 pkgsrc/textproc/po4a/distinfo
diff -r1.8 -r1.9 pkgsrc/textproc/po4a/patches/patch-Po4aBuilder.pm
diff -r0 -r1.1 pkgsrc/textproc/po4a/patches/patch-lib_Locale_Po4a_Po.pm

cvs diff -r1.57 -r1.58 pkgsrc/textproc/po4a/Makefile (expand / switch to unified diff)

--- pkgsrc/textproc/po4a/Makefile 2023/04/29 14:31:29 1.57
+++ pkgsrc/textproc/po4a/Makefile 2023/06/20 15:30:12 1.58
@@ -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
3DISTNAME= po4a-0.69 3DISTNAME= po4a-0.69
4PKGREVISION= 2 4PKGREVISION= 2
5CATEGORIES= textproc 5CATEGORIES= textproc
6MASTER_SITES= ${MASTER_SITE_GITHUB:=mquinson/} 6MASTER_SITES= ${MASTER_SITE_GITHUB:=mquinson/}
7GITHUB_RELEASE= v${PKGVERSION_NOREV} 7GITHUB_RELEASE= v${PKGVERSION_NOREV}
8 8
9MAINTAINER= pkgsrc-users@NetBSD.org 9MAINTAINER= pkgsrc-users@NetBSD.org
10HOMEPAGE= https://po4a.org/ 10HOMEPAGE= https://po4a.org/
11COMMENT= Tool for using gettext where it was not intended to be used 11COMMENT= Tool for using gettext where it was not intended to be used
12LICENSE= gnu-gpl-v2 12LICENSE= gnu-gpl-v2
13 13
14#DEPENDS+= /p5-Keyword-Syntax-Try 14#DEPENDS+= /p5-Keyword-Syntax-Try
15 15
16DEPENDS+= docbook-xsl-[0-9]*:../../textproc/docbook-xsl 16DEPENDS+= docbook-xsl-[0-9]*:../../textproc/docbook-xsl
17DEPENDS+= p5-gettext>=1.01:../../devel/p5-gettext 17DEPENDS+= p5-gettext>=1.01:../../devel/p5-gettext
18DEPENDS+= p5-SGMLS-[0-9]*:../../textproc/p5-SGMLS 18DEPENDS+= p5-SGMLS-[0-9]*:../../textproc/p5-SGMLS
19DEPENDS+= p5-Term-ReadKey-[0-9]*:../../devel/p5-Term-ReadKey 19DEPENDS+= p5-Term-ReadKey-[0-9]*:../../devel/p5-Term-ReadKey
20DEPENDS+= p5-Pod-Parser-[0-9]*:../../textproc/p5-Pod-Parser 20DEPENDS+= p5-Pod-Parser-[0-9]*:../../textproc/p5-Pod-Parser
21DEPENDS+= p5-Text-WrapI18N-[0-9]*:../../textproc/p5-Text-WrapI18N 21DEPENDS+= p5-Text-WrapI18N-[0-9]*:../../textproc/p5-Text-WrapI18N
22DEPENDS+= p5-PerlIO-utf8_strict-[0-9]*:../../devel/p5-PerlIO-utf8_strict 22DEPENDS+= p5-PerlIO-utf8_strict-[0-9]*:../../devel/p5-PerlIO-utf8_strict
23DEPENDS+= p5-Unicode-LineBreak-[0-9]*:../../textproc/p5-Unicode-LineBreak 23DEPENDS+= p5-Unicode-LineBreak-[0-9]*:../../textproc/p5-Unicode-LineBreak
24DEPENDS+= p5-YAML-Tiny-[0-9]*:../../textproc/p5-YAML-Tiny 24DEPENDS+= p5-YAML-Tiny-[0-9]*:../../textproc/p5-YAML-Tiny
25 25
26.include "options.mk" 26.include "options.mk"
27 27
28USE_TOOLS+= pkg-config perl:run msgmerge:run msgfmt:run 28USE_TOOLS+= pkg-config perl:run msgmerge:run msgfmt:run diff:run
29 29
30PERL5_MODULE_TYPE= Module::Build 30PERL5_MODULE_TYPE= Module::Build
31PERL5_PACKLIST= auto/po4a/.packlist 31PERL5_PACKLIST= auto/po4a/.packlist
32 32
33REPLACE_PERL= msguntypot po4a po4a-gettextize po4a-normalize 33REPLACE_PERL= msguntypot po4a po4a-gettextize po4a-normalize
34REPLACE_PERL+= po4a-translate po4a-updatepo 34REPLACE_PERL+= po4a-translate po4a-updatepo
35REPLACE_PERL+= lib/Locale/Po4a/* 35REPLACE_PERL+= lib/Locale/Po4a/*
36 36
37MAKE_ENV+= COLUMNS=76 37MAKE_ENV+= COLUMNS=76
38 38
 39SUBST_CLASSES+= tools
 40SUBST_FILES.tools= lib/Locale/Po4a/Po.pm Po4aBuilder.pm
 41SUBST_STAGE.tools= pre-configure
 42SUBST_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
40SUBST_CLASSES+= path 45SUBST_CLASSES+= path
41SUBST_FILES.path= po4a 46SUBST_FILES.path= po4a
42SUBST_MESSAGE.path= Fix msgmerge command path (not found) 47SUBST_MESSAGE.path= Fix msgmerge command path (not found)
43SUBST_STAGE.path= pre-configure 48SUBST_STAGE.path= pre-configure
44SUBST_SED.path= -e 's|"msgmerge"|"${PREFIX}/bin/msgmerge"|;' 49SUBST_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"

cvs diff -r1.26 -r1.27 pkgsrc/textproc/po4a/distinfo (expand / switch to unified diff)

--- pkgsrc/textproc/po4a/distinfo 2023/01/03 19:08:01 1.26
+++ pkgsrc/textproc/po4a/distinfo 2023/06/20 15:30:12 1.27
@@ -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
3BLAKE2s (po4a-0.69.tar.gz) = c82a56664a6a9a674b02f1026843d65aea6671c913738f6e1e565d7242dbe96d 3BLAKE2s (po4a-0.69.tar.gz) = c82a56664a6a9a674b02f1026843d65aea6671c913738f6e1e565d7242dbe96d
4SHA512 (po4a-0.69.tar.gz) = 9cb5eec547ab18d1c3ebdda212b909fc4f5489a74641ba2d7e0a3a1d060f245d23667c16e687c678c5ccc3809c9315d20673266dcc3764172a899caa397238e3 4SHA512 (po4a-0.69.tar.gz) = 9cb5eec547ab18d1c3ebdda212b909fc4f5489a74641ba2d7e0a3a1d060f245d23667c16e687c678c5ccc3809c9315d20673266dcc3764172a899caa397238e3
5Size (po4a-0.69.tar.gz) = 4665710 bytes 5Size (po4a-0.69.tar.gz) = 4665710 bytes
6SHA1 (patch-Po4aBuilder.pm) = 79d850f4a758771468a1b339fc7bd62ce34cf7ab 6SHA1 (patch-Po4aBuilder.pm) = 4d8a271346f3dae4056f07bb305823a5201da805
 7SHA1 (patch-lib_Locale_Po4a_Po.pm) = d6f3bdce23db55b77bfb13a926288636dc248dd7
7SHA1 (patch-lib_Locale_Po4a_Text.pm) = d019287e6c03671da4433689691b5447a665208e 8SHA1 (patch-lib_Locale_Po4a_Text.pm) = d019287e6c03671da4433689691b5447a665208e

cvs diff -r1.8 -r1.9 pkgsrc/textproc/po4a/patches/patch-Po4aBuilder.pm (expand / switch to unified diff)

--- pkgsrc/textproc/po4a/patches/patch-Po4aBuilder.pm 2023/01/03 19:08:01 1.8
+++ pkgsrc/textproc/po4a/patches/patch-Po4aBuilder.pm 2023/06/20 15:30:12 1.9
@@ -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 }

File Added: pkgsrc/textproc/po4a/patches/patch-lib_Locale_Po4a_Po.pm
$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, $! );