From ceea8b2b35e46e8eddb766ea10cd30439dffe0f7 Mon Sep 17 00:00:00 2001 From: polykernel <81340136+polykernel@users.noreply.github.com> Date: Sun, 8 Aug 2021 11:12:06 -0400 Subject: [PATCH] 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. --- pkgs/development/libraries/fcft/default.nix | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/fcft/default.nix b/pkgs/development/libraries/fcft/default.nix index 1340f5e87a80..2b284c82aee3 100644 --- a/pkgs/development/libraries/fcft/default.nix +++ b/pkgs/development/libraries/fcft/default.nix @@ -1,15 +1,23 @@ -{ stdenv, lib, fetchzip, pkg-config, meson, ninja, scdoc +{ 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 = fetchzip { - url = "https://codeberg.org/dnkl/fcft/archive/${version}.tar.gz"; + src = fetchFromGitea { + domain = "codeberg.org"; + owner = "dnkl"; + repo = "fcft"; + rev = version; sha256 = "0ycc2xy9jhxcxwbfk9d4jdxgf2zsc664phbf859kshb822m3jf57"; }; @@ -19,15 +27,16 @@ stdenv.mkDerivation rec { ++ lib.optional withHarfBuzz harfbuzz; checkInputs = [ check ]; + mesonBuildType = "release"; mesonFlags = [ - "--buildtype=release" - "-Dtext-shaping=${if withHarfBuzz then "enabled" else "disabled"}" + (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