diff --git a/pkgs/development/libraries/fcft/default.nix b/pkgs/development/libraries/fcft/default.nix index 87070ac1fb72..ec8c9962125e 100644 --- a/pkgs/development/libraries/fcft/default.nix +++ b/pkgs/development/libraries/fcft/default.nix @@ -1,5 +1,5 @@ -{ stdenv, lib, fetchFromGitea, pkg-config, meson, ninja, scdoc -, freetype, fontconfig, pixman, tllist, check +{ stdenv, lib, fetchFromGitea, fetchpatch, pkg-config, meson, ninja, scdoc +, freetype, fontconfig, nanosvg, pixman, tllist, check # Text shaping methods to enable, empty list disables all text shaping. # See `availableShapingTypes` or upstream meson_options.txt for available types. , withShapingTypes ? [ "grapheme" "run" ] @@ -27,15 +27,26 @@ stdenv.mkDerivation rec { hash = "sha256-Wgm2QdW4rg573soF/8HhDmlyN4S2cA0VWOejow464gU="; }; + patches = [ + (fetchpatch { + name = "system-nanosvg.patch"; + url = "https://codeberg.org/dnkl/fcft/commit/5cee776e1d7f1bdb0df383c3dd798831a6fe4fa0.patch"; + excludes = [ "CHANGELOG.md" ]; + hash = "sha256-yRBtKCKT/Oih66/OQqt4GPg3GfHmhiLM8mlLEWYYRC0="; + }) + ]; + depsBuildBuild = [ pkg-config ]; nativeBuildInputs = [ pkg-config meson ninja scdoc ]; - buildInputs = [ freetype fontconfig pixman tllist ] + buildInputs = [ freetype fontconfig nanosvg pixman tllist ] ++ lib.optionals (withShapingTypes != []) [ harfbuzz ] ++ lib.optionals (builtins.elem "run" withShapingTypes) [ utf8proc ]; nativeCheckInputs = [ check ]; mesonBuildType = "release"; - mesonFlags = builtins.map (t: + mesonFlags = [ + (lib.mesonEnable "system-nanosvg" true) + ] ++ builtins.map (t: lib.mesonEnable "${t}-shaping" (lib.elem t withShapingTypes) ) availableShapingTypes;