Hello,
Ludovic Courtès <
address@hidden> ezt írta (időpont: 2020. márc. 21., Szo 16:37):
Hi Leo,
Leo Famulari <address@hidden> skribis:
> On Wed, Mar 18, 2020 at 04:07:22PM +0100, Ludovic Courtès wrote:
>> As for ‘glibc-utf8-locales’ vs. ‘glibc-locales’: the reason for choosing
>> the former by default over the latter is size (14 MiB vs. 917 MiB).
>
> Oof! I was going by the manual, which says 110 MiB. That does change
> things...
Yes, I was also surprised.
The patch below produces a package that includes all the UTF-8 locales
(actually I had written that patch long ago, it feels like we’re running
in circles :-)).
It takes ages to build, and when it’s finally done:
--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guix build -e '((@@ (gnu packages base) make-glibc-utf8-locales/full))'
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substituting /gnu/store/jdfs3xvlnj272475yja6bjrprfsgnkdd-glibc-2.29...
downloading from https://ci.guix.gnu.org/nar/lzip/jdfs3xvlnj272475yja6bjrprfsgnkdd-glibc-2.29...
glibc-2.29 8.2MiB 1.8MiB/s 00:05 [##################] 100.0%
building /gnu/store/w08zi9vnkd7bxpfvm5lgjyb30i7k7sw4-glibc-supported-utf8-locales.scm.drv...
successfully built /gnu/store/w08zi9vnkd7bxpfvm5lgjyb30i7k7sw4-glibc-supported-utf8-locales.scm.drv
building /gnu/store/ps6wh05pwjp5b0l9rh2yglv3sggpgcw4-glibc-utf8-locales-2.29.drv...
successfully built /gnu/store/ps6wh05pwjp5b0l9rh2yglv3sggpgcw4-glibc-utf8-locales-2.29.drv
/gnu/store/p0knl9ggxk91x87ww702g2x78jxy1vgf-glibc-utf8-locales-2.29
ludo@ribbon ~/src/guix$ guix size /gnu/store/p0knl9ggxk91x87ww702g2x78jxy1vgf-glibc-utf8-locales-2.29 | tail -1
total: 855.7 MiB
--8<---------------cut here---------------end--------------->8---
So I think that’s when we reached the conclusion that we needed
parameterized packages to allow users to choose the locale(s) they need
or special support in ‘guix package’.
I believe we could also add individual locales as outputs. Then we just have to make sure that they are included to the LOCPATH. I believe we could do this to the frequently used locales, and direct users to only install out when they don't find an output with their locale. Wdyt?
:-/
Attached is the list of supported UTF-8 locales, 312 in total.
Thoughts? How do other distros deal with this? Are we missing some
trick to compress locale data?
Ludo’.
g_bor
("aa_DJ"
"aa_ER"
"aa_ER@saaho"
"aa_ET"
"af_ZA"
"agr_PE"
"ak_GH"
"am_ET"
"an_ES"
"anp_IN"
"ar_AE"
"ar_BH"
"ar_DZ"
"ar_EG"
"ar_IN"
"ar_IQ"
"ar_JO"
"ar_KW"
"ar_LB"
"ar_LY"
"ar_MA"
"ar_OM"
"ar_QA"
"ar_SA"
"ar_SD"
"ar_SS"
"ar_SY"
"ar_TN"
"ar_YE"
"ayc_PE"
"az_AZ"
"az_IR"
"as_IN"
"ast_ES"
"be_BY"
"be_BY@latin"
"bem_ZM"
"ber_DZ"
"ber_MA"
"bg_BG"
"bhb_IN"
"bho_IN"
"bho_NP"
"bi_VU"
"bn_BD"
"bn_IN"
"bo_CN"
"bo_IN"
"br_FR"
"brx_IN"
"bs_BA"
"byn_ER"
"ca_AD"
"ca_ES"
"ca_ES@valencia"
"ca_FR"
"ca_IT"
"ce_RU"
"chr_US"
"cmn_TW"
"crh_UA"
"cs_CZ"
"csb_PL"
"cv_RU"
"cy_GB"
"da_DK"
"de_AT"
"de_BE"
"de_CH"
"de_DE"
"de_IT"
"de_LI"
"de_LU"
"doi_IN"
"dsb_DE"
"dv_MV"
"dz_BT"
"el_GR"
"el_CY"
"en_AG"
"en_AU"
"en_BW"
"en_CA"
"en_DK"
"en_GB"
"en_HK"
"en_IE"
"en_IL"
"en_IN"
"en_NG"
"en_NZ"
"en_PH"
"en_SC"
"en_SG"
"en_US"
"en_ZA"
"en_ZM"
"en_ZW"
"eo"
"es_AR"
"es_BO"
"es_CL"
"es_CO"
"es_CR"
"es_CU"
"es_DO"
"es_EC"
"es_ES"
"es_GT"
"es_HN"
"es_MX"
"es_NI"
"es_PA"
"es_PE"
"es_PR"
"es_PY"
"es_SV"
"es_US"
"es_UY"
"es_VE"
"et_EE"
"eu_ES"
"fa_IR"
"ff_SN"
"fi_FI"
"fil_PH"
"fo_FO"
"fr_BE"
"fr_CA"
"fr_CH"
"fr_FR"
"fr_LU"
"fur_IT"
"fy_NL"
"fy_DE"
"ga_IE"
"gd_GB"
"gez_ER"
"gez_ER@abegede"
"gez_ET"
"gez_ET@abegede"
"gl_ES"
"gu_IN"
"gv_GB"
"ha_NG"
"hak_TW"
"he_IL"
"hi_IN"
"hif_FJ"
"hne_IN"
"hr_HR"
"hsb_DE"
"ht_HT"
"hu_HU"
"hy_AM"
"ia_FR"
"id_ID"
"ig_NG"
"ik_CA"
"is_IS"
"it_CH"
"it_IT"
"iu_CA"
"ja_JP"
"ka_GE"
"kab_DZ"
"kk_KZ"
"kl_GL"
"km_KH"
"kn_IN"
"ko_KR"
"kok_IN"
"ks_IN"
"ks_IN@devanagari"
"ku_TR"
"kw_GB"
"ky_KG"
"lb_LU"
"lg_UG"
"li_BE"
"li_NL"
"lij_IT"
"ln_CD"
"lo_LA"
"lt_LT"
"lv_LV"
"lzh_TW"
"mag_IN"
"mai_IN"
"mai_NP"
"mfe_MU"
"mg_MG"
"mhr_RU"
"mi_NZ"
"miq_NI"
"mjw_IN"
"mk_MK"
"ml_IN"
"mn_MN"
"mni_IN"
"mr_IN"
"ms_MY"
"mt_MT"
"my_MM"
"nan_TW"
"nan_TW@latin"
"nb_NO"
"nds_DE"
"nds_NL"
"ne_NP"
"nhn_MX"
"niu_NU"
"niu_NZ"
"nl_AW"
"nl_BE"
"nl_NL"
"nn_NO"
"nr_ZA"
"nso_ZA"
"oc_FR"
"om_ET"
"om_KE"
"or_IN"
"os_RU"
"pa_IN"
"pa_PK"
"pap_AW"
"pap_CW"
"pl_PL"
"ps_AF"
"pt_BR"
"pt_PT"
"quz_PE"
"raj_IN"
"ro_RO"
"ru_RU"
"ru_UA"
"rw_RW"
"sa_IN"
"sah_RU"
"sat_IN"
"sc_IT"
"sd_IN"
"sd_IN@devanagari"
"se_NO"
"sgs_LT"
"shn_MM"
"shs_CA"
"si_LK"
"sid_ET"
"sk_SK"
"sl_SI"
"sm_WS"
"so_DJ"
"so_ET"
"so_KE"
"so_SO"
"sq_AL"
"sq_MK"
"sr_ME"
"sr_RS"
"sr_RS@latin"
"ss_ZA"
"st_ZA"
"sv_FI"
"sv_SE"
"sw_KE"
"sw_TZ"
"szl_PL"
"ta_IN"
"ta_LK"
"tcy_IN"
"te_IN"
"tg_TJ"
"th_TH"
"the_NP"
"ti_ER"
"ti_ET"
"tig_ER"
"tk_TM"
"tl_PH"
"tn_ZA"
"to_TO"
"tpi_PG"
"tr_CY"
"tr_TR"
"ts_ZA"
"tt_RU"
"tt_RU@iqtelif"
"ug_CN"
"uk_UA"
"unm_US"
"ur_IN"
"ur_PK"
"uz_UZ"
"uz_UZ@cyrillic"
"ve_ZA"
"vi_VN"
"wa_BE"
"wae_CH"
"wal_ET"
"wo_SN"
"xh_ZA"
"yi_US"
"yo_NG"
"yue_HK"
"yuw_PG"
"zh_CN"
"zh_HK"
"zh_SG"
"zh_TW"
"zu_ZA")