Skip to content

Qt mkDerivation is slightly broken, redundant and should be deprecated #180841

@roberth

Description

@roberth

Describe the bug

a. The Qt mkDerivation function provided by qt does not support overlay-style package definitions.
b. The Qt mkDerivation function is over-engineered because it only adds wrapQtAppsHook to nativeBuildInputs. A "hierarchy" of mkDerivation functions does not compose.

Steps To Reproduce

a.

  1. Start a package definition with mkDerivation (finalAttrs: where mkDerivation isn't stdenv.mkDerivation but the one provided by the qt expressions.
  2. Eval error

b.

  1. Write a Haskell or Python package that uses qt
  2. Can't use qt's mkDerivation as we need to use a language specific mkDerivation.

Expected behavior

Just call stdenv.mkDerivation and add wrapQtAppsHook. Many packages already do this anyway (resulting in duplicate hooks; apparently harmless?).
Deprecate qt mkDerivation.

Alternatively, add support for overlay-style mkDerivation in mkDerivation, solving only (a).

Screenshots

Additional context

Example

Notify maintainers

@NixOS/qt-kde

Metadata

Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.

[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
output here

Metadata

Metadata

Assignees

No one assigned

    Labels

    0.kind: bugSomething is broken3.skill: sprintableA larger issue which is split into distinct actionable tasks5.scope: trackingLong-lived issue tracking long-term fixes or multiple sub-problems6.topic: qt/kdeObject-oriented framework for GUI creation9.needs: clean-upSomebody please clean up this mess!

    Projects

    Status

    In progress

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions