[Nix-dev] Qt and KDE updates

Thomas Tuegel ttuegel at mailbox.org
Tue Feb 28 12:51:16 CET 2017


Hello,

Today, in anticipation of NixOS 17.03, I merged updates to our Qt and
KDE infrastructure into master. I am writing now to explain how to deal
with any problems users and maintainers may encounter. I apologize in
advance for any inconvenience this causes.

Users should experience relatively non-invasive changes:

- The `kde5` NixOS module no longer exists; it has been renamed
  `plasma5`. Users will receive a warning from `nixos-rebuild` if they
  use the old module.
- The `kde5` top-level package set no longer exists. The applications
  which were available under this set are now available at the top
  level, i.e. `kde5.konsole` becomes `konsole`.
- The applications which were under the `kde4` set are now also
  available at top level.

This will probably require most KDE users to change their configuration,
but I hope those changes are no more invasive than simple renaming.

Package maintainers should read the updated Qt and KDE documentation in
the Nixpkgs manual (unfortunately this is not updated on nixos.org yet;
you can build the manual yourself or read the source on GitHub [1]). The
top changes are:

- If you were using `qt5.callPackage` before, please use
  `libsForQt5.callPackage` now.
- Use `kdeWrapper` for wrapping KDE-based programs. This has been in use
  for some time already, but now it is properly documented.
- Some packages inherit a Qt dependency from build tools which
  improperly propagated the input.

As our Qt infrastructure was updated, I took the opportunity to make Qt
5.7 the default version. Maintainers should check that their packages
build with the new version and pin them to Qt 5.6 if they can't be made
to work. The most common issue with the upgrade is that Qt 5.7 requires
a C++11 compiler, so GCC needs to be called with `-std=c++11`. Packages
using qmake and cmake should be unaffected, but autotools-based packages
will probably need CFLAGS or NIX_CFLAGS_COMPILE set. Please remember to
file bugs upstream as appropriate.

Please contact me with questions or concerns.

Regards,
Thomas

[1]. https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks/qt.xml


More information about the nix-dev mailing list