Nixpkgs: Package 'fonttools' requires a different Python: 2.7.17 not in '>=3.6'

Created on 28 Oct 2019  路  8Comments  路  Source: NixOS/nixpkgs

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

  • system: "x86_64-linux"
  • host os: Linux 5.3.1, NixOS, 20.03.git.4c07c0f (Markhor)
  • multi-user?: yes
  • sandbox: yes
  • version: nix-env (Nix) 2.3
  • nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos
  • channels(root): "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:
bug blocker python

All 8 comments

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.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

tomberek picture tomberek  路  3Comments

grahamc picture grahamc  路  3Comments

lverns picture lverns  路  3Comments

teto picture teto  路  3Comments

sid-kap picture sid-kap  路  3Comments