Nixpkgs: qutebrowser doesn't start

Created on 23 Jul 2019  路  14Comments  路  Source: NixOS/nixpkgs

Describe the bug
qutebrowser doesn't start

To Reproduce
Steps to reproduce the behavior:

  1. Use the latest nixos-unstable
  2. Start qutebrowser

Expected behavior
qutebrowser starts

Screenshots
2019-07-23_08-27

Metadata

  • system: "x86_64-linux"
  • host os: Linux 4.19.60, NixOS, 19.09pre186326.62cb4f72282 (Loris)
  • multi-user?: yes
  • sandbox: yes
  • version: nix-env (Nix) 2.2.2
  • channels(philipp): ""
  • channels(root): ""
  • nixpkgs: /nix/store/82bi282j8b6xx1gksqxjvrmwqh1mzwh4-source

Maintainer information:

# a list of nixpkgs attributes affected by the problem
attribute:
# a list of nixos modules affected by the problem
module:
bug

All 14 comments

The issue is present since 2b28e4c96ff59426b9797c771228d8938a26181e
I will figure out what commit from staging it was, but for now my computer is busy compiling :)

maintainers: @jagajaga @rnhmjoj

Thanks to @emmanuelrosa for this valuable piece of information:

Adding wrapQtAppsHook only address plugins, such as xcb, not loading. It does not address the missing PyQt5.QtQml module. According to a working build of qutebrowser, that module is actually missing from PyQt5. This can be seen by comparing the PyQt5 referenced by working and non-working builds of qutebrowser. In the working build you'll see the files QtQml.pyi and QtQml.so in `/nix/store/PyQt/lib/python*/site-packages/PyQt5/. In the non-working build those two files will not be present. In fact, I recall seeing other missing files, such as QtWebEngine.

I tried some stuff and it seems like since 2b28e4c the propagatedBuildInputs are somehow ignored and configure.py can not find webengine or qml, even when adding qtdeclarative to propagatedBuildInputs. I have no idea why, but only when I put them in nativeBuildInputs, configure.py can pick up those dependency and will produce a pyqt version with webengine and qml modules and qutebrowser will start successfully. I know this is wrong, so maybe someone can find the cause of this and a proper solution.

Does anyone know a way to work around this bug, and get a working Qutebrowser, without having to compile it?

Does anyone know a way to work around this bug, and get a working Qutebrowser, without having to compile it?

You can install a qutebrowser version from an old nixpkgs revision to your user profile.
If you have cloned nixpkgs somewhere:

git checkout 2b28e4c~1 # one revision before it broke
nix-build . -A qutebrowser
nix-env -i result/

@petabyteboy Cool, thanks. But doesn't that build the whole thing? Building a web browser like this takes several hours, no?

This package should have a binary cache now.

@petabyteboy Cool, thanks. But doesn't that build the whole thing? Building a web browser like this takes several hours, no?

Not really: the engine (QtWebEngine) does, but the browser itself is just a relatively small collections of python scripts, so it's pretty fast. QtWebEngine, being part of the base Qt package set should always be cached, even if you modify qutebrowser.

When I installed the version mentioned above, it was still cached. Usually old packages are removed from the cache quite a while after they were replaced.
But as worldofpeace mentioned in current unstable qutebrowser should work just fine again.

Cool, I didn't know about that. Thanks!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

sid-kap picture sid-kap  路  3Comments

rzetterberg picture rzetterberg  路  3Comments

chris-martin picture chris-martin  路  3Comments

spacekitteh picture spacekitteh  路  3Comments

edolstra picture edolstra  路  3Comments