Commit Graph

62 Commits

Author SHA1 Message Date
Johannes Schindelin
44aaef5e15 gettext: fix the regression where %I64d support was broken
The `%I64` printf format family is a Windows-specific extension that has
been handled for, like, eternity in `mingw-w64-gettext`. But the recent
update to v0.22.3 broke that.

The reason for that is a story of two episodes:

- gnulib slipped in a major refactoring of the `printf()` format parsing
  into a commit whose purpose was to support new size specifiers:

  https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=480a59ba60fa0b43a1cebe218bbcea6a947f1e86

  Unfortunately, the code handling `%I64` was converted incorrectly,
  where it previously skipped the `64` part before looking for the
  conversion specifier (correct) but now no longer does so (incorrect):

  https://git.savannah.gnu.org/cgit/gnulib.git/diff/lib/printf-parse.c?id=480a59ba60fa0b43a1cebe218bbcea6a947f1e86

- gettext saw a major refactoring with the intention to avoid
  duplicating gnulib's `printf()` logic, dropping its own code in favor
  of the latter:

  https://git.savannah.gnu.org/gitweb/?p=gettext.git;a=commitdiff;h=a80b9021019fe311b81771d67138496f512ef35a

The result is that as of `mingw-w64-gettext` v0.22.3, `%I64d` is
_started_ to be parsed but then fails because it mistakes `6` for the
conversion character (instead of recognizing `d` as such).

Work around this regression by skipping the `64` part again.

This patch needs to be upstreamed to the gnulib project, yet we need to
fix the `mingw-w64-gettext` regression at a more timely pace and need to
integrate the patch early.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2023-11-10 13:48:25 +01:00
Christoph Reiter
54d3056da0 gettext: move to arch patch for disabling libtextstyle 2023-10-30 07:26:25 +01:00
Markus Mützel
03e040d691 gettext: update to 0.22.3 2023-10-27 21:28:34 +02:00
Christoph Reiter
5cfd460658 gettext: backport wbindtextdomain fixes
see #17649
2023-06-28 09:05:48 +02:00
Markus Mützel
da9ae79c6e gettext: update to 0.21.1 2023-01-21 11:14:29 +01:00
Christoph Reiter
f34121b256 Add groff explicitely to makedepends
Just a guess based on Debian reverse makedepends

See https://github.com/msys2/MSYS2-packages/pull/3453
2022-12-23 11:37:51 +01:00
Christoph Reiter
e694f23d4b gettext: fix error when passing "nul" as an output filename
For example msgfmt and other tools would fail with "-o nul" which
previously worked.

Backport two gnulib patches which fix this regression.

Fixes #10520
2022-01-12 22:30:03 +01:00
Johannes Schindelin
028411f031 gettext: do include the libintl_*wprintf() functions
They are declared, after all.

Fun fact: in v0.19.8.1, those functions were included in the library,
but not declared in the header. In v0.21 the were _not_ included in the
library, but they _were_ declared in the header.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2022-01-10 23:38:34 +01:00
Christoph Reiter
7c67d9c465 Make sure every package using a C/C++ compiler depends on one
The "cc" virtual package provides the environment default compiler.
2022-01-08 17:11:16 +01:00
Christoph Reiter
5d9f26e100 gettext: cleanup
remove some patches for generated files
add back a patch for envsubst
disable libtextstyle like in fedora
2022-01-02 13:15:40 +01:00
Mehdi Chinoune
d85ccee00a gettext: update to 0.21 2022-01-01 20:36:30 +01:00
Christoph Reiter
3eac67e2ca Makedepend on autotools where needed 2021-12-17 12:41:47 +01:00
Christoph Reiter
6ca17a74c0 Revert some rebuilds
These shouldn't be needed for Python. They just happened to include .py files
2021-07-12 07:26:18 +02:00
Christoph Reiter
6a16db9801 Python 3.9 rebuilds
pacman -Fqx '/python3\.8/' '.*\.py.*' '.*-cpython-.*'
2021-07-11 12:18:48 +02:00
Christoph Reiter
a80fe5efc4 Enable clangarm64 for bootstrap packages 2021-05-13 16:17:13 +02:00
Christoph Reiter
977d3b5e02 Enable clang32 for all packages already in the repo 2021-04-25 15:26:34 +02:00
Christoph Reiter
58acb56691 Enable clang64 for all packages already in the repo 2021-04-23 13:26:20 +02:00
Christoph Reiter
b6facd5747 More ucrt 2021-03-26 18:35:34 +01:00
Christoph Reiter
c466895890 gettext: remove the signature check for now
The signature doesn't include the key ID which we need:
curl https://ftp.gnu.org/pub/gnu/gettext/gettext-0.19.8.1.tar.gz.sig | gpg --list-packets
2020-12-22 17:27:16 +01:00
Sagi Lowenhardt
e11b837717 Rebuild gettext with ASLR 2020-12-22 17:02:57 +02:00
Alexey Pavlov
950ec0e02c gettext: Rebuild 2020-06-09 15:57:02 +03:00
Christoph Reiter
3b822023d5 gettext: fix tools relocation support
relocate() in gnulib-lib needs INSTALLDIR and INSTALLPREFIX to be
Windows paths so it can relocate the input.

Fix by removing INSTALLPREFIX from MSYS2_ARG_CONV_EXCL so it gets
converted when passed to the compiler and pass it to gnulib-lib,
and convert INSTALLPREFIX in gettext-tools/config.h manually.

Fixes #4392 (for real, hopefully)
2019-05-12 11:37:05 +02:00
Christoph Reiter
7cbec67b68 gettext: Build with --enable-relocatable. Fixes #4392 (#4676)
This makes xgettext find its data files (like .its rules)
2018-11-20 07:52:38 +03:00
Vasily Galkin
f5c6929903 bindtextdomain relocation: fix dirname=NULL crash (#4518)
According to bindtextdomain man passing NULL is allowed
and must be interpreted as current value request.
This behaviour is implemented in non-patched bindtextdomain version.

The relocatable bindtextdomain implementation crashed in strrchr()
call when dirname==NULL was passed: it tried to relocate
NULL dirname (and strdup(NULL) returns NULL).

This patch disables relocation attempt if dirname=NULL.

The user-visible problem that lead to the crash is NOT tightly-related.
I was using VERY experimental mingw64 location on win7: gedit.exe from
"D:\m\noshortname with spaces and non ascii абвг ææ\msys2\mingw64\bin\"
where "D:\m\noshortname with spaces and non ascii абвг ææ\msys2"
is a junction to the actual msys2 root D:\apps\msys2 and
"noshortname with spaces and non ascii абвг ææ" has no short 8.3-name.

Understanding that this is NOT very useful scenario,
I think that bindtextdomain should handle NULL value according to man
since it may lead to another problems in "normal" usages
if some app would call it with NULL (as allowed in the docs).

I didn't investigate why gtk passes NULL as a dirname in this setup,
but after this libintl fix - gedit.exe starts fine.
(even more - it started from link with non-BMP characters in its name)
2018-10-10 07:25:42 +03:00
stahta01
8b0e7fd1c6 gettext: Update 122-Use-LF-as-newline-in-envsubst.patch (#4419) 2018-09-18 09:38:14 +03:00
stahta01
be3dc2af77 gettext: Fix envsubst bug of newline being CR/LF (MSYS2 bug 735) (#3884)
Add 122-Use-LF-as-newline-in-envsubst.patch
Also, adds "git" to makedepends; it is needed by "autogen.sh".
2018-06-02 16:41:19 +03:00
Alexey Pavlov
4446d9e829 gettext: Rebuild 2018-04-20 12:15:55 +03:00
Alexey Pavlov
2cc7d391ca gettext: Rebuild with fixed binutils 2017-02-21 12:41:58 +03:00
Alexey Pavlov
2cec0c83e7 gettext: Update to 0.19.8.1 2017-01-17 13:28:21 +03:00
J. Peter Mugaas
879759d629 Remove files created by patches for second go around or where the srcdir is not cleared after build. 2016-03-28 03:51:59 -04:00
Alexey Pavlov
9cff6f30b6 gettext: Fix patch 2016-03-27 14:01:12 +03:00
Alexey Pavlov
91eba9bf9e gettext: Update to 0.9.17 2016-03-26 11:33:32 +03:00
J. Peter Mugaas
56c9734a14 Fix PGP validation. Remove gettext-runtime/intl/canonicalize.h because that's created by a patch. 2016-03-14 21:23:39 -04:00
Viktor Szakats
e32a40cc92 switch to sha256 checksums
* upgrade some broken packages
* correct some broken urls/checksums
* use secure urls where possible
* update PKGBUILD templates
* remove line-ending whitespace
* minor typos/fixes

Remaining md5sums either didn't download or
didn't pass checksum tests.
2016-02-25 20:55:26 +01:00
Viktor Szakats
e925eec97d use secure urls
* and follow some redirects
* prefer http over ftp
2016-02-21 13:42:32 +01:00
Johannes Schindelin
265a07e70c gettext: fix for 64-bit systems
On the surface, this patch looks as if it only fixes a compile warning:
the canonicalize_file_name() and win2unixpath() functions are used
without having them declared. Everything still compiles fine, and
cursory testing in most setups shows that everything is fine.

Except that it is not.

When GCC sees that canonicalize_file_name() is used without a
declaration, it will assume implicitly that the return value is an int.
A 32-bit one, to be precise. So when those two functions return a
pointer (a 64-bit one), the most significant 32 bits are simply cut off.
Except they are not cut off: they are left in the state as before.

This developer encountered this issue in the form of a segmentation
fault when running with the FLG_LDR_TOP_DOWN enabled [*1*], because the
machine register holding the return value still held a 0xffffffff from
the return address.

Footnote *1*:
https://technet.microsoft.com/en-us/library/cc779664%28v=ws.10%29.aspx

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2016-02-06 13:48:57 +01:00
Johannes Schindelin
02ed890b54 gettext: turn 00-relocatex patch into a proper unified diff
This commit does nothing else than turning the former context-diff
formatted patch into a proper unified diff, to make the next patch
easier to review.

While at it, let's just turn it into a Git-style patch, with commit
message.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2016-02-06 13:48:56 +01:00
Alexey Pavlov
76aea8aa5a gettext: Fix dependencies 2015-11-30 13:03:43 +03:00
Alexey Pavlov
b8d5ebf6bc gettext: Update to 0.19.6 2015-09-15 13:52:28 +03:00
Johannes Schindelin
1aab167f98 Bump pkgrel of mingw-w64-gettext to allow a new release
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2015-09-10 17:59:00 +02:00
Johannes Schindelin
2cc5235c8c Do not hard-code DOS paths in libintl-8.dll
The `libintl-8.dll` file from mingw-w64-x86_64-gettext 0.19.5.1-1 has
the path `D:/develop/msys64/mingw64/share/locale` hard-coded. As a
consequence, programs that link to libintl-8.dll may try to open said
directory. In many setups, `D:\` actually refers to a CD/DVD drive which
means that the user may see this nasty error message:

	There is no disk in the drive. Please insert a disk into drive D:

Let's not do that, but instead hard-code the *POSIX* path into that
`.dll` file, i.e. `/mingw64/share/locale`.

This fixes https://github.com/git-for-windows/git/issues/329

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2015-09-10 15:05:02 +02:00
Alexey Pavlov
4293803a24 === Rebuild with GCC-5.x. Part XIV === 2015-07-20 00:49:34 +03:00
U-warlock\alexx
13c9aa2b19 === Rebuild with GCC-5.1.0. Part I === 2015-06-30 16:32:00 +03:00
Alexpux
40bc7840a8 gettext: Some fixes. 2015-06-17 15:00:50 +03:00
bansan85
f0881dd457 gettext: update pkgrel. 2015-06-16 00:52:40 +02:00
bansan85
b78ab10709 gettext: make libintl.h compatible with Visual Studio. 2015-06-15 22:07:33 +02:00
Ray Donnelly
413c6e1601 gettext: Remove patch-created files 2015-03-26 22:08:23 +00:00
Renato Silva
6daa9f99f9 Trailing whitespace cleanup. 2015-02-09 18:45:05 -02:00
Renato Silva
f643c75a7c Add/fix licenses for more packages.
License files are now installed for the following packages:

    * atk
    * cairo
    * enchant
    * freetype
    * gdk-pixbuf2
    * gettext
    * glib2
    * gtk2
    * gtkspell
    * libiconv
    * libxml2
    * meanwhile
    * pango
    * perl
    * shared-mime-info

The following packages now specify license more explicitly:

    * cairo is LGPL2.1 or MPL1.1.
    * gettext is GPL3 with LGPL2.1 parts.
    * gtkspell and shared-mime-info are GPL2.
    * atk, gdk-pixbuf2, glib2, gtk2 and meanwhile are LGPL2.
    * perl is GPL1+ or Artistic1 ("Artistic License" not "Perl Artistic").

The license field has been fixed for the following packages:

    * drmingw and drmingw-git: GPL does not apply anymore.
    * enchant: it seems to be plain LGPL2.1 without later versions.
    * freetype: the FreeType license can also be used.
    * libiconv: both GPL3 and LGPL2 apply at the same time.
    * libxml2: this is MIT not LGPL.
    * pango: LGPL seems to apply only partially, unclear license for the rest.
2015-02-07 16:00:07 -02:00
Alexpux
837319b454 gettext: Update to 0.19.4 2014-12-25 00:03:12 +03:00