diff --git a/pkgs/development/libraries/fontconfig/config-compat.patch b/pkgs/development/libraries/fontconfig/config-compat.patch index ddf7bc78180c..e86f08fb553c 100644 --- a/pkgs/development/libraries/fontconfig/config-compat.patch +++ b/pkgs/development/libraries/fontconfig/config-compat.patch @@ -1,22 +1,17 @@ -From 2ff9b53ce755be183ef9274f7dd3f9ac537173f6 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= -Date: Tue, 4 Nov 2014 12:24:25 +0100 -Subject: [PATCH] add check for /etc/fonts/@configVersion@/fonts.conf +commit 05c6adf8104b4321d3a3716a7b9feb6bf223ed0c (HEAD, nixpkgs) +Author: Vladimír Čunát +Date: Tue Nov 4 12:24:25 2014 +0100 -It's checked between FONTCONFIG_FILE and the in-package etc/fonts/fonts.conf. -The latter is used so that on non-NixOS distributions, fontconfig works at least -with upstream defaults, even when the global config is incompatible. - -Co-Authored-By: Jan Tojnar ---- - src/fccfg.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) + add check for /etc/fonts/@configVersion@/fonts.conf + + It's checked between FONTCONFIG_FILE and the usual /etc/fonts/fonts.conf. + Also, hardcode /etc/fonts/fonts.conf to prevent accidental override. diff --git a/src/fccfg.c b/src/fccfg.c -index 342c996..98a1324 100644 +index 6377fd7..e9eb10a 100644 --- a/src/fccfg.c +++ b/src/fccfg.c -@@ -2391,8 +2391,13 @@ FcConfigGetFilename (FcConfig *config, +@@ -2070,8 +2070,13 @@ FcConfigFilename (const FcChar8 *url) if (!url || !*url) { url = (FcChar8 *) getenv ("FONTCONFIG_FILE"); @@ -27,10 +22,7 @@ index 342c996..98a1324 100644 + } if (!url) - url = (FcChar8 *) FONTCONFIG_FILE; -+ url = (FcChar8 *) FONTCONFIG_PATH "/" FONTCONFIG_FILE; ++ url = (FcChar8 *) "/etc/fonts/fonts.conf"; } file = 0; --- -2.26.2 - diff --git a/pkgs/development/libraries/fontconfig/default.nix b/pkgs/development/libraries/fontconfig/default.nix index 29d9e3289c1b..ab7340be559c 100644 --- a/pkgs/development/libraries/fontconfig/default.nix +++ b/pkgs/development/libraries/fontconfig/default.nix @@ -13,10 +13,9 @@ /** Font configuration scheme - ./config-compat.patch makes fontconfig try the following root configs, in order: - $FONTCONFIG_FILE, /etc/fonts/${configVersion}/fonts.conf, ${fontconfig.out}/etc/fonts/fonts.conf + $FONTCONFIG_FILE, /etc/fonts/${configVersion}/fonts.conf, /etc/fonts/fonts.conf This is done not to override config of pre-2.11 versions (which just blow up) - and still use *global* font configuration at NixOS, - falling back to upstream defaults on non-NixOS. + and still use *global* font configuration at both NixOS or non-NixOS. - NixOS creates /etc/fonts/${configVersion}/fonts.conf link to $out/etc/fonts/fonts.conf, and other modifications should go to /etc/fonts/${configVersion}/conf.d - See ./make-fonts-conf.xsl for config details. @@ -112,20 +111,11 @@ stdenv.mkDerivation rec { postInstall = '' cd "$out/etc/fonts" xsltproc --stringparam fontDirectories "${dejavu_fonts.minimal}" \ - --stringparam fontconfig "$out" \ --stringparam fontconfigConfigVersion "${configVersion}" \ --path $out/share/xml/fontconfig \ ${./make-fonts-conf.xsl} $out/etc/fonts/fonts.conf \ > fonts.conf.tmp mv fonts.conf.tmp $out/etc/fonts/fonts.conf - - # Make it easier to remove user config in NixOS module. - mkdir -p $out/etc/fonts/conf.d.bak - mv $out/etc/fonts/conf.d/50-user.conf $out/etc/fonts/conf.d.bak - - # update latest 51-local.conf path to look at the latest local.conf - substituteInPlace $out/etc/fonts/conf.d/51-local.conf \ - --replace local.conf /etc/fonts/${configVersion}/local.conf ''; passthru = { diff --git a/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl b/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl index 6ec2e7ab5153..74abb9cffaf9 100644 --- a/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl +++ b/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl @@ -31,9 +31,6 @@ /etc/fonts//conf.d - - /etc/fonts/conf.d - fonts