Code change:
Describe the bug Trying to rebuild from git master and it complains about fonttools and python version mismatch. To Reproduce Metadata Please run and paste the result. root nix run -c nix-info -m system: host os: multi-user?: sandbox: version: nixpkgs: channels(root): Maintainer information:
Looks like an issue with trying to build it with Python 2.7.x. The code isn't entirely compatible with Python 3.x nevertheless.
The issue seems to be with nototools which we currently have disabled for python3. The last nototools release is apparently fully compatible with python3. I'm working on a fix for this, however, the build now has a strange relationship with noto-fonts that I haven't quite figured out yet.
In the latest release nototools seems to still fail, or at least does on mine. The only relationship I found is that nototools is a dependency on noto-fonts.
you mean when running , or something similar? That's expected since nototools has been disabled for python3 (python3 support has only recently been upstream). I believe the relationship is actually that nototools is a dep of noto-fonts-emoji. The current nototools seems to require noto-fonts as a dep. I've gotten most of the way to a fix I think (changed nototools version and enabled py3 and what we fetch with the fetchZip in noto-fonts). However, the way that nototools expects noto-fonts is pretty strange (as an example look at the top level makefile where it looks for the noto-fonts repo in nototools' parent directory). I'm having a bit of trouble getting noto-fonts in the form nototools expects. I'm trying not to just copy the entire noto-fonts source into nototools source which seems like it should be unnecessary. Once nototools is fixed for python3 the rest should be easy bc we can just change noto-fonts etc to use python3. If you have any thoughts on how to fix nototools I'd love to hear them, or if you think I'm missing something here pls do let me know.
should be a dependency of the derivation. I'm not sure where you're seeing the fact that needs as a dependency. The farthest I've gotten is removing all the errors from the configuration but the build still fails with .
You mean that it should be a dependency of or it is currently? In regard to "is currently" I don't see it as currently being a dependency. The only place appears in noto- is in the following lines as part of derivation. If you mean it should be, then how you get to build on its own? If you change the nototools version to 0.2.0 which adds python3 support I get errors about missing font directories (these directories come from noto-fonts). What am I missing here?
Proposed fix Still building though...
, and have the same error.

Related discussion:
text: <ins> --- a/bin/scfbuild +++ b/bin/scfbuild @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 # -*- coding: utf-8 -*- from __future__ import (absolute_import, division, print_function, --- a/scfbuild/builder.py +++ b/scfbuild/builder.py @@ -287,8 +287,8 @@ def _add_name_record(self, text, name_id, platform_id, plat_enc_id, lang_id): # TODO: The installed version of fontTools doesn't have # table__n_a_m_e.setName(). record = NameRecord() -        # PyYAML creates strings, force to Unicode -        record.string = unicode(text) +        # PyYAML creates strings, which are unicode as of Python3 +        record.string = text record.nameID = name_id record.platformID = platform_id record.platEncID = plat_enc_id --- a/scfbuild/fforge.py +++ b/scfbuild/fforge.py @@ -84,7 +84,7 @@ def add_glyphs(font, svg_filepaths, conf): u_ids = [int(u_id, 16) for u_id in filename.split("-")] # Example: (0x1f441, 0x1f5e8) -            u_str = ''.join(map(unichr, u_ids)) +            u_str = ''.join(map(chr, u_ids)) # Example: "U0001f441U0001f5e8" # Replace sequences with correct ZWJ/VS16 versions as needed --- a/scfbuild/main.py +++ b/scfbuild/main.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 # -*- coding: utf-8 -*- # SCFBuild is released under the GNU General Public License v3. index 0000000..99418b5 --- /dev/null +++ b/scfbuild/requirements.txt @@ -0,0 +1,2 @@ +fonttools>=3.41.2 +PyYAML>=5.1 </ins>