unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#54178] [PATCH] gnu: glibc-utf8-locales: Hide the package.
@ 2022-02-27  4:10 Maxim Cournoyer
  2022-02-27 16:35 ` Ludovic Courtès
  0 siblings, 1 reply; 3+ messages in thread
From: Maxim Cournoyer @ 2022-02-27  4:10 UTC (permalink / raw)
  To: 54178; +Cc: Maxim Cournoyer

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.
---
 doc/guix.texi         | 20 ++++++++++++++++++--
 gnu/packages/base.scm |  3 ++-
 2 files changed, 20 insertions(+), 3 deletions(-)

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
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-02-28  1:25 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-02-27  4:10 [bug#54178] [PATCH] gnu: glibc-utf8-locales: Hide the package Maxim Cournoyer
2022-02-27 16:35 ` Ludovic Courtès
2022-02-28  1:24   ` bug#54178: " Maxim Cournoyer

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).