Commit graph

52 commits

Author SHA1 Message Date
joerg
25bcf47f50 Workaround for msgfmt -o /dev/null being broken on Illumos
On Illumos, O_TRUNC|O_WRONLY currently fails outside the global zone for
/dev/null. The mmap-safe rewrite logic used by gettext 0.21 fails for
that reason, breaking at least textproc/po4a with a rather mysterious
error.
2020-08-12 23:31:09 +00:00
wiz
40b3ba5e86 gettext*: update to 0.20.2
Version 0.20.2 - April 2020

* Improvements for maintainers:
  - A dependency bug in po/Makefile.in.in has been fixed.

* Programming languages support:
  - Shell:
    o The programs 'gettext', 'ngettext', when invoked with option -e, now
      expand '\\' and octal escape sequences, instead of swallowing them.
      (Bug present since the beginning.)
    o xgettext now recognizes 'gettext' program invocations with the '-e'
      option, such as
        gettext -e 'some\nstring\n'
  - Python:
    xgettext now assumes a Python source file is in UTF-8 encoding by default,
    as stated in PEP 3120.
  - Desktop Entry:
    The value of the 'Icon' property is no longer extracted into the POT file
    by xgettext.  The documentation explains how to localize icons.

* Runtime behaviour:
  - The interpretation of the language preferences on macOS has been improved,
    especially in the case where a system locale does not exist for the
    combination of the selected primary language and the selected territory.
  - Fixed a multithread-safety bug on Cygwin and native Windows.
2020-04-20 08:37:14 +00:00
nia
5746d94446 gettext: check for glibc in the right package + check for glibc, not Linux 2020-01-23 11:42:16 +00:00
rillig
7724b801cd devel: align variable assignments
pkglint -Wall -F --only aligned --only indent -r

No manual corrections.
2019-11-03 10:39:04 +00:00
nia
f0533b43b8 gettext-tools: Copy the workaround for preloadable_libintl.so for Linux
from gettext.

probably need to do better at detecting glibc specifically.
2019-06-04 17:22:22 +00:00
ryoon
ad48d9ff8a Update to 0.20.1
Changelog:
Version 0.20.1 - May 2019

* Important bug fix:
  - Fixed a wrong shared library versioning of libintl.so.

Version 0.20 - May 2019

* Support for reproducible builds:
  - msgfmt now eliminates the POT-Creation-Date header field from .mo files.

* Improvements for translators:
  - update-po target in Makefile.in.in now uses msgmerge --previous.

* Improvements for maintainers:
  - msgmerge now has an option --for-msgfmt, that produces a PO file meant
    for use by msgfmt only.  This option saves processing time, in particular
    by omitting fuzzy matching that is not useful in this situation.
  - The .pot file in a 'po' directory is now erased by "make maintainer-clean".
  - It is now possible to override xgettext options from the po/Makefile.in.in
    through options in XGETTEXT_OPTIONS (declared in po/Makevars).
  - The --intl option of the gettextize program (deprecated since 2010) is
    no longer available. Instead of including the intl sources in your package,
    we suggest making the libintl library an optional prerequisite of your
    package. This will simplify the build system of your package.
  - Accordingly, the Autoconf macro AM_GNU_GETTEXT_INTL_SUBDIR is gone as well.

* Programming languages support:
  - C, C++:
    xgettext now supports strings in u8"..." syntax, as specified in C11
    and C++11.
  - C, C++:
    xgettext now supports 'p'/'P' exponent markers in number tokens, as
    specified in C99 and C++17.
  - C++:
    xgettext now supports underscores in number tokens.
  - C++:
    xgettext now supports single-quotes in number tokens, as specified in
    C++14.
  - Shell:
    o The programs 'gettext', 'ngettext' now support a --context argument.
    o gettext.sh contains new function eval_pgettext and eval_npgettext
      for producing translations of messages with context.
  - Java:
    o xgettext now supports UTF-8 encoded .properties files (a new feature
      of Java 9).
    o The build system and tools now support Java 9, 10, and 11. On the
      other hand, support for old versions of Java (Java 5 and older,
      GCJ 4.2.x and older) has been dropped.
  - Perl:
    o Native support for context functions (pgettext, dpgettext, dcpgettext,
      npgettext, dnpgettext, dcnpgettext).
    o better detection of question mark and slash as operators (as opposed
      to regular expression delimiters).
  - Scheme:
    xgettext now parses the syntax for specialized byte vectors (#u8(...),
    #vu8(...), etc.) correctly.
  - Pascal:
    xgettext can now extract strings from .rsj files, produced by the
    Free Pascal compiler version 3.0.0 or newer.
  - Vala:
    xgettext now parses escape sequences in strings more accurately.
  - JavaScript:
    xgettext now parses template literals correctly.

* Runtime behaviour:
  - The interpretation of the language preferences on macOS has been fixed.
  - Per-thread locales are now also supported on Solaris 11.4.
  - The replacements for the printf()/fprintf()/... functions that are
    provided through <libintl.h> on native Windows and NetBSD are now POSIX
    compliant.  There is no conflict any more between these replacements
    and other possible replacements provided by gnulib or mingw.

* Libtextstyle:
  - This package installs a new library 'libtextstyle', together with a new
    header file <textstyle.h>.  It is a library for styling text output sent
    to a console or terminal emulator.
    Packagers: please see the suggested packaging hints in the file PACKAGING.
2019-05-27 13:21:41 +00:00
rillig
c22fa1f9d3 devel/gettext-tools: disable check for unknown configure arguments 2019-05-23 17:39:53 +00:00
wiz
fe9e5e563b Install "its" files. Needed by msgfmt.
Bump PKGREVISION.
2017-05-15 14:14:04 +00:00
jperkin
a7efdccd6c Use OPSYSVARS. 2016-02-25 12:12:47 +00:00
jperkin
dbe614131e Explicitly pass --disable-java to avoid PLIST failures when it is found on
the host system.
2016-02-15 09:06:59 +00:00
adam
4019506e6d Removed expat dependency 2016-02-01 18:21:25 +00:00
wiz
a6a1bbf96f Update gettext* to 0.19.6:
Version 0.19.6 - September 2015

* Programming languages support:
  - AppData:
    xgettext now supports AppData file format, used by software center
    applications (e.g., GNOME Software) to describe installable
    applications.

* A new macro AM_GNU_GETTEXT_REQUIRE_VERSION can be used to indicate
  autopoint to pull the latest available infrastructure, instead of
  the exact version specified with AM_GNU_GETTEXT_VERSION.  When
  AM_GNU_GETTEXT_REQUIRE_VERSION is used, AM_GNU_GETTEXT_VERSION is
  ignored.

* po/Makefile.in.in can now insert the file $(DOMAIN).pot-header to
  $(DOMAIN).pot, instead of the standard header comments.

* Bug fixes:
  - Fix mishandling of gettext version numbers for minor releases, in
    po-mode.el and gettextize.
  - Fix build with --enable-relocatable.

Version 0.19.5 - July 2015

* xgettext now has a feature to perform syntax checks on msgid, which
  could enforce common styles of translatable strings, such as to
  prefer Unicode characters to the corresponding ASCII characters.
  They can be enabled with --check option or special "xgettext: "
  comment in the source code.  By default, no syntax checks are
  enabled.

* msgfilter and msgexec now have an option --newline, which appends a
  newline character to filter input and trims it from the filter
  output.  This would allow filter programs to be more POSIX friendly.

* The base Unicode standard is now updated to 8.0.0.  This
  particularly improves "\N{...}" notation handling of xgettext for
  Perl and Python.

* msginit is now capable of generating "Plural-Forms:" from Unicode
  CLDR.  This feature is still experimental, but you can try it by
  setting the GETTEXTCLDRDIR environment variable pointing to the
  directory where the CLDR archive is extracted.  The actual
  conversion is done by a helper program 'cldr-plural', which can be
  used as a generic converter and evaluator of CLDR plural forms.

* Programming languages support:
  - C++ with KDE: xgettext and msgfmt can now recognize KUIT (KDE User
    Interface Text) markup.  See the documentation section "KUIT
    Format Strings" for more info.
  - C++ with KDE: xgettext now recognizes all default KDE keywords.
    This removes the need for a long list of --keyword and --flag
    options to perform a reasonable extraction.

* Bug fixes:
  - xgettext C++11 raw string recognition is now stricter and don't
    accept unbalanced delimiters.
  - Suppress baseless warnings which msgfmt emits when processing a
    .desktop file.
  - xgettext line wrapping behaviour is now consistent between comment
    lines and non-comment lines.
  - Fix msgfilter-7 test failure on some platforms.
  - Fix VPATH build.
2015-09-30 20:58:32 +00:00
sevan
38d1d115b6 Disable the use of OpenMP libraries
This resolves an issue where binaries from this package are linked to libraries
from the native compiler on the system. The generated binaries are subsequently not executable
because the path to the compilers library directory is not in the linkers search
path. Observed on OmniOS with this package linking to libgomp from native GCC

Reviewed by wiz@
2015-09-01 13:16:48 +00:00
prlw1
ea9124bba1 In the interest of getting gtk3 in before the freeze, link gettext with
expat so that it understands Glade.
2015-06-14 21:39:20 +00:00
sevan
d9d00c7c4d Force the use of the gnulib version of wctype.h, bundled with gettext-tools, when
building on AIX. This is a workaround for an issue where though the wctype.h
included on system was found, wctype_t & wctrans_t were deemed unsuitable,
causing the build to fail due to previous declaration with confliciting types.

Reviewed by wiz@
2015-05-03 14:37:33 +00:00
gdt
f53cf88e6a As threatened in April, add --without-emacs to fix build on OSX. 2015-01-10 16:19:48 +00:00
wiz
7b5c46cdd8 Update gettext packages to 0.19.2:
Version 0.19.2 - July 2014

* Bug fixes:
  - Fix xgettext crash in parsing empty string literals in C and Vala.
  - ChangeLog file is added back to the gettext infrastructure.  It was
    mistakenly removed in 0.19.
  - Autoconf macro trace in autopoint now works again with Autoconf 2.68
    or earlier.  It was a regression in 0.19.

Version 0.19.1 - June 2014

* Programming languages support:

  - Desktop Entry:
    msgfmt now always reads the po/LINGUAS file, regardless of whether
    the LINGUAS environment variable is set.  The variable can now be
    used to restrict the languages list read from the po/LINGUAS file.

  - Vala:
    Bug fix in xgettext handling of "//" in string literals.  This was
    a regression after the C-99 Unicode escape support.

* The po/Makevars.template file now contains the newly added variables.

* msgfmt now treats errors in the PO file header as non-fatal.  Since
  0.19 msgfmt started to abort on the fatal errors, but some
  translation systems are still not ready to supply valid headers.

* Future backward-incompatibilities:
  - In future Gettext versions, msgfmt will treat header errors as
    fatal and terminate the command execution.

Version 0.19 - June 2014

* Programming languages support:

  - Desktop Entry:
    xgettext and msgfmt now support .desktop files, used by desktop
    applications, as input and output.

  - GSettings:
    xgettext now supports GSettings schema file format used by GNOME
    applications.

  - JavaScript:
    xgettext now recognizes E4X (ECMA-357) constructs.

  - PHP:
    Single and double quotes around heredoc markers are now recognized.

  - Python:
    The acceptable format specifiers in the braced-syntax format
    strings are now limited to the Standard Format Specifiers, to
    reasonably avoid false-positives.

  - Scheme:
    The gettext shorthand form _"abc", used by GIMP script-fu, is now
    recognized by xgettext.

  - C and Vala:
    xgettext now recognizes C99-style Unicode character escapes.

* The --add-location option of msgattrib, msgcat, msgcomm, msgconv,
  msgen, msgfilter, msggrep, msgmerge, msguniq, and xgettext commands
  now takes an optional argument 'never', 'full', or 'file', to
  control the format of "#: ..." comments.

* msgfmt now has --source option to keep generated .java file when
  running in Java mode.

* msgattrib now has --empty option that sets msgstr to empty when
  clearing fuzzy flag.

* msgexec and msgfilter pass the plural information to subprocess
  through the environment variable MSG{EXEC,FILTER}_MSGID_PLURAL and
  MSG{EXEC,FILTER}_PLURAL_FORM.

* New built-in filters 'quot' and 'boldquot' have been added to
  msgfilter.  These filters convert Latin quotation marks ('...',
  "...") into Unicode quotation marks (for example, U+2018) if
  possible, similar to the sed commands used in po/Rules-quot and
  po/Rules-boldquot.

* The po/Makevars file has a couple of new options PO_DEPENDS_ON_POT
  and DIST_DEPENDS_ON_UPDATE_PO, that can be used to adjust the
  behavior of updating PO files on demand.

* xgettext now strips prefixed string before the comment tag.  This is
  useful to support C-style comment like this:

  /*
   * TRANSLATORS: first line
   * second line
   */

  In this example, the extracted comment does not contain "* " at the
  beginning of each line.

* libgettextpo library:
  - Memory leak fixes in the PO file parser.

* Documentation:
  - A complete example showing the use of GNU gettext in a GNOME 3
    application has been added.
2014-08-31 10:24:02 +00:00
jperkin
ce031db789 xz is a runtime dependency, used by autopoint.
Bump PKGREVISION.
2014-07-18 08:32:43 +00:00
adam
81453a53e4 Changes 0.18.3.2:
Bug-fix release.
2014-01-11 10:52:46 +00:00
obache
ce1f13eb99 Oops, missing bump. 2013-11-06 13:28:57 +00:00
obache
7f544972a6 Exactly specify xz as ARCHIVE_FORMAT, require `xz' tool to build.
Then drop buildlink with xz, it is not required.

Bump PKGREVISION.
2013-11-06 13:17:51 +00:00
ryoon
3e3ccaae4a Fix build on Cygwin.
* Remove -Wl,--disable-auto-import option. With this option, I have gotten
  "undefined reference to environ" error.
2013-07-30 13:28:40 +00:00
wiz
7e21c5a27a Update gettext* to 0.18.3:
Version 0.18.3 - July 2013

* Runtime behaviour:
  On Mac OS X systems, the setlocale() function now properly
  invalidates loaded message catalogs when a locale has been set.

* Programming languages support:

  - C++:
    The gnu::autosprintf class now provides an assignment operator.

  - Glade:
    xgettext now supports GtkBuider file format used by Glade 3.
    xgettext now also extracts contexts (msgctxt) from Glade 2 and
    GtkBuider files.

  - JavaScript:
    xgettext now partially supports JavaScript.  Since the current
    JavaScript specification (ECMA-262) does not define the standard
    set of formatting methods nor translation functions, the
    implementation supports only a limited set of formatting methods
    and translation functions commonly used in Gjs and other popular
    JavaScript implemenations and libraries.

  - Lua:
    xgettext now supports Lua, using Ľubomír Remák's lua-gettext.

  - Python:
    xgettext and msgfmt's format string checking now recognize Python
    format string in braced syntax (PEP 3101).  xgettext now also
    supports explicit string concatenation with '+' and handles
    platform dependent line terminators (LF/CR/CRLF) transparently.

  - Tcl:
    Bug fix in xgettext Unicode escape handling.

  - Vala:
    xgettext now supports Vala.

* msgattrib now has --previous option to keep previous msgid when
  making messages fuzzy, similar to msgmerge --previous.

* msgfmt now checks PO file headers more strictly with less
  false-positives.

* 'gettextize' now checks macro directories specified with
  AC_CONFIGURE_MACRO_DIRS in configure.ac.

* Portability:
  - msginit now does not require GNU sed.
  - The Makefile rule for generating en@quot and en@boldquot now uses
    @SED@ variable instead of hard-coded 'sed' command to allow users
    to supply GNU sed.

* Future backward-incompatibilities:
  - In future Gettext versions, the files installed by 'gettextize'
    will require Automake 1.10 or later.  This will improve the
    compatibility of user projects with newer Automake versions.
2013-07-21 20:24:52 +00:00
adam
8583c6027e Changes 0.18.2:
* xgettext now understands the block comment syntax of Guile 2.0.
* libgettextpo library:
  - The initial msgstr of a new message is now "", not NULL.
  - Bug fixes in the functions po_message_is_range, po_file_check_all,
    po_message_check_all.
* Installation options:
  The configure options --with-xz and --with-bzip2 can be used to specify
  alternate compression methods for the archive used by the 'autopoint'
  program. These options, together with --with-git, allow to trade
  dependencies against installed package size. --with-xz has the highest
  compression rate, followed by --with-git, followed by --with-bzip2.
* Autoconf macros:
  - The autoconf macros installed by 'gettextize' now work with the
    forthcoming Automake 1.14 and require Autoconf version 2.60 or
    newer.
* Portability:
  - Building on MacOS X 10.7, Cygwin 1.7.10, and newer 64-bit mingw is
    now supported.
2013-01-31 21:45:03 +00:00
ryoon
daf0a5c8fc Add buildlink3.mk for libgettextlib. 2012-12-03 13:07:20 +00:00
sbd
395f98a08b Add missing mk/termcap buildlink.
Bump PKGREVISION
2011-12-17 10:15:08 +00:00
cheusov
7919d1bf67 Fix build on OpenSolaris-based distribibutions.
PR 45233 by NAKAJI Hiroyuki. It was tested on oi_148.
2011-08-22 21:53:40 +00:00
tron
dadd0f1974 Disable automatic detection of "git" binary and thereby the convert
of "archive.dir.tar.gz" to "archive.git.tar.gz". We now get a consistent
package list on system with and without GIT installed. Bump package
revision again.
2011-07-13 20:50:05 +00:00
abs
c131674f77 install autopoint & gettextize - bump pkgrevision 2011-07-13 14:26:01 +00:00
adam
55f7376043 Changes 0.18.1:
* msggrep: A '$' anchor in a regular expression now also matches the end of
  the string, even if it does not end in a newline.
* Dependencies:
  The libraries and programs are now linked with libunistring if this library
  is already installed.
* Installation options:
  The configure option --with-cvs is deprecated. The 'autopoint' program will
  now use the 'git' program by default to compress its archive. If the
  configure option --without-git is specified, 'autopoint' will not rely on
  'git', but will instead rely on a locally installed a 3 MB large archive.

Changes 0.18:
* Runtime behaviour:
  - On MacOS X and Windows systems, <libintl.h> now extends setlocale() and
    newlocale() so that their determination of the default locale considers
    the choice the user has made in the system control panels.
  - On MacOS X systems, the gettext()/dgettext()/... functions now respect the
    locale of the current thread, if a thread-specific locale has been set.
* PO file format:
  There is a new field 'Language' in the header entry.  It denotes the language
  code (plus optional country code) for the PO file.  This field can be used
  by automated tools, such as spell checkers.  It is expected to be more
  reliable than looking at the file name or at the 'Language-Team' field in
  the header entry.
  msgmerge, msgcat, msgen have a new option --lang that allows to specify
  this field.  Additionally, msgmerge fills in this new field by looking at
  the 'Language-Team' field (if the --lang option is not given).
* xgettext and PO file format:
  For messages with plural forms, programmers can inform the translators
  about the range of possible values of the numeric argument, like this:
    /* xgettext: range: 0..15 */
  This information 'range: 0..15' is stored in the PO file as a flag attached
  to the message.  Translators can produce better translations when they know
  that the numeric argument is small.
* Colorized PO files:
  msgattrib, msgcomm, msgconv, msgen, msgfilter, msggrep, msginit, msgmerge,
  msgunfmt, msguniq, xgettext now have options --color and --style, like msgcat
  has since version 0.17.
* msgmerge is up to 10 times faster when the PO and POT files are large.
  This speedup was contributed by Ralf Wildenhues.
* msgcmp has a new option -N/--no-fuzzy-matching, like msgmerge has since
  version 0.12.
* msgfilter now sets environment variables during the invocation of the
  filter, indicating the msgid and location of the messge being processed.
* xgettext now can extract plural forms from Qt 4 programs. The recommended
  xgettext command-line options for this case are:
    --qt --keyword=tr:1,1t --keyword=tr:1,2c,2t --keyword=tr:1,1,2c,3t
* xgettext --language=GCC-source now recognizes also the format strings
  used in the Fortran front-end of the GCC compiler, and marks them as
  'gfc-internal-format'.
* autopoint can now be used to update several PO directories all together.
2011-04-12 17:41:28 +00:00
dholland
3ef0844f72 Build fix for AIX from J Raynor in PR 41433. 2011-02-09 05:52:07 +00:00
wiz
6297399f2c Set LICENSE. 2010-10-27 15:43:54 +00:00
obache
1cb287d58f Treat Haiku like BeOS 2010-02-05 11:18:12 +00:00
joerg
bacea7cad5 Remove @dirrm entries from PLISTs 2009-06-14 17:48:39 +00:00
joerg
3b0d97b0de Add DESTDIR support. 2008-06-20 01:09:05 +00:00
drochner
bc150e8f0e explicite disable C#, otherwise "mcs" might be picked up,
leading to chaos
2008-03-03 18:02:22 +00:00
jnemeth
94d33d9485 add MAKE_JOBS_SAFE=no from Rumko and pkgsrc-users@ 2007-12-21 20:35:31 +00:00
rillig
fc0adcbeef This package is not MAKE_JOBS_SAFE. Reported by Rumko on pkgsrc-users. 2007-12-21 19:11:38 +00:00
tron
7c10f74202 Don't try to reference "char **environ" under Mac OS X. It breaks the
build under Leopard.
2007-11-26 18:08:36 +00:00
rillig
67645c1c07 Fixed the patches to _never_ use the varargs macros. This fixes the
build on Mac OS X, where the inconsistent preprocessor conditions made
the compilation fail.
2007-03-12 23:59:47 +00:00
rillig
41641ef3e3 Second part of the patch. Now the package builds. 2007-03-06 13:45:34 +00:00
rillig
88bc02707e ISO C99 does not require support for varargs macros with zero arguments,
so MIPSpro doesn't support it either.
2007-03-06 13:08:24 +00:00
adam
54466f1464 Changes 0.14.6:
* Updated the meaning of 'gcc-internal-format' to match GCC 4.1.
2006-07-26 06:53:02 +00:00
jlam
ee68c93314 LIBTOOL_OVERRIDE generally doesn't need to be specified anymore... just
set OVERRIDE_DIRDEPTH to find any libtool scripts deeper in the WRKSRC
tree unless they're named something other than "libtool".

SHLIBTOOL_OVERRIDE generally doesn't need to be specified either -- just
define it to the empty list and shlibtool-override will look for libtool
scripts.
2006-07-07 15:49:30 +00:00
markd
fe169d2d04 If va_copy defined use it in int_vasprintf().
Fixes PR pkg/32854.
2006-07-06 13:10:27 +00:00
jlam
ea5f9f80b6 Strip ${PKGLOCALEDIR} from PLISTs of packages that already obey
PKGLOCALEDIR and which install their locale files directly under
${PREFIX}/${PKGLOCALEDIR} and sort the PLIST file entries.  From now
on, pkgsrc/mk/plist/plist-locale.awk will automatically handle
transforming the PLIST to refer to the correct locale directory.
2006-04-17 07:07:11 +00:00
reed
5abef9be14 Over 1200 files touched but no revisions bumped :)
RECOMMENDED is removed. It becomes ABI_DEPENDS.

BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo.

BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo.

BUILDLINK_DEPENDS does not change.

IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS
which defaults to "yes".

Added to obsolete.mk checking for IGNORE_RECOMMENDED.

I did not manually go through and fix any aesthetic tab/spacing issues.

I have tested the above patch on DragonFly building and packaging
subversion and pkglint and their many dependencies.

I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I
have used IGNORE_RECOMMENDED for a long time). I have been an active user
of IGNORE_RECOMMENDED since it was available.

As suggested, I removed the documentation sentences suggesting bumping for
"security" issues.

As discussed on tech-pkg.

I will commit to revbump, pkglint, pkg_install, createbuildlink separately.

Note that if you use wip, it will fail!  I will commit to pkgsrc-wip
later (within day).
2006-04-06 06:21:32 +00:00
jlam
792529759b * Honor PKGINFODIR.
* List the info files directly in the PLIST.
2006-03-30 03:44:41 +00:00
joerg
3612e5130c Never allow configure to detect libexpat. Fixes PR 28032. 2006-02-20 14:04:45 +00:00
joerg
9345170372 Disable HAVE_WCTYPE_H on NetBSD before 2.0, since it doesn't have
the needed wctype_t and therefore the multibyte support can't work.
Tested by cato@
2006-02-14 22:31:42 +00:00