I was attempting to update my Nix environment and I noticed aws-sam-cli was failing to build.
It seems that one of its dependencies, boto3 was failing to resolve. Seems that a few days ago the version was bumped to a newer version without updating botocore as well as is noted in the comment next to the version.
I can only assume this broke stuff, but I'm new to Nix and can only guess this is the issue.
To Reproduce
Steps to reproduce the behavior:
nix-env --install python3.8-boto3Expected behavior
The package installs
Current Behavior
Fails to build with error:
Finished executing setuptoolsBuildPhase
installing
Executing pipInstallPhase
/build/boto3-1.13.23/dist /build/boto3-1.13.23
Processing ./boto3-1.13.23-py2.py3-none-any.whl
Requirement already satisfied: jmespath<1.0.0,>=0.7.1 in /nix/store/0vk0gk32sfflvqkk02idsd1lv72j4vik-python3.8-jmespath-0.9.5/lib/python3.8/site-packages (from boto3==1.13.23) (0.9.5)
Requirement already satisfied: s3transfer<0.4.0,>=0.3.0 in /nix/store/f055iykbyb45vgbrh177fm5ga4l32901-python3.8-s3transfer-0.3.3/lib/python3.8/site-packages (from boto3==1.13.23) (0.3.3)
ERROR: Could not find a version that satisfies the requirement botocore<1.17.0,>=1.16.23 (from boto3==1.13.23) (from versions: none)
ERROR: No matching distribution found for botocore<1.17.0,>=1.16.23 (from boto3==1.13.23)
builder for '/nix/store/li6s8dl2sb90q2gwcz4vi63cgyzlyfn1-python3.8-boto3-1.13.23.drv' failed with exit code 1
error: build of '/nix/store/li6s8dl2sb90q2gwcz4vi63cgyzlyfn1-python3.8-boto3-1.13.23.drv' failed
Notify maintainers
@FRidh
@copumpkin
@NeQuissimus
@OmnipotentEntity
@thefloweringash
@joelthompson
@PsyanticY
@flokli
Metadata
- system: `"x86_64-linux"`
- host os: `Linux 5.4.0-7634-generic, Pop!_OS, 20.04 LTS`
- multi-user?: `no`
- sandbox: `yes`
- version: `nix-env (Nix) 2.3.6`
- channels(david): `"home-manager, nixpkgs-20.09pre230366.1357624fa9e"`
- nixpkgs: `/home/david/.nix-defexpr/channels/nixpkgs`
Maintainer information:
# a list of nixpkgs attributes affected by the problem
aws-sam-cli
aws-sam-translator
This should be fixed on latest master (which should hopefully hit the channel soon)
Sweet! I'll keep this open until someone else closes this or I can install this locally :)
Tried again today to install. It looks like the boto3 package has been fixed, so the installation process progresses further.
However, aws-sam-cli is still failing to install with the following package not being resolved properly:
ERROR: Could not find a version that satisfies the requirement jmespath~=0.9.5 (from aws-sam-cli==0.44.0)
Here's the output of where it starts to fail:
removing build/bdist.linux-x86_64/wheel
Finished executing setuptoolsBuildPhase
installing
Executing pipInstallPhase
/build/aws-sam-cli-0.44.0/dist /build/aws-sam-cli-0.44.0
Processing ./aws_sam_cli-0.44.0-py3-none-any.whl
Requirement already satisfied: serverlessrepo~=0.1.9 in /nix/store/621xw1zbcmzjpb4g5xb22zp6wb4ww714-python3.8-serverlessrepo-0.1.10/lib/python3.8/site-packages (from aws-sam-cli==0.44.0) (0.1.10)
Requirement already satisfied: Flask~=1.0.2 in /nix/store/rb2kmbdh5lfzwva8jsad2i3wfx9lkzsq-python3.8-Flask-1.0.2/lib/python3.8/site-packages (from aws-sam-cli==0.44.0) (1.0.2)
Requirement already satisfied: cookiecutter~=1.6.0 in /nix/store/531xsvm678xmza85dpsypq4fflfaadk5-python3.8-cookiecutter-1.6.0/lib/python3.8/site-packages (from aws-sam-cli==0.44.0) (1.6.0)
Requirement already satisfied: python-dateutil~=2.6 in /nix/store/qc4d6cyggd4fdhd3i0swl46sxr0dc90z-python3.8-python-dateutil-2.8.1/lib/python3.8/site-packages (from aws-sam-cli==0.44.0) (2.8.1)
ERROR: Could not find a version that satisfies the requirement jmespath~=0.9.5 (from aws-sam-cli==0.44.0) (from versions: none)
ERROR: No matching distribution found for jmespath~=0.9.5 (from aws-sam-cli==0.44.0)
builder for '/nix/store/93rdl7adsc518rq76fcnzz09gbbvyvfc-aws-sam-cli-0.44.0.drv' failed with exit code 1
cannot build derivation '/nix/store/9b4j70xzwcvwv7jjf5cf5dzw4z354w1k-home-manager-path.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/dm4llbqcgyr94sr0nf7pcsyb9n6093f2-home-manager-generation.drv': 1 dependencies couldn't be built
error: build of '/nix/store/dm4llbqcgyr94sr0nf7pcsyb9n6093f2-home-manager-generation.drv' failed
make: *** [Makefile:36: switch] Error 1
Umm, seems the package was more broken than just our boto packages being incompatible with each other.
On latest master, aws-sam-cli complains about tomlkit being too new (we have 0.6.0, while aws-sam-cli wants ~=0.5.8.
I propose bumping aws-sam-cli to their latest release (0.53.0) - we should do anyway, but maybe their version requirements are more compatible with what we have in nixpkgs.
You could also patch their upper bounds to include the versions we ship (if they'r compatible, like we did in pkgs/development/tools/aws-sam-cli/default.nix:L68), or add more aws-sam-cli-specific packages (like we did in L9).
But this is not a generic boto breakage anymore - so you might want to poke the aws-sam-cli maintainers @andreabedini and @lo1tuma - or try it by yourself and file a PR :-)
Seems this was fixed in https://github.com/NixOS/nixpkgs/pull/90584. Successfully built aws-sam-cli-1.0.0rc1 on nixpkgs master.