diff options
author | Rasmus Thomsen <oss@cogitri.dev> | 2019-11-21 22:23:07 +0000 |
---|---|---|
committer | Rasmus Thomsen <oss@cogitri.dev> | 2019-11-22 16:54:43 +0000 |
commit | 2e25fb6d9bab2fb233cdf0da98b4b8412b52a1ba (patch) | |
tree | eccb2264849cab6da5b421c811b76bf8f083fd85 | |
parent | 58233c1293524fe21c314c99ef17a1f5ced444b6 (diff) | |
download | aports-2e25fb6d9bab2fb233cdf0da98b4b8412b52a1ba.tar.bz2 aports-2e25fb6d9bab2fb233cdf0da98b4b8412b52a1ba.tar.xz |
community/gnome-desktop: add patch to hardcode locales in
musl doesn't have a locales dir nor does it have a `locale`
command. As such gnome-desktop can't find any locales and won't be
able to display any (e.g. in gnome-control-center). This is a
temporary solution until musl has better support for locales.
-rw-r--r-- | community/gnome-desktop/APKBUILD | 10 | ||||
-rw-r--r-- | community/gnome-desktop/hardcode-musl-locales.patch | 134 |
2 files changed, 140 insertions, 4 deletions
diff --git a/community/gnome-desktop/APKBUILD b/community/gnome-desktop/APKBUILD index b31aa170e3..4bd61fb0f6 100644 --- a/community/gnome-desktop/APKBUILD +++ b/community/gnome-desktop/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Rasmus Thomsen <oss@cogitri.dev> pkgname=gnome-desktop pkgver=3.34.1 -pkgrel=1 +pkgrel=2 pkgdesc="GNOME desktop core libraries" url="https://gitlab.gnome.org/GNOME/gnome-desktop" arch="all" @@ -13,8 +13,9 @@ makedepends="$depends_dev eudev-dev iso-codes-dev libseccomp-dev libx11-dev itstool libxml2-utils gtk-doc meson glib-dev" depends="bubblewrap" options="!check" # Can't find its own GSettings schemas -subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" -source="https://download.gnome.org/sources/gnome-desktop/${pkgver%.*}/gnome-desktop-$pkgver.tar.xz" +subpackages="$pkgname-dev $pkgname-doc $pkgname-lang $pkgname-dbg" +source="https://download.gnome.org/sources/gnome-desktop/${pkgver%.*}/gnome-desktop-$pkgver.tar.xz + hardcode-musl-locales.patch" build() { meson \ @@ -37,4 +38,5 @@ package() { DESTDIR="$pkgdir" ninja -C output install } -sha512sums="2589a682d1ac7ca9783f07493b32517e7ae602dbc8e9f4311cef9b0ebf1da7b7d7d42ade4f5798a3eaede3c99aa2b6ec761aced41a138c386583be1a27120486 gnome-desktop-3.34.1.tar.xz" +sha512sums="2589a682d1ac7ca9783f07493b32517e7ae602dbc8e9f4311cef9b0ebf1da7b7d7d42ade4f5798a3eaede3c99aa2b6ec761aced41a138c386583be1a27120486 gnome-desktop-3.34.1.tar.xz +0f0d0ca5ec8227dc80107fea754978ea2db5b15b84fa59d35eea702409be91d5148f3bfbeb1c5a31b9e93c5f19d135806799dd1cb3f42336f862a80b35881d31 hardcode-musl-locales.patch" diff --git a/community/gnome-desktop/hardcode-musl-locales.patch b/community/gnome-desktop/hardcode-musl-locales.patch new file mode 100644 index 0000000000..3583f57c46 --- /dev/null +++ b/community/gnome-desktop/hardcode-musl-locales.patch @@ -0,0 +1,134 @@ +Upstream: No, not applicable. musl should improve locale support in future releases +Source: Rasmus Thomsen <oss@cogitri.dev> + +musl doesn't have a 'locale' command nor does it have some directory that contains +all languages, so we just make an array with all glibc langs so users can set different +languages for their desktop anyway. + +diff --git a/libgnome-desktop/gnome-languages.c b/libgnome-desktop/gnome-languages.c +index e27ccbd..f197c74 100644 +--- a/libgnome-desktop/gnome-languages.c ++++ b/libgnome-desktop/gnome-languages.c +@@ -485,6 +485,100 @@ select_dirs (const struct dirent *dirent) + return result; + } + ++#if !defined(__GLIBC__) ++static gboolean ++collect_locales_builtin (void) ++{ ++ char locale_arr[][13] = { ++ "bho_IN.UTF-8", "om_KE.UTF-8", "ia_FR.UTF-8", "nl_BE.UTF-8", ++ "ur_PK.UTF-8", "en_BW.UTF-8", "he_IL.UTF-8", "es_SV.UTF-8", ++ "hak_TW.UTF-8", "anp_IN.UTF-8", "sid_ET.UTF-8", "niu_NU.UTF-8", ++ "tr_CY.UTF-8", "tg_TJ.UTF-8", "en_AU.UTF-8", "ku_TR.UTF-8", ++ "en_SG.UTF-8", "nhn_MX.UTF-8", "hif_FJ.UTF-8", "es_CO.UTF-8", ++ "el_CY.UTF-8", "tpi_PG.UTF-8", "so_SO.UTF-8", "tig_ER.UTF-8", ++ "gez_ET.UTF-8", "ks_IN.UTF-8", "lb_LU.UTF-8", "chr_US.UTF-8", ++ "sm_WS.UTF-8", "de_BE.UTF-8", "kk_KZ.UTF-8", "ro_RO.UTF-8", ++ "es_NI.UTF-8", "yuw_PG.UTF-8", "az_AZ.UTF-8", "ayc_PE.UTF-8", ++ "es_GT.UTF-8", "fy_DE.UTF-8", "de_LU.UTF-8", "my_MM.UTF-8", ++ "ar_QA.UTF-8", "sk_SK.UTF-8", "so_KE.UTF-8", "aa_ET.UTF-8", ++ "lzh_TW.UTF-8", "ca_AD.UTF-8", "wa_BE.UTF-8", "en_GB.UTF-8", ++ "en_IL.UTF-8", "hu_HU.UTF-8", "dz_BT.UTF-8", "si_LK.UTF-8", ++ "es_MX.UTF-8", "ber_MA.UTF-8", "yi_US.UTF-8", "de_AT.UTF-8", ++ "to_TO.UTF-8", "et_EE.UTF-8", "cv_RU.UTF-8", "es_DO.UTF-8", ++ "ky_KG.UTF-8", "uk_UA.UTF-8", "miq_NI.UTF-8", "ar_LY.UTF-8", ++ "raj_IN.UTF-8", "C.UTF-8", "rw_RW.UTF-8", "sq_AL.UTF-8", ++ "tn_ZA.UTF-8","unm_US.UTF-8","ug_CN.UTF-8", "tcy_IN.UTF-8", ++ "en_ZW.UTF-8", "nso_ZA.UTF-8", "en_PH.UTF-8", "de_IT.UTF-8", ++ "sw_TZ.UTF-8", "bho_NP.UTF-8", "kok_IN.UTF-8", "bn_BD.UTF-8", ++ "bs_BA.UTF-8", "ar_SY.UTF-8", "gv_GB.UTF-8", "es_PY.UTF-8", ++ "ar_SS.UTF-8", "fr_FR.UTF-8", "ff_SN.UTF-8", "ce_RU.UTF-8", ++ "li_NL.UTF-8", "ar_TN.UTF-8", "pt_PT.UTF-8", "pap_AW.UTF-8", ++ "wo_SN.UTF-8", "th_TH.UTF-8", "quz_PE.UTF-8", "ar_AE.UTF-8", ++ "pt_BR.UTF-8", "bi_VU.UTF-8", "ve_ZA.UTF-8", "mn_MN.UTF-8", ++ "es_BO.UTF-8", "hsb_DE.UTF-8", "kab_DZ.UTF-8", "en_ZM.UTF-8", ++ "mfe_MU.UTF-8", "ca_IT.UTF-8", "bem_ZM.UTF-8", "gd_GB.UTF-8", ++ "hr_HR.UTF-8", "crh_UA.UTF-8", "en_HK.UTF-8", "es_HN.UTF-8", ++ "mr_IN.UTF-8", "ar_IQ.UTF-8", "es_CR.UTF-8", "ti_ER.UTF-8", ++ "mhr_RU.UTF-8", "es_CL.UTF-8", "brx_IN.UTF-8", "cmn_TW.UTF-8", ++ "sgs_LT.UTF-8", "el_GR.UTF-8", "en_US.UTF-8", "cy_GB.UTF-8", ++ "ln_CD.UTF-8", "en_IE.UTF-8", "se_NO.UTF-8", "zh_HK.UTF-8", ++ "oc_FR.UTF-8", "lv_LV.UTF-8", "ga_IE.UTF-8", "dv_MV.UTF-8", ++ "hne_IN.UTF-8", "ar_DZ.UTF-8", "kl_GL.UTF-8", "csb_PL.UTF-8", ++ "the_NP.UTF-8", "sah_RU.UTF-8", "hi_IN.UTF-8", "nds_DE.UTF-8", ++ "pl_PL.UTF-8", "es_CU.UTF-8", "aa_DJ.UTF-8", "hy_AM.UTF-8", ++ "bo_CN.UTF-8", "de_CH.UTF-8", "ar_EG.UTF-8", "de_DE.UTF-8", ++ "nl_AW.UTF-8", "en_SC.UTF-8", "ar_YE.UTF-8", "ar_KW.UTF-8", ++ "fi_FI.UTF-8", "nb_NO.UTF-8", "fa_IR.UTF-8", "mag_IN.UTF-8", ++ "dsb_DE.UTF-8", "da_DK.UTF-8", "pa_IN.UTF-8", "ar_SD.UTF-8", ++ "ik_CA.UTF-8", "sr_RS.UTF-8", "it_IT.UTF-8", "sr_ME.UTF-8", ++ "sw_KE.UTF-8", "bhb_IN.UTF-8", "fil_PH.UTF-8", "ar_BH.UTF-8", ++ "en_AG.UTF-8", "mjw_IN.UTF-8", "ht_HT.UTF-8", "es_ES.UTF-8", ++ "mni_IN.UTF-8", "es_PR.UTF-8", "bg_BG.UTF-8", "fr_CA.UTF-8", ++ "ne_NP.UTF-8", "iu_CA.UTF-8", "nl_NL.UTF-8", "szl_PL.UTF-8", ++ "kw_GB.UTF-8", "nds_NL.UTF-8", "so_ET.UTF-8", "shs_CA.UTF-8", ++ "sv_FI.UTF-8", "gez_ER.UTF-8", "sa_IN.UTF-8", "ko_KR.UTF-8", ++ "lo_LA.UTF-8", "ta_IN.UTF-8", "doi_IN.UTF-8", "en_DK.UTF-8", ++ "lg_UG.UTF-8", "en_CA.UTF-8", "ber_DZ.UTF-8", "tr_TR.UTF-8", ++ "nr_ZA.UTF-8", "an_ES.UTF-8", "mt_MT.UTF-8", "ca_ES.UTF-8", ++ "wal_ET.UTF-8", "es_VE.UTF-8", "es_US.UTF-8", "ka_GE.UTF-8", ++ "ast_ES.UTF-8", "ur_IN.UTF-8", "en_NG.UTF-8", "ar_JO.UTF-8", ++ "shn_MM.UTF-8", "tk_TM.UTF-8", "st_ZA.UTF-8", "es_UY.UTF-8", ++ "lt_LT.UTF-8", "ak_GH.UTF-8", "sv_SE.UTF-8", "aa_ER.UTF-8", ++ "yo_NG.UTF-8", "id_ID.UTF-8", "be_BY.UTF-8", "uz_UZ.UTF-8", ++ "fo_FO.UTF-8", "es_PA.UTF-8", "nan_TW.UTF-8", "om_ET.UTF-8", ++ "lij_IT.UTF-8", "ar_SA.UTF-8", "am_ET.UTF-8", "fr_LU.UTF-8", ++ "tt_RU.UTF-8", "sl_SI.UTF-8", "zu_ZA.UTF-8", "sat_IN.UTF-8", ++ "ml_IN.UTF-8", "fr_BE.UTF-8", "zh_SG.UTF-8", "niu_NZ.UTF-8", ++ "ta_LK.UTF-8", "gl_ES.UTF-8", "eu_ES.UTF-8", "en_ZA.UTF-8", ++ "ja_JP.UTF-8", "vi_VN.UTF-8", "ru_UA.UTF-8", "so_DJ.UTF-8", ++ "it_CH.UTF-8", "i18n.UTF-8", "bo_IN.UTF-8", "af_ZA.UTF-8", ++ "ar_OM.UTF-8", "xh_ZA.UTF-8", "ms_MY.UTF-8", "wae_CH.UTF-8", ++ "byn_ER.UTF-8", "es_PE.UTF-8", "pa_PK.UTF-8","en_IN.UTF-8", ++ "li_BE.UTF-8", "fr_CH.UTF-8", "bn_IN.UTF-8", "yue_HK.UTF-8", ++ "mai_IN.UTF-8", "zh_CN.UTF-8", "ti_ET.UTF-8", "br_FR.UTF-8", ++ "km_KH.UTF-8", "kn_IN.UTF-8", "sc_IT.UTF-8", "sq_MK.UTF-8", ++ "mai_NP.UTF-8", "fy_NL.UTF-8", "fur_IT.UTF-8", "ar_IN.UTF-8", ++ "mk_MK.UTF-8", "or_IN.UTF-8", "en_NZ.UTF-8", "pap_CW.UTF-8", ++ "te_IN.UTF-8", "ca_FR.UTF-8", "agr_PE.UTF-8", "ig_NG.UTF-8", ++ "is_IS.UTF-8", "ps_AF.UTF-8", "de_LI.UTF-8", "ar_MA.UTF-8", ++ "mi_NZ.UTF-8", "gu_IN.UTF-8", "nn_NO.UTF-8", "sd_IN.UTF-8", ++ "tl_PH.UTF-8", "mg_MG.UTF-8", "os_RU.UTF-8", "es_EC.UTF-8", ++ "as_IN.UTF-8", "es_AR.UTF-8", "az_IR.UTF-8", "ss_ZA.UTF-8", ++ "ha_NG.UTF-8", "ru_RU.UTF-8", "ts_ZA.UTF-8", "ar_LB.UTF-8", ++ "zh_TW.UTF-8", "cs_CZ.UTF-8", ++ }; ++ ++ gboolean found_locales = TRUE; ++ ++ int i; ++ for (i = 0; i < sizeof(locale_arr)/sizeof(locale_arr[0]); i++) { ++ add_locale(locale_arr[i], TRUE); ++ } ++ ++ return found_locales; ++} ++#endif ++ + static gboolean + collect_locales_from_directory (void) + { +@@ -582,13 +676,20 @@ collect_locales (void) + + found_dir_locales = collect_locales_from_directory (); + ++#if defined(__GLIBC) + if (!(found_localebin_locales || found_dir_locales)) { ++#else ++ gboolean found_locales_builtin = FALSE; ++ found_locales_builtin = collect_locales_builtin (); ++ ++ if (!(found_locales_builtin || found_localebin_locales || found_dir_locales)) { ++#endif + g_warning ("Could not read list of available locales from libc, " + "guessing possible locales from available translations, " + "but list may be incomplete!"); + } + +- count_languages_and_territories (); ++ count_languages_and_territories (); + } + + static gint |