diff options
author | Alyssa Ross <hi@alyssa.is> | 2019-01-07 02:18:36 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2019-01-07 02:18:47 +0000 |
commit | 36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2 (patch) | |
tree | b3faaf573407b32aa645237a4d16b82778a39a92 /nixpkgs/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl | |
parent | 4e31070265257dc67d120c27e0f75c2344fdfa9a (diff) | |
parent | abf060725d7614bd3b9f96764262dfbc2f9c2199 (diff) | |
download | nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.gz nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.bz2 nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.lz nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.xz nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.zst nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.zip |
Add 'nixpkgs/' from commit 'abf060725d7614bd3b9f96764262dfbc2f9c2199'
git-subtree-dir: nixpkgs git-subtree-mainline: 4e31070265257dc67d120c27e0f75c2344fdfa9a git-subtree-split: abf060725d7614bd3b9f96764262dfbc2f9c2199
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl b/nixpkgs/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl new file mode 100644 index 000000000000..dddbbe9e516b --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl @@ -0,0 +1,59 @@ +<?xml version="1.0"?> + +<!-- + This script copies the original fonts.conf from the fontconfig + distribution, but replaces all <dir> entries with the directories + specified in the $fontDirectories parameter. +--> + +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:str="http://exslt.org/strings" + extension-element-prefixes="str" + > + + <xsl:output method='xml' encoding="UTF-8" doctype-system="fonts.dtd" /> + + <xsl:param name="fontDirectories" /> + <xsl:param name="fontconfig" /> + <xsl:param name="fontconfigConfigVersion" /> + + <xsl:template match="/fontconfig"> + + <fontconfig> + <xsl:apply-templates select="child::node()[name() != 'dir' and name() != 'cachedir' and name() != 'include']" /> + + <!-- the first cachedir will be used to store the cache --> + <cachedir prefix="xdg">fontconfig</cachedir> + <!-- /var/cache/fontconfig is useful for non-nixos systems --> + <cachedir>/var/cache/fontconfig</cachedir> + + <!-- versioned system-wide config --> + <include ignore_missing="yes">/etc/fonts/<xsl:value-of select="$fontconfigConfigVersion" />/conf.d</include> + + <dir prefix="xdg">fonts</dir> + <xsl:for-each select="str:tokenize($fontDirectories)"> + <dir><xsl:value-of select="." /></dir> + <xsl:text>
</xsl:text> + </xsl:for-each> + + <!-- nix user profile --> + <dir>~/.nix-profile/lib/X11/fonts</dir> + <dir>~/.nix-profile/share/fonts</dir> + <!-- nix default profile --> + <dir>/nix/var/nix/profiles/default/lib/X11/fonts</dir> + <dir>/nix/var/nix/profiles/default/share/fonts</dir> + + </fontconfig> + + </xsl:template> + + + <!-- New fontconfig >=2.11 doesn't like xml:space added by xsl:copy-of --> + <xsl:template match="node()|@*"> + <xsl:copy> + <xsl:apply-templates select="node()|@*[name() != 'xml:space']"/> + </xsl:copy> + </xsl:template> + +</xsl:stylesheet> |