Problem building `python3.8-wtf-peewee-3.0.1.drv`

I’m on nixos-unstable trying to sudo nixos-rebuild build, but building the program buku fails with:

======================================================================
ERROR: test_blank_choices (wtfpeewee.tests.WTFPeeweeTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/build/wtf-peewee-3.0.1/wtfpeewee/tests.py", line 231, in test_blank_choices
    self.assertTrue(form.validate())
  File "/nix/store/30c8dljxj6zzpk737bj3pvx667shagjy-python3.8-WTForms-2.3.3/lib/python3.8/site-packages/wtforms/form.py", line 318, in validate
    return super(Form, self).validate(extra)
  File "/nix/store/30c8dljxj6zzpk737bj3pvx667shagjy-python3.8-WTForms-2.3.3/lib/python3.8/site-packages/wtforms/form.py", line 150, in validate
    if not field.validate(self, extra):
  File "/nix/store/30c8dljxj6zzpk737bj3pvx667shagjy-python3.8-WTForms-2.3.3/lib/python3.8/site-packages/wtforms/fields/core.py", line 215, in validate
    self.pre_validate(form)
  File "/build/wtf-peewee-3.0.1/wtfpeewee/fields.py", line 187, in pre_validate
    super(SelectChoicesField, self).pre_validate(form)
  File "/nix/store/30c8dljxj6zzpk737bj3pvx667shagjy-python3.8-WTForms-2.3.3/lib/python3.8/site-packages/wtforms/fields/core.py", line 509, in pre_validate
    for _, _, match in self.iter_choices():
  File "/build/wtf-peewee-3.0.1/wtfpeewee/fields.py", line 163, in iter_choices
    yield (value, label, self.coerce(value) == self.data)
TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'

----------------------------------------------------------------------
Ran 16 tests in 0.075s

FAILED (errors=1)
builder for '/nix/store/p7k9ch6v8lq4r92kylsjhaichr777yjf-python3.8-wtf-peewee-3.0.1.drv' failed with exit code 2
cannot build derivation '/nix/store/ira163mxich6q27dd1ahsghk9qwrnqx1-python3.8-flask-admin-1.5.6.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/dy0rxxpwq5nlm60klm267rk7wg8rs6c1-buku-4.4.drv': 1 dependencies couldn't be built

So a test is failing for wtf-peewee, and I see that wtf-peewee was updated from version 3.0.0 to 3.0.1 in this commit 13 days ago, but where do I go from here?

Never mind! Writing this I see that the wtf-peewee module itself is failing CI due to the same test failure. I’ve posted this issue in the wtf-peewee repository. Still posting this post on discord in case someone else stumbles into something that doesn’t build due to wtf-peewee.

I tried fixing this on master, and determined that it was an upstream issue with how it interacts with WTForms.

1 Like

The creator of wtf-peewee has fixed the failing test (ref https://github.com/coleifer/wtf-peewee/issues/54#issuecomment-675087856). Hopefully there will be a new version 3.0.2 as well :slight_smile:

v3.0.2 was released and I’ve created a PR to upgrade the version: python: wtf-peewee: 3.0.1 -> 3.0.2 by stianlagstad · Pull Request #95811 · NixOS/nixpkgs · GitHub

1 Like

Now that wtf-peewee 3.0.2 is available in the unstable channel I was again able to build buku without problems :slight_smile:

1 Like