ark-pixel-font: unbreak by suppressing debug logs, and remove extraneous builds

For some reason build.py builds a lot of stuff that is completely
unrelated to the fonts themselves. Let's remove that!

Also the script is generating so much debug output that Hydra refuses to
evaluate the package — my fix is to pipe the output through grep to
filter out any log message below INFO, but I wish the script has a
built-in way to set the log level so that I don't have to do this hack
This commit is contained in:
Leah Amelia Chen 2024-05-22 20:04:47 +02:00
parent 4e0a31f582
commit aa7ba46ebb
2 changed files with 43 additions and 1 deletions

View File

@ -0,0 +1,34 @@
diff --git a/build.py b/build.py
index 48bc757d..88b9ed9b 100644
--- a/build.py
+++ b/build.py
@@ -1,6 +1,5 @@
from scripts import configs
from scripts.configs import path_define
-from scripts.services import publish_service, info_service, template_service, image_service
from scripts.services.font_service import DesignContext, FontContext
from scripts.utils import fs_util
@@ -21,21 +20,6 @@ def main():
font_context.make_pcf()
font_context.make_otc()
font_context.make_ttc()
- publish_service.make_release_zips(font_config, width_mode)
- info_service.make_info_file(design_context, width_mode)
- info_service.make_alphabet_txt_file(design_context, width_mode)
- template_service.make_alphabet_html_file(design_context, width_mode)
- template_service.make_demo_html_file(design_context)
- image_service.make_preview_image_file(font_config)
- template_service.make_index_html_file()
- template_service.make_playground_html_file()
- image_service.make_readme_banner()
- image_service.make_github_banner()
- image_service.make_itch_io_banner()
- image_service.make_itch_io_background()
- image_service.make_itch_io_cover()
- image_service.make_afdian_cover()
-
if __name__ == '__main__':
main()

View File

@ -28,10 +28,15 @@ python312Packages.buildPythonPackage rec {
gitpython
];
# By default build.py builds a LOT of extraneous artifacts we don't need.
patches = [ ./limit-builds.patch ];
buildPhase = ''
runHook preBuild
python build.py
# Too much debug output would break Hydra, so this jankness has to be here for it to build at all.
# I wish there's a builtin way to set the log level without modifying the script itself...
python3 build.py 2>&1 >/dev/null | grep -E '^(INFO|WARN|ERROR)'
runHook postBuild
'';
@ -43,6 +48,9 @@ python312Packages.buildPythonPackage rec {
install -Dm444 build/outputs/*.otf -t $out/share/fonts/opentype
install -Dm444 build/outputs/*.ttf -t $out/share/fonts/truetype
install -Dm444 build/outputs/*.woff2 -t $out/share/fonts/woff2
install -Dm444 build/outputs/*.pcf -t $out/share/fonts/pcf
install -Dm444 build/outputs/*.otc -t $out/share/fonts/otc
install -Dm444 build/outputs/*.ttc -t $out/share/fonts/ttc
runHook postInstall
'';