roboto: 2.138 -> 3.011, switch to variable version (#389195)

This commit is contained in:
Pol Dellaiera
2025-03-12 13:22:41 +01:00
committed by GitHub
+13 -28
View File
@@ -2,52 +2,37 @@
lib,
stdenvNoCC,
fetchzip,
python3Packages,
}:
stdenvNoCC.mkDerivation rec {
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "roboto";
version = "2.138";
version = "3.011";
src = fetchzip {
url = "https://github.com/google/roboto/releases/download/v${version}/roboto-unhinted.zip";
url = "https://github.com/googlefonts/roboto-3-classic/releases/download/v${finalAttrs.version}/Roboto_v${finalAttrs.version}.zip";
stripRoot = false;
hash = "sha256-ue3PUZinBpcYgSho1Zrw1KHl7gc/GlN1GhWFk6g5QXE=";
hash = "sha256-Ko5x4zn/bhrFLuYktaAsqsWUsIOMfnxK8rZ4UiqK8ds=";
};
nativeBuildInputs = [
python3Packages.fonttools
];
installPhase = ''
runHook preInstall
# The RobotoCondensed fonts have a usWidthClass value of 5, which is
# incorrect. It should be 3.
# See the corresponding issue at https://github.com/googlefonts/roboto-3-classic/issues/130
for file in RobotoCondensed*; do
fontname=$(echo $file | sed 's/\.ttf//')
ttx -v -o $fontname.xml $file
substituteInPlace $fontname.xml \
--replace-fail "<usWidthClass value=\"5\"/>" "<usWidthClass value=\"3\"/>"
ttx --no-recalc-timestamp $fontname.xml -o $fontname.ttf
done
install -Dm644 *.ttf -t $out/share/fonts/truetype
install -Dm644 unhinted/static/*.ttf -t $out/share/fonts/truetype
runHook postInstall
'';
meta = {
homepage = "https://github.com/google/roboto";
description = "Roboto family of fonts";
homepage = "https://github.com/googlefonts/roboto-3-classic";
description = "This is a variable version of Roboto intended to be a 1:1 match with the official non-variable release from Google";
longDescription = ''
Googles signature family of fonts, the default font on Android and
Chrome OS, and the recommended font for Googles visual language,
Material Design.
This is not an official Google project, but was enabled with generous
funding by Google Fonts, who contracted Type Network. The Roboto family of
instances contained 6 weights and two widths of normal, along with italic
of the regular width.
'';
license = lib.licenses.asl20;
license = lib.licenses.ofl;
platforms = lib.platforms.all;
maintainers = [ lib.maintainers.romildo ];
};
}
})