Closed lunik1 closed 3 years ago
When parsing
greenlet = {version = "!=0.4.17", markers = "python_version >= \"3\" and platform_machine in \"x86_64 X86_64 aarch64 AARCH64 ppc64le PPC64LE amd64 AMD64 win32 WIN32\""}
I get a similar message:
error: expected end-of-string while parsing JSON value: WIN32"
Workaround: Remove that line from poetry.lock.
I have the same problem.
I don't think just deleting the dependency is a good workaround.
Better just remove the markers
attribute, but even then I don't think manually editing the poetry.lock can be the solution.
Poetry can parse this line, and therefore poetry2nix should as well be able.
Definitely @neumantm, that's why I only suggested it as a workaround to be able to continue working.
OK, this is very interesting: the minimal fix is to remove just the "win32" part of that string! That is, changing
greenlet = {version = "!=0.4.17", markers = "python_version >= \"3\" and platform_machine in \"x86_64 X86_64 aarch64 AARCH64 ppc64le PPC64LE amd64 AMD64 win32 WIN32\""}
to
greenlet = {version = "!=0.4.17", markers = "python_version >= \"3\" and platform_machine in \"x86_64 X86_64 aarch64 AARCH64 ppc64le PPC64LE amd64 AMD64 WIN32\""}
makes poetry2nix build. Why is "win32" a special value? I can't see any reference to this specific token in the code.
I believe this issue was fixed in 203fb43910143e926ad80e08a3d0bb46130c49ec and shouldn't be a problem in Poetry2nix on master or in a Poetry2nix release past 1.18.0.
With that commit reverted I can reproduce the exact issue on master, so I will consider it fixed unless I can get a minimal reproduction case that fails against master.
Thank you for the info @adisbladis - looking forward to the release!
PS: Would you be interested in a minimal test case, trying to install SQLAlchemy?
PS: Would you be interested in a minimal test case, trying to install SQLAlchemy?
Sure, why not?
My
poetry.lock
file has been generated with the lineThis is listed as a dependency of sqlalchemy:
When trying to build this with nix I get the error