aboutsummaryrefslogtreecommitdiffstats
path: root/community/gnome-desktop
diff options
context:
space:
mode:
authorRasmus Thomsen <oss@cogitri.dev>2019-11-21 22:23:07 +0000
committerRasmus Thomsen <oss@cogitri.dev>2019-11-22 16:54:43 +0000
commit2e25fb6d9bab2fb233cdf0da98b4b8412b52a1ba (patch)
treeeccb2264849cab6da5b421c811b76bf8f083fd85 /community/gnome-desktop
parent58233c1293524fe21c314c99ef17a1f5ced444b6 (diff)
downloadaports-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.
Diffstat (limited to 'community/gnome-desktop')
-rw-r--r--community/gnome-desktop/APKBUILD10
-rw-r--r--community/gnome-desktop/hardcode-musl-locales.patch134
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