merge #4265: add KDE 4.14.1

This commit is contained in:
Vladimír Čunát 2014-09-27 18:15:00 +02:00
commit 4bcae6dc96
199 changed files with 3683 additions and 2 deletions

@ -18,7 +18,7 @@ in
# determines the default: later modules (if enabled) are preferred.
# E.g., if KDE is enabled, it supersedes xterm.
imports = [
./none.nix ./xterm.nix ./xfce.nix ./kde4.nix
./none.nix ./xterm.nix ./xfce.nix ./kde4.nix ./kde4_next.nix
./e17.nix ./e18.nix ./e19.nix ./gnome3.nix ./xbmc.nix
];

@ -0,0 +1,163 @@
{ config, lib, pkgs, ... }:
with lib;
let
xcfg = config.services.xserver;
cfg = xcfg.desktopManager.kde4_next;
xorg = pkgs.xorg;
kde = pkgs.kde4_next;
# Disable Nepomuk and Strigi by default. As of KDE 4.7, they don't
# really work very well (e.g. searching files often fails to find
# files), segfault sometimes and consume significant resources.
# They can be re-enabled in the KDE System Settings under "Desktop
# Search".
nepomukConfig = pkgs.writeTextFile
{ name = "nepomuk-config";
destination = "/share/config/nepomukserverrc";
text =
''
[Basic Settings]
Start Nepomuk=false
[Service-nepomukstrigiservice]
autostart=false
'';
};
phononBackends = {
gstreamer = [
pkgs.phonon_backend_gstreamer
pkgs.gst_all.gstPluginsBase
pkgs.gst_all.gstPluginsGood
pkgs.gst_all.gstPluginsUgly
pkgs.gst_all.gstPluginsBad
pkgs.gst_all.gstFfmpeg # for mp3 playback
pkgs.gst_all.gstreamer # needed?
];
vlc = [pkgs.phonon_backend_vlc];
};
phononBackendPackages = flip concatMap cfg.phononBackends
(name: attrByPath [name] (throw "unknown phonon backend `${name}'") phononBackends);
in
{
options = {
services.xserver.desktopManager.kde4_next = {
enable = mkOption {
type = types.bool;
default = false;
description = "Enable the KDE 4 desktop environment.";
};
phononBackends = mkOption {
type = types.listOf types.str;
default = ["gstreamer"];
example = ["gstreamer" "vlc"];
description = "Which phonon multimedia backend kde should use";
};
};
};
config = mkIf (xcfg.enable && cfg.enable) {
# If KDE 4 is enabled, make it the default desktop manager (unless
# overridden by the user's configuration).
# !!! doesn't work yet ("Multiple definitions. Only one is allowed
# for this option.")
# services.xserver.desktopManager.default = mkOverride 900 "kde4";
services.xserver.desktopManager.session = singleton
{ name = "kde4_next";
bgSupport = true;
start =
''
# The KDE icon cache is supposed to update itself
# automatically, but it uses the timestamp on the icon
# theme directory as a trigger. Since in Nix the
# timestamp is always the same, this doesn't work. So as
# a workaround, nuke the icon cache on login. This isn't
# perfect, since it may require logging out after
# installing new applications to update the cache.
# See http://lists-archives.org/kde-devel/26175-what-when-will-icon-cache-refresh.html
rm -fv $HOME/.kde/cache-*/icon-cache.kcache
# Qt writes a weird libraryPath line to
# ~/.config/Trolltech.conf that causes the KDE plugin
# paths of previous KDE invocations to be searched.
# Obviously using mismatching KDE libraries is potentially
# disastrous, so here we nuke references to the Nix store
# in Trolltech.conf. A better solution would be to stop
# Qt from doing this wackiness in the first place.
if [ -e $HOME/.config/Trolltech.conf ]; then
sed -e '/nix\\store\|nix\/store/ d' -i $HOME/.config/Trolltech.conf
fi
# Start KDE.
exec ${kde.kdebase_workspace}/bin/startkde
'';
};
security.setuidOwners = singleton
{ program = "kcheckpass";
source = "${kde.kdebase_workspace}/lib/kde4/libexec/kcheckpass";
owner = "root";
group = "root";
setuid = true;
};
environment.systemPackages =
[ kde.kdelibs
kde.kde_baseapps # Splitted kdebase
kde.kde_workspace
kde.kde_runtime
kde.konsole
kde.kate
kde.kde_wallpapers # contains kdm's default background
kde.oxygen_icons
pkgs.virtuoso # to enable Nepomuk to find Virtuoso
# Starts KDE's Polkit authentication agent.
kde.polkit_kde_agent
# Miscellaneous runtime dependencies.
kde.qt4 # needed for qdbus
pkgs.shared_mime_info
xorg.xmessage # so that startkde can show error messages
xorg.xset # used by startkde, non-essential
xorg.xauth # used by kdesu
pkgs.shared_desktop_ontologies # used by nepomuk
pkgs.strigi # used by nepomuk
pkgs.mysql # used by akonadi
]
++ lib.optional config.hardware.pulseaudio.enable kde.kmix # Perhaps this should always be enabled
++ lib.optional config.hardware.bluetooth.enable kde.bluedevil
++ lib.optional config.networking.networkmanager.enable kde.networkmanagement
++ [ nepomukConfig ] ++ phononBackendPackages;
environment.pathsToLink = [ "/share" ];
environment.etc = singleton
{ source = "${pkgs.xkeyboard_config}/etc/X11/xkb";
target = "X11/xkb";
};
# Enable helpful DBus services.
services.udisks2.enable = true;
services.upower.enable = config.powerManagement.enable;
security.pam.services.kde = { allowNullPassword = true; };
};
}

@ -0,0 +1,11 @@
{ stdenv, kde, kdelibs, kactivities, qjson, pyqt4, sip, python, pykde4}:
kde {
buildInputs = [ kdelibs kactivities qjson pyqt4 sip python pykde4 ];
meta = {
description = "Kate, the KDE Advanced Text Editor, as well as KWrite";
license = stdenv.lib.licenses.gpl2;
};
}

@ -0,0 +1,11 @@
{ stdenv, kde, kdelibs, kde_baseapps }:
kde {
buildInputs = [ kdelibs kde_baseapps ];
meta = {
description = "Konsole, the KDE terminal emulator";
license = stdenv.lib.licenses.gpl2;
};
}

@ -0,0 +1,44 @@
{ callPackage, callPackageOrig, stdenv, qt48, release ? "4.14.1" }:
let
branch = "4.14";
# Need callPackageOrig to avoid infinite cycle
kde = callPackageOrig ./kde-package {
inherit release branch ignoreList extraSubpkgs callPackage;
};
# The list of igored individual modules
ignoreList = {
# Doesn't work yet
kdeutils = [ "ksecrets" ];
# kdeadmin/strigi-analyzer has no real code
kdeadmin = [ "strigi-analyzer" ];
# Most of kdebindings do not compile due to a bug in the buildsystem
kdebindings = [ "kimono" "korundum" "kross-interpreters" "perlkde" "qyoto" ];
};
# Extra subpackages in the manifest format
extraSubpkgs = {};
in
kde.modules // kde.individual //
{
inherit (kde) manifest modules individual splittedModuleList;
akonadi = callPackage ./support/akonadi { };
qt4 = qt48;
kdebase_workspace = kde.modules.kde_workspace;
inherit release;
full = stdenv.lib.attrValues kde.modules;
l10n = callPackage ./l10n {
inherit release branch;
inherit (kde.manifest) stable;
};
}

@ -0,0 +1,17 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3d3e247..f78db67 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,5 +1,10 @@
-find_package(KDE4 REQUIRED)
-include(KDE4Defaults)
+project(kde-wallpapers NONE)
+if( WALLPAPER_INSTALL_DIR )
+ message(STATUS "Installing wallpapers to user-supplied directory ${WALLPAPER_INSTALL_DIR}")
+else()
+ find_package(KDE4 REQUIRED)
+ include(KDE4Defaults)
+endif()
install(DIRECTORY Air DESTINATION ${WALLPAPER_INSTALL_DIR} PATTERN .svn EXCLUDE)

@ -0,0 +1,36 @@
--- a/kdecore/auth/backends/polkit-1/Polkit1Backend.cpp
+++ b/kdecore/auth/backends/polkit-1/Polkit1Backend.cpp
@@ -144,7 +144,7 @@
Action::AuthStatus Polkit1Backend::actionStatus(const QString &action)
{
- PolkitQt1::UnixProcessSubject subject(QCoreApplication::applicationPid());
+ PolkitQt1::SystemBusNameSubject subject(QString::fromUtf8(callerID()));
PolkitQt1::Authority::Result r = PolkitQt1::Authority::instance()->checkAuthorizationSync(action, subject,
PolkitQt1::Authority::None);
switch (r) {
@@ -160,21 +160,12 @@
QByteArray Polkit1Backend::callerID() const
{
- QByteArray a;
- QDataStream s(&a, QIODevice::WriteOnly);
- s << QCoreApplication::applicationPid();
-
- return a;
+ return QDBusConnection::systemBus().baseService().toUtf8();
}
bool Polkit1Backend::isCallerAuthorized(const QString &action, QByteArray callerID)
{
- QDataStream s(&callerID, QIODevice::ReadOnly);
- qint64 pid;
-
- s >> pid;
-
- PolkitQt1::UnixProcessSubject subject(pid);
+ PolkitQt1::SystemBusNameSubject subject(QString::fromUtf8(callerID));
PolkitQt1::Authority *authority = PolkitQt1::Authority::instance();
PolkitResultEventLoop e;

@ -0,0 +1,12 @@
diff -ru -x '*~' kdelibs-4.6.90-orig/kdecore/auth/ConfigureChecks.cmake kdelibs-4.6.90/kdecore/auth/ConfigureChecks.cmake
--- kdelibs-4.6.90-orig/kdecore/auth/ConfigureChecks.cmake 2011-05-20 22:24:54.000000000 +0200
+++ kdelibs-4.6.90/kdecore/auth/ConfigureChecks.cmake 2011-07-12 14:03:00.000000000 +0200
@@ -139,7 +139,7 @@
${CMAKE_INSTALL_PREFIX} _KDE4_AUTH_POLICY_FILES_INSTALL_DIR
${POLKITQT-1_POLICY_FILES_INSTALL_DIR})
- set(KDE4_AUTH_POLICY_FILES_INSTALL_DIR ${_KDE4_AUTH_POLICY_FILES_INSTALL_DIR} CACHE STRING
+ set(KDE4_AUTH_POLICY_FILES_INSTALL_DIR "\${CMAKE_INSTALL_PREFIX}/share/polkit-1/actions" CACHE STRING
"Where policy files generated by KAuth will be installed" FORCE)
elseif(KDE4_AUTH_BACKEND_NAME STREQUAL "FAKE")
set (KAUTH_COMPILING_FAKE_BACKEND TRUE)

@ -0,0 +1,9 @@
{ kde, kdelibs, nepomuk_core }:
kde {
propagatedBuildInputs = [ kdelibs nepomuk_core ];
meta = {
description = "KDE activities library and daemon";
};
}

@ -0,0 +1,14 @@
{ kde, kdelibs }:
kde {
outputHashAlgo = "sha256";
outputHashMode = "recursive";
outputHash = "0mrd3w7rhsj0v92c8rh9zjxyifq7wyvwszksf2gyn53dzd06blk8";
buildInputs = [ kdelibs ];
meta = {
description = "KDE Base artwork";
license = "GPL";
};
}

@ -0,0 +1,11 @@
{ stdenv, kde, kdelibs, htmlTidy, kactivities
, nepomuk_core, nepomuk_widgets, libXt }:
kde {
buildInputs = [ kdelibs nepomuk_core nepomuk_widgets htmlTidy kactivities libXt ];
meta = {
description = "Base KDE applications, including the Dolphin file manager and Konqueror web browser";
license = stdenv.lib.licenses.gpl2;
};
}

@ -0,0 +1,627 @@
{stable=true;
hashes=builtins.listToAttrs[
{name="amor";value="143fhmgbmy7nlhhlbgh4s9ripqiidlx9bfrcrhamhgl11jjdr0mc";}
{name="analitza";value="18w35j4pag0s075d6yykkqg9cwfgx88zv0qgzas58qhzd3kjcijf";}
{name="ark";value="17imd7pfzjd1vfr69499fg51hmymzspax8l64gskmygdwbx7shh8";}
{name="artikulate";value="1gqvwz5amwssgjkldzg9gnixi88i5vdmk3s1bq94i0z3p0y3h88a";}
{name="audiocd-kio";value="02aq2qs01kz79jdi0sqr6hs7y1z8f4lf9mpv687pfv4g82fg2jh7";}
{name="baloo";value="0nvq2j81y75zf0f2p08av8iw7dc84826fsa93l14334ci245lar7";}
{name="baloo-widgets";value="11ma80nsb6x1wfh83k4g5aafwqsz6j9c4xmnbcc8bm57wssd8jxc";}
{name="blinken";value="11mmm12465bfikpzl486pznprj2rgcnxvpr4mniqfdjcijsfwdwd";}
{name="bomber";value="1lkn2nasyynf4kyrard39mckgfq558255ry07r3z7cvn9m8hc08y";}
{name="bovo";value="0sfb24ksh8gg6b7269skmxs72kkgd9cbgz0xs1hvd5y8w9cmz3yl";}
{name="cantor";value="07i5p439b15wl106h7fq2c016cd6jpdi18rz5m9sylaaj87a5d26";}
{name="cervisia";value="0sspkafcbma2vig9r5dl1z70p95nm2y3rfzssng7i6kam6fr4yqd";}
{name="dolphin-plugins";value="0a4pvxz1s44lszy8mqvw8rzilmq3vrjb30y08j0gp7id1xc3lpn0";}
{name="dragon";value="0dnfhmpifcabc9y5w393pg7rw2425kqslh88ljkz4bh6yw767ihd";}
{name="ffmpegthumbs";value="1dmwwx96pp5vnrxk3f4vr08qwjny7ydmkdvzj1hmgsid1s283i6v";}
{name="filelight";value="03gr0ldpkbf2q3nx1w07mhgmilrn8mx0wy81140gd1wjwilk5d7x";}
{name="granatier";value="0dph80h7jj9d0wh67bp9m98i0imrq6dxv11rqylnfzsf70lp2xzs";}
{name="gwenview";value="0mybmdvblf05kif5aa1wc2g1sv30bnkd30kwn0f7s0xiq3kckf38";}
{name="jovie";value="1sgm1v93868sgjdjpfjn3kv7kjpg92lajm91qy1m49w2isg60f4v";}
{name="juk";value="1gqdidzq1bqbjkhf40abpfj2b0fkk4bpi8kb6crk3zfjhsfa7rbq";}
{name="kaccessible";value="002dwar3c965783si4y1q7qpv56s8mqddqz6mbx1qhmzy88br5q1";}
{name="kactivities";value="12l9brpq8mr9hqqmnlz9xfsfr8ry6283b32nfqfx0p3f7w19vjy7";}
{name="kajongg";value="07cpw5k03rg8f54g3a1vx6z5ihfid561yza8qihsmzyjay4v2hya";}
{name="kalgebra";value="132awnbgcr66xfb99mgqcnh7viyrvr7vdqxm9wwgmpa14n7lk56q";}
{name="kalzium";value="03rz0gl5pihs7xnw7i415bla8ck2afqzrb717xsf1lb7ihrsky8d";}
{name="kamera";value="0593gai9ysd6pb5qir5wikj9szj7dj35iy435rikfpc8gwfpnsaj";}
{name="kanagram";value="1s1pq7ldjgarwbf2m49r5pi6w88c1yn38b5d023qhrgjbw2kfbpy";}
{name="kapman";value="1lcm7miqrjjg469h5765gaqrcxzhm5279nps4v2x4vkng3s2pj1a";}
{name="kapptemplate";value="0h0gcc00l0mq5lmac2656xnadz8sp14vbzjq2zsxr5y0m3nmcfg4";}
{name="kate";value="0izgfkd15755g4g0hll0q9nbn21w0a0p0qa5mlxrhxdsik3f580q";}
{name="katomic";value="0f53q39vsk23r8ldikk24f083n52747jrkgd1hvama9amga74hlm";}
{name="kblackbox";value="0wndkaqmfj5c2s64sw8jhjrr6y7mrkmjgmnnadpw8gmkhkml6qzi";}
{name="kblocks";value="0rl2sf1jz3zh790vijazmg88wy1hj7r2pgmql6x2ccbd6pp8j9qw";}
{name="kbounce";value="1mq2xmx3886pgjyb91fk501kwyw6k49zm5qijyi7bw735dfcvqry";}
{name="kbreakout";value="1ba7n2392gxdsz4ijws01pv1w4djirqjbdqidqaknr2rrknfchk3";}
{name="kbruch";value="044p4q5668ng0gbbykmcb7xivx8djijp133ch8vy2gbg38xi81lj";}
{name="kcachegrind";value="12h7s1a5hz9l015qcjzm7w5xzk7v6h66qm7sfww49m6h0w1g41v8";}
{name="kcalc";value="02gkap5phz59h4sflz44f4az3xww97g6bsl8nin3x0skll0nxnlr";}
{name="kcharselect";value="0df30c854blqfzkarlpfxhls04gpi8d3sy9p9b1landaaqbbln9w";}
{name="kcolorchooser";value="1hxlizxk8ljxn9jgn7wn42i1h5zksdgvhiak7sgz1ci5x68622zw";}
{name="kcron";value="0g9yi9xg215n89rmqmkwnd55mv85m9nq6irmxvcmwy0x1cci23rp";}
{name="kdeartwork";value="18f36p9zfz6jgswnc7k45g6ahqd6glqxzp35q6pndk0bp448dg08";}
{name="kde-baseapps";value="0jclvwiwbkcd6l0k39v3hxn0pcj8lfn6g4rynq55ca4h3wwkwmdq";}
{name="kde-base-artwork";value="09gfxr4md2yl9c8alghpxn0hxlz931b7d000zv8hg4nvw00qrnaj";}
{name="kde-dev-scripts";value="12an5jhin26kdvk6kyc477dv00vfvwbg250402vmzx8ngs4crlg8";}
{name="kde-dev-utils";value="17ag4vl3lyvsg7m0chs83wvm67i4k49xhlkw4kvj4xryzbnf11m1";}
{name="kdegraphics-mobipocket";value="15nrzgh49zs73ja21ihd7pi6nzxm4c3zh4s7jjidz369qbafyj4x";}
{name="kdegraphics-strigi-analyzer";value="0wr8rq0mmp7jbj8y5zn2wccna7mv3myspvwlrpkplga0f3mxbnm7";}
{name="kdegraphics-thumbnailers";value="0iw0pslmqdrj94j26lj8sgvx6a8yy3pf6daxc5q4l580l5djq1k2";}
{name="kdelibs";value="0904qa0a8i1nhqcya9r3k6i5b1zyvm18g6a8w0abxm9fd089ps9p";}
{name="kdenetwork-filesharing";value="015rqw7gxapxnh0wxivyii36fg0n0spzsqv1x4qssj8ld8imvagv";}
{name="kdenetwork-strigi-analyzers";value="09m3zr8acwxy912lpdlk9p1daris2yh6fzfj3m76j822223knh83";}
{name="kdepim";value="0f9m59q30w9bdhjlhv3z72b9zrqnrjggafnsq26py8d58hg2lxms";}
{name="kdepimlibs";value="05ki1iacaraiwbabyiwzlr83f6askn4qf440cbsah8dyfm27srgb";}
{name="kdepim-runtime";value="0kc86l2qbb24w3389yrwwh4ww4yvnnj9wygmzm7cm51hbfjvd12p";}
{name="kdeplasma-addons";value="1nlnvj7k205cpkqkrbm0qpcfgc7rpb47xzv3r1z5iil9hz7d5jx6";}
{name="kde-runtime";value="1b6ag633jh519f1ncmmdy8j3ri6k7niblqsjmgk56xv4a9iy4cmg";}
{name="kdesdk-kioslaves";value="0brykgby8mh5laym4iwq7nz8q9slb79kc89jjlh4ci5n496h06v5";}
{name="kdesdk-strigi-analyzers";value="1gpp4pi59cd81kw6d1z26q02vifl0pz7rbk7ipvxmy8n873q42pn";}
{name="kdesdk-thumbnailers";value="0l662gzmm8gx6dcpw23lqnyfv0pdn7dfqqnxnwsnfycw9vd493g9";}
{name="kde-wallpapers";value="1ai36ii25m0yl8g42nidbimf3chsc8gh4rixyl8iqhf50wsghw94";}
{name="kdewebdev";value="1z87fffcnj1b2dimr05p702pcra80f1p1hcz45rf903cxgy6y1bf";}
{name="kde-workspace";value="0bwlz92q8fgdp5n0kc15l7f3642nqr3yrpyykf8zq15pq4daxn09";}
{name="kdf";value="04j3w1h6h2nb6566pb1yifjy2m25mi6dk4mvjxl680mwlqaaj3rz";}
{name="kdiamond";value="1lzx3alcczxx9xb7bvzarypfw6dcgcb6wngxmli2ppb1ghl4pnds";}
{name="kfilemetadata";value="1r4zdx32qsjzszym0riw65nn5rrcjm57a0yawik96fzxrrvrvzkc";}
{name="kfloppy";value="01lar9p26g4b2a6cz83jy9l6bd943jsysv18hr9lyxwm98747axa";}
{name="kfourinline";value="0193nc2g3mcm6m3s732dg6ha5kh6mgdkih0pf0zay9ahfhkrpziw";}
{name="kgamma";value="1fj9xnj3i8i18m5y2jhmclw337akyb8nmajksgwnd573s040zh84";}
{name="kgeography";value="1j1d62lfziz403qhwc41frx737sl25kz060crz60ix3sam7arvkl";}
{name="kget";value="1ndgd960iyvgshmikplr2fqq13zijc6g8rbavqpcs4az8bp2h6zy";}
{name="kgoldrunner";value="05346q4366qrm3idh3dbgi1ddajplbncrwn28vlhxbqkqb8qp51y";}
{name="kgpg";value="1nwrpdczf4wmmwasa5wiggs7cjc8ivr005q77vzj5094ajq457dy";}
{name="khangman";value="1jf10ixqwrn9f9wbhpppw6j3jpcp9ss4g4gairrklmr7v5cp59lr";}
{name="kig";value="07f85rab71kb6fn0zdqx068im3a63l2irqci9dha8cfh805jyl8y";}
{name="kigo";value="0vk2wq9z6xi86plx84agrl2j07jx98y1i9dsvimyvrxah32ykdka";}
{name="killbots";value="15azd5391247h2qn4shv0c4cz5hmr77xcbld2va5357xrbhzirx9";}
{name="kimono";value="0z4g580nn62zsf6rmxcg4z13n9vd9n24s1fzhc4d5kk6niszbjap";}
{name="kiriki";value="0mh7v16haiqkkfiapq8qivmbhyyczsq5sm8kzpddh40814p3sy9w";}
{name="kiten";value="12s7h19ybpm48gha23jkh86a2p71yqb3h93bs4mnkfgidjssvd43";}
{name="kjumpingcube";value="01wffw1s5crv11s3hg54ipwp09i8kgp7wjw038c83jgrvcw52ql5";}
{name="klettres";value="13bayjpny80d4avm77vmhm5f8ma4ckwiz63sximz8hyr6rg5i7fc";}
{name="klickety";value="0cmzzy2nf3zpmpyfsmrmfcklppib7qmg0pbxsm03y7az0qrz03bm";}
{name="klines";value="0k4xi6p4ikp0sb54jbb4rzdbhlwyhf4r117pgmmvb3n2aq6w4n9f";}
{name="kmag";value="1c3z1r0qk69pprivak6lgb4mk491pd17hqb9474fv645nk9jh48h";}
{name="kmahjongg";value="0lfnjzshcm7d91cq6x6s5l2n4p5q6ya4d7c3r94ad2fqpy3425c1";}
{name="kmines";value="1fxb8cwy9wfsijgf36ji4v1c2yaqbnxbppa4c4pld9fi9vnds0w7";}
{name="kmix";value="084prv50nsh7j1db2dd3i4gkfj6wh430azlq60a4j4667ih483l9";}
{name="kmousetool";value="1gr1nvxnapmmw5p9hk35g76rlxs3f5l7wbsfmczlzlxwszfg05lc";}
{name="kmouth";value="0f8s6ikrx069cp8pd3405g2s4czvk0vpv6d48jgvkbxnxfasli1c";}
{name="kmplot";value="1si0dl1m4zabmnrnmih0g5dxfwsws3p626j0kgvrqnd5hlwl6ar6";}
{name="knavalbattle";value="1llrj7d79s2k66qp9cx6zbjs5f69xnvc8gr0yi2jdbycaiq9q9lj";}
{name="knetwalk";value="13gy2pqqfysh69pmx4mcq9nx6qcxmzp08sqvf2b6c6v7f90ic2kx";}
{name="kolf";value="0808js28c4y1wllzs62sw4j02hzspijvl6n7i6vbhim47blvn3yq";}
{name="kollision";value="1mn9agdzw15gkyb27pqg80anbk4a6iv6r1mvn8m2hksfqwv8c1mf";}
{name="kolourpaint";value="0nj4a8sjyip0nmq3xkba00qigmg9z6bfck5gfb53sm5z6mdrdvd6";}
{name="kompare";value="13123ylhm1r5kkc5q9dzc3n03nxa89vfy1nrffa501awhyhb6qvl";}
{name="konquest";value="1m06chqvanlqklymdrl78hyqi9wzlkmnzbq3sg920jzqjvac8yq1";}
{name="konsole";value="1j5z5ma7mljis1s6rfpcli02vbnmrdhs8zr1gm2rgpyii9k3xykn";}
{name="kopete";value="1s87ln4qjdx4k1313r87glzmazah85siv0nddzndvz50330gnqrv";}
{name="korundum";value="1a7nwi8lk1n3r5m7qsfkzb4dgj37ff7i5il3i6fabmkmbwmikm82";}
{name="kpat";value="1lb5arhhx4zz6zrcag2kmsa7hrmjl3zd7jaklkcbd86bm57xmzry";}
{name="kppp";value="16p6gfr2lyhcmyldzclj8md4sr31rmmxp0m3afnhi4bwvd76d4sc";}
{name="kqtquickcharts";value="0sx7jahhaz2v0sp9qix4xxinxry2k50hnxfrf9hd5877s4ngdi3h";}
{name="krdc";value="1jyyrj4g854ki39p0k056mmca21d5yiqa25sa2wxb3v7g128lvl8";}
{name="kremotecontrol";value="0f5hfdlwfqqygc6vd6lgchh0bdh0z9crikkv7pjah43x5h0sys14";}
{name="kreversi";value="1cl8dbrgsv60zhxfqry0wd4gn4lyas9xb8yy5m3f71dkcb4xmhrz";}
{name="krfb";value="1yzp00kyww6wrdbhy8idxbpn8nr597h116rzxa57xalq7cj4px5m";}
{name="kross-interpreters";value="01a6w2iqx3k32fdwnlz2z8h7p1isf9sf2i261gaixf510drz3mqs";}
{name="kruler";value="0sbxvaxvixyka4qy2h17i8bgblxppp76j6b9jgsgqq8w20ppj0yd";}
{name="ksaneplugin";value="134cccd2v7xygg18xlggsk942hlcmpilmpaljksh2w6dzjig8ag9";}
{name="kscd";value="1r7ffan61ps9h3awbwyr4kn2ismk8l8dnb0rdyjmp2rsmrci3xmy";}
{name="kshisen";value="0b4zny2nxhx45k540mjpqzfpa9xnfnyk1hgs3xziihg5iij1vdnf";}
{name="ksirk";value="0xladrvxvj8mfagl9531842bffixbk2z7ymwp178xlrz3c4b07xs";}
{name="ksnakeduel";value="1q901qphmb09642whn3ad0viv9lgvls2rggc5xnxxjccchz98ggh";}
{name="ksnapshot";value="168ya0d15966j9kkgxqpp67kfhmsw7xj875dr8cfqbcmgf6ghjdm";}
{name="kspaceduel";value="0fidkh52vwbjbabrjvbcvr144vcgig0nz12g5f5fzfbl04336x12";}
{name="ksquares";value="1w91mp1a22gzq546w87767aq02gl2jl9mrsv83hv327q0i4r55ng";}
{name="kstars";value="0z7045cpb8fwkrmlcgjz2606zhcl4irs0lafgwv3hdg3g6k5xj0n";}
{name="ksudoku";value="1vdqd7nxm9q0xmj90ix1k6j1cn7zc2imfkz13xjlkjgrbb7nn4dr";}
{name="ksystemlog";value="1rh3c54jpd1s6ggcshx0p2q2gsv6flh04qqjnk9bnkw374ad6an7";}
{name="kteatime";value="0akd8kr2pj8j4abvwf7cs9vk5mswj4mfki3vxk1kmyaanrxb6wrq";}
{name="ktimer";value="1hnmw4rw7mzc7arlqn1wiap9l00x97bp1z03ls7v133wga6hy56f";}
{name="ktouch";value="0z83pdh027h7nl15g6qqc7y4v8nlm07g0c4a2cl0j86r53vv4jrp";}
{name="ktuberling";value="05hngh9pgsl4q3qnv2vqw1lggn2glc4c2b3jxgkccagp5igqj2nb";}
{name="kturtle";value="1f3j3w6lgdkcn8p6zy29b42bm0k93a864njf827j1ri2vrjifdag";}
{name="ktux";value="0j15i5f7x6jq7xrrx675f6h92qjzb89xcwmv43snd87sj0yaymgs";}
{name="kubrick";value="1np1d913fhanfva26cfy4wabf0h69qs824kdmawr89f24689xpjl";}
{name="kuser";value="12xw1qhilh88xfaky5iv44hybwmzf0f4fkp5ahgskysx2whvk7dh";}
{name="kwalletmanager";value="0h71nm5mpp2rvv5xs0a7153583zdwzc1i9vv9xkwwmq84qwar06w";}
{name="kwordquiz";value="0w2a1df2ipynarfxjr27jk896jhq8hsbkxhf3rzpflzs902afrfn";}
{name="libkcddb";value="153cgh9mxfqfdxdg5glphs3fvyhd89cmdzpvwpn29gdfshbpc9np";}
{name="libkcompactdisc";value="1y4f3b4yx8giyz83nan0nl75l3k1fyfw1fnbma6ch1901yxbliqq";}
{name="libkdcraw";value="03lgy6h9fy8j72ryfrsxpsbnb7l5i1n8wihfw117y2m5h23x6va2";}
{name="libkdeedu";value="06w2pfj0whcl8pz89cck2y0bkn7r54n93l95vnqvj7v0zq704imd";}
{name="libkdegames";value="0yx77i8yanv2fjmc0gcz3fzywkmpzq7jrc1g1frcwc9qcbd652sb";}
{name="libkexiv2";value="0fibx70n5c11absj97c20p1d7crhfx5wc1p7h77dyjv76zxb0rjk";}
{name="libkipi";value="09vihz0sm32acbh2xqmg4r0c48m40xsf6fcvfcjy4w08dvxb26jd";}
{name="libkmahjongg";value="09q0vvznag2dk03vwzlaip3qvjgwi8kk0ypvpwbga48vi9wy5qih";}
{name="libkomparediff2";value="1ihdpcsmkvnhs0i4xwx4ardy54gk5fcbh4byam3h9x8156d1gi60";}
{name="libksane";value="0dvprckc0d8vc8rcj7ib22ycsib1g8bi9m6i24961ccgbn3mhbha";}
{name="lokalize";value="1ad6vqvaa1ijcc9vjq46986z8q8bm5kjcaxdjzrq956m5kgx96wm";}
{name="lskat";value="00iva59g8rgrzp9w273cja1z2kbnxpb8gdm2a29qnld862l586x8";}
{name="marble";value="1gk75xl6kdqxh9kyfiialp937jhb203ycnza6x5sdnky8n7dchzs";}
{name="mplayerthumbs";value="1lg51si9iy4kn91s1cpa7irpk7iind1lfc4nb0a3s3dw685jf3z4";}
{name="nepomuk-core";value="1krwfrkrk0dj08wqfbx8lfdxriff9w5pqhjaccvmdj3bmlik542f";}
{name="nepomuk-widgets";value="1k1zxbpplal5fw2lziv8rr850nl5a6y1vwng96f8zqqgda6nnbqz";}
{name="okteta";value="0h7jb7zhpdw1sbdl2mqajnnvn11hisxp0p33km4qxh1jxdn44apc";}
{name="okular";value="13lva2rasrh1za65wr5zjn1mwx6nzd9n1ci3i940px8qfgqjbysx";}
{name="oxygen-icons";value="15daai2vx5ccll1mdxf77pc0i52365m9a6j2jy956sybwpzmfkmx";}
{name="pairs";value="002hsh5vp1grc8gdhgj93bmrmnzf4mnaax6zs5j7f0jsv60czh9m";}
{name="palapeli";value="0qrcfg1p3ipa84l0kp8mxg9h4098jmaz3n0fakc8fkvfdgg70x5c";}
{name="parley";value="1z0yz7x53w23rq22pn0z3hiwzgajqmq6v9bishqgm5r7layqj0v5";}
{name="perlkde";value="07p1g8mv5xw3qys4h2jrh72kvf6yyl7yz5rnk4bg04rl4dg7n3j2";}
{name="perlqt";value="1fk2g1xam8gf6n1mpix7kkw2jm6p3d57jbph2vfc5gszdddlb0z1";}
{name="picmi";value="1n6h9rzfqr2pvmz172bk04bmc1mm9b1rvakqdyqdf4j6b7inlnqh";}
{name="poxml";value="0y9x29fd0fzxcb9lpsy6sd4kcwwjp0d6yi4qgklqxb2xw5d519rc";}
{name="print-manager";value="0k2lmdcw72ifbq2mbalnq78sq5brl3wkny8lxl5ia9q2wq6c5nbl";}
{name="pykde4";value="1lknacs02gk0lh96jgj1hjyphnw04yljpxamhhvz9l0nn82dh5ip";}
{name="qtruby";value="0nlldf06z0rhmdgmrd6wambywn6xfd2ini6zliakspk7s8c851nd";}
{name="qyoto";value="0wh5zf057bkxr7rs7k2psjh74j10ri943qfk8hv07jw25652xpzb";}
{name="rocs";value="1i3s0kjrc6qqn9v219s8m10w2fyp1cdvra736pv0ld9gg5a71fc8";}
{name="smokegen";value="0lzkfp09rfkcxn5k18x789wwbiq94hypsiwyxg3fd5ybkx725j55";}
{name="smokekde";value="1admv2k41i6xh4s0n8yydmpqjkwank6f8mpaapa9a8dnj918ydll";}
{name="smokeqt";value="1fnnma8sls8rf958cwlfars26gaxk68plx3fzv979rwwb1n7h3jg";}
{name="step";value="11prsrpf0nvrrb0n9gz7w2shyq60v3hv3av6ggaxy5i7qq2jkcmw";}
{name="superkaramba";value="1p7ks4cyx66dmfxwrdzd890h3sa9bqm5rh2x6i1b81v5g3dg09s7";}
{name="svgpart";value="0gwc68hzw29lfj1kmikqpmsyignlcghvv86amlmylnvrypkjypk7";}
{name="sweeper";value="1dxqspva4rql2r92y0y16m3f0jf3anvb26x36bxk71ad5fpph9yl";}
{name="umbrello";value="1l9zq8sk46nd8nyk48vy4rdlbx7s8l5pif0n1y38ymbppc157lqi";}
{name="zeroconf-ioslave";value="0ds85m35p34cv2bv2mkvdvmygvykssssbr736g02jbiasivmclk5";}
];
versions=builtins.listToAttrs[
{name="amor";value="4.14.1";}
{name="analitza";value="4.14.1";}
{name="ark";value="4.14.1";}
{name="artikulate";value="4.14.1";}
{name="audiocd-kio";value="4.14.1";}
{name="baloo";value="4.14.1";}
{name="baloo-widgets";value="4.14.1";}
{name="blinken";value="4.14.1";}
{name="bomber";value="4.14.1";}
{name="bovo";value="4.14.1";}
{name="cantor";value="4.14.1";}
{name="cervisia";value="4.14.1";}
{name="dolphin-plugins";value="4.14.1";}
{name="dragon";value="4.14.1";}
{name="ffmpegthumbs";value="4.14.1";}
{name="filelight";value="4.14.1";}
{name="granatier";value="4.14.1";}
{name="gwenview";value="4.14.1";}
{name="jovie";value="4.14.1";}
{name="juk";value="4.14.1";}
{name="kaccessible";value="4.14.1";}
{name="kactivities";value="4.13.3";}
{name="kajongg";value="4.14.1";}
{name="kalgebra";value="4.14.1";}
{name="kalzium";value="4.14.1";}
{name="kamera";value="4.14.1";}
{name="kanagram";value="4.14.1";}
{name="kapman";value="4.14.1";}
{name="kapptemplate";value="4.14.1";}
{name="kate";value="4.14.1";}
{name="katomic";value="4.14.1";}
{name="kblackbox";value="4.14.1";}
{name="kblocks";value="4.14.1";}
{name="kbounce";value="4.14.1";}
{name="kbreakout";value="4.14.1";}
{name="kbruch";value="4.14.1";}
{name="kcachegrind";value="4.14.1";}
{name="kcalc";value="4.14.1";}
{name="kcharselect";value="4.14.1";}
{name="kcolorchooser";value="4.14.1";}
{name="kcron";value="4.14.1";}
{name="kdeartwork";value="4.14.1";}
{name="kde-baseapps";value="4.14.1";}
{name="kde-base-artwork";value="4.14.1";}
{name="kde-dev-scripts";value="4.14.1";}
{name="kde-dev-utils";value="4.14.1";}
{name="kdegraphics-mobipocket";value="4.14.1";}
{name="kdegraphics-strigi-analyzer";value="4.14.1";}
{name="kdegraphics-thumbnailers";value="4.14.1";}
{name="kdelibs";value="4.14.1";}
{name="kdenetwork-filesharing";value="4.14.1";}
{name="kdenetwork-strigi-analyzers";value="4.14.1";}
{name="kdepim";value="4.14.1";}
{name="kdepimlibs";value="4.14.1";}
{name="kdepim-runtime";value="4.14.1";}
{name="kdeplasma-addons";value="4.14.1";}
{name="kde-runtime";value="4.14.1";}
{name="kdesdk-kioslaves";value="4.14.1";}
{name="kdesdk-strigi-analyzers";value="4.14.1";}
{name="kdesdk-thumbnailers";value="4.14.1";}
{name="kde-wallpapers";value="4.14.1";}
{name="kdewebdev";value="4.14.1";}
{name="kde-workspace";value="4.11.12";}
{name="kdf";value="4.14.1";}
{name="kdiamond";value="4.14.1";}
{name="kfilemetadata";value="4.14.1";}
{name="kfloppy";value="4.14.1";}
{name="kfourinline";value="4.14.1";}
{name="kgamma";value="4.14.1";}
{name="kgeography";value="4.14.1";}
{name="kget";value="4.14.1";}
{name="kgoldrunner";value="4.14.1";}
{name="kgpg";value="4.14.1";}
{name="khangman";value="4.14.1";}
{name="kig";value="4.14.1";}
{name="kigo";value="4.14.1";}
{name="killbots";value="4.14.1";}
{name="kimono";value="4.14.1";}
{name="kiriki";value="4.14.1";}
{name="kiten";value="4.14.1";}
{name="kjumpingcube";value="4.14.1";}
{name="klettres";value="4.14.1";}
{name="klickety";value="4.14.1";}
{name="klines";value="4.14.1";}
{name="kmag";value="4.14.1";}
{name="kmahjongg";value="4.14.1";}
{name="kmines";value="4.14.1";}
{name="kmix";value="4.14.1";}
{name="kmousetool";value="4.14.1";}
{name="kmouth";value="4.14.1";}
{name="kmplot";value="4.14.1";}
{name="knavalbattle";value="4.14.1";}
{name="knetwalk";value="4.14.1";}
{name="kolf";value="4.14.1";}
{name="kollision";value="4.14.1";}
{name="kolourpaint";value="4.14.1";}
{name="kompare";value="4.14.1";}
{name="konquest";value="4.14.1";}
{name="konsole";value="4.14.1";}
{name="kopete";value="4.14.1";}
{name="korundum";value="4.14.1";}
{name="kpat";value="4.14.1";}
{name="kppp";value="4.14.1";}
{name="kqtquickcharts";value="4.14.1";}
{name="krdc";value="4.14.1";}
{name="kremotecontrol";value="4.14.1";}
{name="kreversi";value="4.14.1";}
{name="krfb";value="4.14.1";}
{name="kross-interpreters";value="4.14.1";}
{name="kruler";value="4.14.1";}
{name="ksaneplugin";value="4.14.1";}
{name="kscd";value="4.14.1";}
{name="kshisen";value="4.14.1";}
{name="ksirk";value="4.14.1";}
{name="ksnakeduel";value="4.14.1";}
{name="ksnapshot";value="4.14.1";}
{name="kspaceduel";value="4.14.1";}
{name="ksquares";value="4.14.1";}
{name="kstars";value="4.14.1";}
{name="ksudoku";value="4.14.1";}
{name="ksystemlog";value="4.14.1";}
{name="kteatime";value="4.14.1";}
{name="ktimer";value="4.14.1";}
{name="ktouch";value="4.14.1";}
{name="ktuberling";value="4.14.1";}
{name="kturtle";value="4.14.1";}
{name="ktux";value="4.14.1";}
{name="kubrick";value="4.14.1";}
{name="kuser";value="4.14.1";}
{name="kwalletmanager";value="4.14.1";}
{name="kwordquiz";value="4.14.1";}
{name="libkcddb";value="4.14.1";}
{name="libkcompactdisc";value="4.14.1";}
{name="libkdcraw";value="4.14.1";}
{name="libkdeedu";value="4.14.1";}
{name="libkdegames";value="4.14.1";}
{name="libkexiv2";value="4.14.1";}
{name="libkipi";value="4.14.1";}
{name="libkmahjongg";value="4.14.1";}
{name="libkomparediff2";value="4.14.1";}
{name="libksane";value="4.14.1";}
{name="lokalize";value="4.14.1";}
{name="lskat";value="4.14.1";}
{name="marble";value="4.14.1";}
{name="mplayerthumbs";value="4.14.1";}
{name="nepomuk-core";value="4.14.1";}
{name="nepomuk-widgets";value="4.14.1";}
{name="okteta";value="4.14.1";}
{name="okular";value="4.14.1";}
{name="oxygen-icons";value="4.14.1";}
{name="pairs";value="4.14.1";}
{name="palapeli";value="4.14.1";}
{name="parley";value="4.14.1";}
{name="perlkde";value="4.14.1";}
{name="perlqt";value="4.14.1";}
{name="picmi";value="4.14.1";}
{name="poxml";value="4.14.1";}
{name="print-manager";value="4.14.1";}
{name="pykde4";value="4.14.1";}
{name="qtruby";value="4.14.1";}
{name="qyoto";value="4.14.1";}
{name="rocs";value="4.14.1";}
{name="smokegen";value="4.14.1";}
{name="smokekde";value="4.14.1";}
{name="smokeqt";value="4.14.1";}
{name="step";value="4.14.1";}
{name="superkaramba";value="4.14.1";}
{name="svgpart";value="4.14.1";}
{name="sweeper";value="4.14.1";}
{name="umbrello";value="4.14.1";}
{name="zeroconf-ioslave";value="4.14.1";}
];
modules=[
{
module="kdemultimedia";
split=true;
pkgs=[
{ name="audiocd-kio"; sane="audiocd_kio"; }
{ name="dragon"; }
{ name="ffmpegthumbs"; }
{ name="juk"; }
{ name="kmix"; }
{ name="kscd"; }
{ name="libkcddb"; }
{ name="libkcompactdisc"; }
{ name="mplayerthumbs"; }
];
}
{
module="kdegraphics";
split=true;
pkgs=[
{ name="gwenview"; }
{ name="kamera"; }
{ name="kcolorchooser"; }
{ name="kdegraphics-mobipocket"; sane="kdegraphics_mobipocket"; }
{ name="kdegraphics-strigi-analyzer"; sane="kdegraphics_strigi_analyzer"; }
{ name="kdegraphics-thumbnailers"; sane="kdegraphics_thumbnailers"; }
{ name="kgamma"; }
{ name="kolourpaint"; }
{ name="kruler"; }
{ name="ksaneplugin"; }
{ name="ksnapshot"; }
{ name="libkdcraw"; }
{ name="libkexiv2"; }
{ name="libkipi"; }
{ name="libksane"; }
{ name="okular"; }
{ name="svgpart"; }
];
}
{
module="kdelibs";
split=true;
pkgs=[
{ name="kdelibs"; }
{ name="baloo"; }
{ name="baloo-widgets"; sane="baloo_widgets"; }
{ name="kfilemetadata"; }
{ name="nepomuk-core"; sane="nepomuk_core"; }
{ name="nepomuk-widgets"; sane="nepomuk_widgets"; }
];
}
{
module="kdenetwork";
split=true;
pkgs=[
{ name="kdenetwork-filesharing"; sane="kdenetwork_filesharing"; }
{ name="kdenetwork-strigi-analyzers"; sane="kdenetwork_strigi_analyzers"; }
{ name="kget"; }
{ name="kopete"; }
{ name="kppp"; }
{ name="krdc"; }
{ name="krfb"; }
{ name="zeroconf-ioslave"; sane="zeroconf_ioslave"; }
];
}
{
module="kdeutils";
split=true;
pkgs=[
{ name="ark"; }
{ name="filelight"; }
{ name="kcalc"; }
{ name="kcharselect"; }
{ name="kdf"; }
{ name="kfloppy"; }
{ name="kgpg"; }
{ name="kremotecontrol"; }
{ name="ktimer"; }
{ name="kwalletmanager"; }
{ name="print-manager"; sane="print_manager"; }
{ name="superkaramba"; }
{ name="sweeper"; }
];
}
{
module="applications";
split=true;
pkgs=[
{ name="kate"; }
{ name="konsole"; }
];
}
{
module="kdetoys";
split=true;
pkgs=[
{ name="amor"; }
{ name="kteatime"; }
{ name="ktux"; }
];
}
{
module="kdesdk";
split=true;
pkgs=[
{ name="cervisia"; }
{ name="dolphin-plugins"; sane="dolphin_plugins"; }
{ name="kapptemplate"; }
{ name="kcachegrind"; }
{ name="kde-dev-scripts"; sane="kde_dev_scripts"; }
{ name="kde-dev-utils"; sane="kde_dev_utils"; }
{ name="kdesdk-kioslaves"; sane="kdesdk_kioslaves"; }
{ name="kdesdk-strigi-analyzers"; sane="kdesdk_strigi_analyzers"; }
{ name="kdesdk-thumbnailers"; sane="kdesdk_thumbnailers"; }
{ name="kompare"; }
{ name="libkomparediff2"; }
{ name="lokalize"; }
{ name="okteta"; }
{ name="poxml"; }
{ name="umbrello"; }
];
}
{
module="kdegames";
split=true;
pkgs=[
{ name="bomber"; }
{ name="bovo"; }
{ name="granatier"; }
{ name="kajongg"; }
{ name="kapman"; }
{ name="katomic"; }
{ name="kblackbox"; }
{ name="kblocks"; }
{ name="kbounce"; }
{ name="kbreakout"; }
{ name="kdiamond"; }
{ name="kfourinline"; }
{ name="kgoldrunner"; }
{ name="kigo"; }
{ name="killbots"; }
{ name="kiriki"; }
{ name="kjumpingcube"; }
{ name="klickety"; }
{ name="klines"; }
{ name="kmahjongg"; }
{ name="kmines"; }
{ name="knavalbattle"; }
{ name="knetwalk"; }
{ name="kolf"; }
{ name="kollision"; }
{ name="konquest"; }
{ name="kpat"; }
{ name="kreversi"; }
{ name="kshisen"; }
{ name="ksirk"; }
{ name="ksnakeduel"; }
{ name="kspaceduel"; }
{ name="ksquares"; }
{ name="ksudoku"; }
{ name="ktuberling"; }
{ name="kubrick"; }
{ name="libkdegames"; }
{ name="libkmahjongg"; }
{ name="lskat"; }
{ name="palapeli"; }
{ name="picmi"; }
];
}
{
module="kdeedu";
split=true;
pkgs=[
{ name="analitza"; }
{ name="artikulate"; }
{ name="blinken"; }
{ name="cantor"; }
{ name="kalgebra"; }
{ name="kalzium"; }
{ name="kanagram"; }
{ name="kbruch"; }
{ name="kgeography"; }
{ name="khangman"; }
{ name="kig"; }
{ name="kiten"; }
{ name="klettres"; }
{ name="kmplot"; }
{ name="kqtquickcharts"; }
{ name="kstars"; }
{ name="ktouch"; }
{ name="kturtle"; }
{ name="kwordquiz"; }
{ name="libkdeedu"; }
{ name="marble"; }
{ name="pairs"; }
{ name="parley"; }
{ name="rocs"; }
{ name="step"; }
];
}
{
module="kdeadmin";
split=true;
pkgs=[
{ name="kcron"; }
{ name="ksystemlog"; }
{ name="kuser"; }
];
}
{
module="kdebindings";
split=true;
pkgs=[
{ name="kimono"; }
{ name="korundum"; }
{ name="kross-interpreters"; sane="kross_interpreters"; }
{ name="perlkde"; }
{ name="perlqt"; }
{ name="pykde4"; }
{ name="qtruby"; }
{ name="qyoto"; }
{ name="smokegen"; }
{ name="smokekde"; }
{ name="smokeqt"; }
];
}
{
module="kdeaccessibility";
split=true;
pkgs=[
{ name="jovie"; }
{ name="kaccessible"; }
{ name="kmag"; }
{ name="kmousetool"; }
{ name="kmouth"; }
];
}
{
module="kde-baseapps";
sane="kde_baseapps"; split=true;
pkgs=[
{ name="kde-baseapps"; sane="kde_baseapps"; }
];
}
{ module="kactivities"; split=false;}
{ module="kdeartwork"; split=false;
pkgs=[
{ name="ColorSchemes"; }
{ name="IconThemes"; }
{ name="emoticons"; }
{ name="kscreensaver"; }
{ name="kwin-styles"; sane="kwin_styles";}
{ name="styles"; }
{ name="wallpapers"; }
{ name="HighResolutionWallpapers"; }
{ name="WeatherWallpapers"; }
{ name="desktopthemes"; }
];
}
{ module="kde-base-artwork"; sane="kde_base_artwork"; split=false;}
{ module="kdepim"; split=false;}
{ module="kdepimlibs"; split=false;}
{ module="kdepim-runtime"; sane="kdepim_runtime"; split=false;}
{ module="kdeplasma-addons"; sane="kdeplasma_addons"; split=false;}
{ module="kde-runtime"; sane="kde_runtime"; split=false;}
{ module="kde-wallpapers"; sane="kde_wallpapers"; split=false;}
{ module="kdewebdev"; split=false;
pkgs=[
{ name="klinkstatus"; }
{ name="kfilereplace"; }
{ name="kimagemapeditor"; }
{ name="kommander"; }
];
}
{ module="kde-workspace"; sane="kde_workspace"; split=false;}
{ module="oxygen-icons"; sane="oxygen_icons"; split=false;}
];
}

@ -0,0 +1,131 @@
{ callPackage, runCommand, stdenv, fetchurl, qt4, cmake, automoc4
, release, branch, ignoreList, extraSubpkgs
}:
let
inherit (stdenv.lib) filter fold;
inherit (builtins) getAttr hasAttr remoteAttrs listToAttrs tail head;
in
rec {
manifest = import (./. + "/${release}.nix");
# src attribute for $name tarball
kdesrc = name: version: fetchurl {
url = "mirror://kde/" + (if manifest.stable then "" else "un")
+ "stable/${release}/src/${name}-${version}.tar.xz";
sha256 = getAttr name manifest.hashes;
};
# Default meta attribute
defMeta = {
homepage = http://www.kde.org;
inherit branch;
platforms = stdenv.lib.platforms.linux;
inherit (qt4.meta) maintainers;
};
# KDE package built from the whole tarball
# This function is used both for monolithic modules and modules which are
# released as individual tarballs
kdeMonoPkg = name:
let n_ = name; v_ = getAttr name manifest.versions; in
a@{meta, name ? n_, version ? v_, ...}:
stdenv.mkDerivation ({
name = "${name}-${version}";
src = kdesrc name version;
meta = defMeta // meta;
enableParallelBuilding = true;
} // (removeAttrs a [ "meta" "name" ]));
# kdeMonoPkg wrapper for modules splitted upstream compatible with combinePkgs
# API.
kdeSplittedPkg = module: {name, sane ? name}: kdeMonoPkg name;
# Build subdirectory ${subdir} of tarball ${module}-${release}.tar.xz
kdeSubdirPkg = module:
{name, subdir ? name, sane ? name}:
let name_ = name; version_ = getAttr module manifest.versions; in
a@{cmakeFlags ? [], name ? name_, version ? version_, meta ? {}, ...}:
stdenv.mkDerivation ({
name = "${name}-${release}";
src = kdesrc module version;
cmakeFlags =
[ "-DDISABLE_ALL_OPTIONAL_SUBDIRECTORIES=TRUE"
"-DBUILD_doc=TRUE"
"-DBUILD_${subdir}=TRUE"
] ++ cmakeFlags;
meta = defMeta // meta;
enableParallelBuilding = module.enableParallelBuilding or true;
} // (removeAttrs a [ "meta" "name" "cmakeFlags" ]));
# A KDE monolithic module
kdeMonoModule = name: path: callPackage path { kde = kdeMonoPkg name; };
# Combine packages in one module.
# Arguments:
# * pkgFun --- a function of the following signature:
# module: manifest_attrs: manual_attrs: derivation;
# * module --- name of the module
# * pkgs --- list of packages in manifest format
combinePkgs = pkgFun: module: pkgs:
let
f = p@{name, ...}:
callPackage (./.. + "/${module}/${name}.nix") { kde = pkgFun module p; };
list = map f pkgs;
attrs = listToAttrs (map
({name, sane ? name, ...}@p: { name = sane; value = f p; })
pkgs);
in
runCommand "${module}-${release}"
({passthru = attrs // {
propagatedUserEnvPackages = list;
projects = attrs;
};})
''
mkdir -pv $out/nix-support
echo "${toString list}" | tee $out/nix-support/propagated-user-env-packages
'';
# Given manifest module data, return the module
kdeModule = { module, sane ? module, split, pkgs ? [] }:
let
pkgs_ = filterPkgs module pkgs;
in
# Module is splitted by upstream
if split then combinePkgs kdeSplittedPkg module pkgs_
# Monolithic module
else if pkgs == [] then kdeMonoModule module (./.. + "/${module}.nix")
# Module is splitted by us
else combinePkgs kdeSubdirPkg module pkgs_;
# The same, as nameValuePair with sane name
kdeModuleNV = a@{ module, sane ? module, ... }:
{ name = sane; value = kdeModule a; };
filterPkgs = module: (p:
removeNames (stdenv.lib.attrByPath [module] [] ignoreList) p
++ (stdenv.lib.attrByPath [module] [] extraSubpkgs));
# Remove attrsets with x.name in subst. Optimized for empty subst.
removeNames = subst: big:
fold (s: out: filter (x: x.name != s) out) big subst;
modules = listToAttrs (map kdeModuleNV manifest.modules);
splittedModuleList =
let
splitted = filter (a: a ? pkgs) manifest.modules;
names = map ({module, sane ? module, ...}: sane) splitted;
in
map (m: m.projects) (stdenv.lib.attrVals names modules);
individual =
stdenv.lib.zipAttrsWith
(
name: list:
if tail list == []
then head list
else abort "Multiple modules define ${name}"
)
splittedModuleList;
}

@ -0,0 +1,173 @@
#! /bin/sh
# Usage: download kde release to $dir, then run
# $0 $dir
dir="$1"
if [[ -z $(type -p xsltproc) ]]; then
echo "Please provide libxslt" >&2
exit 1
fi
release=$(ls "${dir}"/kdelibs-*.tar.xz | \
sed -e 's/.*kdelibs-//' -e 's/\.tar\.xz//')
# Detect release number & whether it is a stable release
if [[ $? -ne 0 || -z $release ]]; then
echo "'${dir}' is not a directory (or kdelibs...tar.xz doesn't exist)!" >&2
exit 1
fi
if [[ ${release##*.} -gt 50 ]]; then
stable="false"
else
stable="true"
fi
echo "Detected release ${release}" >&2
declare -A hash
declare -A version
declare -A modules
declare -a packages
declare -a top_level
if [[ ! -f ${dir}/kde_projects.xml ]]; then
if ! curl -o "${dir}/kde_projects.xml" -J http://projects.kde.org/kde_projects.xml; then
echo "Could not download http://projects.kde.org/kde_projects.xml to ${dir}/kde_projects.xml" >&2
exit 1
fi
fi
# xsltproc output declares -A module
eval `xsltproc kde-submodules.xslt ${dir}/kde_projects.xml`
module[kde-baseapps]=kde-baseapps
unset module[kactivities]
print_sane() {
echo "Called print_sane $1" >&2
sane="${1//[^a-z0-9_]/_}"
if [[ "$sane" != "$1" ]]; then
echo "Sane version is $sane" >&2
echo -n "sane=\"$sane\";"
fi
}
for i in `cd "${dir}"; ls *.tar.xz`; do
package=${i%.tar.xz}
v=${package##*-}
package=${i%-*}
packages+=( "$package" )
echo -n "${package}.. " >&2
hash[$package]=$(nix-hash --type sha256 --flat --base32 "${dir}/${i}")
echo -n ${hash[$package]} >&2
version[$package]=$v
if [ -n "${module[$package]}" ]; then
m="${module[$package]}"
echo " (${m})" >&2
modules[$m]=1
else
top_level+=( "$package" )
echo " (top-level)" >&2
fi
nix-store --add-fixed sha256 "${dir}/${i}" >&2
done
print_pkg_hash() {
echo " {name=\"${1}\";value=\"${hash[$1]}\";}"
}
print_pkg_version() {
echo " {name=\"${1}\";value=\"${version[$1]}\";}"
}
print_hashes(){
echo "hashes=builtins.listToAttrs["
for p in "${packages[@]}"; do print_pkg_hash "$p"; done
echo "];"
}
print_versions(){
echo "versions=builtins.listToAttrs["
for p in "${packages[@]}"; do print_pkg_version "$p"; done
echo "];"
}
print_split_module(){
echo -n "$1:" >&2
echo -e "{\n module=\"$1\";"
print_sane "$1"
echo " split=true;"
echo " pkgs=["
for p in "${packages[@]}"; do
if [[ "${module[$p]}" == "$1" ]]; then
echo -n " { name=\"$p\"; "
print_sane "$p"
echo " }"
echo -n " $p" >&2
fi
done
echo " ];"
echo "}"
echo >&2
}
print_mono_module(){
echo -en "{ module=\"$1\"; "
print_sane "$1"
echo -n "$1 ... " >&2
pkg=$(cd "$dir"; echo "$1"-*.tar.xz)
pkg="${pkg%.tar.xz}"
echo -n " split=false;"
cml="$pkg/CMakeLists.txt"
tar -xf "${dir}/$pkg.tar.xz" "$cml"
if grep '^[^#]*add_subdirectory' $cml >/dev/null; then
if grep '^[^#]*add_subdirectory' $cml | grep -v macro_optional_add_subdirectory >/dev/null; then
echo " is monolithic (has unconditionally added subdirs)" >&2
else
subdirs=( `grep '^[^#]*add_subdirectory' $cml |
sed -e 's/[^#]*add_subdirectory *( *\(.*\) *)/\1/' |
grep -v '\(doc\|cmake\)'` )
echo " seems splittable, subdirs: ${subdirs[*]}" >&2
echo -e "\n pkgs=["
for s in "${subdirs[@]}"; do
echo -en " {"
echo -n " name=\"${s//\//-}\"; "
print_sane "$s"
if [[ $s != "${s//\//-}" ]]; then
echo -n "subdir=\"$s\"; "
fi
echo "}"
done
echo -e " ];\n"
fi
else
echo " is monolithic (has no subdirs)" >&2
fi
rm $cml
rmdir "$pkg"
echo "}"
}
print_modules(){
echo "modules=["
echo "Printing modules splitted by upstream" >&2
for m in "${!modules[@]}"; do print_split_module "$m"; done
echo >&2
echo "Printing modules not splitted by upstream (${top_level[*]})" >&2
for m in "${top_level[@]}"; do print_mono_module "$m"; done
echo "];"
}
echo "Writing ${release}.nix" >&2
exec > "${release}.nix"
echo "{stable=${stable};"
print_hashes
print_versions
print_modules
echo "}"

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- xslt file for http://projects.kde.org/kde_projects.xml -->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" />
<xsl:template match="/">
<xsl:for-each select="kdeprojects/component[@identifier='kde']">
<xsl:text>declare -A module </xsl:text>
<xsl:for-each select="module">
<xsl:variable name="module" select='@identifier' />
<xsl:for-each select=".//project[repo]">
<xsl:text>module["</xsl:text>
<xsl:value-of select='@identifier' />
<xsl:text>"]="</xsl:text>
<xsl:value-of select="$module" />
<xsl:text>" </xsl:text>
</xsl:for-each>
</xsl:for-each>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

@ -0,0 +1,24 @@
{ kde, kdelibs, bzip2, libssh, exiv2, attica, qca2
, libcanberra, virtuoso, samba, libjpeg, ntrack, pkgconfig, xz, pulseaudio
, networkmanager, kactivities, kdepimlibs, openexr, ilmbase, gpgme
}:
kde {
buildInputs = [
kdelibs attica xz bzip2 libssh libjpeg exiv2 ntrack
qca2 samba libcanberra pulseaudio gpgme
networkmanager kactivities kdepimlibs openexr
#todo: add openslp
#todo: gpgme can't be found because cmake module is provided by kdepimlibs which are found too late
];
nativeBuildInputs = [ pkgconfig ];
NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
passthru.propagatedUserEnvPackages = [ virtuoso ];
meta = {
license = "LGPL";
};
}

@ -0,0 +1,17 @@
{ kde, cmake }:
kde {
nativeBuildInputs = [ cmake ];
patches = [ ./files/kde-wallpapers-buildsystem.patch ];
cmakeFlags = "-DWALLPAPER_INSTALL_DIR=share/wallpapers";
outputHashAlgo = "sha256";
outputHashMode = "recursive";
outputHash = "1mzj7jk0ag7yas2wm2x60z3ymv64g9jrjsz3nwlr719b4bhmgwjj";
meta = {
description = "Wallpapers for KDE";
};
}

@ -0,0 +1,46 @@
{ stdenv, kde, kdelibs, qimageblitz, libdbusmenu_qt, xorg, lm_sensors
, pciutils, libraw1394, libusb1, python, libqalculate, akonadi
, xkeyboard_config, kdepimlibs, pam, boost, gpsd, prison
, libjpeg, pkgconfig, kactivities, qjson, udev, fetchurl
}:
kde {
version = "4.11.6";
src = fetchurl {
url = "mirror://kde/stable/4.12.2/src/kde-workspace-4.11.6.tar.xz";
sha256 = "0lk3k9zl4x4il5dqpw7mf25gv8a3y48fd3jq3jvgmwwlviwcpcz1";
};
#todo: wayland, xmms, libusb isn't found
buildInputs =
[ kdelibs qimageblitz libdbusmenu_qt xorg.libxcb xorg.xcbutilimage libjpeg
xorg.xcbutilrenderutil xorg.xcbutilkeysyms xorg.libpthreadstubs xorg.libXdmcp
xorg.libxkbfile xorg.libXcomposite xorg.libXtst
xorg.libXdamage
python boost qjson lm_sensors gpsd libraw1394 pciutils udev
akonadi pam libusb1 libqalculate kdepimlibs prison
kactivities
];
nativeBuildInputs = [ pkgconfig ];
preConfigure =
''
# Fix incorrect path to kde4-config.
substituteInPlace startkde.cmake --replace '$bindir/kde4-config' ${kdelibs}/bin/kde4-config
# Fix the path to the keyboard configuration files.
substituteInPlace kcontrol/keyboard/xkb_rules.cpp \
--replace /usr/share/X11 ${xkeyboard_config}/etc/X11
'';
enableParallelBuilding = false; # frequent problems on Hydra
meta = {
description = "KDE workspace components such as Plasma, Kwin and System Settings";
license = stdenv.lib.licenses.gpl2;
};
}

@ -0,0 +1,9 @@
{ kde, kdelibs, speechd }:
kde {
buildInputs = [ kdelibs speechd ];
meta = {
description = "Text-to-speech synthesis daemon";
};
}

@ -0,0 +1,9 @@
{ kde, kdelibs, speechd }:
kde {
buildInputs = [ kdelibs speechd ];
meta = {
description = "Bridge that provides accessibility services to applications";
};
}

@ -0,0 +1,10 @@
{ kde, kdelibs }:
kde {
#todo: package qaccessibilityclient
buildInputs = [ kdelibs ];
meta = {
description = "Screen magnifier for KDE";
};
}

@ -0,0 +1,9 @@
{ kde, kdelibs, libXtst, libXt }:
kde {
buildInputs = [ kdelibs libXtst libXt ];
meta = {
description = "A program that clicks the mouse for you";
};
}

@ -0,0 +1,9 @@
{ kde, kdelibs }:
kde {
buildInputs = [ kdelibs ];
meta = {
description = "A type-and-say front end for speech synthesizers";
};
}

@ -0,0 +1,9 @@
{ kde, kdelibs }:
kde {
buildInputs = [ kdelibs ];
meta = {
description = "Configure and schedule tasks";
};
}

@ -0,0 +1,9 @@
{ kde, kdelibs }:
kde {
buildInputs = [ kdelibs ];
meta = {
description = "System log viewer tool";
};
}

@ -0,0 +1,9 @@
{ kde, kdelibs, kdepimlibs }:
kde {
buildInputs = [ kdelibs kdepimlibs ];
meta = {
description = "User management tool";
};
}

@ -0,0 +1,11 @@
{ kde, kdelibs }:
kde {
name = "kde-color-schemes";
buildInputs = [ kdelibs ];
meta = {
description = "Additional KDE color schemes";
};
}

@ -0,0 +1,73 @@
#Macro to find xscreensaver directory
# Copyright (c) 2006, Laurent Montel, <montel@kde.org>
#
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
if (NOT XSCREENSAVER_FOUND)
FIND_PATH(XSCREENSAVER_DIR deco
HINTS
${KDE4_INCLUDE_DIR}
PATHS
/usr
/usr/local
/opt/local
/usr/X11R6
/opt/kde
/opt/kde3
/usr/kde
/usr/local/kde
/usr/local/xscreensaver
/usr/openwin/lib/xscreensaver
/etc
PATH_SUFFIXES
lib${LIB_SUFFIX}/xscreensaver
lib${LIB_SUFFIX}/misc/xscreensaver
lib/xscreensaver
lib64/xscreensaver
lib/misc/xscreensaver
libexec/xscreensaver
bin/xscreensaver-hacks
hacks)
message(STATUS "XSCREENSAVER_DIR <${XSCREENSAVER_DIR}>")
FIND_PATH(XSCREENSAVER_CONFIG_DIR deco.xml
PATHS
${KDE4_INCLUDE_DIR}
/usr/
/usr/local/
/opt/local/
/usr/X11R6/
/opt/kde/
/opt/kde3/
/usr/kde/
/usr/local/kde/
/usr/openwin/lib/xscreensaver/
/etc/
PATH_SUFFIXES xscreensaver xscreensaver/config share/xscreensaver/config
)
MESSAGE(STATUS "XSCREENSAVER_CONFIG_DIR :<${XSCREENSAVER_CONFIG_DIR}>")
endif(NOT XSCREENSAVER_FOUND)
#MESSAGE(STATUS "XSCREENSAVER_CONFIG_DIR :<${XSCREENSAVER_CONFIG_DIR}>")
#MESSAGE(STATUS "XSCREENSAVER_DIR :<${XSCREENSAVER_DIR}>")
# Need to fix hack
if(XSCREENSAVER_DIR AND XSCREENSAVER_CONFIG_DIR)
set(XSCREENSAVER_FOUND TRUE)
endif(XSCREENSAVER_DIR AND XSCREENSAVER_CONFIG_DIR)
if (XSCREENSAVER_FOUND)
if (NOT Xscreensaver_FIND_QUIETLY)
message(STATUS "Found XSCREENSAVER_CONFIG_DIR <${XSCREENSAVER_CONFIG_DIR}>")
endif (NOT Xscreensaver_FIND_QUIETLY)
else (XSCREENSAVER_FOUND)
if (Xscreensaver_FIND_REQUIRED)
message(FATAL_ERROR "XScreenSaver not found")
endif (Xscreensaver_FIND_REQUIRED)
endif (XSCREENSAVER_FOUND)
MARK_AS_ADVANCED(XSCREENSAVER_DIR XSCREENSAVER_CONFIG_DIR)

@ -0,0 +1,11 @@
{ kde, kdelibs }:
kde rec {
name = "kde-wallpapers-high-resolution";
buildInputs = [ kdelibs ];
meta = {
description = "KDE wallpapers in high resolution";
};
}

@ -0,0 +1,13 @@
{ kde, kdelibs }:
kde {
name = "kdeartwork-icon-themes";
# Sources contain primary and kdeclassic as well but they're not installed
buildInputs = [ kdelibs ];
meta = {
description = "KDE nuvola and mono icon themes";
};
}

@ -0,0 +1,11 @@
{ kde, kdelibs }:
kde rec {
name = "kde-weather-wallpapers";
buildInputs = [ kdelibs ];
meta = {
description = "Additional KDE wallpapers (weather)";
};
}

@ -0,0 +1,11 @@
{ kde, kdelibs }:
kde {
name = "kde-desktop-themes";
buildInputs = [ kdelibs ];
meta = {
description = "Additional KDE desktop themes";
};
}

@ -0,0 +1,11 @@
{ kde, kdelibs }:
kde {
name = "kde-emotion-icons";
buildInputs = [ kdelibs ];
meta = {
description = "Additional KDE emotion icons (smiles)";
};
}

@ -0,0 +1,15 @@
{ kde, kdelibs, xscreensaver, kde_workspace, eigen, libkexiv2, libXt, pkgconfig }:
kde {
buildInputs = [ kdelibs xscreensaver kde_workspace eigen libkexiv2 libXt ];
nativeBuildInputs = [ pkgconfig ];
prePatch = "cp -v ${./FindXscreensaver.cmake} cmake/modules/FindXscreensaver.cmake";
cmakeFlags = [ "-DBUILD_asciiquarium:BOOL=ON" ];
meta = {
description = "KDE screensavers";
};
}

@ -0,0 +1,9 @@
{ kde, kdelibs, kde_workspace }:
kde {
buildInputs = [ kdelibs kde_workspace ];
meta = {
description = "Styles for KWin";
};
}

@ -0,0 +1,11 @@
{ kde, kdelibs }:
kde rec {
name = "kde-style-phase";
buildInputs = [ kdelibs ];
meta = {
description = "Phase, a widget style for KDE";
};
}

@ -0,0 +1,11 @@
{ kde, kdelibs }:
kde rec {
name = "kdeartwork-wallpapers";
buildInputs = [ kdelibs ];
meta = {
description = "Additional KDE wallpapers";
};
}

@ -0,0 +1,14 @@
{ kde, cmake, smokeqt, perl }:
kde {
# TODO: qscintilla2, qwt5
buildInputs = [ smokeqt perl ];
nativeBuildInputs = [ cmake ];
meta = {
description = "Perl bindings for Qt library";
};
}

@ -0,0 +1,32 @@
{ kde, kdelibs, python, sip, pyqt4, kdepimlibs, shared_desktop_ontologies,
polkit_qt_1, boost, lndir, pkgconfig }:
let pydir = "lib/python${python.majorVersion}"; in
kde {
# todo: polkit isn't found by the build system
buildInputs = [
python kdepimlibs shared_desktop_ontologies
boost polkit_qt_1
];
nativeBuildInputs = [ pkgconfig ];
propagatedBuildInputs = [ pyqt4 sip ];
preConfigure =
''
# Symlink PyQt into PyKDE. This is necessary because PyQt looks
# in its PyQt4/uic/widget-plugins directory for plugins, and KDE
# needs to install a plugin.
mkdir -pv $out/${pydir}
${lndir}/bin/lndir ${pyqt4}/${pydir} $out/${pydir}
cmakeFlagsArray=( "-DSIP_DEFAULT_SIP_DIR=$prefix/share/sip" )
'';
meta = {
description = "Python bindings for KDE";
};
}

@ -0,0 +1,15 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 33078b4..30aec0e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -31,8 +31,8 @@ if (NOT COMPILE_RUBY)
return()
endif (NOT COMPILE_RUBY)
-SET(CUSTOM_RUBY_SITE_ARCH_DIR ${RUBY_SITEARCH_DIR} CACHE DIR "custom installation directory for ruby binary extension" )
-SET(CUSTOM_RUBY_SITE_LIB_DIR ${RUBY_SITELIB_DIR} CACHE DIR "custom installation directory for ruby extension" )
+string(REPLACE "${RUBY_ROOT_DIR}" "${CMAKE_INSTALL_PREFIX}" CUSTOM_RUBY_SITE_ARCH_DIR ${RUBY_SITEARCH_DIR})
+string(REPLACE "${RUBY_ROOT_DIR}" "${CMAKE_INSTALL_PREFIX}" CUSTOM_RUBY_SITE_LIB_DIR ${RUBY_SITELIB_DIR})
# compute an overall version number which can be compared at once
MATH(EXPR RUBY_VERSION_NUMBER "${RUBY_VERSION_MAJOR}*10000 + ${RUBY_VERSION_MINOR}*100 + ${RUBY_VERSION_PATCH}")

@ -0,0 +1,20 @@
{ kde, cmake, smokeqt, ruby }:
kde {
# TODO: scintilla2, qwt5
buildInputs = [ smokeqt ruby ];
nativeBuildInputs = [ cmake ];
# The patch is not ready for upstream submmission.
# I should add an option() instead.
patches = [ ./qtruby-install-prefix.patch ];
cmakeFlags="-DRUBY_ROOT_DIR=${ruby}";
meta = {
description = "Ruby bindings for Qt library";
};
}

@ -0,0 +1,13 @@
--- smokegen-4.10.5.orig/CMakeLists.txt 2013-06-28 17:14:50.000000000 +0000
+++ smokegen-4.10.5/CMakeLists.txt 2013-07-31 19:15:17.000000000 +0000
@@ -36,6 +36,10 @@
set (CMAKE_SKIP_BUILD_RPATH FALSE)
set (CMAKE_SKIP_RPATH FALSE)
+# add the automatically determined parts of the RPATH
+# which point to directories outside the build tree to the install RPATH
+SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
+
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/config.h.in config.h @ONLY )
add_executable(smokegen ${generator_SRC})

@ -0,0 +1,13 @@
diff -urN smokegen-4.10.5.orig/cmake/SmokeConfig.cmake.in smokegen-4.10.5/cmake/SmokeConfig.cmake.in
--- smokegen-4.10.5.orig/cmake/SmokeConfig.cmake.in 2013-06-28 17:14:50.000000000 +0000
+++ smokegen-4.10.5/cmake/SmokeConfig.cmake.in 2013-07-30 21:26:33.000000000 +0000
@@ -80,8 +80,7 @@
set(SMOKE_API_BIN "@SMOKE_API_BIN@")
find_library(SMOKE_BASE_LIBRARY smokebase
- PATHS "@SMOKE_LIBRARY_PREFIX@"
- NO_DEFAULT_PATH)
+ PATHS "@SMOKE_LIBRARY_PREFIX@")
if (NOT SMOKE_BASE_LIBRARY)
if (Smoke_FIND_REQUIRED)

@ -0,0 +1,13 @@
{ stdenv, kde, qt4, cmake }:
kde {
buildInputs = [ qt4 ];
nativeBuildInputs = [ cmake ];
patches = [ ./smokegen-nix.patch ./smokegen-CMakeLists.txt-nix.patch ];
meta = {
description = "C++ parser used to generate language bindings for Qt/KDE";
license = stdenv.lib.licenses.gpl2;
};
}

@ -0,0 +1,19 @@
{ kde, cmake, smokeqt, kdelibs, akonadi, kdepimlibs, okular
, shared_desktop_ontologies, attica, pkgconfig }:
kde {
# TODO: attica, akonadi and kdepimlibs are disabled due to smokegen crash
# okular is disabled because the code generated is broken
buildInputs = [
smokeqt kdelibs shared_desktop_ontologies
];
nativeBuildInputs = [ cmake pkgconfig ];
LD_LIBRARY_PATH = "${smokeqt}/lib/";
meta = {
description = "SMOKE bindings for kdelibs";
};
}

@ -0,0 +1,15 @@
{ stdenv, kde, qt4, cmake, phonon, qimageblitz, smokegen }:
kde {
# TODO: Qwt5, QScintilla2
propagatedBuildInputs = [ qt4 phonon qimageblitz ];
nativeBuildInputs = [ cmake ];
propagatedNativeBuildInputs = [ smokegen ];
meta = {
description = "C++ parser used to generate language bindings for Qt/KDE";
license = stdenv.lib.licenses.gpl2;
};
}

@ -0,0 +1,8 @@
{ kde, kdelibs, readline }:
kde {
buildInputs = [ kdelibs readline ];
meta = {
description = "Library part of KAlgebra";
};
}

@ -0,0 +1,8 @@
{ kde, kdelibs, qt_gstreamer1 }:
kde {
buildInputs = [ kdelibs qt_gstreamer1 ];
meta = {
description = "Artikulate is a pronunciation learning program for KDE.";
};
}

@ -0,0 +1,8 @@
{ kde, kdelibs }:
kde {
buildInputs = [ kdelibs ];
meta = {
description = "Memory Enhancement Game";
};
}

@ -0,0 +1,13 @@
{ kde, kdelibs, libspectre, analitza, R, pkgconfig, libqalculate, python }:
kde {
# TODO: R is not found
buildInputs = [ kdelibs libspectre analitza R libqalculate python ];
nativeBuildInputs = [ pkgconfig ];
meta = {
description = "KDE Frontend to Mathematical Software";
};
}

@ -0,0 +1,8 @@
{ kde, kdelibs, libkdeedu, analitza }:
kde {
buildInputs = [ kdelibs libkdeedu analitza ];
meta = {
description = "2D and 3D Graph Calculator";
};
}

@ -0,0 +1,13 @@
{ kde, kdelibs, facile, ocaml, eigen2, eigen, openbabel, avogadro, pkgconfig }:
kde {
# TODO: chemical mime data
buildInputs = [ kdelibs facile ocaml eigen2 eigen openbabel avogadro ];
nativeBuildInputs = [ pkgconfig ];
meta = {
description = "Periodic Table of Elements";
};
}

@ -0,0 +1,8 @@
{ kde, kdelibs, libkdeedu }:
kde {
buildInputs = [ kdelibs libkdeedu ];
meta = {
description = "Letter Order Game";
};
}

@ -0,0 +1,8 @@
{ kde, kdelibs }:
kde {
buildInputs = [ kdelibs ];
meta = {
description = "Practice Fractions";
};
}

@ -0,0 +1,8 @@
{ kde, kdelibs }:
kde {
buildInputs = [ kdelibs ];
meta = {
description = "Geography Trainer";
};
}

@ -0,0 +1,8 @@
{ kde, kdelibs, libkdeedu }:
kde {
buildInputs = [ kdelibs libkdeedu ];
meta = {
description = "KDE hangman game";
};
}

@ -0,0 +1,9 @@
{ kde, kdelibs, boost, python}:
kde {
buildInputs = [ kdelibs boost python ];
cmakeFlags = "-DKIG_ENABLE_PYTHON_SCRIPTING=1";
meta = {
description = "KDE Interactive Geometry";
};
}

@ -0,0 +1,9 @@
{ kde, kdelibs }:
kde {
buildInputs = [ kdelibs ];
meta = {
description = "Japanese Reference/Study Tool";
};
}

@ -0,0 +1,9 @@
{ kde, kdelibs }:
kde {
buildInputs = [ kdelibs ];
meta = {
description = "A KDE alphabet tutorial";
};
}

@ -0,0 +1,9 @@
{ kde, kdelibs }:
kde {
buildInputs = [ kdelibs ];
meta = {
description = "A KDE mathematical function plotter";
};
}

@ -0,0 +1,8 @@
{ kde, kdelibs }:
kde {
buildInputs = [ kdelibs ];
meta = {
description = "Qt Quick 1 plugin for beautiful and interactive charts";
};
}

@ -0,0 +1,14 @@
{ kde, kdelibs, eigen, xplanet, indilib_0_9_9, pkgconfig, qjson }:
kde {
# TODO: wcslib, astrometry
buildInputs = [ kdelibs eigen xplanet indilib_0_9_9 qjson ];
nativeBuildInputs = [ pkgconfig ];
meta = {
description = "A KDE graphical desktop planetarium";
};
}

@ -0,0 +1,9 @@
{ kde, kdelibs, libxkbfile }:
kde {
buildInputs = [ kdelibs libxkbfile ];
meta = {
description = "Touch Typing Tutor";
};
}

@ -0,0 +1,9 @@
{ kde, kdelibs }:
kde {
buildInputs = [ kdelibs ];
meta = {
description = "Educational Programming Environment";
};
}

@ -0,0 +1,9 @@
{ kde, kdelibs, libkdeedu }:
kde {
buildInputs = [ kdelibs libkdeedu ];
meta = {
description = "Flash Card Trainer";
};
}

@ -0,0 +1,8 @@
{ kde, kdelibs }:
kde {
buildInputs = [ kdelibs ];
meta = {
description = "Libraries used by KDE Education applications";
};
}

@ -0,0 +1,12 @@
{ kde, kdelibs, gpsd }:
kde {
# TODO: package QextSerialPort, libshp(shapelib), QtMobility, QtLocation, libwlocate, quazip
buildInputs = [ kdelibs gpsd ];
meta = {
description = "Marble Virtual Globe";
};
}

@ -0,0 +1,9 @@
{ kde, kdelibs }:
kde {
buildInputs = [ kdelibs ];
meta = {
description = "A memory and pairs game";
};
}

@ -0,0 +1,9 @@
{ kde, kdelibs, libkdeedu, attica }:
kde {
buildInputs = [ kdelibs libkdeedu attica ];
meta = {
description = "Vocabulary Trainer";
};
}

@ -0,0 +1,14 @@
{ kde, kdelibs, boost, grantlee }:
kde {
buildInputs = [ kdelibs (boost.override { enableExceptions = true; }) grantlee ];
NIX_CFLAGS_COMPILE = "-fexceptions";
meta = {
description = "A KDE graph theory viewer";
kde = {
name = "rocs";
};
};
}

@ -0,0 +1,12 @@
{ kde, kdelibs, gsl, libqalculate, eigen2, pkgconfig }:
kde {
buildInputs = [ kdelibs gsl libqalculate eigen2 ];
nativeBuildInputs = [ pkgconfig ];
meta = {
description = "A KDE interactive physical simulator";
};
}

@ -0,0 +1,7 @@
{ kde, kdelibs, libkdegames }:
kde {
buildInputs = [ kdelibs libkdegames ];
meta = {
description = "a single player arcade game. The player is invading various cities in a plane that is decreasing in height";
};
}

@ -0,0 +1,8 @@
{ kde, kdelibs, libkdegames }:
kde {
buildInputs = [ kdelibs libkdegames ];
meta = {
description = "a Gomoku (from Japanese - lit. \"five points\") like game for two players, where the opponents alternate in placing their respective pictogram on the game board";
};
}

@ -0,0 +1,7 @@
{ kde, kdelibs, libkdegames }:
kde {
buildInputs = [ kdelibs libkdegames ];
meta = {
description = "a clone of the classic Bomberman game, inspired by the work of the Clanbomber clone";
};
}

@ -0,0 +1,13 @@
{ kde, kdelibs, libkdegames, pythonPackages, sqlite, pykde4 }:
kde rec {
buildInputs = [ kdelibs libkdegames pythonPackages.python pythonPackages.wrapPython sqlite ] ++ pythonPath;
pythonPath = [ pythonPackages.twisted pykde4 ];
postInstall = "wrapPythonPrograms";
meta = {
description = "an ancient Chinese board game for 4 players";
};
}

@ -0,0 +1,7 @@
{ kde, kdelibs, libkdegames }:
kde {
buildInputs = [ kdelibs libkdegames ];
meta = {
description = "a clone of the well known game Pac-Man";
};
}

@ -0,0 +1,7 @@
{ kde, kdelibs, libkdegames }:
kde {
buildInputs = [ kdelibs libkdegames ];
meta = {
description = "a fun and educational puzzle game built around molecular geometry";
};
}

@ -0,0 +1,7 @@
{ kde, kdelibs, libkdegames }:
kde {
buildInputs = [ kdelibs libkdegames ];
meta = {
description = "a game of hide and seek played on an grid of boxes, where the player shoots rays into the grid to deduce the positions of hidden objects";
};
}

@ -0,0 +1,7 @@
{ kde, kdelibs, libkdegames }:
kde {
buildInputs = [ kdelibs libkdegames ];
meta = {
description = "a classic single player falling blocks puzzle game";
};
}

@ -0,0 +1,7 @@
{ kde, kdelibs, libkdegames }:
kde {
buildInputs = [ kdelibs libkdegames ];
meta = {
description = "a single player arcade game with the elements of puzzle";
};
}

@ -0,0 +1,7 @@
{ kde, kdelibs, libkdegames }:
kde {
buildInputs = [ kdelibs libkdegames ];
meta = {
description = "a Breakout-like game. Its object is to destroy as many bricks as possible without losing the ball";
};
}

@ -0,0 +1,7 @@
{ kde, kdelibs, libkdegames }:
kde {
buildInputs = [ kdelibs libkdegames ];
meta = {
description = "a single player puzzle game. The object of the game is to build lines of three similar diamonds";
};
}

@ -0,0 +1,7 @@
{ kde, kdelibs, libkdegames }:
kde {
buildInputs = [ kdelibs libkdegames ];
meta = {
description = "a board game for two players based on the Connect-Four game";
};
}

@ -0,0 +1,7 @@
{ kde, kdelibs, libkdegames }:
kde {
buildInputs = [ kdelibs libkdegames ];
meta = {
description = "an action game where the hero runs through a maze, climbs stairs, dig holes and dodges enemies in order to collect all the gold nuggets and escape to the next level";
};
}

@ -0,0 +1,7 @@
{ kde, kdelibs, libkdegames }:
kde {
buildInputs = [ kdelibs libkdegames ];
meta = {
description = "an open-source implementation of the popular Go game";
};
}

@ -0,0 +1,7 @@
{ kde, kdelibs, libkdegames }:
kde {
buildInputs = [ kdelibs libkdegames ];
meta = {
description = "a simple game of evading killer robots";
};
}

@ -0,0 +1,7 @@
{ kde, kdelibs, libkdegames }:
kde {
buildInputs = [ kdelibs libkdegames ];
meta = {
description = "an addictive and fun dice game, designed to be played by as many as six players";
};
}

@ -0,0 +1,7 @@
{ kde, kdelibs, libkdegames }:
kde {
buildInputs = [ kdelibs libkdegames ];
meta = {
description = "a simple dice driven tactical game";
};
}

@ -0,0 +1,7 @@
{ kde, kdelibs, libkdegames }:
kde {
buildInputs = [ kdelibs libkdegames ];
meta = {
description = "a puzzle game where the player removes groups of colored marbles to clear the board";
};
}

@ -0,0 +1,7 @@
{ kde, kdelibs, libkdegames }:
kde {
buildInputs = [ kdelibs libkdegames ];
meta = {
description = "a simple but highly addictive one player game. The player has to move the colored balls around the game board, gathering them into the lines of the same color by five";
};
}

@ -0,0 +1,7 @@
{ kde, kdelibs, libkdegames, libkmahjongg }:
kde {
buildInputs = [ kdelibs libkdegames libkmahjongg ];
meta = {
description = "the tiles are scrambled and staked on top of each other to resemble a certain shape. The player is then expected to remove all the tiles off the game board by locating each tile's matching pair";
};
}

@ -0,0 +1,7 @@
{ kde, kdelibs, libkdegames }:
kde {
buildInputs = [ kdelibs libkdegames ];
meta = {
description = "a classic Minesweeper game";
};
}

@ -0,0 +1,7 @@
{ kde, kdelibs, libkdegames }:
kde {
buildInputs = [ kdelibs libkdegames ];
meta = {
description = "a Battle Ship game";
};
}

@ -0,0 +1,7 @@
{ kde, kdelibs, libkdegames }:
kde {
buildInputs = [ kdelibs libkdegames ];
meta = {
description = "a small game where you have to build up a computer network by rotating the wires to connect the terminals to the server";
};
}

@ -0,0 +1,7 @@
{ kde, kdelibs, libkdegames }:
kde {
buildInputs = [ kdelibs libkdegames ];
meta = {
description = "a miniature golf game";
};
}

@ -0,0 +1,7 @@
{ kde, kdelibs, libkdegames }:
kde {
buildInputs = [ kdelibs libkdegames ];
meta = {
description = "a simple ball dodging game";
};
}

@ -0,0 +1,7 @@
{ kde, kdelibs, libkdegames }:
kde {
buildInputs = [ kdelibs libkdegames ];
meta = {
description = "the KDE version of Gnu-Lactic Konquest";
};
}

@ -0,0 +1,7 @@
{ kde, kdelibs, libkdegames }:
kde {
buildInputs = [ kdelibs libkdegames ];
meta = {
description = "a relaxing card sorting game";
};
}

@ -0,0 +1,7 @@
{ kde, kdelibs, libkdegames }:
kde {
buildInputs = [ kdelibs libkdegames ];
meta = {
description = "a simple one player strategy game played against the computer. If a player's piece is captured by an opposing player, that piece is turned over to reveal the color of that player";
};
}

@ -0,0 +1,7 @@
{ kde, kdelibs, libkdegames, libkmahjongg }:
kde {
buildInputs = [ kdelibs libkdegames libkmahjongg ];
meta = {
description = "a solitaire-like game played using the standard set of Mahjong tiles";
};
}

Some files were not shown because too many files have changed in this diff Show More