Subject: Re: pkg/33506: libgnome build broke on msgfmt
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: Johnny Lam <jlam@pkgsrc.org>
List: pkgsrc-bugs
Date: 05/19/2006 21:40:06
The following reply was made to PR pkg/33506; it has been noted by GNATS.
From: Johnny Lam <jlam@pkgsrc.org>
To: collver@peak.org
Cc: gnats-bugs@NetBSD.org
Subject: Re: pkg/33506: libgnome build broke on msgfmt
Date: Fri, 19 May 2006 17:37:50 -0400
Ben Collver wrote:
>
> The response from the Gnome folks is that the msgstr does not
> necessarily need to be followed by a character string on the same line.
> Here is the response:
>
> "The PO format specification, in the GNU gettext manual, does not say
> that the msgstr keyword and the string that follows it must be on the
> same line. Your
> /pkg_comp/obj/pkgsrc/devel/libgnome/default/.tools/bin/msgfmt program
> rejects a valid PO file. What version of msgfmt is it? What does
> "/pkg_comp/obj/pkgsrc/devel/libgnome/default/.tools/bin/msgfmt --version"
> yield?
I believe they are misreading the GNU gettext manual. I will quote
directly from section 2.2 of the gettext info file, titled "The Format
of PO Files":
msgid ""
"Here is an example of how one might continue a very long string\n"
"for the common case the string represents multi-line output.\n"
In this example, the empty string is used on the first line, to allow
better alignment of the `H' from the word `Here' over the `f' from the
word `for'. In this example, the `msgid' keyword is followed by three
strings, which are meant to be concatenated. Concatenating the empty
string does not change the resulting overall string, but it is a way
for us to comply with the necessity of `msgid' to be followed by a
string on the same line, while keeping the multi-line presentation
left-justified, as we find this to be a cleaner disposition. The
empty string could have been omitted, but only if the string starting
with `Here' was promoted on the first line, right after `msgid'.(1)
And footnote (1) states:
(1) This limitation is not imposed by GNU `gettext', but is for
compatibility with the `msgfmt' implementation on Solaris.
My belief is that they are not adhering to the correct syntax for PO
files by relying on a GNU relaxation of the rules.
> The GNU AM_PO_SUBDIRS macro (in po.m4) makes sure to not use the Solaris
> and FreeBSD 'msgfmt' programs. Are you using this macro?"
>
>
> By the way, for my system it says:
>
> $ ./.tools/bin/msgfmt --version
> msgfmt (GNU gettext) 0.10.35
> Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions. There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
> Written by Ulrich Drepper.
>
> So this appears to be behaviour introduced by the wrapper scripts.
Yes, I don't disagree that this is behavior is introduced by the wrapper
scripts. However, the wrapper scripts were written to follow the format
specified in the gettext info file and clarified in the examples within
that file. I am considering changing it to allow the GNU syntax, but I
still think that libgnome should allow for alternative gettext
implementations to be used.
Cheers,
-- Johnny Lam <jlam@pkgsrc.org>