treewide: Safer libsForQt5.callPackage

Intro:

Part of #101369: Every attribute from kdeApplications and kdeFrameworks
can be built with a few different qt5 versions. It's hard to tell the
difference between an application and a library and some applications
rely on inputs from kdeApplications and libsForQt5 alike.

Before this change, some applications that were defined with
`libsForQt5.callPackage` used libraries from the kde* sets compiled with
a specific qt5 version,

Due to `inherit (kde*) <lib or app>;` used in the widest scope, we had
issues with packages that depended on packages defined by this
`inherit`. This led to mismatched qt versions used in the same inputs,
or the inputs of inputs etc.

Hence, we added to all libsForQt5* sets, packages that will be used from
the correct libsForQt5 set, in accordance to the
`libsForQt5*.callPackage` used. All `inherit (kdeApplications) <pkgs>`
and similar inheritance was moved out of all-packages.nix to aliases.nix
only for backwards compatibility.

Now some KDE applications show up in the attribute sets `libsForQt5*`
which didn't show up there previously. This is sort of misleading, as
these are not necessary libraries, but they show up in the wider scope
thanks to them in aliases.nix. Hence it's the best that can be done
considering the circumstances and the urgency of the issue.
This commit is contained in:
Doron Behar 2020-10-30 20:32:19 +02:00
parent 2df527228f
commit b5c6505e63
2 changed files with 105 additions and 78 deletions

View File

@ -750,4 +750,57 @@ mapAliases ({
ant-dracula-theme = throw "ant-dracula-theme is now dracula-theme, and theme name is Dracula instead of Ant-Dracula.";
/* If these are in the scope of all-packages.nix, they cause collisions
between mixed versions of qt. See:
https://github.com/NixOS/nixpkgs/pull/101369 */
inherit (kdeFrameworks) breeze-icons oxygen-icons5;
inherit (kdeApplications)
akonadi akregator ark
bomber bovo
dolphin dragon
elisa
ffmpegthumbs filelight
granatier gwenview
k3b
kaddressbook kalzium kapptemplate kapman kate katomic
kblackbox kblocks kbounce
kcachegrind kcalc kcharselect kcolorchooser
kdenlive kdf kdialog kdiamond
keditbookmarks
kfind kfloppy
kget kgpg
khelpcenter
kig kigo killbots kitinerary
kleopatra klettres klines
kmag kmail kmines kmix kmplot
knavalbattle knetwalk knights
kollision kolourpaint kompare konsole kontact korganizer
kpkpass
krdc kreversi krfb
kshisen ksquares ksystemlog
kteatime ktimer ktouch kturtle
kwalletmanager kwave
marble minuet
okular
picmi
spectacle
yakuake
;
inherit (plasma5)
bluedevil breeze-gtk breeze-qt5 breeze-grub breeze-plymouth discover
kactivitymanagerd kde-cli-tools kde-gtk-config kdeplasma-addons kgamma5
kinfocenter kmenuedit kscreen kscreenlocker ksshaskpass ksysguard
kwallet-pam kwayland-integration kwin kwrited milou oxygen plasma-browser-integration
plasma-desktop plasma-integration plasma-nm plasma-pa plasma-vault plasma-workspace
plasma-workspace-wallpapers polkit-kde-agent powerdevil sddm-kcm
systemsettings user-manager xdg-desktop-portal-kde
;
inherit (plasma5.thirdParty)
plasma-applet-caffeine-plus
kwin-dynamic-workspaces
kwin-tiling
krohnkite
;
})

View File

@ -15194,17 +15194,41 @@ in
kwidgetsaddons kwindowsystem kxmlgui kxmlrpcclient modemmanager-qt
networkmanager-qt plasma-framework prison qqc2-desktop-style solid sonnet
syntax-highlighting syndication threadweaver kirigami2 kholidays kpurpose
kcontacts kquickcharts kdoctools kapidox kdesu;
kcontacts kquickcharts kdoctools kapidox kdesu kinit kded frameworkintegration
kdewebkit breeze-icons
;
### KDE PLASMA 5
inherit (plasma5.override { libsForQt5 = self; })
kdecoration khotkeys libkscreen libksysguard;
kdecoration khotkeys libkscreen libksysguard bluedevil
breeze-gtk breeze-qt5 breeze-grub breeze-plymouth discover kactivitymanagerd
kde-cli-tools kde-gtk-config kdeplasma-addons kgamma5 kinfocenter kmenuedit
kscreen kscreenlocker ksshaskpass ksysguard kwallet-pam kwayland-integration
kwin kwrited milou oxygen plasma-browser-integration plasma-desktop
plasma-integration plasma-nm plasma-pa plasma-vault plasma-workspace
plasma-workspace-wallpapers polkit-kde-agent powerdevil sddm-kcm
systemsettings user-manager xdg-desktop-portal-kde
;
inherit ((plasma5.override { libsForQt5 = self; }).thirdParty)
plasma-applet-caffeine-plus kwin-dynamic-workspaces kwin-tiling krohnkite
;
### KDE APPLICATIONS
inherit (kdeApplications.override { libsForQt5 = self; })
libkdcraw libkexiv2 libkipi libkomparediff2 libksane;
libkdcraw libkexiv2 libkipi libkomparediff2 libksane libkcddb akonadi-contacts
akonadi-calendar akonadi-notes akonadi-search kidentitymanagement kontactinterface
kldap akonadi akregator ark bomber bovo dolphin dragon elisa ffmpegthumbs filelight
granatier gwenview k3b kaddressbook kalzium kapptemplate kapman kate katomic
kblackbox kblocks kbounce kcachegrind kcalc kcharselect kcolorchooser
kdenlive kdf kdialog kdiamond keditbookmarks kfind kfloppy kget kgpg khelpcenter
kig kigo killbots kitinerary kleopatra klettres klines kmag kmail kmines kmix kmplot
knavalbattle knetwalk knights kollision kolourpaint kompare konsole kontact korganizer
kpkpass krdc kreversi krfb kshisen ksquares ksystemlog kteatime ktimer ktouch kturtle
kwalletmanager kwave marble minuet okular picmi spectacle yakuake
;
### LIBRARIES
@ -18968,8 +18992,6 @@ in
brise = callPackage ../data/misc/brise { };
inherit (kdeFrameworks) breeze-icons;
cacert = callPackage ../data/misc/cacert { };
caladea = callPackage ../data/fonts/caladea {};
@ -19135,7 +19157,9 @@ in
fira-mono = callPackage ../data/fonts/fira-mono { };
flat-remix-icon-theme = callPackage ../data/icons/flat-remix-icon-theme { };
flat-remix-icon-theme = callPackage ../data/icons/flat-remix-icon-theme {
inherit (kdeFrameworks) breeze-icons;
};
font-awesome_4 = (callPackage ../data/fonts/font-awesome-5 { }).v4;
font-awesome_5 = (callPackage ../data/fonts/font-awesome-5 { }).v5;
@ -19294,7 +19318,9 @@ in
luculent = callPackage ../data/fonts/luculent { };
luna-icons = callPackage ../data/icons/luna-icons { };
luna-icons = callPackage ../data/icons/luna-icons {
inherit (kdeFrameworks) breeze-icons;
};
maia-icon-theme = callPackage ../data/icons/maia-icon-theme { };
@ -19415,15 +19441,17 @@ in
oxygenfonts = callPackage ../data/fonts/oxygenfonts { };
inherit (kdeFrameworks) oxygen-icons5;
paper-gtk-theme = callPackage ../data/themes/paper-gtk { };
paper-icon-theme = callPackage ../data/icons/paper-icon-theme { };
papirus-icon-theme = callPackage ../data/icons/papirus-icon-theme { };
papirus-icon-theme = callPackage ../data/icons/papirus-icon-theme {
inherit (kdeFrameworks) breeze-icons;
};
papirus-maia-icon-theme = callPackage ../data/icons/papirus-maia-icon-theme { };
papirus-maia-icon-theme = callPackage ../data/icons/papirus-maia-icon-theme {
inherit (kdeFrameworks) breeze-icons;
};
papis = with python3Packages; toPythonApplication papis;
@ -19453,7 +19481,9 @@ in
pop-gtk-theme = callPackage ../data/themes/pop-gtk { };
pop-icon-theme = callPackage ../data/icons/pop-icon-theme { };
pop-icon-theme = callPackage ../data/icons/pop-icon-theme {
inherit (kdeFrameworks) breeze-icons;
};
posix_man_pages = callPackage ../data/documentation/man-pages-posix { };
@ -19733,7 +19763,9 @@ in
yaru-theme = callPackage ../data/themes/yaru {};
zafiro-icons = callPackage ../data/icons/zafiro-icons { };
zafiro-icons = callPackage ../data/icons/zafiro-icons {
inherit (kdeFrameworks) breeze-icons;
};
zeal = libsForQt514.callPackage ../data/documentation/zeal { };
@ -20114,9 +20146,12 @@ in
calibre = calibre-py3;
calligra = libsForQt514.callPackage ../applications/office/calligra {
inherit (kdeApplications) akonadi-calendar akonadi-contacts;
openjpeg = openjpeg_1;
poppler = poppler_0_61;
poppler = poppler_0_61.override {
qt5Support = true;
# Must be using the same qt version as calligra itself.
qtbase = qt514.qtbase;
};
};
perkeep = callPackage ../applications/misc/perkeep { };
@ -21699,38 +21734,6 @@ in
in
recurseIntoAttrs (makeOverridable mkApplications attrs);
inherit (kdeApplications)
akonadi akregator ark
bomber bovo
dolphin dragon
elisa
ffmpegthumbs filelight
granatier gwenview
k3b
kaddressbook kalzium kapptemplate kapman kate katomic
kblackbox kblocks kbounce
kcachegrind kcalc kcharselect kcolorchooser
kdeconnect-kde kdenlive kdf kdialog kdiamond
keditbookmarks
kfind kfloppy
kget kgpg
khelpcenter
kig kigo killbots kitinerary
kleopatra klettres klines
kmag kmail kmines kmix kmplot
knavalbattle knetwalk knights
kollision kolourpaint kompare konsole kontact korganizer
kpkpass
krdc kreversi krfb
kshisen ksquares ksystemlog
kteatime ktimer ktouch kturtle
kwalletmanager kwave
marble minuet
okular
picmi
spectacle
yakuake;
okteta = libsForQt5.callPackage ../applications/editors/okteta { };
k4dirstat = libsForQt5.callPackage ../applications/misc/k4dirstat { };
@ -21787,10 +21790,7 @@ in
kmplayer = libsForQt5.callPackage ../applications/video/kmplayer { };
kmymoney = libsForQt5.callPackage ../applications/office/kmymoney {
inherit (kdeApplications) kidentitymanagement;
inherit (kdeFrameworks) kdewebkit;
};
kmymoney = libsForQt5.callPackage ../applications/office/kmymoney { };
kodestudio = callPackage ../applications/editors/kodestudio { };
@ -23867,9 +23867,7 @@ in
tribler = callPackage ../applications/networking/p2p/tribler { };
trojita = libsForQt514.callPackage ../applications/networking/mailreaders/trojita {
inherit (kdeApplications) akonadi-contacts;
};
trojita = libsForQt514.callPackage ../applications/networking/mailreaders/trojita { };
tudu = callPackage ../applications/office/tudu { };
@ -24686,8 +24684,6 @@ in
zam-plugins = callPackage ../applications/audio/zam-plugins { };
zanshin = libsForQt514.callPackage ../applications/office/zanshin {
inherit (kdeApplications) akonadi-calendar akonadi-notes akonadi-search kidentitymanagement kontactinterface kldap;
inherit (kdeFrameworks) krunner kwallet kcalendarcore;
boost = boost160;
};
@ -25029,9 +25025,6 @@ in
dhewm3 = callPackage ../games/dhewm3 {};
digikam = libsForQt514.callPackage ../applications/graphics/digikam {
inherit (plasma5) oxygen;
inherit (kdeApplications) akonadi-contacts;
inherit (kdeFrameworks) kcalendarcore;
opencv3 = opencv3WithoutCuda;
};
@ -25953,25 +25946,6 @@ in
in
recurseIntoAttrs (makeOverridable mkPlasma5 attrs);
inherit (kdeFrameworks) kded kinit frameworkintegration;
inherit (plasma5)
bluedevil breeze-gtk breeze-qt5 breeze-grub breeze-plymouth discover
kactivitymanagerd kde-cli-tools kde-gtk-config kdeplasma-addons kgamma5
kinfocenter kmenuedit kscreen kscreenlocker ksshaskpass ksysguard
kwallet-pam kwayland-integration kwin kwrited milou oxygen plasma-browser-integration
plasma-desktop plasma-integration plasma-nm plasma-pa plasma-vault plasma-workspace
plasma-workspace-wallpapers polkit-kde-agent powerdevil sddm-kcm
systemsettings user-manager xdg-desktop-portal-kde;
inherit (plasma5.thirdParty)
plasma-applet-caffeine-plus
kwin-dynamic-workspaces
kwin-tiling
krohnkite;
### SCIENCE
### SCIENCE/CHEMISTY
avogadro = callPackage ../applications/science/chemistry/avogadro {