nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1/*
2
3# New packages
4
5READ THIS FIRST
6
7This module is for official packages in KDE Frameworks 5. All available packages
8are listed in `./srcs.nix`, although a few are not yet packaged in Nixpkgs (see
9below).
10
11IF YOUR PACKAGE IS NOT LISTED IN `./srcs.nix`, IT DOES NOT GO HERE.
12
13Many of the packages released upstream are not yet built in Nixpkgs due to lack
14of demand. To add a Nixpkgs build for an upstream package, copy one of the
15existing packages here and modify it as necessary.
16
17# Updates
18
191. Update the URL in `./fetch.sh`.
202. Run `./maintainers/scripts/fetch-kde-qt.sh pkgs/development/libraries/kde-frameworks`
21 from the top of the Nixpkgs tree.
223. Use `nox-review wip` to check that everything builds.
234. Commit the changes and open a pull request.
24
25*/
26
27{ libsForQt5, lib, fetchurl }:
28
29let
30
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 fdl12
36 ];
37
38 srcs = import ./srcs.nix {
39 inherit fetchurl;
40 mirror = "mirror://kde";
41 };
42
43 mkDerivation = libsForQt5.callPackage ({ mkDerivation }: mkDerivation) {};
44
45 packages = self: with self;
46 # SUPPORT
47 let
48
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 {};
63
64 propagateBin = propagate "bin";
65
66 callPackage = self.newScope {
67
68 inherit propagate propagateBin;
69
70 mkDerivation = args:
71 let
72
73 inherit (args) name;
74 inherit (srcs.${name}) src version;
75
76 outputs = args.outputs or [ "bin" "dev" "out" ];
77 hasSeparateDev = lib.elem "dev" outputs;
78
79 defaultSetupHook = if hasSeparateDev then propagateBin else null;
80 setupHook = args.setupHook or defaultSetupHook;
81
82 meta =
83 let meta = args.meta or {}; in
84 meta // {
85 homepage = meta.homepage or "http://www.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 };
91
92 in mkDerivation (args // {
93 name = "${name}-${version}";
94 inherit meta outputs setupHook src version;
95 });
96
97 };
98
99 in {
100 extra-cmake-modules = callPackage ./extra-cmake-modules {};
101
102 # TIER 1
103 attica = callPackage ./attica.nix {};
104 bluez-qt = callPackage ./bluez-qt.nix {};
105 breeze-icons = callPackage ./breeze-icons.nix {};
106 kapidox = callPackage ./kapidox.nix {};
107 karchive = callPackage ./karchive.nix {};
108 kcalendarcore = callPackage ./kcalendarcore.nix {};
109 kcodecs = callPackage ./kcodecs.nix {};
110 kconfig = callPackage ./kconfig.nix {};
111 kcontacts = callPackage ./kcontacts.nix {};
112 kcoreaddons = callPackage ./kcoreaddons.nix {};
113 kdbusaddons = callPackage ./kdbusaddons.nix {};
114 kdnssd = callPackage ./kdnssd.nix {};
115 kguiaddons = callPackage ./kguiaddons.nix {};
116 kholidays = callPackage ./kholidays.nix {};
117 ki18n = callPackage ./ki18n.nix {};
118 kidletime = callPackage ./kidletime.nix {};
119 kirigami2 = callPackage ./kirigami2.nix {};
120 kitemmodels = callPackage ./kitemmodels.nix {};
121 kitemviews = callPackage ./kitemviews.nix {};
122 kplotting = callPackage ./kplotting.nix {};
123 kquickcharts = callPackage ./kquickcharts.nix {};
124 kwayland = callPackage ./kwayland.nix {};
125 kwidgetsaddons = callPackage ./kwidgetsaddons.nix {};
126 kwindowsystem = callPackage ./kwindowsystem {};
127 modemmanager-qt = callPackage ./modemmanager-qt.nix {};
128 networkmanager-qt = callPackage ./networkmanager-qt.nix {};
129 oxygen-icons5 = callPackage ./oxygen-icons5.nix {};
130 prison = callPackage ./prison.nix {};
131 qqc2-desktop-style = callPackage ./qqc2-desktop-style.nix {};
132 solid = callPackage ./solid.nix {};
133 sonnet = callPackage ./sonnet.nix {};
134 syntax-highlighting = callPackage ./syntax-highlighting.nix {};
135 threadweaver = callPackage ./threadweaver.nix {};
136
137 # TIER 2
138 kactivities = callPackage ./kactivities.nix {};
139 kactivities-stats = callPackage ./kactivities-stats.nix {};
140 kauth = callPackage ./kauth {};
141 kcompletion = callPackage ./kcompletion.nix {};
142 kcrash = callPackage ./kcrash.nix {};
143 kdoctools = callPackage ./kdoctools {};
144 kfilemetadata = callPackage ./kfilemetadata {};
145 kimageformats = callPackage ./kimageformats.nix {};
146 kjobwidgets = callPackage ./kjobwidgets.nix {};
147 knotifications = callPackage ./knotifications.nix {};
148 kpackage = callPackage ./kpackage {};
149 kpty = callPackage ./kpty.nix {};
150 kunitconversion = callPackage ./kunitconversion.nix {};
151 syndication = callPackage ./syndication.nix {};
152
153 # TIER 3
154 baloo = callPackage ./baloo.nix {};
155 kbookmarks = callPackage ./kbookmarks.nix {};
156 kcmutils = callPackage ./kcmutils {};
157 kconfigwidgets = callPackage ./kconfigwidgets {};
158 kdav = callPackage ./kdav.nix {};
159 kdeclarative = callPackage ./kdeclarative.nix {};
160 kded = callPackage ./kded.nix {};
161 kdesignerplugin = callPackage ./kdesignerplugin.nix {};
162 kdesu = callPackage ./kdesu {};
163 kdewebkit = callPackage ./kdewebkit.nix {};
164 kemoticons = callPackage ./kemoticons.nix {};
165 kglobalaccel = callPackage ./kglobalaccel.nix {};
166 kiconthemes = callPackage ./kiconthemes {};
167 kinit = callPackage ./kinit {};
168 kio = callPackage ./kio {};
169 knewstuff = callPackage ./knewstuff {};
170 knotifyconfig = callPackage ./knotifyconfig.nix {};
171 kparts = callPackage ./kparts.nix {};
172 kpeople = callPackage ./kpeople.nix {};
173 krunner = callPackage ./krunner.nix {};
174 kservice = callPackage ./kservice {};
175 ktexteditor = callPackage ./ktexteditor.nix {};
176 ktextwidgets = callPackage ./ktextwidgets.nix {};
177 kwallet = callPackage ./kwallet.nix {};
178 kxmlgui = callPackage ./kxmlgui.nix {};
179 kxmlrpcclient = callPackage ./kxmlrpcclient.nix {};
180 plasma-framework = callPackage ./plasma-framework.nix {};
181 kpurpose = callPackage ./purpose.nix {};
182
183 # TIER 4
184 frameworkintegration = callPackage ./frameworkintegration.nix {};
185
186 # PORTING AIDS
187 kdelibs4support = callPackage ./kdelibs4support {};
188 khtml = callPackage ./khtml.nix {};
189 kjs = callPackage ./kjs.nix {};
190 kjsembed = callPackage ./kjsembed.nix {};
191 kmediaplayer = callPackage ./kmediaplayer.nix {};
192 kross = callPackage ./kross.nix {};
193
194 };
195
196in lib.makeScope libsForQt5.newScope packages