Skip to content

Instantly share code, notes, and snippets.

@avnik
Created November 30, 2018 15:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save avnik/4838fd86f1aed5b396586ac60bbcb0e9 to your computer and use it in GitHub Desktop.
Save avnik/4838fd86f1aed5b396586ac60bbcb0e9 to your computer and use it in GitHub Desktop.
{ pkgs, locales}:
let fetchFromDebianScm = {
rev, name ? "debian-pkg-glibc-${rev}-src",
... # For hash agility
}@args: pkgs.fetchgit ({
inherit name;
url = "https://salsa.debian.org/glibc-team/glibc.git";
} // removeAttrs args [ "rev" ]) // { inherit rev; };
debianPkgGlibc = fetchFromDebianScm {
rev = "10f7a9fb";
sha256 = "1hmpv2fw0wax2hw00nx7hzrsfws8249xcv2gjlywqn3jvsqbhl07";
};
# All locale related patches from debian pacakge, except one commented out below
patchList = [
"locale/check-unknown-symbols.diff"
"locale/locale-print-LANGUAGE.diff"
"locale/LC_IDENTIFICATION-optional-fields.diff"
# This patch not needed with nixos, we can use only archived locales
# "localedata/local-all-no-archive.diff"
"localedata/sort-UTF8-first.diff"
"localedata/supported.diff"
"localedata/locale-eu_FR.diff"
"localedata/locale-ku_TR.diff"
"localedata/fo_FO-date_fmt.diff"
"localedata/locales_CH.diff"
"localedata/locales-fr.diff"
"localedata/locale-en_DK.diff"
"localedata/locale-csb_PL.diff"
"localedata/locale-zh_TW.diff"
"localedata/locale-se_NO.diff"
"localedata/tailor-iso14651_t1.diff"
"localedata/submitted-bz9725-locale-sv_SE.diff"
"localedata/locale-C.diff"
"localedata/submitted-en_AU-date_fmt.diff"
"localedata/submitted-es_MX-decimal_point.diff"
"localedata/submitted-it_IT-thousands_sep.diff"
"all/local-ru_RU.diff"
];
patchesFullPaths = map (p: "${debianPkgGlibc}/debian/patches/${p}") patchList;
debianGlibcLocales = pkgs.glibcLocales.overrideAttrs (oldAttrs : {
patches = oldAttrs.patches ++ patchesFullPaths;
});
customLocales = debianGlibcLocales.override {
allLocales = false;
locales = locales;
};
in customLocales
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment