nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at 22.05-pre 196 lines 7.3 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 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