From ceabfcfc35f7a0be6bef3c41dbd4affa5147b31c Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Sat, 12 Jun 2021 12:44:12 +0200 Subject: [PATCH] harfbuzz: Remove cairo dependency Upstream recommends cairo, but it is only used for development purposes and is not part of the library. This removes transitive (build) dependencies on various X11 or other GUI-related libraries, which is desirable for minimizing rebuilds and maximizing parallellism. This also adds fontconfig to buildInputs, because this direct lib dependency was previously found via cairo's propagatedBuildInputs. --- pkgs/development/libraries/harfbuzz/default.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix index 7376611e1db9..d4c69ac5d574 100644 --- a/pkgs/development/libraries/harfbuzz/default.nix +++ b/pkgs/development/libraries/harfbuzz/default.nix @@ -4,7 +4,7 @@ , pkg-config , glib , freetype -, cairo +, fontconfig , libintl , meson , ninja @@ -57,6 +57,11 @@ stdenv.mkDerivation { (mesonFeatureFlag "graphite" withGraphite2) (mesonFeatureFlag "icu" withIcu) (mesonFeatureFlag "coretext" withCoreText) + # upstream recommends cairo, but it is only used for development purposes + # and is not part of the library. + # Cairo causes transitive (build) dependencies on various X11 or other + # GUI-related libraries, so it shouldn't be re-added lightly. + (mesonFeatureFlag "cairo" false) (mesonFeatureFlag "introspection" isNativeCompilation) ]; @@ -72,7 +77,7 @@ stdenv.mkDerivation { docbook_xml_dtd_43 ]; - buildInputs = [ glib freetype cairo ] # recommended by upstream + buildInputs = [ glib freetype fontconfig ] ++ lib.optionals withCoreText [ ApplicationServices CoreText ] ++ lib.optionals isNativeCompilation [ gobject-introspection ];