Message ID | 20220227041059.1322-1-maxim.cournoyer@gmail.com |
---|---|
State | Accepted |
Headers | show |
Series | [bug#54178] gnu: glibc-utf8-locales: Hide the package. | expand |
Context | Check | Description |
---|---|---|
cbaines/comparison | success | View comparision |
cbaines/git branch | success | View Git branch |
cbaines/applying patch | success | View Laminar job |
cbaines/issue | success | View issue |
Hi, Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis: > This package has a long history of confusing users, due to containing only a > small, arbitrary subset of UTF-8 locales. > > * gnu/packages/base.scm (glibc-utf8-locales): Define as a hidden package. > * doc/guix.texi (Application Setup): Do not mention glibc-utf8-locales. > Instead, provide an example for defining a custom locales package. LGTM! Ludo’.
Hello! Ludovic Courtès <ludo@gnu.org> writes: > Hi, > > Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis: > >> This package has a long history of confusing users, due to containing only a >> small, arbitrary subset of UTF-8 locales. >> >> * gnu/packages/base.scm (glibc-utf8-locales): Define as a hidden package. >> * doc/guix.texi (Application Setup): Do not mention glibc-utf8-locales. >> Instead, provide an example for defining a custom locales package. > > LGTM! Pushed, thank you! Maxim
diff --git a/doc/guix.texi b/doc/guix.texi index a6437729ff..69a4073603 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -1867,8 +1867,24 @@ $ export GUIX_LOCPATH=$HOME/.guix-profile/lib/locale Note that the @code{glibc-locales} package contains data for all the locales supported by the GNU@tie{}libc and weighs in at around -917@tie{}MiB@. Alternatively, the @code{glibc-utf8-locales} is smaller but -limited to a few UTF-8 locales. +930@tie{}MiB@footnote{The size of the @code{glibc-locales} package is +reduced down to about 213@tie{}MiB with store deduplication and further +down to about 67@tie{}MiB when using a zstd-compressed Btrfs file +system.}. If you only need a few locales, you can define your custom +locales package via the @code{make-glibc-utf8-locales} procedure from +the @code{(gnu packages base)} module. The following example defines a +package containing the various Canadian UTF-8 locales known to the +GNU@tie{}libc, that weighs around 14@tie{}MiB: + +@lisp +(use-modules (gnu packages base)) + +(define my-glibc-locales + (make-glibc-utf8-locales + glibc + #:locales (list "en_CA" "fr_CA" "ik_CA" "iu_CA" "shs_CA") + #:name "glibc-canadian-utf8-locales")) +@end lisp The @env{GUIX_LOCPATH} variable plays a role similar to @env{LOCPATH} (@pxref{Locale Names, @env{LOCPATH},, libc, The GNU C Library Reference diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 76a65f25b3..419ab6906a 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -1171,7 +1171,8 @@ (define file (define-public glibc-locales (make-glibc-locales glibc)) (define-public glibc-utf8-locales - (make-glibc-utf8-locales glibc)) + (hidden-package + (make-glibc-utf8-locales glibc))) ;; Packages provided to ease use of binaries linked against the previous libc. (define-public glibc-locales-2.29