Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Wed, 2 Aug 2017 23:49:15 +0800
From: He X <xw897002528@...il.com>
To: musl@...ts.openwall.com
Cc: maillist-musl@...fooze.de
Subject: [xhe] gettext-tiny 0.2.0 released, intl is now completely usable

Hi, everybody!

I'm glad to announce release 0.2.0 of gettext-tiny.

This release is a milestone in the gettext-tiny development, as it
adds a full-fledged msgfmt tool, which is finally capable to produce
real translations, supporting all necessary (in real-world use)
features of the GNU implementation, such as plural forms, fuzzy marks.

What is especially important for musl users is that it supports SYSDEP
replacements.

The latter is a relatively recent addition to GNU gettext to deal with
system-dependent format strings[0]. It is problematic in that GNU does
the expansion at run-time, thereby requiring read/write memory for
something that should be (and was in the past) entirely read-only and
could be shared among processes, and so defeating the entire purpose
of the precompiled translations.

This is why musl's libintl implementation opts out of this feature and
requires the msgfmt tool to expand the SYSDEP strings into all
possible variations, so there's no need for dynamic memory allocation
to support it.

gettext-tiny now has the first implementation of msgfmt which is
compatible to musl's requirement, this means that for the first time
it will be possible for musl users to enjoy their software with
working translations, without the need to use an external libintl
implementation for that.

Note that msgmerge and xgettext are still stubs, but they are
sufficient to build about 1000 packages from sabotage linux[1] without
any issues, as well as all packages
in no-name linux[2].

I personally was using it daily, fixing bugs and coding new
functionality for months, and believe it is ready for prime-time now.

fetch your source tarball at
:http://ftp.barfooze.de/pub/sabotage/tarballs/gettext-tiny-0.2.0.tar.xz

$ sha512sum gettext-tiny-0.2.0.tar.xz
4d8d9d02042adf023bfd2502fa7598f9b16ef2e03dd3d39fd3ba36f1be1d884d1b891600d9263e11948e3979909ea810a1d1b8cefc7e522feda8b422a1107a2e
 gettext-tiny-0.2.0.tar.xz

git repo @ https://github.com/sabotage-linux/gettext-tiny


Note that during the last months I also found some bugs in musl's
libintl, and they have been fixed in upstream. So, with new
gettext-tiny and those patches, I now have a system with full
translation support. I can assure you that both gettext-tiny and
musl's gettext are completely usable. Enjoy your translations from
now!

These are the patches for musl, if you can't wait for
1.1.17:https://git.musl-libc.org/cgit/musl/commit/?id=01e6bbece2bdcac243cdb8dff6916f2bb80a19e1https://git.musl-libc.org/cgit/musl/commit/?id=dbbb3734d8c0176feabd6c46e2e85bbc3b8a60afhttps://git.musl-libc.org/cgit/musl/commit/?id=16319a5df9d50cfc642ffc8db76bc36562d4b3ddhttps://git.musl-libc.org/cgit/musl/commit/?id=e4fc9ad780e36c84e1ed6b0fc01b3c53ae65ff9dhttps://git.musl-libc.org/cgit/musl/commit/?id=e6917eced2cc841fe3dfd9c04deec9202f9e34f3https://git.musl-libc.org/cgit/musl/commit/?id=d6601f0af0452b218d247cb47513fc9cd6bbf2e2


Best regards,
xhe


References:
[0] - http://www.openwall.com/lists/musl/2015/04/16/1
[1] - https://github.com/sabotage-linux/sabotage
[2] - https://github.com/xhebox/noname-linux

Content of type "text/html" skipped

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.