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