notbugAs an Amazon Associate I earn from qualifying purchases.
Want a good read? Try FreeBSD Mastery: Jails (IT Mastery Book 15)
Want a good monitor light? See my photosAll times are UTC
Ukraine
NOW FIXED. We had a known problem with lists of packages - they were out of date. The fix has been applied to production. See packages-import/issues/3 & packages-import/issues/4
Port details
uni-algo Unicode Algorithms Implementation for C/C++
1.2.0 textprocnew! on this many watch lists=0 search for ports that depend on this port Find issues related to this port Report an issue related to this port View this port on Repology. pkg-fallout Package not present on quarterly.This port was created during this quarter. It will be in the next quarterly branch but not the current one.
Maintainer: sunpoet@FreeBSD.org search for ports maintained by this maintainer
Port Added: 2025-02-03 15:57:20
Last Update: 2025-02-03 15:50:43
Commit Hash: 22fcd91
License: MIT PD
WWW:
https://github.com/uni-algo/uni-algo
Description:
There are plenty of Unicode libraries for C/C++ out there that implement random Unicode algorithms, but many of them don't handle ill-formed UTF sequences at all. In the best-case scenario, you'll get an exception/error; in the worst-case, undefined behavior. The biggest problem is that in 99% cases everything will be fine. This is inappropriate for security reasons. This library handles such problems (there are not only ill-formed sequences actually) properly and always according to The Unicode Standard. In C/C++, unlike some other programming languages, there is no safe type for UTF-8/UTF-16 that guarantees that the data will be well-formed; this makes the problem even worse. The library doesn't introduce such a type either because the library doesn't work with types/strings/files/streams, it works with the data inside them and makes it safe when it's needed. Check this article if you want more information about ill-formed sequences: https://hsivonen.fi/broken-utf-8 It is a bit outdated because ICU (International Components for Unicode) now uses W3C conformant implementation too, but the information in the article is very useful. This library does use W3C conformant implementation too.
Homepage    cgit ¦ Codeberg ¦ GitHub ¦ GitLab ¦ SVNWeb - no subversion history for this port

Manual pages:
FreshPorts has no man page information for this port.
pkg-plist: as obtained via: make generate-plist
Expand this list (67 items)
Collapse this list.
  1. /usr/local/share/licenses/uni-algo-1.2.0/catalog.mk
  2. /usr/local/share/licenses/uni-algo-1.2.0/LICENSE
  3. /usr/local/share/licenses/uni-algo-1.2.0/MIT
  4. /usr/local/share/licenses/uni-algo-1.2.0/PD
  5. include/uni_algo/all.h
  6. include/uni_algo/case.h
  7. include/uni_algo/config.h
  8. include/uni_algo/conv.h
  9. include/uni_algo/ext/ascii.h
  10. include/uni_algo/ext/translit/japanese_kana_to_romaji_hepburn.h
  11. include/uni_algo/ext/translit/macedonian_to_latin_docs.h
  12. include/uni_algo/impl/data/data_case.h
  13. include/uni_algo/impl/data/data_norm.h
  14. include/uni_algo/impl/data/data_prop.h
  15. include/uni_algo/impl/data/data_script.h
  16. include/uni_algo/impl/data/data_segment_grapheme.h
  17. include/uni_algo/impl/data/data_segment_word.h
  18. include/uni_algo/impl/data/extern_case.h
  19. include/uni_algo/impl/data/extern_norm.h
  20. include/uni_algo/impl/data/extern_prop.h
  21. include/uni_algo/impl/data/extern_script.h
  22. include/uni_algo/impl/data/extern_segment_grapheme.h
  23. include/uni_algo/impl/data/extern_segment_word.h
  24. include/uni_algo/impl/impl_case.h
  25. include/uni_algo/impl/impl_case_locale.h
  26. include/uni_algo/impl/impl_conv.h
  27. include/uni_algo/impl/impl_cpp_lib_version.h
  28. include/uni_algo/impl/impl_data.h
  29. include/uni_algo/impl/impl_iter.h
  30. include/uni_algo/impl/impl_locale.h
  31. include/uni_algo/impl/impl_norm.h
  32. include/uni_algo/impl/impl_prop.h
  33. include/uni_algo/impl/impl_script.h
  34. include/uni_algo/impl/impl_segment_grapheme.h
  35. include/uni_algo/impl/impl_segment_word.h
  36. include/uni_algo/impl/impl_types.h
  37. include/uni_algo/impl/impl_unicode_version.h
  38. include/uni_algo/impl/internal_defines.h
  39. include/uni_algo/impl/internal_stages.h
  40. include/uni_algo/impl/internal_undefs.h
  41. include/uni_algo/internal/data_inl.h
  42. include/uni_algo/internal/error.h
  43. include/uni_algo/internal/found.h
  44. include/uni_algo/internal/locale_inl.h
  45. include/uni_algo/internal/ranges_core.h
  46. include/uni_algo/internal/ranges_translit.h
  47. include/uni_algo/internal/safe_layer.h
  48. include/uni_algo/locale.h
  49. include/uni_algo/norm.h
  50. include/uni_algo/prop.h
  51. include/uni_algo/ranges.h
  52. include/uni_algo/ranges_conv.h
  53. include/uni_algo/ranges_grapheme.h
  54. include/uni_algo/ranges_norm.h
  55. include/uni_algo/ranges_word.h
  56. include/uni_algo/script.h
  57. include/uni_algo/version.h
  58. lib/libuni-algo.so
  59. lib/libuni-algo.so.1.2
  60. lib/libuni-algo.so.1.2.0
  61. share/uni-algo/cmake/uni-algo-config-version.cmake
  62. share/uni-algo/cmake/uni-algo-config.cmake
  63. share/uni-algo/cmake/uni-algo-targets-release.cmake
  64. share/uni-algo/cmake/uni-algo-targets.cmake
  65. @owner
  66. @group
  67. @mode
Collapse this list.
Dependency lines:
  • uni-algo>0:textproc/uni-algo
To install the port:
cd /usr/ports/textproc/uni-algo/ && make install clean
To add the package, run one of these commands:
  • pkg install textproc/uni-algo
  • pkg install uni-algo
NOTE: If this package has multiple flavors (see below), then use one of them instead of the name specified above.
PKGNAME: uni-algo
Flavors: there is no flavor information for this port.
distinfo:
TIMESTAMP = 1738088814 SHA256 (uni-algo-uni-algo-v1.2.0_GH0.tar.gz) = f2a1539cd8635bc6088d05144a73ecfe7b4d74ee0361fabed6f87f9f19e74ca9 SIZE (uni-algo-uni-algo-v1.2.0_GH0.tar.gz) = 437340

Packages (timestamps in pop-ups are UTC):
uni-algo
ABIaarch64amd64armv6armv7i386powerpcpowerpc64powerpc64le
FreeBSD:13:latest----1.2.0---
FreeBSD:13:quarterly--------
FreeBSD:14:latest-1.2.0--1.2.0---
FreeBSD:14:quarterly--------
FreeBSD:15:latest--n/a-n/a---
Dependencies
NOTE: FreshPorts displays only information on required and default dependencies. Optional dependencies are not covered.
Build dependencies:
  1. cmake : devel/cmake-core
  2. ninja : devel/ninja
This port is required by:
for Libraries
  1. filesystems/securefs

Configuration Options:
No options to configure
Options name:
textproc_uni-algo
USES:
cmake compiler:c++17-lang
FreshPorts was unable to extract/find any pkg message
Master Sites:
Expand this list (1 items)
Collapse this list.
  1. https://codeload.github.com/uni-algo/uni-algo/tar.gz/v1.2.0?dummy=/
Collapse this list.

Number of commits found: 1

Commit History - (may be incomplete: for full details, see links to repositories near top of page)
CommitCreditsLog message
1.2.0
03 Feb 2025 15:50:43
commit hash: 22fcd914debb594d1daa5f79355ed5f5d8c0be45commit hash: 22fcd914debb594d1daa5f79355ed5f5d8c0be45commit hash: 22fcd914debb594d1daa5f79355ed5f5d8c0be45commit hash: 22fcd914debb594d1daa5f79355ed5f5d8c0be45 files touched by this commit
Po-Chuan Hsieh (sunpoet) search for other commits by this committer
textproc/uni-algo: Add uni-algo 1.2.0

There are plenty of Unicode libraries for C/C++ out there that implement random
Unicode algorithms, but many of them don't handle ill-formed UTF sequences at
all.  In the best-case scenario, you'll get an exception/error; in the
worst-case, undefined behavior. The biggest problem is that in 99% cases
everything will be fine. This is inappropriate for security reasons.  This
library handles such problems (there are not only ill-formed sequences actually)
properly and always according to The Unicode Standard.

In C/C++, unlike some other programming languages, there is no safe type for
UTF-8/UTF-16 that guarantees that the data will be well-formed; this makes the
problem even worse. The library doesn't introduce such a type either because the
library doesn't work with types/strings/files/streams, it works with the data
inside them and makes it safe when it's needed.

Check this article if you want more information about ill-formed sequences:
https://hsivonen.fi/broken-utf-8

It is a bit outdated because ICU (International Components for Unicode) now uses
W3C conformant implementation too, but the information in the article is very
useful.

This library does use W3C conformant implementation too.

Number of commits found: 1