nixpkgs/pkgs/development/libraries/fcft/default.nix
polykernel ceea8b2b35 fcft: refactor derivation
* Change from fetchzip to fetchFromGitea.
* Set `mesonBuildType` instead of supplying the --build-type=
  argument in `mesonFlags` as the build type option will be
  repeated.
* Abstact optional flag declaration with a helper function.
* Add upstream changelog.
2021-08-08 11:17:15 -04:00

49 lines
1.3 KiB
Nix

{ stdenv, lib, fetchFromGitea, pkg-config, meson, ninja, scdoc
, freetype, fontconfig, pixman, tllist, check
, withHarfBuzz ? true
, harfbuzz
}:
let
# Courtesy of sternenseemann and FRidh, commit c9a7fdfcfb420be8e0179214d0d91a34f5974c54
mesonFeatureFlag = opt: b: "-D${opt}=${if b then "enabled" else "disabled"}";
in
stdenv.mkDerivation rec {
pname = "fcft";
version = "2.4.4";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "dnkl";
repo = "fcft";
rev = version;
sha256 = "0ycc2xy9jhxcxwbfk9d4jdxgf2zsc664phbf859kshb822m3jf57";
};
depsBuildBuild = [ pkg-config ];
nativeBuildInputs = [ pkg-config meson ninja scdoc ];
buildInputs = [ freetype fontconfig pixman tllist ]
++ lib.optional withHarfBuzz harfbuzz;
checkInputs = [ check ];
mesonBuildType = "release";
mesonFlags = [
(mesonFeatureFlag "text-shaping" withHarfBuzz)
];
doCheck = true;
meta = with lib; {
homepage = "https://codeberg.org/dnkl/fcft";
changelog = "https://codeberg.org/dnkl/fcft/releases/tag/${version}";
description = "Simple library for font loading and glyph rasterization";
maintainers = with maintainers; [
fionera
sternenseemann
];
license = licenses.mit;
platforms = with platforms; linux;
};
}