Describe the bug
Trying to rebuild from git master and it complains about fonttools and python version mismatch.
To Reproduce
adding 'fonttools-4.0.2.dist-info/RECORD'
no configure script, doing nothing
building
build flags: SHELL=/nix/store/zavn4np1jvm79f0rafkv0p1mrag09qkz-bash-4.4-p23/bin/bash KVER=4.19.80 KDIR=/nix/store/3mm0kfp4r46g882pjcxgj46lrnz0zk2q-linux-4.19.80-dev/lib/modules/4.19.80/build
removing build/bdist.linux-x86_64/wheel
CFLAGS="-Werror -Wextra -Wall -Wmissing-prototypes -Wstrict-prototypes -Wno-error=missing-field-initializers" make -C module
make[1]: Entering directory '/build/source/module'
make -C /nix/store/3mm0kfp4r46g882pjcxgj46lrnz0zk2q-linux-4.19.80-dev/lib/modules/4.19.80/build M=$PWD
make[2]: Entering directory '/nix/store/3mm0kfp4r46g882pjcxgj46lrnz0zk2q-linux-4.19.80-dev/lib/modules/4.19.80/build'
Finished executing setuptoolsInstallPhase
installing
Executing pipInstallPhase
/build/fonttools-4.0.2/dist /build/fonttools-4.0.2
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Pytho
n 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Processing ./fonttools-4.0.2-py2-none-any.whl
unpacking sources
unpacking source archive /nix/store/4w5rgvcja20scrvhpwv8741i87msjkln-libreoffice-6.2.6.2.tar.xz
ERROR: Package 'fonttools' requires a different Python: 2.7.17 not in '>=3.6'
builder for '/nix/store/9dk2dvnn5dmdfk1lwjsfxq3am7ham20h-python2.7-fonttools-4.0.2.drv' failed with exit code 1
building '/nix/store/3dwrilblfm27b5xgdyfzwbiyl1i9gqsg-batchsigner-1.6.3.drv'...
cannot build derivation '/nix/store/gbhj95nnmkkyambwblri5g04l7pkqihw-noto-fonts-emoji-2018-08-10-unicode11.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/vzsgzq61xgilpxzwgn3i4xjgqnqhmqgq-X11-fonts.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/50wq000ijfqsl5anzg33kw2bxrwc6gg0-fc-00-nixos-cache.conf.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/miqbrnfd9fyz2l5w4lpla9y122wn5wg3-fc-00-nixos-cache.conf.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/pp45z7ghqrf25q6zf720zacbb8jvd3dy-fonts.conf.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/4mid2nay25310lgkidalc4lbgyzf9qqg-xserver.conf.drv': 1 dependencies couldn't be built
building '/nix/store/sfjg4ln6h2knhh9xswmk4jjv87iv7f4p-evdi-2019-10-09.drv'...
cannot build derivation '/nix/store/ry9gx2zk55g26a9sckzq7i85cwwa7fgw-fontconfig-conf.drv': 1 dependencies couldn't be built
building '/nix/store/pki67w7b8082nmfdsaa2q7ab8xryd2si-sshd.conf-validated.drv'...
building '/nix/store/g1qp94ycc5cj4bq2apzsjahz1br7a6k9-system-generators.drv'...
cannot build derivation '/nix/store/7f5ab8bhahlil27qv3w8c0z8j843zm3i-system-path.drv': 1 dependencies couldn't be built
building '/nix/store/i2r5sqikbi8lzqwsfnfjv54snz72n11d-system-shutdown.drv'...
building '/nix/store/qr1zadqp8hjp7q7daipw8wfkjv85wr21-torrc.drv'...
building '/nix/store/k55mpxqdd5czknjj59nfj2dxkilfjdf1-udev-rules.drv'...
building '/nix/store/9lgmdsdi34gl3ii0c35ly8dhnm6f6vdm-udhcp-script.drv'...
building '/nix/store/7clz82x8c62c45xsr8xp2pdjawrkvdgj-unit-container-getty-.service.drv'...
cannot build derivation '/nix/store/znr2bidivrhrgc141nc5698bw71b7737-xserver-wrapper.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/22qj494sqavywz93yfbsc10k0wnw9r6q-nixos-system-subi-20.03.git.443f1a4.drv': 1 dependencies couldn't be built
error: build of '/nix/store/22qj494sqavywz93yfbsc10k0wnw9r6q-nixos-system-subi-20.03.git.443f1a4.drv' failed
Metadata
Please run nix run nixpkgs.nix-info -c nix-info -m and paste the result.
root@subi:~# nix run nixpkgs.nix-info -c nix-info -m
"x86_64-linux"Linux 5.3.1, NixOS, 20.03.git.4c07c0f (Markhor) yes yes nix-env (Nix) 2.3 /nix/var/nix/profiles/per-user/root/channels/nixos "nixos-20.03pre197483.2bd4f8023bf"Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute:
# a list of nixos modules affected by the problem
module:
Looks like an issue with noto-fonts 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.
@eadwu you mean when running nix-build -A python3Packages.nototools, or something similar? That's expected since nototools has been disabled for python3 (python3 support has only recently been added 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.
nototools should be a dependency of the noto-fonts derivation. I'm not sure where you're seeing the fact that nototools needs noto-fonts as a dependency. The farthest I've gotten is removing all the errors from the configuration but the build still fails with incorrect indentation.
You mean that it should be a dependency of noto-fonts or it is currently? In regard to "is currently" I don't see it as currently being a dependency. The only place nototools appears in noto-fonts/default.nix is in the following lines
[...]
nativeBuildInputs = [ pngquant optipng which cairo pkgconfig imagemagick ]
++ (with pythonPackages; [ python fonttools nototools ]);
[...]
as part of noto-fonts-emoji derivation. If you mean it should be, then how you get nototools 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 https://github.com/NixOS/nixpkgs/pull/72232
Still building though...
liberation-sans-narrow, rictydiminished-with-firacode and xits-math have the same error.