{
  stdenv,
  lib,
  fetchurl,
  meson,
  ninja,
  python3,
  gettext,
  appstream-glib,
  gnome,
}:

stdenv.mkDerivation rec {
  pname = "cantarell-fonts";
  version = "0.303.1";

  src = fetchurl {
    url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
    sha256 = "+UY6BlnGPlfjgf3XU88ZKSJTlcW0kTWYlCR2GDBTBBE=";
  };

  nativeBuildInputs = [
    meson
    ninja
    python3
    python3.pkgs.psautohint
    python3.pkgs.cffsubr
    python3.pkgs.statmake
    python3.pkgs.ufo2ft
    python3.pkgs.setuptools
    python3.pkgs.ufolib2
    gettext
    appstream-glib
  ];

  # ad-hoc fix for https://github.com/NixOS/nixpkgs/issues/50855
  # until we fix gettext's envHook
  preBuild = ''
    export GETTEXTDATADIRS="$GETTEXTDATADIRS_FOR_BUILD"
  '';

  outputHashAlgo = "sha256";
  outputHashMode = "recursive";
  outputHash = "sha256-OjHj4h3n+/ozbrLaiH4bGppQ+2LA2RB/sZQVO9EPOEw=";

  passthru = {
    updateScript = gnome.updateScript {
      packageName = pname;
    };
  };

  meta = {
    description = "Default typeface used in the user interface of GNOME since version 3.0";
    platforms = lib.platforms.all;
    license = lib.licenses.ofl;
    maintainers = [ ];
  };
}
