python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / development / libraries / kde-frameworks / default.nix
blob2014b00b1e5474e0fcfa9006cf90f7f895fe242f
1 /*
3 # New packages
5 READ THIS FIRST
7 This module is for official packages in KDE Frameworks 5. All available packages
8 are listed in `./srcs.nix`, although a few are not yet packaged in Nixpkgs (see
9 below).
11 IF YOUR PACKAGE IS NOT LISTED IN `./srcs.nix`, IT DOES NOT GO HERE.
13 Many of the packages released upstream are not yet built in Nixpkgs due to lack
14 of demand. To add a Nixpkgs build for an upstream package, copy one of the
15 existing packages here and modify it as necessary.
17 # Updates
19 1. Update the URL in `./fetch.sh`.
20 2. Run `./maintainers/scripts/fetch-kde-qt.sh pkgs/development/libraries/kde-frameworks`
21    from the top of the Nixpkgs tree.
22 3. Use `nox-review wip` to check that everything builds.
23 4. Commit the changes and open a pull request.
27 { libsForQt5, lib, fetchurl }:
29 let
31   minQtVersion = "5.15";
32   broken = lib.versionOlder libsForQt5.qtbase.version minQtVersion;
33   maintainers = with lib.maintainers; [ ttuegel nyanloutre ];
34   license = with lib.licenses; [
35     lgpl21Plus lgpl3Plus bsd2 mit gpl2Plus gpl3Plus fdl12Plus
36   ];
38   srcs = import ./srcs.nix {
39     inherit fetchurl;
40     mirror = "mirror://kde";
41   };
43   mkDerivation = libsForQt5.callPackage ({ stdenv, mkDerivation ? stdenv.mkDerivation }: mkDerivation) {};
45   packages = self: with self;
46     # SUPPORT
47     let
49       propagate = out:
50         let setupHook = { writeScript }:
51               writeScript "setup-hook" ''
52                 if [ "''${hookName:-}" != postHook ]; then
53                     postHooks+=("source @dev@/nix-support/setup-hook")
54                 else
55                     # Propagate $dev so that this setup hook is propagated
56                     # But only if there is a separate $dev output
57                     if [ "''${outputDev:?}" != out ]; then
58                         propagatedBuildInputs="''${propagatedBuildInputs-} @dev@"
59                     fi
60                 fi
61               '';
62         in callPackage setupHook {};
64       propagateBin = propagate "bin";
66       callPackage = self.newScope {
68         inherit propagate propagateBin;
70         mkDerivation = args:
71           let
73             inherit (args) pname;
74             inherit (srcs.${pname}) src version;
76             outputs = args.outputs or [ "bin" "dev" "out" ];
77             hasSeparateDev = lib.elem "dev" outputs;
79             defaultSetupHook = if hasSeparateDev then propagateBin else null;
80             setupHook = args.setupHook or defaultSetupHook;
82             meta =
83               let meta = args.meta or {}; in
84               meta // {
85                 homepage = meta.homepage or "https://kde.org";
86                 license = meta.license or license;
87                 maintainers = (meta.maintainers or []) ++ maintainers;
88                 platforms = meta.platforms or lib.platforms.linux;
89                 broken = meta.broken or broken;
90               };
92           in mkDerivation (args // {
93             inherit pname meta outputs setupHook src version;
94           });
96       };
98     in {
99       extra-cmake-modules = callPackage ./extra-cmake-modules {};
101     # TIER 1
102       attica = callPackage ./attica.nix {};
103       bluez-qt = callPackage ./bluez-qt.nix {};
104       breeze-icons = callPackage ./breeze-icons.nix {};
105       kapidox = callPackage ./kapidox.nix {};
106       karchive = callPackage ./karchive.nix {};
107       kcalendarcore = callPackage ./kcalendarcore.nix {};
108       kcodecs = callPackage ./kcodecs.nix {};
109       kconfig = callPackage ./kconfig.nix {};
110       kcontacts = callPackage ./kcontacts.nix {};
111       kcoreaddons = callPackage ./kcoreaddons.nix {};
112       kdbusaddons = callPackage ./kdbusaddons.nix {};
113       kdnssd = callPackage ./kdnssd.nix {};
114       kguiaddons = callPackage ./kguiaddons.nix {};
115       kholidays = callPackage ./kholidays.nix {};
116       ki18n = callPackage ./ki18n.nix {};
117       kidletime = callPackage ./kidletime.nix {};
118       kirigami2 = callPackage ./kirigami2.nix {};
119       kitemmodels = callPackage ./kitemmodels.nix {};
120       kitemviews = callPackage ./kitemviews.nix {};
121       kplotting = callPackage ./kplotting.nix {};
122       kquickcharts = callPackage ./kquickcharts.nix {};
123       kwayland = callPackage ./kwayland.nix {};
124       kwidgetsaddons = callPackage ./kwidgetsaddons.nix {};
125       kwindowsystem = callPackage ./kwindowsystem {};
126       modemmanager-qt = callPackage ./modemmanager-qt.nix {};
127       networkmanager-qt = callPackage ./networkmanager-qt.nix {};
128       oxygen-icons5 = callPackage ./oxygen-icons5.nix {};
129       prison = callPackage ./prison.nix {};
130       qqc2-desktop-style = callPackage ./qqc2-desktop-style.nix {};
131       solid = callPackage ./solid.nix {};
132       sonnet = callPackage ./sonnet.nix {};
133       syntax-highlighting = callPackage ./syntax-highlighting.nix {};
134       threadweaver = callPackage ./threadweaver.nix {};
136     # TIER 2
137       kactivities = callPackage ./kactivities.nix {};
138       kactivities-stats = callPackage ./kactivities-stats.nix {};
139       kauth = callPackage ./kauth {};
140       kcompletion = callPackage ./kcompletion.nix {};
141       kcrash = callPackage ./kcrash.nix {};
142       kdoctools = callPackage ./kdoctools {};
143       kfilemetadata = callPackage ./kfilemetadata {};
144       kimageformats = callPackage ./kimageformats.nix {};
145       kjobwidgets = callPackage ./kjobwidgets.nix {};
146       knotifications = callPackage ./knotifications.nix {};
147       kpackage = callPackage ./kpackage {};
148       kpty = callPackage ./kpty.nix {};
149       kunitconversion = callPackage ./kunitconversion.nix {};
150       syndication = callPackage ./syndication.nix {};
152     # TIER 3
153       baloo = callPackage ./baloo.nix {};
154       kbookmarks = callPackage ./kbookmarks.nix {};
155       kcmutils = callPackage ./kcmutils.nix {};
156       kconfigwidgets = callPackage ./kconfigwidgets.nix {};
157       kdav = callPackage ./kdav.nix {};
158       kdeclarative = callPackage ./kdeclarative.nix {};
159       kded = callPackage ./kded.nix {};
160       kdesignerplugin = callPackage ./kdesignerplugin.nix {};
161       kdesu = callPackage ./kdesu {};
162       kdewebkit = callPackage ./kdewebkit.nix {};
163       kemoticons = callPackage ./kemoticons.nix {};
164       kglobalaccel = callPackage ./kglobalaccel.nix {};
165       kiconthemes = callPackage ./kiconthemes {};
166       kinit = callPackage ./kinit {};
167       kio = callPackage ./kio {};
168       knewstuff = callPackage ./knewstuff {};
169       knotifyconfig = callPackage ./knotifyconfig.nix {};
170       kparts = callPackage ./kparts.nix {};
171       kpeople = callPackage ./kpeople.nix {};
172       krunner = callPackage ./krunner.nix {};
173       kservice = callPackage ./kservice {};
174       ktexteditor = callPackage ./ktexteditor.nix {};
175       ktextwidgets = callPackage ./ktextwidgets.nix {};
176       kwallet = callPackage ./kwallet.nix {};
177       kxmlgui = callPackage ./kxmlgui.nix {};
178       kxmlrpcclient = callPackage ./kxmlrpcclient.nix {};
179       plasma-framework = callPackage ./plasma-framework.nix {};
180       kpurpose = callPackage ./purpose.nix {};
182     # TIER 4
183       frameworkintegration = callPackage ./frameworkintegration.nix {};
185     # PORTING AIDS
186       kdelibs4support = callPackage ./kdelibs4support {};
187       khtml = callPackage ./khtml.nix {};
188       kjs = callPackage ./kjs.nix {};
189       kjsembed = callPackage ./kjsembed.nix {};
190       kmediaplayer = callPackage ./kmediaplayer.nix {};
191       kross = callPackage ./kross.nix {};
193     };
195 in lib.makeScope libsForQt5.newScope packages