Skip to content

Commit

Permalink
ark-pixel-font: unbreak by suppressing debug logs, and remove extrane…
Browse files Browse the repository at this point in the history
…ous 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
  • Loading branch information
pluiedev committed May 22, 2024
1 parent 4e0a31f commit aa7ba46
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 1 deletion.
34 changes: 34 additions & 0 deletions pkgs/by-name/ar/ark-pixel-font/limit-builds.patch
Original file line number Diff line number Diff line change
@@ -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()

10 changes: 9 additions & 1 deletion pkgs/by-name/ar/ark-pixel-font/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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
'';
Expand All @@ -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
'';
Expand Down

0 comments on commit aa7ba46

Please sign in to comment.