From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/11786 Path: news.gmane.org!.POSTED!not-for-mail From: He X Newsgroups: gmane.linux.lib.musl.general Subject: [xhe] gettext-tiny 0.2.0 released, intl is now completely usable Date: Wed, 2 Aug 2017 23:49:15 +0800 Message-ID: Reply-To: musl@lists.openwall.com NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="001a1143aed4f5a13d0555c73540" X-Trace: blaine.gmane.org 1501688993 5003 195.159.176.226 (2 Aug 2017 15:49:53 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 2 Aug 2017 15:49:53 +0000 (UTC) Cc: maillist-musl@barfooze.de To: musl@lists.openwall.com Original-X-From: musl-return-11799-gllmg-musl=m.gmane.org@lists.openwall.com Wed Aug 02 17:49:47 2017 Return-path: Envelope-to: gllmg-musl@m.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by blaine.gmane.org with smtp (Exim 4.84_2) (envelope-from ) id 1dcvu6-0000v6-Fa for gllmg-musl@m.gmane.org; Wed, 02 Aug 2017 17:49:46 +0200 Original-Received: (qmail 7930 invoked by uid 550); 2 Aug 2017 15:49:50 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Original-Received: (qmail 7897 invoked from network); 2 Aug 2017 15:49:47 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to:cc; bh=lwyfl+3cMeQLkMxFndYqWn35n3B8UJULpjRhmVn6g3k=; b=KNNYczeS5Kk5ODcYCYk83fbxmfvfzJMqRFaLIaWb3ORPBf/4KHBz19941O+scGQKry ZC4xoQ4RQmwzFN522eisT/HG9jsq6VRityUXDQNLE0a4y5cjqWneiY0GeRaoikELRxnQ VsV8ZPL3ZNXXtR4Ei3YS34fLBnVMYcF+9sUBu8ooCBdmFFvn5OBgu1gaZ9aPRfHdeFUK sglFLQ4vLdxYgB/2wmUyJvO158YiEmHW2BTpDX3421yXi79t4lh+Gr/r5xqUL0YIjDLg n0hChg50+kZ2NxBNgjXSEKqdadFoIqHNiC2q/vog0rM93cPbntAx1Z34/uXKMvqn3thV gzJw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=lwyfl+3cMeQLkMxFndYqWn35n3B8UJULpjRhmVn6g3k=; b=AHSio1x+iGsOMiuFhE+C8gb4fLwX0LwoslQeWX7BkHLFyTrMR5u135mHIKVpLmjNw4 uybE5UbRROQG2CRw1iuPPRegh0xiyvivvgntSwcqJSb2MqpzWJ/B+A/9BBR8SRajoqN1 oWMxBeL+XgyZw0e7T9/nyMnI+cntNJB2pBSUc+eDx1Jc9hYBa14OB12Tg0p1SvMwRGHS SSoc4L2Je3iSHR+foAZSVqOfwoM3dyxc//kFJx1Z7mslhIYGaX+5YOd0Eymg90M9lrq6 SrOFC+fVAIJwwyvgiZvpm0XmQgd4qFelZm3wnAOnYAdsyqseWqX2lmyVX7PTobIqfqzR bLgQ== X-Gm-Message-State: AIVw112fzXpC0P1J3lJbkhlr64zXh4uj2DHk6zVUbX1bZodxRsnDDS2R mcDnwUsUFvX/zSQ5vhcm70V/CeIYlFy6 X-Received: by 10.31.21.66 with SMTP id 63mr15293950vkv.61.1501688975694; Wed, 02 Aug 2017 08:49:35 -0700 (PDT) Xref: news.gmane.org gmane.linux.lib.musl.general:11786 Archived-At: --001a1143aed4f5a13d0555c73540 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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 4d8d9d02042adf023bfd2502fa7598f9b16ef2e03dd3d39fd3ba36f1be1d884d1b891600d92= 63e11948e3979909ea810a1d1b8cefc7e522feda8b422a1107a2e 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=3D01e6bbece2bdcac243c= db8dff6916f2bb80a19e1https://git.musl-libc.org/cgit/musl/commit/?id=3Ddbbb3= 734d8c0176feabd6c46e2e85bbc3b8a60afhttps://git.musl-libc.org/cgit/musl/comm= it/?id=3D16319a5df9d50cfc642ffc8db76bc36562d4b3ddhttps://git.musl-libc.org/= cgit/musl/commit/?id=3De4fc9ad780e36c84e1ed6b0fc01b3c53ae65ff9dhttps://git.= musl-libc.org/cgit/musl/commit/?id=3De6917eced2cc841fe3dfd9c04deec9202f9e34= f3https://git.musl-libc.org/cgit/musl/commit/?id=3Dd6601f0af0452b218d247cb4= 7513fc9cd6bbf2e2 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 --001a1143aed4f5a13d0555c73540 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
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 f=
ull-fledged msgfmt tool, which is finally capable to produce real translati=
ons, supporting all necessary (in real-world use) features of the GNU imple=
mentation, such as plural forms, fuzzy marks.

What is especially important for musl users is that it supports SYSDEP repl=
acements.

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

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 var=
iations, 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 p=
ossible for musl users to enjoy their software with working translations, w=
ithout 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 we=
ll as all packages
in no-name linux[2].

I personally was using it daily, fixing bugs and coding new functionality f=
or 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=20
4d8d9d02042adf023bfd2502fa7598f9b16ef2e03dd3d39fd3ba36f1be1d884d1b891600d92=
63e11948e3979909ea810a1d1b8cefc7e522feda8b422a1107a2e  gettext-tiny-0.2.0.t=
ar.xz

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


Note that during the last months I also found some bugs in musl's libin=
tl, and they have been fixed in upstream. So, with new gettext-tiny and tho=
se 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. E=
njoy 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=
=3D01e6bbece2bdcac243cdb8dff6916f2bb80a19e1
https://git.musl-libc.org/cgit/musl/commit/?id=
=3Ddbbb3734d8c0176feabd6c46e2e85bbc3b8a60af
https://git.musl-libc.org/cgit/musl/commit/?id=
=3D16319a5df9d50cfc642ffc8db76bc36562d4b3dd
https://git.musl-libc.org/cgit/musl/commit/?id=
=3De4fc9ad780e36c84e1ed6b0fc01b3c53ae65ff9d
https://git.musl-libc.org/cgit/musl/commit/?id=
=3De6917eced2cc841fe3dfd9c04deec9202f9e34f3
https://git.musl-libc.org/cgit/musl/commit/?id=
=3Dd6601f0af0452b218d247cb47513fc9cd6bbf2e2


Best regards,
xhe


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