at 18.03-beta 188 lines 6.9 kB view raw
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 srcs = import ./srcs.nix { 32 inherit fetchurl; 33 mirror = "mirror://kde"; 34 }; 35 36 mkDerivation = libsForQt5.callPackage ({ mkDerivation }: mkDerivation) {}; 37 38 packages = self: with self; 39 # SUPPORT 40 let 41 42 propagate = out: 43 let setupHook = { writeScript }: 44 writeScript "setup-hook" '' 45 if [ "$hookName" != postHook ]; then 46 postHooks+=("source @dev@/nix-support/setup-hook") 47 else 48 # Propagate $${out} output 49 propagatedUserEnvPkgs="$propagatedUserEnvPkgs @${out}@" 50 51 if [ -z "$outputDev" ]; then 52 echo "error: \$outputDev is unset!" >&2 53 exit 1 54 fi 55 56 # Propagate $dev so that this setup hook is propagated 57 # But only if there is a separate $dev output 58 if [ "$outputDev" != out ]; then 59 propagatedBuildInputs="$propagatedBuildInputs @dev@" 60 fi 61 fi 62 ''; 63 in callPackage setupHook {}; 64 65 propagateBin = propagate "bin"; 66 67 callPackage = self.newScope { 68 69 inherit propagate propagateBin; 70 71 mkDerivation = args: 72 let 73 74 inherit (args) name; 75 inherit (srcs."${name}") src version; 76 77 outputs = args.outputs or [ "bin" "dev" "out" ]; 78 hasBin = lib.elem "bin" outputs; 79 hasDev = lib.elem "dev" outputs; 80 81 defaultSetupHook = if hasBin && hasDev then propagateBin else null; 82 setupHook = args.setupHook or defaultSetupHook; 83 84 meta = { 85 homepage = http://www.kde.org; 86 license = with lib.licenses; [ 87 lgpl21Plus lgpl3Plus bsd2 mit gpl2Plus gpl3Plus fdl12 88 ]; 89 maintainers = [ lib.maintainers.ttuegel ]; 90 platforms = lib.platforms.linux; 91 } // (args.meta or {}); 92 93 in mkDerivation (args // { 94 name = "${name}-${version}"; 95 inherit meta outputs setupHook src; 96 }); 97 98 }; 99 100 in { 101 extra-cmake-modules = callPackage ./extra-cmake-modules {}; 102 103 # TIER 1 104 attica = callPackage ./attica.nix {}; 105 bluez-qt = callPackage ./bluez-qt.nix {}; 106 breeze-icons = callPackage ./breeze-icons.nix {}; 107 kapidox = callPackage ./kapidox.nix {}; 108 karchive = callPackage ./karchive.nix {}; 109 kcodecs = callPackage ./kcodecs.nix {}; 110 kconfig = callPackage ./kconfig.nix {}; 111 kcoreaddons = callPackage ./kcoreaddons.nix {}; 112 kdbusaddons = callPackage ./kdbusaddons.nix {}; 113 kdnssd = callPackage ./kdnssd.nix {}; 114 kguiaddons = callPackage ./kguiaddons.nix {}; 115 ki18n = callPackage ./ki18n.nix {}; 116 kidletime = callPackage ./kidletime.nix {}; 117 kitemmodels = callPackage ./kitemmodels.nix {}; 118 kitemviews = callPackage ./kitemviews.nix {}; 119 kplotting = callPackage ./kplotting.nix {}; 120 kwayland = callPackage ./kwayland.nix {}; 121 kwidgetsaddons = callPackage ./kwidgetsaddons.nix {}; 122 kwindowsystem = callPackage ./kwindowsystem {}; 123 modemmanager-qt = callPackage ./modemmanager-qt.nix {}; 124 networkmanager-qt = callPackage ./networkmanager-qt.nix {}; 125 oxygen-icons5 = callPackage ./oxygen-icons5.nix {}; 126 prison = callPackage ./prison.nix {}; 127 solid = callPackage ./solid.nix {}; 128 sonnet = callPackage ./sonnet.nix {}; 129 syntax-highlighting = callPackage ./syntax-highlighting.nix {}; 130 threadweaver = callPackage ./threadweaver.nix {}; 131 kirigami2 = callPackage ./kirigami2.nix {}; 132 133 # TIER 2 134 kactivities = callPackage ./kactivities.nix {}; 135 kactivities-stats = callPackage ./kactivities-stats.nix {}; 136 kauth = callPackage ./kauth {}; 137 kcompletion = callPackage ./kcompletion.nix {}; 138 kcrash = callPackage ./kcrash.nix {}; 139 kdoctools = callPackage ./kdoctools {}; 140 kfilemetadata = callPackage ./kfilemetadata {}; 141 kimageformats = callPackage ./kimageformats.nix {}; 142 kjobwidgets = callPackage ./kjobwidgets.nix {}; 143 knotifications = callPackage ./knotifications.nix {}; 144 kpackage = callPackage ./kpackage {}; 145 kpty = callPackage ./kpty.nix {}; 146 kunitconversion = callPackage ./kunitconversion.nix {}; 147 148 # TIER 3 149 baloo = callPackage ./baloo.nix {}; 150 kbookmarks = callPackage ./kbookmarks.nix {}; 151 kcmutils = callPackage ./kcmutils {}; 152 kconfigwidgets = callPackage ./kconfigwidgets {}; 153 kdeclarative = callPackage ./kdeclarative.nix {}; 154 kded = callPackage ./kded.nix {}; 155 kdesignerplugin = callPackage ./kdesignerplugin.nix {}; 156 kdesu = callPackage ./kdesu.nix {}; 157 kemoticons = callPackage ./kemoticons.nix {}; 158 kglobalaccel = callPackage ./kglobalaccel.nix {}; 159 kiconthemes = callPackage ./kiconthemes {}; 160 kinit = callPackage ./kinit {}; 161 kio = callPackage ./kio {}; 162 knewstuff = callPackage ./knewstuff.nix {}; 163 knotifyconfig = callPackage ./knotifyconfig.nix {}; 164 kparts = callPackage ./kparts.nix {}; 165 kpeople = callPackage ./kpeople.nix {}; 166 krunner = callPackage ./krunner.nix {}; 167 kservice = callPackage ./kservice {}; 168 ktexteditor = callPackage ./ktexteditor.nix {}; 169 ktextwidgets = callPackage ./ktextwidgets.nix {}; 170 kwallet = callPackage ./kwallet.nix {}; 171 kxmlgui = callPackage ./kxmlgui.nix {}; 172 kxmlrpcclient = callPackage ./kxmlrpcclient.nix {}; 173 plasma-framework = callPackage ./plasma-framework.nix {}; 174 175 # TIER 4 176 frameworkintegration = callPackage ./frameworkintegration.nix {}; 177 178 # PORTING AIDS 179 kdelibs4support = callPackage ./kdelibs4support {}; 180 khtml = callPackage ./khtml.nix {}; 181 kjs = callPackage ./kjs.nix {}; 182 kjsembed = callPackage ./kjsembed.nix {}; 183 kmediaplayer = callPackage ./kmediaplayer.nix {}; 184 kross = callPackage ./kross.nix {}; 185 186 }; 187 188in lib.makeScope libsForQt5.newScope packages