./textproc/enchant2, Generic spell checking library

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 2.8.14, Package name: enchant2-2.8.14, Maintainer: pkgsrc-users

Enchant aims to provide a simple but comprehensive abstraction for
dealing with different spell checking libraries in a consistent way. A
client, such as a text editor or word processor, need not know
anything about a specific spell-checker, and since all back-ends are
plugins, new spell-checkers can be added without needing any change to
the program using Enchant.

Enchant in pkgsrc can work with the following spell checkers:

Hunspell
GNU Aspell
Zemberek

Note that while enchant, when configured by options to use a spell
checker, simply requires the spell checker package. It does nothing
about dictionaries for particular languages.


Required to run:
[devel/glib2] [textproc/hunspell-en_US] [textproc/hunspell]

Required to build:
[devel/unittest-cpp]

Package options: hunspell

Master sites:

Filesize: 1242.094 KB

Version history: (Expand)


CVS history: (Expand)


   2025-11-24 10:13:05 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
enchant2: update to 2.8.14.

2.8.14 (November 20, 2025)
--------------------------

This release fixes a test failure in the previous release, and improves
enchant(1)’s word division algorithm, so that it only considers words that
contain at least one letter. (Words may contain characters that aren’t
letters, but Enchant was for example considering “1900” to be a word, which
is probably not helpful.)

2.8.13 (November 19, 2025)
--------------------------

This release fixes a bug in the word division algorithm of enchant(1)
introduced in 2.8.4, which itself was attempting to fix bugs introduced in
the previous release. This could have caused a crash, but it seems we were
saved by careful bounds checking in GLib. Instead, it merely meant that
characters not valid at the end of a word were not removed as they should be
before spell-checking.

Note that this bug only affected users of the enchant(1) program, for
example Emacs users using it via Emacs’s “ispell” command. Users using
libenchant (i.e. most users) were not affected.
   2025-10-23 22:40:24 by Thomas Klausner | Files touched by this commit (2999)
Log message:
*: recursive bump for pcre2

Running an old binary against the new pcre doesn't work:
/usr/pkg/lib/libpcre2-8.so.0: version PCRE2_10.47 required by \ 
/usr/pkg/lib/libglib-2.0.so.0 not defined
   2025-08-03 11:51:43 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
enchant2: update to 2.8.12.

2.8.12 (July 28, 2025)
----------------------

This release fixes a crash introduced in the previous release, where a
dictionary could have a dangling reference to a provider.
   2025-07-27 10:48:43 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
enchant2: update to 2.8.11.

2.8.11 (July 22, 2025)
----------------------

This release fixes a crash when an empty language tag is given, for example
to `enchant-2 -p`.

Various aspects of the internal provider API have been simplified, and an
obsolete header file removed.
   2025-07-18 18:25:39 by Amitai Schleier | Files touched by this commit (1)
Log message:
enchant2: adjust PLIST.Darwin to match installed .so.
   2025-07-01 21:19:52 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
enchant2: update to 2.8.10.

2.8.10 (June 21, 2025)
----------------------

This release fixes a crash bug and some space leaks in the Hunspell provider
that were introduced in 2.8.7.

Thanks to @haansn08 and @mike-fabian for the report and debug information.

The handling of PWL dictionaries has also been simplified slightly.

2.8.9 (June 17, 2025)
---------------------

This release fixes a critical bug in the Aspell provider that crept into
2.8.7. Thanks to @hamkg for the report and @chenrui333 analyzing the
problem.

A test has been added that simply runs `enchant-lsmod -list-dicts`, which
would have caught this bug and the double-free fixed in the previous
release.

2.8.8 (June 16, 2025)
---------------------

The previous release had a “double-free” bug that typically caused a crash
on application start-up. Thanks to @AdamWill of Fedora for a quick bug
report that enabled me to locate and instantly fix the bug (apologies!).

A test to detect this sort of bug in future will be forthcoming.

2.8.7 (June 15, 2025)
---------------------

This release stops the Hunspell provider from doing partial matching of
dictionary tags. This fixes an odd situation where it was possible for
Aspell to have an actual “en” dictionary, which would be shown by
enchant-lsmod(1), but when requesting that language, if Hunspell was
configured to take precedence over Aspell, and there was, for example, an
“en_US” dictionary installed for Hunspell, then that would be used. Thanks
to @digitcrusher for filing the bug and helping with the solution.

The providers code has been formatted more consistently, simplified in
places, and made more robust when memory allocation fails. Thanks again to
@digitcrusher for spotting some simplifications I missed.

The minimum version of GLib required is now 2.76, which is quite recent
(from a bit over 2 years ago at the time of writing). Use of this enables
some deprecated APIs to be dropped, and some slight code simplification.

Finally, the compiler warnings used with GCC have been adjusted to turn off
useless warnings, especially for Vala-generated C.
   2025-06-07 23:37:18 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
enchant2: update to 2.8.6.

2.8.6 (May 30, 2025)
--------------------

This release fixes an internal bug where an ABI was incorrectly specified,
causing errors on some systems, in particular big-endian ones. Thanks to
Pranav P for the fix.

The program tests (for enchant(1)) have been fixed to work on a wider
range of systems and with more spelling providers.

The Doxygen documentation has been updated.

2.8.5 (May 25, 2025)
--------------------

This release fixes relocatability for BSDs (including macOS), and fixes the
build system to make relocatability work better on Windows in some
environments.

The build system has been updated to detect MSVC’s C++11 support correctly.

Some incorrect documentation was removed from enchant.h: Enchant does not
automatically reject words containing non-letters not in the list returned
by enchant_dict_get_extra_word_characters (though it is likely that most
back-ends will consider them mis-spellings at best!).

The enchant(1) program now has tests, and the error message when the command
line is invalid has been improved.

There are some minor improvements to the build system.
   2025-05-04 16:39:06 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
enchant2: update to 2.8.4.

2.8.4 (April 29, 2025)
----------------------

This release fixes a pair of bugs in the word division algorithm of
enchant(1) introduced in the previous release, 2.8.3. Apologies for this bad
bug.

2.8.3 (April 28, 2025)
----------------------

This release marks Enchant’s move from the aegis of the defunct AbiWord to
the personal care of Reuben Thomas, the current maintainer. Thanks to Hubert
Figuière, Enchant’s previous steward, for allowing this move, which enables
me (Reuben) to seek sponsorship for Enchant maintenance without confusion
over the project’s affiliation.

Code-wise, the two command-line utilities, enchant(1) and enchant-lsmod(1)
have been rewritten in Vala. All of Enchant’s core is now written in Vala;
the providers are still a polyglot of C, C++ and Objective C++.

The AppleSpell provider was fixed to not crash when it is partially
initialised, but initialisation ultimately fails, for example because a
valid dictionary cannot be found. Thanks to Fredrik Larsson for the fix.

Some minor fixes and improvements to the build system were made.

Missing NEWS was added for release 2.8.2.