blob: c4fa777972f8a26d18c1aaa01054b13df97f4d4b [file] [log] [blame]
Skyler Grey252927a2022-10-18 22:18:15 +01001final: prev:
2let
Skyler Grey95c67e02022-10-30 22:28:42 +00003 lib = prev.lib;
Skyler Grey252927a2022-10-18 22:18:15 +01004 fonts = [ "roboto-mono" ];
Skyler Grey0c7d0922022-10-30 22:59:22 +00005 ligaturizer = prev.fetchFromGitHub {
Skyler Grey95c67e02022-10-30 22:28:42 +00006 owner = "ToxicFrog";
7 repo = "Ligaturizer";
8 rev = "v5";
Skyler Grey0c7d0922022-10-30 22:59:22 +00009 sha256 = "sha256-sFzoUvA4DB9CVonW/OZWWpwP0R4So6YlAQeqe7HLq50=";
10 fetchSubmodules = true;
Skyler Grey95c67e02022-10-30 22:28:42 +000011 };
12in
Skyler Grey252927a2022-10-18 22:18:15 +010013lib.pipe fonts [
14 (builtins.map (name: {
15 inherit name;
16 value = prev.${name};
17 }))
18 builtins.listToAttrs
19 (builtins.mapAttrs (name: value:
20 value.overrideAttrs (
21 prevAttrs: {
22 outputHash = null;
23 outputHashMode = null;
24 outputHashAlgo = null;
25 nativeBuildInputs = (prevAttrs.nativeBuildInputs or [ ]) ++ [ prev.fontforge ];
26 postFixup =
27 (prevAttrs.postFixup or "")
28 + ''
29 pushd ${ligaturizer}
30 mkdir -p $out/share/fonts/truetype
31 mkdir -p $out/share/fonts/opentype
32 find $out/share/fonts/truetype \
33 -name "*.ttf" \
34 -exec fontforge \
35 -lang py \
36 -script ligaturize.py {} \
37 --output-dir=$out/share/fonts/truetype \;
38 find $out/share/fonts/opentype \
39 -name "*.otf" \
40 -exec fontforge \
41 -lang py \
42 -script ligaturize.py {} \
43 --output-dir=$out/share/fonts/opentype \;
44 popd
45 '';
46 }
47 )))
48]