-
-
Notifications
You must be signed in to change notification settings - Fork 14.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
openmoji has started taking forever to build. #167869
Comments
Could this be the same as #97871? Should we switch to prebuilt fonts here too? |
It could be. But in the past the build only took a minute or 2. Now it takes basically forever. I'm trying to bisect when this was introduced but bisecting timeouts is slow and error-prone. |
This comment was marked as outdated.
This comment was marked as outdated.
I did a better bisection and got 69da642 (#163439) which is much more helpful. I saw that PR but thought it seemed too old. I guess I forgot how long a staging cycle can take. I don't know what the best approach here is. Report the bug upstream to fontforge or openmoji? There are a lot of warnings and errors in the build so I suspect that it may be an openmoji problem and fontforge was doing its best before and working but now is failing? The command I used for reference was:
|
after a brief look at this (with the latest master commits from openmoji and fontforge, the openmoji build also hangs) |
I tried diffing the logs but they are basically completely different once |
Great investigation! Maybe as a short-term fix we could override fontforge for this package? |
That sounds like a reasonable mitigation until a patch is available. |
Bump, would really love to have openmoji available when I upgrade 21.11 -> 22.05! |
@kevincox why the thumbs down? |
Bumping issues is not a helpful thing to do. |
...by downgrading fontforge. Fixes NixOS#167869
I tried running bisection on fontforge itself using nix-bisect after applying the patch below: $ git bisect start 20220308 20201107
$ extra-bisect run \
nix-build-status \
--option max-silent-time 240 \
-f ~/Projects/nixpkgs \
openmoji-color Unfortunately, the automatic bisection did not work for some reason. Possibly because the timeout regex does not match the error message: --- a/pkgs/data/fonts/openmoji/default.nix
+++ b/pkgs/data/fonts/openmoji/default.nix
@@ -3,6 +3,10 @@
, fetchFromGitHub
, scfbuild
, nodejs
+, fontforge
+, libuninameslist
+, fetchpatch
+, patch
, nodePackages
, python3Packages
, variant ? "color" # "color" or "black"
@@ -14,6 +18,30 @@ let
[ "OpenMoji-Color.ttf" "OpenMoji-Black.ttf" ]
variant;
+ fontforge-bisect = fontforge.overrideAttrs (old: rec {
+ version = "bisect";
+ src = /home/jtojnar/Projects/fontforge;
+ patches = [
+ (fetchpatch {
+ url = "https://salsa.debian.org/fonts-team/fontforge/raw/76bffe6ccf8ab20a0c81476a80a87ad245e2fd1c/debian/patches/0001-add-extra-cmake-install-rules.patch";
+ sha256 = "u3D9od2xLECNEHhZ+8dkuv9818tPkdP6y/Tvd9CADJg=";
+ })
+ # (fetchpatch {
+ # url = "https://github.com/fontforge/fontforge/commit/69e263b2aff29ad22f97f13935cfa97a1eabf207";
+ # sha256 = "06yyf90605aq6ppfiz83mqkdmnaq5418axp9jgsjyjq78b00xb29";
+ # })
+ ];
+ prePatch = ''
+ patch() {
+ ${patch}/bin/patch "$@" || echo 'Failed to apply patch, continuing'
+ }
+ '';
+ buildInputs = old.buildInputs ++ [ libuninameslist ];
+ });
+ scfbuild-with-fontforge-bisect = scfbuild.override (old: {
+ fontforge = fontforge-bisect;
+ });
+
in stdenv.mkDerivation rec {
pname = "openmoji";
version = "13.1.0";
@@ -26,7 +54,7 @@ in stdenv.mkDerivation rec {
};
nativeBuildInputs = [
- scfbuild
+ scfbuild-with-fontforge-bisect
nodejs
nodePackages.glob
nodePackages.lodash |
needs to be reported upstream |
Which one though? Openmoji or fontforge? |
Describe the bug
openmoji-color and openmoji-black now both take >12h to build. They are timing out on hydra https://hydra.nixos.org/job/nixos/trunk-combined/nixpkgs.openmoji-color.x86_64-linux.
Steps To Reproduce
Steps to reproduce the behavior:
Notify maintainers
@fgaz
The text was updated successfully, but these errors were encountered: