Merge pull request #5786 from NixOS/kde5

Merge kde5
This commit is contained in:
Thomas Tuegel 2015-01-26 21:07:39 -06:00
commit 61b8955072
65 changed files with 6497 additions and 28 deletions

6
.gitignore vendored
View file

@ -10,4 +10,8 @@ result-*
/doc/manual.pdf
.version-suffix
.DS_Store
.DS_Store
/pkgs/applications/kde-apps-*/tmp/
/pkgs/development/libraries/kde-frameworks-*/tmp/
/pkgs/desktops/plasma-*/tmp/

View file

@ -130,6 +130,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
fullName = "Eclipse Public License 1.0";
};
fdl12 = spdx {
spdxId = "GFDL-1.2";
fullName = "GNU Free Documentation License v1.2";
};
free = {
fullName = "Unspecified free software license";
};

View file

@ -46,12 +46,14 @@ in
PERL5LIB = [ "/lib/perl5/site_perl" ];
KDEDIRS = [ "" ];
STRIGI_PLUGIN_PATH = [ "/lib/strigi/" ];
QT_PLUGIN_PATH = [ "/lib/qt4/plugins" "/lib/kde4/plugins" ];
QT_PLUGIN_PATH = [ "/lib/qt4/plugins" "/lib/kde4/plugins" "/lib/qt5/plugins" ];
QML2_IMPORT_PATH = [ "/lib/qml" ];
QTWEBKIT_PLUGIN_PATH = [ "/lib/mozilla/plugins/" ];
GTK_PATH = [ "/lib/gtk-2.0" "/lib/gtk-3.0" ];
XDG_CONFIG_DIRS = [ "/etc/xdg" ];
XDG_DATA_DIRS = [ "/share" ];
MOZ_PLUGIN_PATH = [ "/lib/mozilla/plugins" ];
LIBEXEC_PATH = [ "/lib/libexec" ];
};
environment.extraInit =

View file

@ -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 ./kde5.nix
./e19.nix ./gnome3.nix ./xbmc.nix ./kodi.nix
];

View file

@ -0,0 +1,143 @@
{ config, lib, pkgs, ... }:
with lib;
let
xcfg = config.services.xserver;
cfg = xcfg.desktopManager.kde5;
xorg = pkgs.xorg;
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.phonon_qt5_backend_gstreamer
pkgs.gst_all_1.gst-plugins-base
pkgs.gst_all_1.gst-plugins-good
pkgs.gst_all_1.gst-plugins-ugly
pkgs.gst_all_1.gst-plugins-bad
pkgs.gst_all_1.gst-libav # for mp3 playback
];
vlc = [
pkgs.phonon_qt5_backend_vlc
pkgs.phonon_backend_vlc
];
};
phononBackendPackages = flip concatMap cfg.phononBackends
(name: attrByPath [name] (throw "unknown phonon backend `${name}'") phononBackends);
kf5 = pkgs.kf5_stable;
plasma5 = pkgs.plasma5_stable;
kdeApps = pkgs.kdeApps_stable;
in
{
options = {
services.xserver.desktopManager.kde5 = {
enable = mkOption {
type = types.bool;
default = false;
description = "Enable the Plasma 5 (KDE 5) desktop environment.";
};
phononBackends = mkOption {
type = types.listOf types.str;
default = ["gstreamer"];
example = ["gstreamer" "vlc"];
description = ''
Phonon backends to use in KDE. Only the VLC and gstreamer backends are
available. The VLC backend is preferred by upstream.
'';
};
};
};
config = mkIf (xcfg.enable && cfg.enable) {
warnings = optional config.services.xserver.desktopManager.kde4.enable
"KDE 4 should not be enabled at the same time as KDE 5";
services.xserver.desktopManager.session = singleton {
name = "kde5";
bgSupport = true;
start = ''exec ${plasma5.startkde}/bin/startkde;'';
};
security.setuidOwners = singleton {
program = "kcheckpass";
source = "${plasma5.plasma-workspace}/lib/libexec/kcheckpass";
owner = "root";
group = "root";
setuid = true;
};
environment.systemPackages = with plasma5; with kf5;
(builtins.attrValues
(removeAttrs plasma5
[ "deepOverride" "override" "overrideDerivation"
"recurseForDerivations" "scope"
]))
++
(builtins.attrValues
(removeAttrs kf5
[ "deepOverride" "extra-cmake-modules" "mkDerivation" "override"
"overrideDerivation" "recurseForDerivations" "scope"
]))
++
[
pkgs.qt4 # qtconfig is the only way to set Qt 4 theme
kdeApps.kde-baseapps
kdeApps.kde-base-artwork
kdeApps.kde-workspace
kdeApps.kde-runtime
kdeApps.kmix
kdeApps.konsole
kdeApps.oxygen-icons
pkgs.hicolor_icon_theme
pkgs.orion # GTK theme, nearly identical to Breeze
]
++ (optional config.networking.networkmanager.enable plasma-nm)
++ phononBackendPackages;
environment.pathsToLink = [ "/share" ];
environment.etc = singleton {
source = "${pkgs.xkeyboard_config}/etc/X11/xkb";
target = "X11/xkb";
};
environment.profileRelativeEnvVars =
mkIf (lib.elem "gstreamer" cfg.phononBackends)
{
GST_PLUGIN_SYSTEM_PATH = [ "/lib/gstreamer-0.10" ];
GST_PLUGIN_SYSTEM_PATH_1_0 = [ "/lib/gstreamer-1.0" ];
};
fonts.fonts = [ plasma5.oxygen-fonts ];
# Enable helpful DBus services.
services.udisks2.enable = true;
services.upower.enable = config.powerManagement.enable;
security.pam.services.kde = { allowNullPassword = true; };
};
}

View file

@ -151,6 +151,9 @@ in
description = "KDM user";
};
environment.systemPackages =
[ pkgs.kde4.kde_wallpapers ]; # contains kdm's default background
};
}

View file

@ -1,7 +1,8 @@
{ stdenv, fetchurl, boost, cmake, gettext, gstreamer, gst_plugins_base
, gst_plugins_good, gst_plugins_bad, gst_plugins_ugly, gst_ffmpeg
, liblastfm, qt4, taglib, fftw, glew, qjson, sqlite, libgpod, libplist
, usbmuxd, libmtp, gvfs, libcdio, protobuf, libspotify, qca2, pkgconfig
, sparsehash, config }:
, sparsehash, config, makeWrapper }:
let withSpotify = config.clementine.spotify or false;
in
@ -22,6 +23,9 @@ stdenv.mkDerivation {
gettext
glew
gst_plugins_base
gst_plugins_good
gst_plugins_ugly
gst_ffmpeg
gstreamer
gvfs
libcdio
@ -29,6 +33,7 @@ stdenv.mkDerivation {
liblastfm
libmtp
libplist
makeWrapper
pkgconfig
protobuf
qca2
@ -42,6 +47,11 @@ stdenv.mkDerivation {
enableParallelBuilding = true;
postInstall = ''
wrapProgram $out/bin/clementine \
--set GST_PLUGIN_SYSTEM_PATH "$GST_PLUGIN_SYSTEM_PATH"
'';
meta = with stdenv.lib; {
homepage = "http://www.clementine-player.org";
description = "A multiplatform music player";

View file

@ -0,0 +1,265 @@
# Maintainer's Notes:
#
# Minor updates:
# 1. Edit ./manifest.sh to point to the updated URL. Upstream sometimes
# releases updates that include only the changed packages; in this case,
# multiple URLs can be provided and the results will be merged.
# 2. Run ./manifest.sh and ./dependencies.sh.
# 3. Build and enjoy.
#
# Major updates:
# We prefer not to immediately overwrite older versions with major updates, so
# make a copy of this directory first. After copying, be sure to delete ./tmp
# if it exists. Then follow the minor update instructions.
{ autonix, kde4, kf55, pkgs, qt4, stdenv, debug ? false }:
with stdenv.lib; with autonix;
let
kf5 = kf55.override { inherit debug; };
mirror = "mirror://kde";
renames =
(builtins.removeAttrs
(import ./renames.nix {})
["Backend" "CTest"])
// {
"KDE4" = "kdelibs";
"Kexiv2" = "libkexiv2";
"Kdcraw" = "libkdcraw";
"Kipi" = "libkipi";
"LibKMahjongg" = "libkmahjongg";
"LibKonq" = "kde-baseapps";
};
scope =
# packages in this collection
(mapAttrs (dep: name: kdeApps."${name}") renames) //
# packages from KDE Frameworks 5
kf5.scope //
# packages from nixpkgs
(with pkgs;
{
ACL = acl;
Akonadi = kde4.akonadi;
Alsa = alsaLib;
Automoc4 = automoc4;
Avahi = avahi;
BISON = bison;
Baloo = kde4.baloo;
Boost = boost156;
Canberra = libcanberra;
Cdparanoia = cdparanoia;
CUPS = cups;
DBusMenuQt = libdbusmenu_qt;
DjVuLibre = djvulibre;
ENCHANT = enchant;
EPub = ebook_tools;
Eigen2 = eigen2;
Eigen3 = eigen;
Exiv2 = exiv2;
FAM = fam;
FFmpeg = ffmpeg;
Flac = flac;
FLEX = flex;
Freetype = freetype;
GMP = gmp;
Gettext = gettext;
Gpgme = gpgme;
Gphoto2 = libgphoto2;
Grantlee = grantlee;
GSL = gsl;
HUNSPELL = hunspell;
HUpnp = herqq;
Jasper = jasper;
KActivities = kde4.kactivities;
LCMS2 = lcms2;
Ldap = openldap;
LibAttica = attica;
LibGcrypt = libgcrypt;
LibSSH = libssh;
LibSpectre = libspectre;
LibVNCServer = libvncserver;
Libical = libical;
MusicBrainz3 = libmusicbrainz;
NetworkManager = networkmanager;
OggVorbis = libvorbis;
OpenAL = openal;
OpenEXR = openexr;
Poppler = poppler.poppler_qt4;
Prison = prison;
PulseAudio = pulseaudio;
PythonLibrary = python;
Qalculate = libqalculate;
QCA2 = qca2;
QImageBlitz = qimageblitz;
QJSON = qjson;
Qt4 = qt4;
Samba = samba;
Sasl2 = cyrus_sasl;
SharedDesktopOntologies = shared_desktop_ontologies;
SndFile = libsndfile;
Speechd = speechd;
TIFF = libtiff;
Taglib = taglib;
TelepathyQt4 = telepathy_qt;
TunePimp = libtunepimp;
UDev = udev;
USB = libusb;
Xscreensaver = xscreensaver;
Xsltproc = libxslt;
}
);
preResolve = super:
fold (f: x: f x) super
[
(userEnvPkg "SharedMimeInfo")
(userEnvPkg "SharedDesktopOntologies")
(blacklist ["artikulate"]) # build failure, wrong boost?
(blacklist ["kde-dev-scripts" "kde-dev-utils"]) # docbook errors
(blacklist ["kdewebdev"]) # unknown build failure
];
postResolve = super:
super // {
ark = with pkgs; super.ark // {
buildInputs = (super.ark.buildInputs or []) ++ [ makeWrapper ];
postInstall = ''
wrapProgram $out/bin/ark --prefix PATH : "${unzipNLS}/bin"
'';
};
ffmpegthumbs = with pkgs; super.ffmpegthumbs // {
nativeBuildInputs = super.ffmpegthumbs.nativeBuildInputs ++ [pkgconfig];
};
kalzium = with pkgs; super.kalzium // {
nativeBuildInputs = super.kalzium.nativeBuildInputs ++ [pkgconfig];
};
kde-runtime = with pkgs; super.kde-runtime // {
buildInputs =
super.kde-runtime.buildInputs ++ [libcanberra];
nativeBuildInputs =
super.kde-runtime.nativeBuildInputs ++ [pkgconfig];
NIX_CFLAGS_COMPILE =
(super.kde-runtime.NIX_CFLAGS_COMPILE or "")
+ " -I${ilmbase}/include/OpenEXR";
};
kde-workspace = with pkgs; super.kde-workspace // {
buildInputs = with xlibs;
super.kde-workspace.buildInputs
++
[
libxkbfile libXcomposite xcbutilimage xcbutilkeysyms
xcbutilrenderutil
];
nativeBuildInputs =
super.kde-workspace.nativeBuildInputs
++ [ pkgconfig ];
};
kdelibs = with pkgs; super.kdelibs // {
buildInputs =
super.kdelibs.buildInputs ++ [ attr libxslt polkit_qt4 xz ];
nativeBuildInputs =
super.kdelibs.nativeBuildInputs ++ [ pkgconfig ];
NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
propagatedBuildInputs =
super.kdelibs.propagatedBuildInputs ++ [ qt4 soprano phonon strigi ];
propagatedNativeBuildInputs =
super.kdelibs.propagatedNativeBuildInputs
++ [ automoc4 cmake perl shared_mime_info ];
patches = [ ./kdelibs/polkit-install.patch ];
cmakeFlags = [
"-DDOCBOOKXML_CURRENTDTD_DIR=${docbook_xml_dtd_42}/xml/dtd/docbook"
"-DDOCBOOKXSL_DIR=${docbook_xsl}/xml/xsl/docbook"
"-DHUPNP_ENABLED=ON"
"-DWITH_SOLID_UDISKS2=ON"
];
};
kdepim = with pkgs; super.kdepim // {
buildInputs =
super.kdepim.buildInputs ++ [ gpgme libassuan ];
nativeBuildInputs =
super.kdepim.nativeBuildInputs ++ [ pkgconfig ];
};
kdepimlibs = with pkgs; super.kdepimlibs // {
nativeBuildInputs =
super.kdepimlibs.nativeBuildInputs ++ [ pkgconfig ];
};
kdesdk-thumbnailers = with pkgs; super.kdesdk-thumbnailers // {
nativeBuildInputs =
super.kdesdk-thumbnailers.nativeBuildInputs
++ [gettext];
};
kgpg = with pkgs; super.kgpg // {
buildInputs = super.kgpg.buildInputs ++ [boost];
};
kmix = with pkgs; super.kmix // {
nativeBuildInputs = super.kmix.nativeBuildInputs ++ [pkgconfig];
cmakeFlags = [ "-DKMIX_KF5_BUILD=ON" ];
};
kmousetool = with pkgs; super.kmousetool // {
buildInputs = with xlibs;
super.kmousetool.buildInputs
++ [libXtst libXt];
};
kremotecontrol = with pkgs; super.kremotecontrol // {
buildInputs = super.kremotecontrol.buildInputs ++ [xlibs.libXtst];
};
krfb = with pkgs; super.krfb // {
buildInputs =
super.krfb.buildInputs
++ [xlibs.libXtst kde4.telepathy.common_internals];
};
libkdcraw = with pkgs; super.libkdcraw // {
buildInputs = super.libkdcraw.buildInputs ++ [scope.KDE4 libraw];
nativeBuildInputs = super.libkdcraw.nativeBuildInputs ++ [pkgconfig];
};
libkexiv2 = with pkgs; super.libkexiv2 // {
buildInputs = super.libkexiv2.buildInputs ++ [exiv2 scope.KDE4];
};
libkface = with pkgs; super.libkface // {
buildInputs = super.libkface.buildInputs ++ [scope.KDE4 opencv];
};
libkipi = with pkgs; super.libkipi // {
buildInputs = super.libkipi.buildInputs ++ [scope.KDE4];
};
libksane = with pkgs; super.libksane // {
buildInputs = super.libksane.buildInputs ++ [scope.KDE4 saneBackends];
};
};
kdeApps = generateCollection ./. {
inherit (kf5) mkDerivation;
inherit mirror preResolve postResolve renames scope;
};
in kdeApps

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,12 @@
#!/bin/sh
manifestXML=$(nix-build -E 'with (import ../../.. {}); autonix.writeManifestXML ./manifest.nix')
autonixDepsKf5=""
if [[ -z $1 ]]; then
autonixDepsKF5=$(nix-build ../../.. -A haskellngPackages.autonix-deps-kf5)/bin
else
autonixDepsKF5="$1/dist/build/kf5-deps"
fi
exec ${autonixDepsKF5}/kf5-deps "${manifestXML}"

View file

@ -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)

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,15 @@
#!/bin/sh
if [ $# -eq 0 ]; then
# The extra slash at the end of the URL is necessary to stop wget
# from recursing over the whole server! (No, it's not a bug.)
$(nix-build ../../.. -A autonix.manifest) \
http://download.kde.org/stable/applications/14.12.1/ \
-A '*.tar.xz'
else
$(nix-build ../../.. -A autonix.manifest) -A '*.tar.xz' "$@"
fi

View file

@ -0,0 +1,23 @@
# DO NOT EDIT! This file is generated automatically.
{ }:
{
"Analitza5" = "analitza";
"Backend" = "kde-workspace";
"CTest" = "sweeper";
"ECM" = "extra-cmake-modules";
"Gpgmepp" = "kdepimlibs";
"JDns" = "kopete";
"KDE4Workspace" = "kde-workspace";
"KDEGames" = "libkdegames";
"KDeclarative" = "kdelibs";
"KSane" = "libksane";
"KdepimLibs" = "kdepimlibs";
"LibKEduVocDocument" = "libkeduvocdocument";
"LibKdeEdu" = "libkdeedu";
"LibKompareDiff2" = "libkomparediff2";
"Libkcddb" = "libkcddb";
"Libkcompactdisc" = "libkcompactdisc";
"Okular" = "okular";
"QJDns" = "kopete";
"QMobipocket" = "kdegraphics-mobipocket";
}

View file

@ -0,0 +1 @@
addToSearchPath XDG_DATA_DIRS @out@/share

View file

@ -5,10 +5,14 @@
, ssl ? true # enable SSL support
, previews ? false # enable webpage previews on hovering over URLs
, tag ? "" # tag added to the package name
, stdenv, fetchurl, cmake, makeWrapper, qt, kdelibs, automoc4, phonon, dconf }:
, kdelibs ? null # optional
, useQt5 ? false
, phonon_qt5, libdbusmenu_qt5
, stdenv, fetchurl, cmake, makeWrapper, qt, automoc4, phonon, dconf }:
assert monolithic -> !client && !daemon;
assert client || daemon -> !monolithic;
assert withKDE -> kdelibs != null;
let
edf = flag: feature: [("-D" + feature + (if flag then "=ON" else "=OFF"))];
@ -28,20 +32,19 @@ in with stdenv; mkDerivation rec {
buildInputs = [ cmake makeWrapper qt ]
++ lib.optional withKDE kdelibs
++ lib.optional withKDE automoc4
++ lib.optional withKDE phonon;
++ lib.optional withKDE phonon
++ lib.optional useQt5 phonon_qt5
++ lib.optional useQt5 libdbusmenu_qt5;
cmakeFlags = [
"-DWITH_DBUS=OFF"
"-DWITH_LIBINDICATE=OFF"
"-DEMBED_DATA=OFF"
"-DSTATIC=OFF"
"-DWITH_PHONON=ON" ]
"-DSTATIC=OFF" ]
++ edf monolithic "WANT_MONO"
++ edf daemon "WANT_CORE"
++ edf client "WANT_QTCLIENT"
++ edf withKDE "WITH_KDE"
++ edf ssl "WITH_OPENSSL"
++ edf previews "WITH_WEBKIT" ;
++ edf previews "WITH_WEBKIT"
++ edf useQt5 "USE_QT5";
preFixup =
lib.optionalString client ''

View file

@ -0,0 +1,174 @@
{ bash, callPackage, coreutils, fetchurl, findutils, nix, runCommand, stdenv
, substituteAll, wget, writeText }:
/* autonix is a collection of tools to automate packaging large collections
* of software, particularly KDE. It consists of three components:
* 1. a script (manifest) to download and hash the packages
* 2. a dependency scanner (autonix-deps) written in Haskell that examines
* the package sources and tries to guess their dependencies
* 3. a library of Nix routines (generateCollection) to generate Nix
* expressions from the output of the previous steps.
*/
with stdenv.lib;
let
/* Download the packages into the Nix store, compute their hashes,
* and generate a package manifest in ./manifest.nix.
*/
manifest =
let
script =
substituteAll
{
src = ./manifest.sh;
inherit bash coreutils findutils nix wget;
};
in
runCommand "autonix-manifest" {}
''
cp ${script} $out
chmod +x $out
'';
/* Convert a manifest.nix file to XML to be read by autonix-deps. */
writeManifestXML = filename:
let
generateStores = mapAttrs (n: pkg: pkg.store);
manifest = generateStores (importManifest filename { mirror = ""; });
in
writeText "manifest.xml" (builtins.toXML manifest);
/* Generate a set of Nix expressions for the collection, given a
* manifest.nix, dependencies.nix, and renames.nix in the same directory.
*/
generateCollection = dir: # path to directory
{ mirror # mirror to download packages from
, mkDerivation ? mkDerivation
, preResolve ? id # modify package set before dependency resolution
, postResolve ? id # modify package set after dependency resolution
, renames ? {}
, scope ? {}
}:
let
fix = f: let x = f x; in x;
resolvePkg = name:
mapAttrs (attr: if isDepAttr attr then resolveDeps scope else id);
resolve = mapAttrs resolvePkg;
derive = mapAttrs (name: mkDerivation);
renames_ =
if renames == {} then (import (dir + "/renames.nix") {}) else renames;
packages = importPackages dir renames_ { inherit mirror; };
in derive (postResolve (resolve (preResolve packages)));
pkgNameVersion = pkg: nameFromURL pkg.name ".tar";
pkgAttrName = pkg: (builtins.parseDrvName (pkgNameVersion pkg)).name;
pkgVersion = pkg: (builtins.parseDrvName (pkgNameVersion pkg)).version;
depAttrNames = [
"buildInputs" "nativeBuildInputs"
"propagatedBuildInputs" "propagatedNativeBuildInputs"
"propagatedUserEnvPkgs"
];
isDepAttr = name: builtins.elem name depAttrNames;
removePkgDeps = deps:
let removeDepsIfDepAttr = attr: value:
if isDepAttr attr then fold remove value deps else value;
in mapAttrs removeDepsIfDepAttr;
hasDep = dep: pkg:
let depAttrs = attrValues (filterAttrs (n: v: isDepAttr n) pkg);
allDeps = concatLists depAttrs;
in elem dep allDeps;
importManifest = path: { mirror }:
let
uniqueNames = manifest:
unique (map pkgAttrName manifest);
versionsOf = manifest: name:
filter (pkg: pkgAttrName pkg == name) manifest;
bestVersions = manifest:
let best = versions:
let
strictlyLess = a: b:
builtins.compareVersions (pkgVersion a) (pkgVersion b) > 0;
sorted = sort strictlyLess versions;
in head sorted;
in map (name: best (versionsOf manifest name)) (uniqueNames manifest);
withNames = manifest:
builtins.listToAttrs
(map (p: nameValuePair (toLower (pkgAttrName p)) p) manifest);
orig = import path { inherit mirror; };
in
fold (f: x: f x) orig [ withNames bestVersions ];
importPackages = path: renames: manifestScope:
let
# Do not allow any package to depend on itself.
breakRecursion =
let removeSelfDep = pkg:
mapAttrs
(n: if isDepAttr n
then filter (dep: dep != pkg && renamed dep != pkg)
else id);
in mapAttrs removeSelfDep;
renamed = dep: renames."${dep}" or dep;
manifest = importManifest (path + "/manifest.nix") manifestScope;
deps = import (path + "/dependencies.nix") {};
mkPkg = pkg: pkgManifest:
{
name = nameFromURL pkgManifest.name ".tar";
src = { inherit (pkgManifest) sha256 name url; };
inherit (deps."${pkg}")
buildInputs nativeBuildInputs propagatedBuildInputs
propagatedNativeBuildInputs propagatedUserEnvPkgs;
};
in breakRecursion (mapAttrs mkPkg manifest);
mkDerivation = drv: stdenv.mkDerivation (drv // { src = fetchurl drv.src; });
resolveDeps = scope: map (dep: scope."${dep}" or null);
userEnvPkg = dep:
mapAttrs
(name: pkg: pkg // {
propagatedUserEnvPkgs =
(pkg.propagatedUserEnvPkgs or [])
++ optional (hasDep dep pkg) dep;
});
in
{
inherit generateCollection;
inherit isDepAttr;
inherit manifest;
inherit resolveDeps;
inherit userEnvPkg;
inherit writeManifestXML;
blacklist = names: pkgs:
let
removeDeps = deps: mapAttrs (name: removePkgDeps deps);
removePkgs = names: pkgs: builtins.removeAttrs pkgs names;
in removeDeps names (removePkgs names pkgs);
}

View file

@ -0,0 +1,38 @@
#!@bash@/bin/bash
@coreutils@/bin/mkdir tmp; cd tmp
@wget@/bin/wget -nH -r -c --no-parent $*
cat >../manifest.nix <<EOF
# This file is generated automatically. DO NOT EDIT!
{ mirror }:
[
EOF
workdir=$(pwd)
@findutils@/bin/find . | while read path; do
if [[ -f "${path}" ]]; then
url="${path:2}"
# Sanitize file name
name=$(@coreutils@/bin/basename "${path}" | tr '@' '_')
dirname=$(@coreutils@/bin/dirname "${path}")
mv "${workdir}/${path}" "${workdir}/${dirname}/${name}"
# Prefetch and hash source file
sha256=$(@nix@/bin/nix-prefetch-url "file://${workdir}/${dirname}/${name}")
store=$(@nix@/bin/nix-store --print-fixed-path sha256 "$sha256" "$name")
cat >>../manifest.nix <<EOF
{
url = "\${mirror}/${url}";
sha256 = "${sha256}";
name = "${name}";
store = "${store}";
}
EOF
fi
done
echo "]" >>../manifest.nix
cd ..

View file

@ -8,6 +8,7 @@
{ name ? "", stdenv, nativeTools, nativeLibc, nativePrefix ? ""
, gcc ? null, libc ? null, binutils ? null, coreutils ? null, shell ? stdenv.shell
, zlib ? null, extraPackages ? []
, setupHook ? ./setup-hook.sh
}:
with stdenv.lib;
@ -199,7 +200,7 @@ stdenv.mkDerivation {
''
+ ''
substituteAll ${./setup-hook.sh} $out/nix-support/setup-hook
substituteAll ${setupHook} $out/nix-support/setup-hook
substituteAll ${./add-flags} $out/nix-support/add-flags.sh
cp -p ${./utils.sh} $out/nix-support/utils.sh

View file

@ -0,0 +1,44 @@
# This is an alternate setup hook for gcc-wrapper that uses the -I flag to
# add include search paths instead of -isystem. We need this for some packages
# because -isystem can change the search order specified by prior -I flags.
# Changing the search order can point gcc to the wrong package's headers.
# The -I flag will never change the order of prior flags.
export NIX_CC=@out@
addCVars () {
if [ -d $1/include ]; then
export NIX_CFLAGS_COMPILE+=" -I $1/include"
fi
if [ -d $1/lib64 -a ! -L $1/lib64 ]; then
export NIX_LDFLAGS+=" -L$1/lib64"
fi
if [ -d $1/lib ]; then
export NIX_LDFLAGS+=" -L$1/lib"
fi
}
envHooks+=(addCVars)
# Note: these come *after* $out in the PATH (see setup.sh).
if [ -n "@gcc@" ]; then
addToSearchPath PATH @gcc@/bin
fi
if [ -n "@binutils@" ]; then
addToSearchPath PATH @binutils@/bin
fi
if [ -n "@libc@" ]; then
addToSearchPath PATH @libc@/bin
fi
if [ -n "@coreutils@" ]; then
addToSearchPath PATH @coreutils@/bin
fi
export CC=gcc
export CXX=g++

View file

@ -0,0 +1,143 @@
# Maintainer's Notes:
#
# Minor updates:
# 1. Edit ./manifest.sh to point to the updated URL. Upstream sometimes
# releases updates that include only the changed packages; in this case,
# multiple URLs can be provided and the results will be merged.
# 2. Run ./manifest.sh and ./dependencies.sh.
# 3. Build and enjoy.
#
# Major updates:
# We prefer not to immediately overwrite older versions with major updates, so
# make a copy of this directory first. After copying, be sure to delete ./tmp
# if it exists. Then follow the minor update instructions.
{ autonix, kf55, pkgs, stdenv, debug ? false }:
with stdenv.lib; with autonix;
let
kf5 = kf55.override { inherit debug; };
mirror = "mirror://kde";
renames =
builtins.removeAttrs
(import ./renames.nix {})
["Backend" "CTest" "KF5Wayland"];
scope =
# packages in this collection
(mapAttrs (dep: name: plasma5."${name}") renames) //
# packages from KDE Frameworks 5
kf5.scope //
# packages pinned to this version of Qt 5
{
PopplerQt5 = (pkgs.poppler.override { inherit (kf5) qt5; }).poppler_qt5;
} //
# packages from nixpkgs
(with pkgs;
{
inherit epoxy;
Epub = ebook_tools;
Exiv2 = exiv2;
FFmpeg = ffmpeg;
FONTFORGE_EXECUTABLE = fontforge;
Freetype = freetype;
LibSSH = libssh;
ModemManager = modemmanager;
NetworkManager = networkmanager;
PulseAudio = pulseaudio;
Taglib = taglib;
Xapian = xapian;
}
);
preResolve = super:
fold (f: x: f x) super
[
(userEnvPkg "SharedMimeInfo")
(userEnvPkg "SharedDesktopOntologies")
(blacklist ["kwayland"])
];
postResolve = super:
(builtins.removeAttrs super ["breeze"]) // {
breeze-qt4 = with pkgs; super.breeze // {
name = "breeze-qt4-" + (builtins.parseDrvName super.breeze.name).version;
buildInputs = [ xlibs.xproto kde4.kdelibs qt4 ];
nativeBuildInputs = [ cmake pkgconfig ];
cmakeFlags =
[
"-DUSE_KDE4=ON"
"-DQT_QMAKE_EXECUTABLE=${qt4}/bin/qmake"
];
};
breeze-qt5 = with pkgs; super.breeze // {
name = "breeze-qt5-" + (builtins.parseDrvName super.breeze.name).version;
buildInputs = with kf5;
[
kcompletion kconfig kconfigwidgets kcoreaddons frameworkintegration
ki18n kwindowsystem qt5
];
nativeBuildInputs = [ cmake kf5.extra-cmake-modules pkgconfig ];
cmakeFlags = [ "-DUSE_KDE4=OFF" ];
};
kwin = with pkgs; super.kwin // {
buildInputs = with xlibs;
super.kwin.buildInputs ++ [ libICE libSM libXcursor ];
patches = [ ./kwin/kwin-import-plugin-follow-symlinks.patch ];
};
libkscreen = with pkgs; super.libkscreen // {
buildInputs = with xlibs;
super.libkscreen.buildInputs ++ [libXrandr];
patches = [ ./libkscreen/libkscreen-backend-path.patch ];
};
plasma-desktop = with pkgs; super.plasma-desktop // {
buildInputs = with xlibs;
super.plasma-desktop.buildInputs ++
[ pkgs.libcanberra libxkbfile libXcursor ];
patches = [
./plasma-desktop/plasma-desktop-hwclock.patch
./plasma-desktop/plasma-desktop-zoneinfo.patch
];
preConfigure = ''
substituteInPlace kcms/dateandtime/helper.cpp \
--subst-var-by hwclock "${utillinux}/sbin/hwclock"
'';
};
plasma-workspace = with pkgs; super.plasma-workspace // {
buildInputs = with xlibs;
super.plasma-workspace.buildInputs ++ [ libSM libXcursor pam ];
postInstall = ''
# We use a custom startkde script
rm $out/bin/startkde
'';
};
powerdevil = with pkgs; super.powerdevil // {
buildInputs = with xlibs; super.powerdevil.buildInputs ++ [libXrandr];
};
};
plasma5 = generateCollection ./. {
inherit (kf5) mkDerivation;
inherit mirror preResolve postResolve renames scope;
};
in
plasma5 // {
inherit scope;
startkde = pkgs.callPackage ./startkde {
inherit (kf5) kconfig kinit kservice;
inherit (plasma5) plasma-desktop plasma-workspace;
};
}

View file

@ -0,0 +1,220 @@
# DO NOT EDIT! This file is generated automatically.
{ }:
{
baloo = {
buildInputs = [ "ECM" "KF5" "KF5Abc" "KF5Akonadi" "KF5AkonadiMime" "KF5AkonadiServer" "KF5Auth" "KF5CalendarCore" "KF5Config" "KF5Crash" "KF5FileMetaData" "KF5I18n" "KF5IdleTime" "KF5KCMUtils" "KF5KDELibs4Support" "KF5KIO" "KF5Mime" "KF5PimUtils" "KF5Solid" "Qt5" "Qt5Test" "Xapian" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "KF5CoreAddons" "KF5FileMetaData" "Qt5Core" "Xapian" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
breeze = {
buildInputs = [ "ECM" "KDE4" "KDecorations" "KF5" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5FrameworkIntegration" "KF5I18n" "KF5WindowSystem" "PkgConfig" "Qt5" "XCB" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kde-cli-tools = {
buildInputs = [ "ECM" "KF5" "KF5Config" "KF5I18n" "KF5IconThemes" "KF5KCMUtils" "KF5KDE4Support" "KF5Su" "KF5WindowSystem" "Qt5" "Qt5Test" "Qt5X11Extras" "X11" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kdeplasma-addons = {
buildInputs = [ "ECM" "GIO" "GLIB2" "GObject" "IBus" "KDE4" "KF5" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5I18n" "KF5KCMUtils" "KF5KDELibs4Support" "KF5KIO" "KF5Plasma" "KF5Runner" "KF5Service" "KF5UnitConversion" "KdepimLibs" "Kexiv2" "Lancelot" "Lancelot-Datamodels" "Qt5" "SCIM" "SharedMimeInfo" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ "SharedMimeInfo" ];
};
kfilemetadata = {
buildInputs = [ "ECM" "EPub" "Exiv2" "FFmpeg" "KF5" "KF5Archive" "KF5I18n" "PopplerQt5" "QMobipocket" "Qt5" "Taglib" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "Qt5Core" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
khelpcenter = {
buildInputs = [ "ECM" "KF5" "KF5Config" "KF5I18n" "KF5Init" "KF5KCMUtils" "KF5KDE4Support" "KF5KHtml" "Qt5" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
khotkeys = {
buildInputs = [ "ECM" "KF5" "KF5DBusAddons" "KF5GlobalAccel" "KF5I18n" "KF5KCMUtils" "KF5KDE4Support" "KF5KIO" "KF5Plasma" "KF5XmlGui" "LibKWorkspace" "Qt5" "X11" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kinfocenter = {
buildInputs = [ "ECM" "EGL" "KF5" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DBusAddons" "KF5DocTools" "KF5I18n" "KF5IconThemes" "KF5KCMUtils" "KF5KDELibs4Support" "KF5KIO" "KF5Service" "KF5Solid" "KF5Wayland" "KF5WidgetsAddons" "KF5XmlGui" "OpenGL" "OpenGLES" "PCIUTILS" "Qt5" "RAW1394" "X11" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kio-extras = {
buildInputs = [ "ECM" "Exiv2" "JPEG" "KF5" "KF5Archive" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DBusAddons" "KF5DNSSD" "KF5DocTools" "KF5I18n" "KF5IconThemes" "KF5KDE4Support" "KF5KHtml" "KF5KIO" "KF5Solid" "LibSSH" "OpenEXR" "Phonon4Qt5" "Qt5" "Qt5Test" "SLP" "Samba" "SharedMimeInfo" ];
nativeBuildInputs = [ "MD5SUM_EXECUTABLE" "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ "SharedMimeInfo" ];
};
kmenuedit = {
buildInputs = [ "ECM" "KF5" "KF5DBusAddons" "KF5I18n" "KF5IconThemes" "KF5KDELibs4Support" "KF5KIO" "KF5Sonnet" "KF5XmlGui" "KHotKeysDBusInterface" "Qt5" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
ksysguard = {
buildInputs = [ "ECM" "KF5" "KF5Config" "KF5CoreAddons" "KF5I18n" "KF5IconThemes" "KF5ItemViews" "KF5KDE4Support" "KF5NewStuff" "KF5SysGuard" "Qt5" "Sensors" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kwayland = {
buildInputs = [ "ECM" "Qt5" "Wayland" ];
nativeBuildInputs = [ "WAYLAND_SCANNER_EXECUTABLE" "cmake" ];
propagatedBuildInputs = [ "Qt5Gui" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kwin = {
buildInputs = [ "ECM" "EGL" "KF5" "KF5Activities" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5Crash" "KF5Declarative" "KF5DocTools" "KF5GlobalAccel" "KF5I18n" "KF5Init" "KF5KCMUtils" "KF5KIO" "KF5NewStuff" "KF5Notifications" "KF5Plasma" "KF5Service" "KF5Wayland" "KF5WidgetsAddons" "KF5WindowSystem" "KF5XmlGui" "OpenGL" "OpenGLES" "Qt5" "Qt5Multimedia" "Qt5Test" "Wayland" "X11" "XCB" "XKB" "epoxy" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "KF5Config" "KF5Service" "KF5WindowSystem" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kwrited = {
buildInputs = [ "ECM" "KF5" "KF5DBusAddons" "KF5KDE4Support" "KF5Pty" "Qt5" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
libkscreen = {
buildInputs = [ "Doxygen" "ECM" "Qt5" "X11" "XCB" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "Qt5Core" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
libksysguard = {
buildInputs = [ "ECM" "KF5" "KF5Config" "KF5I18n" "KF5KDE4Support" "KF5Plasma" "Qt5" "Qt5X11Extras" "X11" "ZLIB" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "Qt5DBus" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
libmm-qt = {
buildInputs = [ "ECM" "KF5ModemManagerQt" "ModemManager" "Qt4" "Qt5" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "Qt5Core" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
libnm-qt = {
buildInputs = [ "ECM" "KF5NetworkManagerQt" "NetworkManager" "Qt4" "Qt5" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "Qt5Core" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
milou = {
buildInputs = [ "ECM" "KF5" "KF5Declarative" "KF5I18n" "KF5Plasma" "KF5Runner" "KdepimLibs" "Qt5" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
oxygen = {
buildInputs = [ "ECM" "KDE4" "KDE4Workspace" "KDecorations" "KF5" "KF5Completion" "KF5Config" "KF5FrameworkIntegration" "KF5GuiAddons" "KF5I18n" "KF5Service" "KF5WidgetsAddons" "KF5WindowSystem" "PkgConfig" "Qt5" "XCB" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
oxygen-fonts = {
buildInputs = [ "ECM" ];
nativeBuildInputs = [ "FONTFORGE_EXECUTABLE" "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
plasma-desktop = {
buildInputs = [ "ECM" "Fontconfig" "Freetype" "GLIB2" "KDE4" "KDecorations" "KF5" "KF5Activities" "KF5Attica" "KF5Auth" "KF5DocTools" "KF5Emoticons" "KF5I18n" "KF5ItemModels" "KF5KCMUtils" "KF5KDELibs4Support" "KF5NewStuff" "KF5NotifyConfig" "KF5Plasma" "KF5PlasmaQuick" "KF5Runner" "KF5Wallet" "KRunnerAppDBusInterface" "KSMServerDBusInterface" "KWinDBusInterface" "LibKWorkspace" "LibTaskManager" "OpenGL" "OpenGLES" "PackageKitQt5" "Phonon4Qt5" "PulseAudio" "Qt4" "Qt5" "ScreenSaverDBusInterface" "Strigi" "USB" "X11" "XCB" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
plasma-nm = {
buildInputs = [ "ECM" "KF5" "KF5Completion" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DBusAddons" "KF5Declarative" "KF5I18n" "KF5IconThemes" "KF5Init" "KF5ItemViews" "KF5KDELibs4Support" "KF5KIO" "KF5ModemManagerQt" "KF5NetworkManagerQt" "KF5Notifications" "KF5Plasma" "KF5Service" "KF5Solid" "KF5Wallet" "KF5WidgetsAddons" "KF5WindowSystem" "KF5XmlGui" "MobileBroadbandProviderInfo" "ModemManager" "NetworkManager" "OpenConnect" "OpenSSL" "Qt5" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
plasma-workspace = {
buildInputs = [ "ECM" "KF5" "KF5Activities" "KF5Baloo" "KF5Config" "KF5CoreAddons" "KF5Crash" "KF5DBusAddons" "KF5Declarative" "KF5DocTools" "KF5I18n" "KF5IdleTime" "KF5JsEmbed" "KF5KCMUtils" "KF5KDELibs4Support" "KF5KIO" "KF5NO_MODULE" "KF5NewStuff" "KF5NotifyConfig" "KF5Plasma" "KF5PlasmaQuick" "KF5Runner" "KF5Screen" "KF5Solid" "KF5Su" "KF5SysGuard" "KF5TextEditor" "KF5TextWidgets" "KF5Wallet" "KF5WebKit" "KWinDBusInterface" "Phonon4Qt5" "Prison" "Qalculate" "Qt5" "Qt5DBus" "Qt5Qml" "Qt5Quick" "Qt5Script" "Qt5Test" "X11" "XCB" "ZLIB" "dbusmenu-qt5" "libgps" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "KF5KIO" "KF5SysGuard" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
plasma-workspace-wallpapers = {
buildInputs = [ "ECM" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
powerdevil = {
buildInputs = [ "ECM" "KF5" "KF5Auth" "KF5Config" "KF5GlobalAccel" "KF5I18n" "KF5IdleTime" "KF5KDELibs4Support" "KF5KIO" "KF5NotifyConfig" "KF5Solid" "LibKWorkspace" "Qt5" "ScreenSaverDBusInterface" "UDev" "X11" "XCB" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
systemsettings = {
buildInputs = [ "ECM" "KF5" "KF5Config" "KF5DBusAddons" "KF5I18n" "KF5IconThemes" "KF5ItemViews" "KF5KCMUtils" "KF5KDELibs4Support" "KF5KHtml" "KF5KIO" "KF5Service" "KF5WindowSystem" "KF5XmlGui" "Qt5" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
}

View file

@ -0,0 +1,22 @@
#!/bin/sh
# This script rebuilds dependencies.nix.
# You must run manifest.sh first to download the packages.
# Without arguments, this will use the version of autonix-deps-kf5 in nixpkgs.
# If you are working on the packages, this is probably what you want.
# You can also pass the path to a source tree where you have built
# autonix-deps-kf5 yourself. If you are working on autonix-deps-kf5, this is
# probably what you want.
manifestXML=$(nix-build -E 'with (import ../../.. {}); autonix.writeManifestXML ./manifest.nix')
autonixDepsKf5=""
if [[ -z $1 ]]; then
autonixDepsKF5=$(nix-build ../../.. -A haskellngPackages.autonix-deps-kf5)/bin
else
autonixDepsKF5="$1/dist/build/kf5-deps"
fi
exec ${autonixDepsKF5}/kf5-deps "${manifestXML}"

View file

@ -0,0 +1,13 @@
diff --git a/clients/aurorae/src/aurorae.cpp b/clients/aurorae/src/aurorae.cpp
index 26b44a9..d14e226 100644
--- a/clients/aurorae/src/aurorae.cpp
+++ b/clients/aurorae/src/aurorae.cpp
@@ -73,7 +73,7 @@ void AuroraeFactory::init()
// so let's try to locate our plugin:
QString pluginPath;
for (const QString &path : m_engine->importPathList()) {
- QDirIterator it(path, QDirIterator::Subdirectories);
+ QDirIterator it(path, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
while (it.hasNext()) {
it.next();
QFileInfo fileInfo = it.fileInfo();

View file

@ -0,0 +1,130 @@
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 460022f..422a708 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,5 +1,7 @@
include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${QT_INCLUDES})
+configure_file(config-libkscreen.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-libkscreen.h)
+
set(libkscreen_SRCS
backendloader.cpp
config.cpp
diff --git a/src/backendloader.cpp b/src/backendloader.cpp
index b93e469..8aebc14 100644
--- a/src/backendloader.cpp
+++ b/src/backendloader.cpp
@@ -16,6 +16,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA *
*************************************************************************************/
+#include "config-libkscreen.h"
#include "backendloader.h"
#include "debug_p.h"
#include "backends/abstractbackend.h"
@@ -40,55 +41,54 @@ bool BackendLoader::init()
const QString backend = qgetenv("KSCREEN_BACKEND").constData();
const QString backendFilter = QString::fromLatin1("KSC_%1*").arg(backend);
- const QStringList paths = QCoreApplication::libraryPaths();
- Q_FOREACH (const QString &path, paths) {
- const QDir dir(path + QDir::separator() + QLatin1String("/kf5/kscreen/"),
- backendFilter,
- QDir::SortFlags(QDir::QDir::NoSort),
- QDir::NoDotAndDotDot | QDir::Files);
- const QFileInfoList finfos = dir.entryInfoList();
- Q_FOREACH (const QFileInfo &finfo, finfos) {
- // Skip "Fake" backend unless explicitly specified via KSCREEN_BACKEND
- if (backend.isEmpty() && finfo.fileName().contains(QLatin1String("KSC_Fake"))) {
- continue;
- }
+ QString path = QFile::decodeName(CMAKE_INSTALL_PREFIX "/" PLUGIN_INSTALL_DIR "/");
- // When on X11, skip the QScreen backend, instead use the XRandR backend,
- // if not specified in KSCREEN_BACKEND
- if (backend.isEmpty() &&
- finfo.fileName().contains(QLatin1String("KSC_QScreen")) &&
- QX11Info::isPlatformX11()) {
- continue;
- }
+ const QDir dir(path + QDir::separator() + QLatin1String("/kf5/kscreen/"),
+ backendFilter,
+ QDir::SortFlags(QDir::QDir::NoSort),
+ QDir::NoDotAndDotDot | QDir::Files);
+ const QFileInfoList finfos = dir.entryInfoList();
+ Q_FOREACH (const QFileInfo &finfo, finfos) {
+ // Skip "Fake" backend unless explicitly specified via KSCREEN_BACKEND
+ if (backend.isEmpty() && finfo.fileName().contains(QLatin1String("KSC_Fake"))) {
+ continue;
+ }
- // When not on X11, skip the XRandR backend, and fall back to QSCreen
- // if not specified in KSCREEN_BACKEND
- if (backend.isEmpty() &&
- finfo.fileName().contains(QLatin1String("KSC_XRandR")) &&
- !QX11Info::isPlatformX11()) {
- continue;
- }
+ // When on X11, skip the QScreen backend, instead use the XRandR backend,
+ // if not specified in KSCREEN_BACKEND
+ if (backend.isEmpty() &&
+ finfo.fileName().contains(QLatin1String("KSC_QScreen")) &&
+ QX11Info::isPlatformX11()) {
+ continue;
+ }
+
+ // When not on X11, skip the XRandR backend, and fall back to QSCreen
+ // if not specified in KSCREEN_BACKEND
+ if (backend.isEmpty() &&
+ finfo.fileName().contains(QLatin1String("KSC_XRandR")) &&
+ !QX11Info::isPlatformX11()) {
+ continue;
+ }
- QPluginLoader loader(finfo.filePath());
- loader.load();
- QObject *instance = loader.instance();
- if (!instance) {
+ QPluginLoader loader(finfo.filePath());
+ loader.load();
+ QObject *instance = loader.instance();
+ if (!instance) {
+ loader.unload();
+ continue;
+ }
+
+ s_backend = qobject_cast< AbstractBackend* >(instance);
+ if (s_backend) {
+ if (!s_backend->isValid()) {
+ qCDebug(KSCREEN) << "Skipping" << s_backend->name() << "backend";
+ delete s_backend;
+ s_backend = 0;
loader.unload();
continue;
}
-
- s_backend = qobject_cast< AbstractBackend* >(instance);
- if (s_backend) {
- if (!s_backend->isValid()) {
- qCDebug(KSCREEN) << "Skipping" << s_backend->name() << "backend";
- delete s_backend;
- s_backend = 0;
- loader.unload();
- continue;
- }
- qCDebug(KSCREEN) << "Loading" << s_backend->name() << "backend";
- return true;
- }
+ qCDebug(KSCREEN) << "Loading" << s_backend->name() << "backend";
+ return true;
}
}
diff --git a/src/config-libkscreen.h.cmake b/src/config-libkscreen.h.cmake
new file mode 100644
index 0000000..a99f3d1
--- /dev/null
+++ b/src/config-libkscreen.h.cmake
@@ -0,0 +1,2 @@
+#define CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}"
+#define PLUGIN_INSTALL_DIR "${PLUGIN_INSTALL_DIR}"

View file

@ -0,0 +1,166 @@
# This file is generated automatically. DO NOT EDIT!
{ mirror }:
[
{
url = "${mirror}/stable/plasma/5.1.2/kwayland-5.1.2.tar.xz";
sha256 = "0v57gdbhbqq9nm8y6f8xlwwsfib8v8wbh32bb38aa22wkcqbnqh5";
name = "kwayland-5.1.2.tar.xz";
store = "/nix/store/r4bjs61x7ad3ff1iy4j111japxzn8gdm-kwayland-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/milou-5.1.2.tar.xz";
sha256 = "0dawmwzdxb289gblnbxw4ryqj45c1rmws7mm0cmqlnxh2ykysska";
name = "milou-5.1.2.tar.xz";
store = "/nix/store/d90rryiyw3haw0mlcxzs57b0vsmq2c3g-milou-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/plasma-workspace-5.1.2.tar.xz";
sha256 = "03gwkikxmmbiglyf2cbhm79wri1vfsibpr0qsyydcnqf2bja4adk";
name = "plasma-workspace-5.1.2.tar.xz";
store = "/nix/store/9b2pcs64kvdnb0mf7g1gyjgygi8pfrk1-plasma-workspace-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/kdeplasma-addons-5.1.2.tar.xz";
sha256 = "0jfrnvrn4x5cjd3yp21sr53rddcaxw3l05xkcq99lb29jx7x831f";
name = "kdeplasma-addons-5.1.2.tar.xz";
store = "/nix/store/9f7154m5aq35lfwj6rfq7ra4c2b0xs4r-kdeplasma-addons-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/khotkeys-5.1.2.tar.xz";
sha256 = "0kyjvrfpf8zqv8milbzdj0y6i37413qmvdhkxy2phqwrnwj4x69q";
name = "khotkeys-5.1.2.tar.xz";
store = "/nix/store/lq1v4haiag93w5g6pqwp5r9w8n3xvh1n-khotkeys-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/kde-cli-tools-5.1.2.tar.xz";
sha256 = "1akgj042i52b6mzd0lq8xgrqnwi63wc7k82g8r4kfy8611vxw6wb";
name = "kde-cli-tools-5.1.2.tar.xz";
store = "/nix/store/byjdh6cmqimk3i314h3y57s2z3nvpfnw-kde-cli-tools-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/libnm-qt-5.1.2.tar.xz";
sha256 = "1gm3yjlb5iq2l0rm8wqg0hs1f66ca5j8zvw6rrn3z4f2hsw9b8vm";
name = "libnm-qt-5.1.2.tar.xz";
store = "/nix/store/yx6jhazzb32580ax7dw4jdzncj1lpx4a-libnm-qt-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/oxygen-fonts-5.1.2.tar.xz";
sha256 = "05f06fsgp6xjv5azs546cq5653k3cyyidbdkggf20yrwlybypg2w";
name = "oxygen-fonts-5.1.2.tar.xz";
store = "/nix/store/ppzbxx7vkpymjgvi3skrch2dlx3mwhjg-oxygen-fonts-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/khelpcenter-5.1.2.tar.xz";
sha256 = "0fgwabsvbg4xzzli8k28hqw6rw5wzmp77fpb7qxiaks2qxd6xfvl";
name = "khelpcenter-5.1.2.tar.xz";
store = "/nix/store/nq86gdfz5fgkxcndk4knnb3n59y9b17x-khelpcenter-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/kmenuedit-5.1.2.tar.xz";
sha256 = "1f09m8ki1qib0rfvbkd1nqszq5mglc802rz9b7s9hfi0n5la05cj";
name = "kmenuedit-5.1.2.tar.xz";
store = "/nix/store/8l7agrg12ghva4103iwm1xdzhqk3iwxp-kmenuedit-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/kinfocenter-5.1.2.tar.xz";
sha256 = "1yp08z0sirm1i21ix27c72l1pygndrh4gnb5rl4r6rj0rymy4xn0";
name = "kinfocenter-5.1.2.tar.xz";
store = "/nix/store/jl3s4kimn0xamxc4yhc1jsrz9j0cmws1-kinfocenter-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/kwrited-5.1.2.tar.xz";
sha256 = "0bsm3dkl1zi1h16cd1pc9qcbv2jpjpzcw7m6cg9gbk7icjymn065";
name = "kwrited-5.1.2.tar.xz";
store = "/nix/store/ishi0y744yapvf2yf0hm5gam3z5j2687-kwrited-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/kio-extras-5.1.2.tar.xz";
sha256 = "0d4yyssiddcabrfr94ylf4p2f7l5mpg353m67w2x4rdlc7bgc00z";
name = "kio-extras-5.1.2.tar.xz";
store = "/nix/store/6pqx9daq9bx7in8dghy041vfn5x829g2-kio-extras-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/systemsettings-5.1.2.tar.xz";
sha256 = "102s7l1xaxqzsswzcsr6qx2mizi1fw85ickj8sm4ql493m3iy0vy";
name = "systemsettings-5.1.2.tar.xz";
store = "/nix/store/c56khxzyh8gzi5nxy8i3n2vlwbsmblsz-systemsettings-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/powerdevil-5.1.2.tar.xz";
sha256 = "0bq042phd1rv42qf21672l74mlygzvqknqd0vhfay7lz5hihd3np";
name = "powerdevil-5.1.2.tar.xz";
store = "/nix/store/5p6j6949gv1s03cm1yn1v0i18clma3cw-powerdevil-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/plasma-desktop-5.1.2.tar.xz";
sha256 = "0nn1fcb8b4cmh6wzfar7dzmc6r830n6nq78icsbqkl2yi631vmv7";
name = "plasma-desktop-5.1.2.tar.xz";
store = "/nix/store/nnk00ddkr0rqbmk6i1q17wimvb6n79m6-plasma-desktop-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/libmm-qt-5.1.2.tar.xz";
sha256 = "1jx3zq5j7dm27k74ayibg0d82f7nm7r40mj92sk0drgzaj0q2wv4";
name = "libmm-qt-5.1.2.tar.xz";
store = "/nix/store/z3f23bansr6yqvc8pwcavwy828ykf85z-libmm-qt-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/breeze-5.1.2.tar.xz";
sha256 = "1c7bfr2zdhh84bik5ksyfxvng8c23slasf6lbr86f0mmvwssqhc4";
name = "breeze-5.1.2.tar.xz";
store = "/nix/store/h0ra9f62jj3lqsg5hhqsb8cq05fqaq0c-breeze-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/ksysguard-5.1.2.tar.xz";
sha256 = "03bngwq0dpgffcr7dkzk44n995kcawk1fgxf38zkik4qrr2m8xmz";
name = "ksysguard-5.1.2.tar.xz";
store = "/nix/store/vrgl460m4h0bzwhakgkj9sddn2pr6057-ksysguard-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/kwin-5.1.2.tar.xz";
sha256 = "1sjb9w8yaicypjdlcnn6a8zaa03fmgn9bsbbr1xfh3kcjm0p2hjf";
name = "kwin-5.1.2.tar.xz";
store = "/nix/store/0lcmq4bl3kc48gcps703bby99z0zdl7q-kwin-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/oxygen-5.1.2.tar.xz";
sha256 = "0dwlqc57qwp09bbmknakjndqgajfp948kri8ysakj50qbfzq22ly";
name = "oxygen-5.1.2.tar.xz";
store = "/nix/store/al4whqd4gdnyym26kd2yp3c1slyll0bw-oxygen-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/libkscreen-5.1.2.tar.xz";
sha256 = "1kbs042anmc8mifmbxwi7sw0n74kcpf5hpbld5a7nclhm0xpyzb9";
name = "libkscreen-5.1.2.tar.xz";
store = "/nix/store/rkmydih2fss2gm84j8rgpd3ybz7pyz5p-libkscreen-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/libksysguard-5.1.2.tar.xz";
sha256 = "061jjqh6i70g5f8qh47znk295wh1j7z3i9imppdlxhymm2sdix5k";
name = "libksysguard-5.1.2.tar.xz";
store = "/nix/store/dyipim22aisn9cnk3d9431bi393qsi38-libksysguard-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/plasma-workspace-wallpapers-5.1.2.tar.xz";
sha256 = "18my7r17b6c0wm545knpy68bcgawmr6x1h383br1a3jrahb9smfx";
name = "plasma-workspace-wallpapers-5.1.2.tar.xz";
store = "/nix/store/inqv621x6l2yz1kj71d824kc0labpss7-plasma-workspace-wallpapers-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/kfilemetadata-5.1.2.tar.xz";
sha256 = "0ssz2v9dm09ig20m5c2gcgi0dhkbijs7580j75kyabcyxyq33gdi";
name = "kfilemetadata-5.1.2.tar.xz";
store = "/nix/store/84jqp15fclxia88dmbr2zpq50m6xzwib-kfilemetadata-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/plasma-nm-5.1.2.tar.xz";
sha256 = "1ifwjbzdjsfcq2vbq58fnx1r8m11wbmcwchnn7ihabbcgj5admp7";
name = "plasma-nm-5.1.2.tar.xz";
store = "/nix/store/2czga7b7i36841rs4mnfzd7j7s3rfanv-plasma-nm-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/baloo-5.1.2.tar.xz";
sha256 = "1ynd3amry3wjk8sjlb5knpvjshn0gvs2m1gpbr7r7528ckkv0gpv";
name = "baloo-5.1.2.tar.xz";
store = "/nix/store/lcrrxz5yjf88cgifz3zjcq5skdp4jxkk-baloo-5.1.2.tar.xz";
}
]

View file

@ -0,0 +1,15 @@
#!/bin/sh
if [ $# -eq 0 ]; then
# The extra slash at the end of the URL is necessary to stop wget
# from recursing over the whole server! (No, it's not a bug.)
$(nix-build ../../.. -A autonix.manifest) \
http://download.kde.org/stable/plasma/5.1.2/ \
-A '*.tar.xz'
else
$(nix-build ../../.. -A autonix.manifest) -A '*.tar.xz' "$@"
fi

View file

@ -0,0 +1,24 @@
diff --git a/kcms/dateandtime/helper.cpp b/kcms/dateandtime/helper.cpp
index cec5ab8..fc4a6b9 100644
--- a/kcms/dateandtime/helper.cpp
+++ b/kcms/dateandtime/helper.cpp
@@ -48,10 +48,6 @@
#include <sys/stat.h>
#endif
-// We cannot rely on the $PATH environment variable, because D-Bus activation
-// clears it. So we have to use a reasonable default.
-static const QString exePath = QLatin1String("/usr/sbin:/usr/bin:/sbin:/bin");
-
int ClockHelper::ntp( const QStringList& ntpServers, bool ntpEnabled )
{
int ret = 0;
@@ -227,7 +223,7 @@ int ClockHelper::tzreset()
void ClockHelper::toHwclock()
{
- QString hwclock = KStandardDirs::findExe("hwclock", exePath);
+ QString hwclock = "@hwclock@";
if (!hwclock.isEmpty()) {
KProcess::execute(hwclock, QStringList() << "--systohc");
}

View file

@ -0,0 +1,18 @@
diff --git a/kcms/dateandtime/helper.cpp b/kcms/dateandtime/helper.cpp
index fc4a6b9..7b64d05 100644
--- a/kcms/dateandtime/helper.cpp
+++ b/kcms/dateandtime/helper.cpp
@@ -181,7 +181,12 @@ int ClockHelper::tz( const QString& selectedzone )
val = selectedzone;
#else
- QString tz = "/usr/share/zoneinfo/" + selectedzone;
+ // NixOS-specific path
+ QString tz = "/etc/zoneinfo/" + selectedzone;
+ if (!QFile::exists(tz)) {
+ // Standard Linux path
+ tz = "/usr/share/zoneinfo/" + selectedzone;
+ }
if (QFile::exists(tz)) { // make sure the new TZ really exists
QFile::remove("/etc/localtime");

View file

@ -0,0 +1,24 @@
# DO NOT EDIT! This file is generated automatically.
{ }:
{
"Backend" = "powerdevil";
"CTest" = "kdeplasma-addons";
"ECM" = "extra-cmake-modules";
"KDecorations" = "kwin";
"KF5Baloo" = "baloo";
"KF5FileMetaData" = "kfilemetadata";
"KF5ModemManagerQt" = "libmm-qt";
"KF5NetworkManagerQt" = "libnm-qt";
"KF5Screen" = "libkscreen";
"KF5SysGuard" = "libksysguard";
"KF5Wayland" = "kwayland";
"KF5XmlRpcClientPrivate" = "plasma-workspace";
"KHotKeysDBusInterface" = "khotkeys";
"KRunnerAppDBusInterface" = "plasma-workspace";
"KSMServerDBusInterface" = "plasma-workspace";
"KWinDBusInterface" = "kwin";
"LibKWorkspace" = "plasma-workspace";
"LibTaskManager" = "plasma-workspace";
"OxygenFont" = "oxygen-fonts";
"ScreenSaverDBusInterface" = "plasma-workspace";
}

View file

@ -0,0 +1 @@
addToSearchPath XDG_DATA_DIRS @out@/share

View file

@ -0,0 +1,33 @@
# We provide our own version of the startkde script in its entirety, rather than
# patching the version provided by kde-workspace, because it requires such
# extensive patching.
{ stdenv, bash, dbus, gnused, gnugrep, kconfig, kinit, kservice, plasma-desktop
, plasma-workspace, qt5, socat, xorg }:
let startkde = ./startkde.in; in
stdenv.mkDerivation {
name = "startkde-0.1";
phases = "installPhase";
inherit bash gnused gnugrep kconfig kinit kservice qt5 socat;
inherit (xorg) mkfontdir xmessage xprop xrdb xset xsetroot;
dbus_tools = dbus.tools;
plasmaWorkspace = plasma-workspace;
plasmaDesktop = plasma-desktop;
startupconfigkeys = ./startupconfigkeys;
kdeglobals = ./kdeglobals;
installPhase = ''
mkdir -p $out/bin
substituteAll ${startkde} $out/bin/startkde
chmod +x $out/bin/startkde
'';
meta = {
description = "Custom startkde script for Nixpkgs";
maintainers = with stdenv.lib.maintainers; [ ttuegel ];
license = with stdenv.lib.licenses; [ gpl2Plus ];
};
}

View file

@ -0,0 +1,11 @@
[General]
XftAntialias=true
XftHintStyle=hintmedium
XftSubPixel=none
desktopFont=Oxygen-Sans,10,-1,5,50,0,0,0,0,0
fixed=Oxygen Mono,9,-1,5,50,0,0,0,0,0
font=Oxygen-Sans,10,-1,5,50,0,0,0,0,0
menuFont=Oxygen-Sans,10,-1,5,50,0,0,0,0,0
smallestReadableFont=Oxygen-Sans,8,-1,5,50,0,0,0,0,0
taskbarFont=Oxygen-Sans,10,-1,5,50,0,0,0,0,0
toolBarFont=Oxygen-Sans,9,-1,5,50,0,0,0,0,0

View file

@ -0,0 +1,382 @@
#!@bash@/bin/bash -x
#
# NIXOS KDE STARTUP SCRIPT
#
# 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/.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
@gnused@/bin/sed -e '/nix\\store\|nix\/store/ d' -i $HOME/.config/Trolltech.conf
fi
if test "x$1" = x--failsafe; then
KDE_FAILSAFE=1 # General failsafe flag
KWIN_COMPOSE=N # Disable KWin's compositing
export KWIN_COMPOSE KDE_FAILSAFE
fi
# When the X server dies we get a HUP signal from xinit. We must ignore it
# because we still need to do some cleanup.
trap 'echo GOT SIGHUP' HUP
# we have to unset this for Darwin since it will screw up KDE's dynamic-loading
unset DYLD_FORCE_FLAT_NAMESPACE
# Check if a KDE session already is running and whether it's possible to connect to X
@plasmaWorkspace@/bin/kcheckrunning
kcheckrunning_result=$?
if test $kcheckrunning_result -eq 0 ; then
@xmessage@/bin/xmessage -geometry 500x100 "KDE seems to be already running on this display."
exit 1
elif test $kcheckrunning_result -eq 2 ; then
echo "\$DISPLAY is not set or cannot connect to the X server."
exit 1
fi
# Boot sequence:
#
# kdeinit is used to fork off processes which improves memory usage
# and startup time.
#
# * kdeinit starts klauncher first.
# * Then kded is started. kded is responsible for keeping the sycoca
# database up to date. When an up to date database is present it goes
# into the background and the startup continues.
# * Then kdeinit starts kcminit. kcminit performs initialisation of
# certain devices according to the user's settings
#
# * Then ksmserver is started which takes control of the rest of the startup sequence
# We need to create config folder so we can write startupconfigkeys
if [ ${XDG_CONFIG_HOME} ]; then
configDir=$XDG_CONFIG_HOME;
else
# This is the default
# http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
configDir=${HOME}/.config;
fi
mkdir -p $configDir
# This is basically setting defaults so we can use them with kstartupconfig5
cat @startupconfigkeys@ >$configDir/startupconfigkeys
# preload the user's locale on first start
plasmalocalerc=$configDir/plasma-localerc
test -f $plasmalocalerc || {
cat >$plasmalocalerc <<EOF
[Formats]
LANG=$LANG
EOF
}
# export LC_* variables set by kcmshell5 formats into environment
# so it can be picked up by QLocale and friends.
exportformatssettings=$configDir/plasma-locale-settings.sh
[ -f $exportformatssettings ] && . $exportformatssettings
# Write a default kdeglobals file to set up the font
kdeglobalsfile=$configDir/kdeglobals
[ -f $kdeglobalsfile ] || cat @kdeglobals@ >$kdeglobalsfile
@plasmaWorkspace@/bin/kstartupconfig5
returncode=$?
if test $returncode -ne 0; then
@xmessage@/bin/xmessage -geometry 500x100 "kstartupconfig5 exited with $returncode"
exit 1
fi
[ -r $configDir/startupconfig ] && . $configDir/startupconfig
XCURSOR_PATH=~/.icons:$(echo "$XDG_DATA_DIRS" | tr ":" "\n" | @gnused@/bin/sed 's,$,/icons,g' | tr "\n" ":")
export XCURSOR_PATH
# XCursor mouse theme needs to be applied here to work even for kded or ksmserver
if test -n "$kcminputrc_mouse_cursortheme" -o -n "$kcminputrc_mouse_cursorsize" ; then
@plasmaDesktop@/bin/kapplymousetheme "$kcminputrc_mouse_cursortheme" "$kcminputrc_mouse_cursorsize"
if test $? -eq 10; then
XCURSOR_THEME=default
export XCURSOR_THEME
elif test -n "$kcminputrc_mouse_cursortheme"; then
XCURSOR_THEME="$kcminputrc_mouse_cursortheme"
export XCURSOR_THEME
fi
if test -n "$kcminputrc_mouse_cursorsize"; then
XCURSOR_SIZE="$kcminputrc_mouse_cursorsize"
export XCURSOR_SIZE
fi
fi
# Set a left cursor instead of the standard X11 "X" cursor, since I've heard
# from some users that they're confused and don't know what to do. This is
# especially necessary on slow machines, where starting KDE takes one or two
# minutes until anything appears on the screen.
#
# If the user has overwritten fonts, the cursor font may be different now
# so don't move this up.
#
@xsetroot@/bin/xsetroot -cursor_name left_ptr
dl=$DESKTOP_LOCKED
unset DESKTOP_LOCKED # Don't want it in the environment
# Make sure that D-Bus is running
# D-Bus autolaunch is broken
if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then
eval `@dbus_tools@/bin/dbus-launch --sh-syntax --exit-with-session`
fi
if @qt5@/bin/qdbus >/dev/null 2>/dev/null; then
: # ok
else
echo 'startkde: Could not start D-Bus. Can you call qdbus?' 1>&2
test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null
@xmessage@/bin/xmessage -geometry 500x100 "Could not start D-Bus. Can you call qdbus?"
exit 1
fi
ksplash_pid=
if test -z "$dl"; then
# the splashscreen and progress indicator
case "$ksplashrc_ksplash_engine" in
KSplashQML)
ksplash_pid=`@plasmaWorkspace@/bin/ksplashqml "${ksplashrc_ksplash_theme}" --pid`
;;
None)
;;
*)
;;
esac
fi
# Source scripts found in <config locations>/plasma-workspace/env/*.sh
# (where <config locations> correspond to the system and user's configuration
# directories, as identified by Qt's qtpaths, e.g. $HOME/.config
# and /etc/xdg/ on Linux)
#
# This is where you can define environment variables that will be available to
# all KDE programs, so this is where you can run agents using e.g. eval `ssh-agent`
# or eval `gpg-agent --daemon`.
# Note: if you do that, you should also put "ssh-agent -k" as a shutdown script
#
# (see end of this file).
# For anything else (that doesn't set env vars, or that needs a window manager),
# better use the Autostart folder.
# TODO: Use GenericConfigLocation once we depend on Qt 5.4
scriptpath=`@qt5@/bin/qtpaths --paths ConfigLocation | tr ':' '\n' | @gnused@/bin/sed 's,$,/plasma-workspace,g'`
# Add /env/ to the directory to locate the scripts to be sourced
for prefix in `echo $scriptpath`; do
for file in "$prefix"/env/*.sh; do
test -r "$file" && . "$file"
done
done
# Set the path for Qt plugins provided by KDE
QT_PLUGIN_PATH=${QT_PLUGIN_PATH+$QT_PLUGIN_PATH:}`@qt5@/bin/qtpaths --plugin-dir`
# TODO: Do we really need this?
QT_PLUGIN_PATH=$QT_PLUGIN_PATH:$kdehome/lib/kde5/plugins/
export QT_PLUGIN_PATH
# Activate the kde font directories.
#
# There are 4 directories that may be used for supplying fonts for KDE.
#
# There are two system directories. These belong to the administrator.
# There are two user directories, where the user may add her own fonts.
#
# The 'override' versions are for fonts that should come first in the list,
# i.e. if you have a font in your 'override' directory, it will be used in
# preference to any other.
#
# The preference order looks like this:
# user override, system override, X, user, system
#
# Where X is the original font database that was set up before this script
# runs.
usr_odir=$HOME/.fonts/kde-override
usr_fdir=$HOME/.fonts
if test -n "$KDEDIRS"; then
kdedirs_first=`echo "$KDEDIRS" | @gnused@/bin/sed -e 's/:.*//'`
sys_odir=$kdedirs_first/share/fonts/override
sys_fdir=$kdedirs_first/share/fonts
else
sys_odir=$KDEDIR/share/fonts/override
sys_fdir=$KDEDIR/share/fonts
fi
# We run mkfontdir on the user's font dirs (if we have permission) to pick
# up any new fonts they may have installed. If mkfontdir fails, we still
# add the user's dirs to the font path, as they might simply have been made
# read-only by the administrator, for whatever reason.
test -d "$sys_odir" && @xset@/bin/xset +fp "$sys_odir"
test -d "$usr_odir" && ( @mkfontdir@/bin/mkfontdir "$usr_odir" ; @xset@/bin/xset +fp "$usr_odir" )
test -d "$usr_fdir" && ( @mkfontdir@/bin/mkfontdir "$usr_fdir" ; @xset@/bin/xset fp+ "$usr_fdir" )
test -d "$sys_fdir" && @xset@/bin/xset fp+ "$sys_fdir"
# Ask X11 to rebuild its font list.
@xset@/bin/xset fp rehash
# Get Ghostscript to look into user's KDE fonts dir for additional Fontmap
if test -n "$GS_LIB" ; then
GS_LIB=$usr_fdir:$GS_LIB
export GS_LIB
else
GS_LIB=$usr_fdir
export GS_LIB
fi
echo 'startkde: Starting up...' 1>&2
# Mark that full KDE session is running (e.g. Konqueror preloading works only
# with full KDE running). The KDE_FULL_SESSION property can be detected by
# any X client connected to the same X session, even if not launched
# directly from the KDE session but e.g. using "ssh -X", kdesu. $KDE_FULL_SESSION
# however guarantees that the application is launched in the same environment
# like the KDE session and that e.g. KDE utilities/libraries are available.
# KDE_FULL_SESSION property is also only available since KDE 3.5.5.
# The matching tests are:
# For $KDE_FULL_SESSION:
# if test -n "$KDE_FULL_SESSION"; then ... whatever
# For KDE_FULL_SESSION property:
# xprop -root | grep "^KDE_FULL_SESSION" >/dev/null 2>/dev/null
# if test $? -eq 0; then ... whatever
#
# Additionally there is (since KDE 3.5.7) $KDE_SESSION_UID with the uid
# of the user running the KDE session. It should be rarely needed (e.g.
# after sudo to prevent desktop-wide functionality in the new user's kded).
#
# Since KDE4 there is also KDE_SESSION_VERSION, containing the major version number.
# Note that this didn't exist in KDE3, which can be detected by its absense and
# the presence of KDE_FULL_SESSION.
#
KDE_FULL_SESSION=true
export KDE_FULL_SESSION
@xprop@/bin/xprop -root -f KDE_FULL_SESSION 8t -set KDE_FULL_SESSION true
KDE_SESSION_VERSION=5
export KDE_SESSION_VERSION
@xprop@/bin/xprop -root -f KDE_SESSION_VERSION 32c -set KDE_SESSION_VERSION 5
KDE_SESSION_UID=`id -ru`
export KDE_SESSION_UID
XDG_CURRENT_DESKTOP=KDE
export XDG_CURRENT_DESKTOP
# At this point all the environment is ready, let's send it to kwalletd if running
if test -n "$PAM_KWALLET_LOGIN" ; then
env | @socat@/bin/socat STDIN UNIX-CONNECT:$PAM_KWALLET_LOGIN
fi
# At this point all environment variables are set, let's send it to the DBus
# session server to update the activation environment
@plasmaWorkspace@/lib/libexec/ksyncdbusenv
if test $? -ne 0; then
# Startup error
echo 'startkde: Could not sync environment to dbus.' 1>&2
test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null
@xmessage@/bin/xmessage -geometry 500x100 "Could not sync environment to dbus."
exit 1
fi
# We set LD_BIND_NOW to increase the efficiency of kdeinit.
# kdeinit unsets this variable before loading applications.
LD_BIND_NOW=true @kinit@/lib/libexec/kf5/start_kdeinit_wrapper --kded +kcminit_startup
if test $? -ne 0; then
# Startup error
echo 'startkde: Could not start kdeinit5.' 1>&2
test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null
@xmessage@/bin/xmessage -geometry 500x100 "Could not start kdeinit5."
exit 1
fi
# (NixOS) We run kbuildsycoca5 before starting the user session because things
# may be missing or moved if they have run nixos-rebuild and it may not be
# possible for them to start Konsole to run it manually!
@kservice@/bin/kbuildsycoca5
# finally, give the session control to the session manager
# see kdebase/ksmserver for the description of the rest of the startup sequence
# if the KDEWM environment variable has been set, then it will be used as KDE's
# window manager instead of kwin.
# if KDEWM is not set, ksmserver will ensure kwin is started.
# kwrapper5 is used to reduce startup time and memory usage
# kwrapper5 does not return useful error codes such as the exit code of ksmserver.
# We only check for 255 which means that the ksmserver process could not be
# started, any problems thereafter, e.g. ksmserver failing to initialize,
# will remain undetected.
test -n "$KDEWM" && KDEWM="--windowmanager $KDEWM"
# If the session should be locked from the start (locked autologin),
# lock now and do the rest of the KDE startup underneath the locker.
KSMSERVEROPTIONS=""
test -n "$dl" && KSMSERVEROPTIONS=" --lockscreen"
@kinit@/bin/kwrapper5 @plasmaWorkspace@/bin/ksmserver $KDEWM $KSMSERVEROPTIONS
if test $? -eq 255; then
# Startup error
echo 'startkde: Could not start ksmserver.' 1>&2
test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null
@xmessage@/bin/xmessage -geometry 500x100 "Could not start ksmserver."
fi
wait_drkonqi=`@kconfig@/bin/kreadconfig5 --file startkderc --group WaitForDrKonqi --key Enabled --default true`
if test x"$wait_drkonqi"x = x"true"x ; then
# wait for remaining drkonqi instances with timeout (in seconds)
wait_drkonqi_timeout=`@kconfig@/bin/kreadconfig5 --file startkderc --group WaitForDrKonqi --key Timeout --default 900`
wait_drkonqi_counter=0
while @qt5@/bin/qdbus | @gnugrep@/bin/grep "^[^w]*org.kde.drkonqi" > /dev/null ; do
sleep 5
wait_drkonqi_counter=$((wait_drkonqi_counter+5))
if test "$wait_drkonqi_counter" -ge "$wait_drkonqi_timeout" ; then
# ask remaining drkonqis to die in a graceful way
@qt5@/bin/qdbus | @gnugrep@/bin/grep 'org.kde.drkonqi-' | while read address ; do
@qt5@/bin/qdbus "$address" "/MainApplication" "quit"
done
break
fi
done
fi
echo 'startkde: Shutting down...' 1>&2
# just in case
test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null
# Clean up
@kinit@/bin/kdeinit5_shutdown
echo 'startkde: Running shutdown scripts...' 1>&2
# Run scripts found in <config locations>/plasma-workspace/shutdown
for prefix in `echo "$scriptpath"`; do
for file in `ls "$prefix"/shutdown 2> /dev/null | @gnugrep@/bin/egrep -v '(~|\.bak)$'`; do
test -x "$prefix$file" && "$prefix$file"
done
done
unset KDE_FULL_SESSION
@xprop@/bin/xprop -root -remove KDE_FULL_SESSION
unset KDE_SESSION_VERSION
@xprop@/bin/xprop -root -remove KDE_SESSION_VERSION
unset KDE_SESSION_UID
echo 'startkde: Done.' 1>&2

View file

@ -0,0 +1,5 @@
kcminputrc Mouse cursorTheme 'breeze_cursors'
kcminputrc Mouse cursorSize ''
ksplashrc KSplash Theme Breeze
ksplashrc KSplash Engine KSplashQML
kcmfonts General forceFontDPI 0

View file

@ -54,6 +54,9 @@ self: super: {
# Won't find it's header files without help.
sfml-audio = appendConfigureFlag super.sfml-audio "--extra-include-dirs=${pkgs.openal}/include/AL";
# Foreign dependency name clashes with another Haskell package.
libarchive-conduit = super.libarchive-conduit.override { archive = pkgs.libarchive; };
# https://github.com/haskell/time/issues/23
time_1_5_0_1 = dontCheck super.time_1_5_0_1;

View file

@ -0,0 +1,185 @@
# Maintainer's Notes:
#
# Minor updates:
# 1. Edit ./manifest.sh to point to the updated URL. Upstream sometimes
# releases updates that include only the changed packages; in this case,
# multiple URLs can be provided and the results will be merged.
# 2. Run ./manifest.sh and ./dependencies.sh.
# 3. Build and enjoy.
#
# Major updates:
# We prefer not to immediately overwrite older versions with major updates, so
# make a copy of this directory first. After copying, be sure to delete ./tmp
# if it exists. Then follow the minor update instructions.
{ autonix, fetchurl, pkgs, qt5, stdenv, debug ? false }:
with stdenv.lib; with autonix;
let
mkDerivation = drv:
stdenv.mkDerivation
(drv // {
src = fetchurl drv.src;
setupHook = ./setup-hook.sh;
enableParallelBuilding = drv.enableParallelBuilding or true;
cmakeFlags =
(drv.cmakeFlags or [])
++ [ "-DBUILD_TESTING=OFF"
"-DKDE_DEFAULT_HOME=.kde5"
"-DKDE4_DEFAULT_HOME=.kde"
]
++ optional debug "-DCMAKE_BUILD_TYPE=Debug";
meta = drv.meta or
{
license = with stdenv.lib.licenses; [
lgpl21Plus lgpl3Plus bsd2 mit gpl2Plus gpl3Plus fdl12
];
platforms = stdenv.lib.platforms.linux;
maintainers = with stdenv.lib.maintainers; [ ttuegel ];
homepage = "http://www.kde.org";
};
});
renames = builtins.removeAttrs (import ./renames.nix {}) ["Backend" "CTest"];
scope =
# packages in this collection
(mapAttrs (dep: name: kf5."${name}") renames) //
# packages pinned to this version of Qt 5
{
Phonon4Qt5 = pkgs.phonon_qt5.override { inherit qt5; };
Qt5 = qt5;
Qt5Core = qt5;
Qt5DBus = qt5;
Qt5Test = qt5;
Qt5Widgets = qt5;
Qt5X11Extras = qt5;
dbusmenu-qt5 = pkgs.libdbusmenu_qt5.override { inherit qt5; };
} //
# packages from the nixpkgs collection
(with pkgs;
{
inherit cmake;
Boost = boost;
GIF = giflib;
GLIB2 = glib;
Gpgme = gpgme;
JPEG = libjpeg;
LibGcrypt = libgcrypt;
LibGit2 = libgit2;
LibIntl = gettext;
LibLZMA = lzma;
Perl = perl;
PythonInterp = python;
QImageBlitz = qimageblitz;
SharedMimeInfo = shared_mime_info;
ZLIB = zlib;
}
);
mirror = "mirror://kde";
preResolve = super:
fold (f: x: f x) super
[
(userEnvPkg "SharedMimeInfo")
(userEnvPkg "SharedDesktopOntologies")
];
postResolve = super:
super // {
extra-cmake-modules = {
inherit (super.extra-cmake-modules) name src;
propagatedNativeBuildInputs = with pkgs; [ cmake pkgconfig ];
cmakeFlags = ["-DBUILD_TESTING=OFF"];
patches =
[
./extra-cmake-modules/0001-libdir-default.patch
./extra-cmake-modules/0002-qt5-plugin-dir.patch
];
meta = {
license = with stdenv.lib.licenses; [ bsd2 ];
platforms = stdenv.lib.platforms.linux;
maintainers = with stdenv.lib.maintainers; [ ttuegel ];
homepage = "http://www.kde.org";
};
};
kauth = with pkgs; super.kauth // {
buildInputs = super.kauth.buildInputs ++ [polkit_qt5];
patches = [./kauth/kauth-policy-install.patch];
};
kcmutils = super.kcmutils // {
patches =
[./kcmutils/kcmutils-pluginselector-follow-symlinks.patch];
};
kconfigwidgets = super.kconfigwidgets // {
patches =
[./kconfigwidgets/kconfigwidgets-helpclient-follow-symlinks.patch];
};
kdelibs4support = with pkgs; super.kdelibs4support // {
buildInputs =
super.kdelibs4support.buildInputs
++ [networkmanager xlibs.libSM];
cmakeFlags =
(super.kdelibs4support.cmakeFlags or [])
++ [
"-DDocBookXML4_DTD_DIR=${docbook_xml_dtd_45}/xml/dtd/docbook"
"-DDocBookXML4_DTD_VERSION=4.5"
];
};
kdoctools = with pkgs; super.kdoctools // {
cmakeFlags =
(super.kdoctools.cmakeFlags or [])
++ [
"-DDocBookXML4_DTD_DIR=${docbook_xml_dtd_45}/xml/dtd/docbook"
"-DDocBookXML4_DTD_VERSION=4.5"
"-DDocBookXSL_DIR=${docbook5_xsl}/xml/xsl/docbook"
];
patches = [./kdoctools/kdoctools-no-find-docbook-xml.patch];
};
ki18n = with pkgs; super.ki18n // {
propagatedNativeBuildInputs =
super.ki18n.propagatedNativeBuildInputs ++ [gettext python];
};
kimageformats = with pkgs; super.kimageformats // {
NIX_CFLAGS_COMPILE =
(super.kimageformats.NIX_CFLAGS_COMPILE or "")
+ " -I${ilmbase}/include/OpenEXR";
};
kinit = super.kinit // { patches = [ ./kinit/kinit-libpath.patch ]; };
kservice = super.kservice // {
buildInputs = super.kservice.buildInputs ++ [kf5.kwindowsystem];
patches =
[
./kservice/kservice-kbuildsycoca-follow-symlinks.patch
./kservice/kservice-kbuildsycoca-no-canonicalize-path.patch
];
};
plasma-framework = super.plasma-framework // {
patches = [ ./plasma-framework/plasma-framework-external-paths.patch ];
};
};
kf5 = generateCollection ./. {
inherit mirror mkDerivation preResolve postResolve renames scope;
};
in
kf5 // { inherit mkDerivation qt5 scope; }

View file

@ -0,0 +1,484 @@
# DO NOT EDIT! This file is generated automatically.
{ }:
{
attica = {
buildInputs = [ "ECM" "Qt5" "Qt5Widgets" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "Qt5Core" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
extra-cmake-modules = {
buildInputs = [ "AGG" "Blitz" "BlueZ" "ENCHANT" "Eigen2" "FFmpeg" "Flac" "Flex" "GObject" "GStreamer" "LCMS" "LibArt" "OpenEXR" "PCRE" "QCA2" "QImageBlitz" "Qt5Core" "Qt5LinguistTools" "Sqlite" "Strigi" "USB" "Xine" "Xmms" ];
nativeBuildInputs = [ "LibXslt" "QCOLLECTIONGENERATOR_EXECUTABLE" "SPHINX_EXECUTABLE" "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
frameworkintegration = {
buildInputs = [ "ECM" "KF5Config" "KF5ConfigWidgets" "KF5I18n" "KF5IconThemes" "KF5KIO" "KF5Notifications" "KF5WidgetsAddons" "OxygenFont" "Qt5" "Qt5Test" "XCB" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "KF5ConfigWidgets" "KF5IconThemes" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kactivities = {
buildInputs = [ "Boost" "ECM" "KF5" "KF5Config" "KF5CoreAddons" "KF5DBusAddons" "KF5Declarative" "KF5GlobalAccel" "KF5I18n" "KF5KCMUtils" "KF5KIO" "KF5Service" "KF5WindowSystem" "KF5XmlGui" "Qt5" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "Qt5Core" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kapidox = {
buildInputs = [ ];
nativeBuildInputs = [ "PythonInterp" "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
karchive = {
buildInputs = [ "BZip2" "ECM" "KF5Archive" "LibLZMA" "Qt5Core" "Qt5Test" "ZLIB" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "Qt5Core" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kauth = {
buildInputs = [ "ECM" "KF5CoreAddons" "Qt5" "Qt5Test" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "KF5CoreAddons" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kbookmarks = {
buildInputs = [ "ECM" "KF5ConfigWidgets" "KF5CoreAddons" "KF5IconThemes" "KF5WidgetsAddons" "KF5XmlGui" "Qt5" "Qt5Test" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "KF5ConfigWidgets" "KF5IconThemes" "KF5XmlGui" "Qt5Widgets" "Qt5Xml" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kcmutils = {
buildInputs = [ "ECM" "KF5ConfigWidgets" "KF5CoreAddons" "KF5I18n" "KF5IconThemes" "KF5ItemViews" "KF5Service" "KF5XmlGui" "Qt5" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "KF5ConfigWidgets" "KF5IconThemes" "KF5ItemViews" "KF5Service" "KF5XmlGui" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kcodecs = {
buildInputs = [ "ECM" "Qt5Core" "Qt5Test" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "Qt5Core" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kcompletion = {
buildInputs = [ "ECM" "KF5Config" "KF5WidgetsAddons" "Qt5" "Qt5Test" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "KF5Config" "KF5WidgetsAddons" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kconfig = {
buildInputs = [ "ECM" "Qt5" "Qt5Concurrent" "Qt5Core" "Qt5Gui" "Qt5Test" "Qt5Xml" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "Qt5Xml" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kconfigwidgets = {
buildInputs = [ "ECM" "KF5Auth" "KF5Codecs" "KF5Config" "KF5CoreAddons" "KF5DocTools" "KF5GuiAddons" "KF5I18n" "KF5WidgetsAddons" "Qt5" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "KF5Auth" "KF5Codecs" "KF5Config" "KF5GuiAddons" "KF5I18n" "KF5WidgetsAddons" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kcoreaddons = {
buildInputs = [ "ECM" "FAM" "Qt5" "Qt5Test" "Qt5Widgets" "SharedMimeInfo" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "Qt5Core" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ "SharedMimeInfo" ];
};
kcrash = {
buildInputs = [ "ECM" "KF5CoreAddons" "KF5WindowSystem" "Qt5" "Qt5Test" "Qt5Widgets" "Qt5X11Extras" "X11" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "KF5CoreAddons" "KF5WindowSystem" "Qt5Core" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kdbusaddons = {
buildInputs = [ "ECM" "Qt5DBus" "Qt5Test" "Qt5X11Extras" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "Qt5DBus" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kdeclarative = {
buildInputs = [ "ECM" "KF5" "KF5Config" "KF5GlobalAccel" "KF5GuiAddons" "KF5I18n" "KF5IconThemes" "KF5KIO" "KF5WidgetsAddons" "KF5WindowSystem" "Qt5" "Qt5Test" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "KF5KIO" "Qt5Qml" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kded = {
buildInputs = [ "ECM" "KF5Config" "KF5CoreAddons" "KF5Crash" "KF5DBusAddons" "KF5DocTools" "KF5Init" "KF5Service" "Qt5" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kdelibs4support = {
buildInputs = [ "AGG" "Blitz" "BlueZ" "DocBookXML4" "ECM" "ENCHANT" "Eigen2" "FFmpeg" "Flac" "GObject" "GStreamer" "KDEWin" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5Crash" "KF5DesignerPlugin" "KF5DocTools" "KF5GlobalAccel" "KF5GuiAddons" "KF5I18n" "KF5IconThemes" "KF5KIO" "KF5Notifications" "KF5Parts" "KF5Service" "KF5TextWidgets" "KF5UnitConversion" "KF5WidgetsAddons" "KF5WindowSystem" "KF5XmlGui" "LCMS" "LibArt" "NetworkManager" "OpenEXR" "OpenSSL" "PCRE" "QCA2" "QImageBlitz" "QNtrack" "Qt5" "Qt5X11Extras" "Sqlite" "USB" "X11" "Xine" "Xmms" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "KDEWin" "KF5Auth" "KF5ConfigWidgets" "KF5CoreAddons" "KF5Crash" "KF5DesignerPlugin" "KF5DocTools" "KF5Emoticons" "KF5GuiAddons" "KF5IconThemes" "KF5Init" "KF5ItemModels" "KF5KDELibs4Support" "KF5Notifications" "KF5Parts" "KF5TextWidgets" "KF5UnitConversion" "KF5WindowSystem" "Qt5DBus" "Qt5PrintSupport" "Qt5Xml" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kdesignerplugin = {
buildInputs = [ "ECM" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DocTools" "KF5IconThemes" "KF5ItemViews" "KF5KIO" "KF5Plotting" "KF5Sonnet" "KF5TextWidgets" "KF5WebKit" "KF5WidgetsAddons" "KF5XmlGui" "Qt5Core" "Qt5Designer" "Qt5Test" "Qt5Widgets" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kdesu = {
buildInputs = [ "ECM" "KF5CoreAddons" "KF5Pty" "KF5Service" "Qt5Core" "X11" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "KF5Pty" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kdewebkit = {
buildInputs = [ "ECM" "KF5Config" "KF5CoreAddons" "KF5JobWidgets" "KF5KIO" "KF5Parts" "KF5Service" "KF5Wallet" "Qt5" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "Qt5WebKitWidgets" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kdnssd = {
buildInputs = [ "Avahi" "DNSSD" "ECM" "Qt5" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "Qt5Network" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kdoctools = {
buildInputs = [ "DocBookXML4" "DocBookXSL" "ECM" "KF5Archive" "KF5DocTools" "KF5I18n" "LibXml2" "Qt5Core" ];
nativeBuildInputs = [ "LibXslt" "cmake" ];
propagatedBuildInputs = [ "KF5Archive" "Qt5Core" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kemoticons = {
buildInputs = [ "ECM" "KF5Archive" "KF5Config" "KF5CoreAddons" "KF5Service" "Qt5" "Qt5Test" "Qt5Xml" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "KF5Archive" "KF5Service" "Qt5Gui" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kglobalaccel = {
buildInputs = [ "ECM" "Qt5" "X11" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "Qt5DBus" "Qt5Widgets" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kguiaddons = {
buildInputs = [ "ECM" "Qt5" "Qt5Gui" "Qt5X11Extras" "X11" "XCB" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "Qt5Gui" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
khtml = {
buildInputs = [ "ECM" "GIF" "JPEG" "KDEWin" "KF5Archive" "KF5Codecs" "KF5GlobalAccel" "KF5I18n" "KF5IconThemes" "KF5JS" "KF5KIO" "KF5Notifications" "KF5Parts" "KF5Sonnet" "KF5TextWidgets" "KF5Wallet" "KF5WidgetsAddons" "KF5WindowSystem" "KF5XmlGui" "OpenSSL" "PNG" "Phonon4Qt5" "Qt5" "Qt5Test" "Qt5X11Extras" "X11" ];
nativeBuildInputs = [ "Perl" "cmake" ];
propagatedBuildInputs = [ "KF5Archive" "KF5Bookmarks" "KF5GlobalAccel" "KF5I18n" "KF5IconThemes" "KF5JS" "KF5KIO" "KF5Notifications" "KF5Parts" "KF5Sonnet" "KF5Wallet" "KF5WidgetsAddons" "KF5WindowSystem" "Qt5Core" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
ki18n = {
buildInputs = [ "ECM" "LibIntl" "Qt5" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kiconthemes = {
buildInputs = [ "ECM" "KF5ConfigWidgets" "KF5I18n" "KF5ItemViews" "KF5WidgetsAddons" "Qt5" "Qt5DBus" "Qt5Svg" "Qt5Widgets" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "KF5ConfigWidgets" "KF5I18n" "KF5ItemViews" "KF5WidgetsAddons" "Qt5Widgets" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kidletime = {
buildInputs = [ "ECM" "Qt5" "X11" "X11_XCB" "XCB" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "Qt5Core" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kimageformats = {
buildInputs = [ "ECM" "Jasper" "OpenEXR" "Qt5Gui" "Qt5PrintSupport" "Qt5Test" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kinit = {
buildInputs = [ "ECM" "KF5Config" "KF5Crash" "KF5DocTools" "KF5I18n" "KF5KIO" "KF5Service" "KF5WindowSystem" "Libcap" "Qt5" "X11" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kio = {
buildInputs = [ "ACL" "ECM" "GSSAPI" "KF5Archive" "KF5Bookmarks" "KF5Codecs" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DBusAddons" "KF5DocTools" "KF5I18n" "KF5IconThemes" "KF5ItemViews" "KF5JobWidgets" "KF5Notifications" "KF5Service" "KF5Solid" "KF5Wallet" "KF5WidgetsAddons" "KF5WindowSystem" "KF5XmlGui" "LibXml2" "OpenSSL" "Qt5" "Qt5Concurrent" "Qt5Core" "Qt5Script" "Qt5Test" "Qt5Widgets" "Strigi" "X11" "ZLIB" ];
nativeBuildInputs = [ "LibXslt" "cmake" ];
propagatedBuildInputs = [ "KF5Bookmarks" "KF5Completion" "KF5ItemViews" "KF5JobWidgets" "KF5Service" "KF5Solid" "KF5XmlGui" "Qt5Network" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kitemmodels = {
buildInputs = [ "ECM" "Grantlee" "Qt5" "Qt5Core" "Qt5Script" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "Qt5Core" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kitemviews = {
buildInputs = [ "ECM" "Qt5" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "Qt5Widgets" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kjobwidgets = {
buildInputs = [ "ECM" "KF5CoreAddons" "KF5WidgetsAddons" "Qt5" "Qt5X11Extras" "X11" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "KF5CoreAddons" "KF5WidgetsAddons" "Qt5Widgets" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kjs = {
buildInputs = [ "ECM" "PCRE" "Qt5Core" "Qt5Test" ];
nativeBuildInputs = [ "Perl" "cmake" ];
propagatedBuildInputs = [ "Qt5Core" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kjsembed = {
buildInputs = [ "ECM" "KF5DocTools" "KF5I18n" "KF5JS" "Qt5" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "KF5I18n" "KF5JS" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kmediaplayer = {
buildInputs = [ "ECM" "KF5Parts" "KF5XmlGui" "Qt5DBus" "Qt5Test" "Qt5Widgets" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "KF5Parts" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
knewstuff = {
buildInputs = [ "ECM" "KF5Archive" "KF5Attica" "KF5Completion" "KF5Config" "KF5CoreAddons" "KF5I18n" "KF5IconThemes" "KF5ItemViews" "KF5KIO" "KF5TextWidgets" "KF5WidgetsAddons" "KF5XmlGui" "Qt5" "Qt5Test" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "KF5Archive" "KF5Attica" "KF5KIO" "KF5XmlGui" "Qt5Widgets" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
knotifications = {
buildInputs = [ "ECM" "KF5Codecs" "KF5Config" "KF5CoreAddons" "KF5IconThemes" "KF5Service" "KF5WindowSystem" "Phonon4Qt5" "Qt5" "Qt5X11Extras" "X11" "dbusmenu-qt5" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "KF5WindowSystem" "Qt5Widgets" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
knotifyconfig = {
buildInputs = [ "ECM" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5I18n" "KF5KIO" "KF5Notifications" "KF5Service" "KF5WidgetsAddons" "KF5XmlGui" "Phonon4Qt5" "Qt5" "Qt5Test" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "KF5I18n" "KF5KIO" "Qt5Widgets" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kparts = {
buildInputs = [ "ECM" "KF5Config" "KF5CoreAddons" "KF5I18n" "KF5IconThemes" "KF5JobWidgets" "KF5KIO" "KF5Notifications" "KF5Service" "KF5TextWidgets" "KF5WidgetsAddons" "KF5XmlGui" "Qt5" "Qt5Test" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "KF5KIO" "KF5Notifications" "KF5TextWidgets" "KF5XmlGui" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kplotting = {
buildInputs = [ "ECM" "Qt5" "Qt5Widgets" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "Qt5Widgets" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kpty = {
buildInputs = [ "ECM" "KF5CoreAddons" "KF5I18n" "Qt5" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "KF5CoreAddons" "KF5I18n" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kross = {
buildInputs = [ "ECM" "KF5Completion" "KF5CoreAddons" "KF5DocTools" "KF5I18n" "KF5IconThemes" "KF5KIO" "KF5Parts" "KF5Service" "KF5WidgetsAddons" "KF5XmlGui" "Qt5" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "KF5I18n" "KF5IconThemes" "KF5KIO" "KF5Parts" "KF5WidgetsAddons" "Qt5Script" "Qt5Widgets" "Qt5Xml" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
krunner = {
buildInputs = [ "ECM" "KF5Config" "KF5CoreAddons" "KF5I18n" "KF5KIO" "KF5Plasma" "KF5Service" "KF5Solid" "KF5ThreadWeaver" "Qt5" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "KF5Plasma" "Qt5Core" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kservice = {
buildInputs = [ "ECM" "KF5Config" "KF5CoreAddons" "KF5Crash" "KF5DBusAddons" "KF5DocTools" "KF5I18n" "Qt5" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "KF5Config" "KF5CoreAddons" "KF5DBusAddons" "KF5I18n" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
ktexteditor = {
buildInputs = [ "ECM" "KF5Archive" "KF5Config" "KF5GuiAddons" "KF5I18n" "KF5KIO" "KF5Parts" "KF5Sonnet" "LibGit2" "Qt5" ];
nativeBuildInputs = [ "Perl" "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
ktextwidgets = {
buildInputs = [ "ECM" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5I18n" "KF5IconThemes" "KF5Service" "KF5Sonnet" "KF5WidgetsAddons" "KF5WindowSystem" "Qt5" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "KF5Completion" "KF5ConfigWidgets" "KF5I18n" "KF5IconThemes" "KF5Service" "KF5Sonnet" "KF5WindowSystem" "Qt5Widgets" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kunitconversion = {
buildInputs = [ "ECM" "KF5I18n" "Qt5" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "KF5Config" "KF5I18n" "Qt5Core" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kwallet = {
buildInputs = [ "ECM" "Gpgme" "KF5Config" "KF5CoreAddons" "KF5DBusAddons" "KF5Gpgmepp" "KF5I18n" "KF5IconThemes" "KF5Notifications" "KF5Service" "KF5WidgetsAddons" "KF5WindowSystem" "LibGcrypt" "Qt5" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "KF5Config" "KF5WindowSystem" "Qt5Core" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kwidgetsaddons = {
buildInputs = [ "ECM" "Qt5" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "Qt5Widgets" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kwindowsystem = {
buildInputs = [ "ECM" "Qt5" "Qt5WinExtras" "X11" "XCB" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "Qt5Widgets" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kxmlgui = {
buildInputs = [ "ECM" "KF5Attica" "KF5Config" "KF5ConfigWidgets" "KF5GlobalAccel" "KF5I18n" "KF5IconThemes" "KF5ItemViews" "KF5TextWidgets" "KF5WidgetsAddons" "KF5WindowSystem" "Qt5" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "KF5Attica" "KF5Config" "KF5ConfigWidgets" "KF5GlobalAccel" "KF5IconThemes" "KF5ItemViews" "KF5TextWidgets" "KF5WindowSystem" "Qt5DBus" "Qt5Xml" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
plasma-framework = {
buildInputs = [ "ECM" "EGL" "Gpgme" "KActivities" "KCoreAddons" "KDE4Support" "KDESu" "KDeclarative" "KF5" "KF5Activities" "KF5Archive" "KF5Auth" "KF5Bookmarks" "KF5Codecs" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5Crash" "KF5DBusAddons" "KF5Declarative" "KF5DocTools" "KF5GlobalAccel" "KF5GuiAddons" "KF5I18n" "KF5IconThemes" "KF5IdleTime" "KF5Init" "KF5ItemModels" "KF5ItemViews" "KF5JS" "KF5JobWidgets" "KF5KArchive" "KF5KAuth" "KF5KBookmarks" "KF5KCodecs" "KF5KCompletion" "KF5KConfig" "KF5KConfigWidgets" "KF5KCoreAddons" "KF5KCrash" "KF5KDBusAddons" "KF5KDE4Support" "KF5KDESu" "KF5KDeclarative" "KF5KDocTools" "KF5KF5GlobalAccel" "KF5KGuiAddons" "KF5KI18n" "KF5KIO" "KF5KIconThemes" "KF5KIdleTime" "KF5KInit" "KF5KJS" "KF5KJobWidgets" "KF5KNotifications" "KF5KParts" "KF5KService" "KF5KTextWidgets" "KF5KUnitConversion" "KF5KWallet" "KF5KWidgetsAddons" "KF5KWindowSystem" "KF5Kross" "KF5NO_MODULE" "KF5Notifications" "KF5Parts" "KF5Service" "KF5Solid" "KF5Sonnet" "KF5Su" "KF5TextWidgets" "KF5ThreadWeaver" "KF5UnitConversion" "KF5Wallet" "KF5WidgetsAddons" "KF5WindowSystem" "KF5XmlGui" "KdepimLibs" "OpenGL" "QCA2" "Qt5" "Qt5Test" "Qt5Widgets" "Solid" "X11" "XCB" ];
nativeBuildInputs = [ "SH" "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
solid = {
buildInputs = [ "ECM" "IOKit" "MediaPlayerInfo" "Qt5" "Qt5Qml" "UDev" ];
nativeBuildInputs = [ "BISON" "FLEX" "cmake" ];
propagatedBuildInputs = [ "Qt5Core" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
sonnet = {
buildInputs = [ "ASPELL" "ECM" "ENCHANT" "HSPELL" "HUNSPELL" "Qt5" "Qt5Test" "ZLIB" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "Qt5Core" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
threadweaver = {
buildInputs = [ "ECM" "KF5ThreadWeaver" "Qt5" "Qt5Core" "Qt5Test" "Qt5Widgets" ];
nativeBuildInputs = [ "SNIPPETEXTRACTOR" "cmake" ];
propagatedBuildInputs = [ "Qt5Core" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
}

View file

@ -0,0 +1,22 @@
#!/bin/sh
# This script rebuilds dependencies.nix.
# You must run manifest.sh first to download the packages.
# Without arguments, this will use the version of autonix-deps-kf5 in nixpkgs.
# If you are working on the packages, this is probably what you want.
# You can also pass the path to a source tree where you have built
# autonix-deps-kf5 yourself. If you are working on autonix-deps-kf5, this is
# probably what you want.
manifestXML=$(nix-build -E 'with (import ../../../.. {}); autonix.writeManifestXML ./manifest.nix')
autonixDepsKf5=""
if [[ -z $1 ]]; then
autonixDepsKF5=$(nix-build ../../../.. -A haskellngPackages.autonix-deps-kf5)/bin
else
autonixDepsKF5="$1/dist/build/kf5-deps"
fi
exec ${autonixDepsKF5}/kf5-deps "${manifestXML}"

View file

@ -0,0 +1,55 @@
From f1e22a65f94a231edfe01ac6a3fcf30d95b6329f Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@gmail.com>
Date: Wed, 31 Dec 2014 07:16:45 -0600
Subject: [PATCH 1/2] libdir default
---
kde-modules/KDEInstallDirs.cmake | 31 +------------------------------
1 file changed, 1 insertion(+), 30 deletions(-)
diff --git a/kde-modules/KDEInstallDirs.cmake b/kde-modules/KDEInstallDirs.cmake
index e255e87..a79a12a 100644
--- a/kde-modules/KDEInstallDirs.cmake
+++ b/kde-modules/KDEInstallDirs.cmake
@@ -162,37 +162,8 @@
# (To distribute this file outside of extra-cmake-modules, substitute the full
# License text for the above reference.)
-# Figure out what the default install directory for libraries should be.
-# This is based on the logic in GNUInstallDirs, but simplified (the
-# GNUInstallDirs code deals with re-configuring, but that is dealt with
-# by the _define_* macros in this module).
+# The default library directory on NixOS is *always* /lib.
set(_LIBDIR_DEFAULT "lib")
-# Override this default 'lib' with 'lib64' iff:
-# - we are on a Linux, kFreeBSD or Hurd system but NOT cross-compiling
-# - we are NOT on debian
-# - we are on a 64 bits system
-# reason is: amd64 ABI: http://www.x86-64.org/documentation/abi.pdf
-# For Debian with multiarch, use 'lib/${CMAKE_LIBRARY_ARCHITECTURE}' if
-# CMAKE_LIBRARY_ARCHITECTURE is set (which contains e.g. "i386-linux-gnu"
-# See http://wiki.debian.org/Multiarch
-if((CMAKE_SYSTEM_NAME MATCHES "Linux|kFreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "GNU")
- AND NOT CMAKE_CROSSCOMPILING)
- if (EXISTS "/etc/debian_version") # is this a debian system ?
- if(CMAKE_LIBRARY_ARCHITECTURE)
- set(_LIBDIR_DEFAULT "lib/${CMAKE_LIBRARY_ARCHITECTURE}")
- endif()
- else() # not debian, rely on CMAKE_SIZEOF_VOID_P:
- if(NOT DEFINED CMAKE_SIZEOF_VOID_P)
- message(AUTHOR_WARNING
- "Unable to determine default LIB_INSTALL_LIBDIR directory because no target architecture is known. "
- "Please enable at least one language before including KDEInstallDirs.")
- else()
- if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
- set(_LIBDIR_DEFAULT "lib64")
- endif()
- endif()
- endif()
-endif()
# Macro for variables that are relative to another variable. We store an empty
# value in the cache (for documentation/GUI cache editor purposes), and store
--
2.1.4

View file

@ -0,0 +1,25 @@
From e4fb9d880cefa743df2b5da3a67db617d66faf63 Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@gmail.com>
Date: Wed, 31 Dec 2014 07:23:59 -0600
Subject: [PATCH 2/2] qt5 plugin dir
---
kde-modules/KDEInstallDirs.cmake | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kde-modules/KDEInstallDirs.cmake b/kde-modules/KDEInstallDirs.cmake
index a79a12a..70dbe02 100644
--- a/kde-modules/KDEInstallDirs.cmake
+++ b/kde-modules/KDEInstallDirs.cmake
@@ -315,7 +315,7 @@ if(KDE_INSTALL_USE_QT_SYS_PATHS)
"QtQuick2 imports"
QML_INSTALL_DIR)
else()
- _define_relative(QTPLUGINDIR LIBDIR "plugins"
+ _define_relative(QTPLUGINDIR LIBDIR "qt5/plugins"
"Qt plugins"
QT_PLUGIN_INSTALL_DIR)
--
2.1.4

View file

@ -0,0 +1,13 @@
diff --git a/KF5AuthConfig.cmake.in b/KF5AuthConfig.cmake.in
index e859ec7..9a8ab18 100644
--- a/KF5AuthConfig.cmake.in
+++ b/KF5AuthConfig.cmake.in
@@ -4,7 +4,7 @@ set(KAUTH_STUB_FILES_DIR "${PACKAGE_PREFIX_DIR}/@KF5_DATA_INSTALL_DIR@/kauth/")
set(KAUTH_BACKEND_NAME "@KAUTH_BACKEND_NAME@")
set(KAUTH_HELPER_BACKEND_NAME "@KAUTH_HELPER_BACKEND_NAME@")
-set(KAUTH_POLICY_FILES_INSTALL_DIR "@KAUTH_POLICY_FILES_INSTALL_DIR@")
+set(KAUTH_POLICY_FILES_INSTALL_DIR "\${CMAKE_INSTALL_PREFIX}/share/polkit-1/actions")
set(KAUTH_HELPER_INSTALL_DIR "@KAUTH_HELPER_INSTALL_DIR@")
find_dependency(KF5CoreAddons "@KF5_DEP_VERSION@")

View file

@ -0,0 +1,13 @@
diff --git a/src/kpluginselector.cpp b/src/kpluginselector.cpp
index c63241b..2243f94 100644
--- a/src/kpluginselector.cpp
+++ b/src/kpluginselector.cpp
@@ -304,7 +304,7 @@ void KPluginSelector::addPlugins(const QString &componentName,
QStringList desktopFileNames;
const QStringList dirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, componentName + QStringLiteral("/kpartplugins"), QStandardPaths::LocateDirectory);
Q_FOREACH (const QString &dir, dirs) {
- QDirIterator it(dir, QStringList() << QStringLiteral("*.desktop"), QDir::NoFilter, QDirIterator::Subdirectories);
+ QDirIterator it(dir, QStringList() << QStringLiteral("*.desktop"), QDir::NoFilter, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
while (it.hasNext()) {
desktopFileNames.append(it.next());
}

View file

@ -0,0 +1,13 @@
diff --git a/src/khelpclient.cpp b/src/khelpclient.cpp
index 53a331e..80fbb01 100644
--- a/src/khelpclient.cpp
+++ b/src/khelpclient.cpp
@@ -48,7 +48,7 @@ void KHelpClient::invokeHelp(const QString &anchor, const QString &_appname)
QString docPath;
const QStringList desktopDirs = QStandardPaths::standardLocations(QStandardPaths::ApplicationsLocation);
Q_FOREACH (const QString &dir, desktopDirs) {
- QDirIterator it(dir, QStringList() << appname + QLatin1String(".desktop"), QDir::NoFilter, QDirIterator::Subdirectories);
+ QDirIterator it(dir, QStringList() << appname + QLatin1String(".desktop"), QDir::NoFilter, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
while (it.hasNext()) {
const QString desktopPath(it.next());
KDesktopFile desktopFile(desktopPath);

View file

@ -0,0 +1,12 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5c4863c..f731775 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -46,7 +46,6 @@ set_package_properties(LibXml2 PROPERTIES
)
-find_package(DocBookXML4 "4.5")
set_package_properties(DocBookXML4 PROPERTIES
TYPE REQUIRED

View file

@ -0,0 +1,30 @@
diff --git a/src/kdeinit/kinit.cpp b/src/kdeinit/kinit.cpp
index 3c3c913..f510620 100644
--- a/src/kdeinit/kinit.cpp
+++ b/src/kdeinit/kinit.cpp
@@ -652,15 +652,17 @@ static pid_t launch(int argc, const char *_name, const char *args,
if (!libpath.isEmpty()) {
if (!l.load()) {
if (libpath_relative) {
- // NB: Because Qt makes the actual dlopen() call, the
- // RUNPATH of kdeinit is *not* respected - see
- // https://sourceware.org/bugzilla/show_bug.cgi?id=13945
- // - so we try hacking it in ourselves
- QString install_lib_dir = QFile::decodeName(
- CMAKE_INSTALL_PREFIX "/" LIB_INSTALL_DIR "/");
- libpath = install_lib_dir + libpath;
- l.setFileName(libpath);
+ // Use QT_PLUGIN_PATH to find shared library directories
+ // For KF5, the plugin path is /lib/plugins, so the kdeinit5
+ // shared libraries should be in /lib/plugins/../
+ const QRegExp pathSepRegExp(QString::fromLatin1("[:\b]"));
+ const QString up = QString::fromLocal8Bit("/../");
+ const QStringList paths = QString::fromLocal8Bit(qgetenv("QT_PLUGIN_PATH")).split(pathSepRegExp, QString::KeepEmptyParts);
+ Q_FOREACH (const QString &path, paths) {
+ l.setFileName(path + up + libpath);
l.load();
+ if (l.isLoaded()) break;
+ }
}
}
if (!l.isLoaded()) {

View file

@ -0,0 +1,13 @@
diff --git a/src/kbuildsycoca/kbuildsycoca.cpp b/src/kbuildsycoca/kbuildsycoca.cpp
index 69b1427..9c37a49 100644
--- a/src/kbuildsycoca/kbuildsycoca.cpp
+++ b/src/kbuildsycoca/kbuildsycoca.cpp
@@ -227,7 +227,7 @@ bool KBuildSycoca::build()
QStringList relFiles;
const QStringList dirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, g_resourceSubdir, QStandardPaths::LocateDirectory);
Q_FOREACH (const QString &dir, dirs) {
- QDirIterator it(dir, QDirIterator::Subdirectories);
+ QDirIterator it(dir, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
while (it.hasNext()) {
const QString filePath = it.next();
Q_ASSERT(filePath.startsWith(dir)); // due to the line below...

View file

@ -0,0 +1,13 @@
diff --git a/src/kbuildsycoca/vfolder_menu.cpp b/src/kbuildsycoca/vfolder_menu.cpp
index 2eb1275..e39a36f 100644
--- a/src/kbuildsycoca/vfolder_menu.cpp
+++ b/src/kbuildsycoca/vfolder_menu.cpp
@@ -412,7 +412,7 @@ VFolderMenu::absoluteDir(const QString &_dir, const QString &baseDir, bool keepR
}
if (!relative) {
- QString resolved = QDir(dir).canonicalPath();
+ QString resolved = QDir::cleanPath(dir);
if (!resolved.isEmpty()) {
dir = resolved;
}

View file

@ -0,0 +1,364 @@
# This file is generated automatically. DO NOT EDIT!
{ mirror }:
[
{
url = "${mirror}/stable/frameworks/5.5/extra-cmake-modules-1.5.0.tar.xz";
sha256 = "0rhvrpakahylfrnwkw5n32xh95609b3ca40qjkd1bcqh9mw8s8n7";
name = "extra-cmake-modules-1.5.0.tar.xz";
store = "/nix/store/adn9n0xazi0wdmc7ffwfbxdbm05wvlg9-extra-cmake-modules-1.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/kdoctools-5.5.0.tar.xz";
sha256 = "19pzafqinngzyk52c2a3l8llfxqh77y436sj3rvkir1falvg7jqi";
name = "kdoctools-5.5.0.tar.xz";
store = "/nix/store/i624z246bj0iy36r9fwzwnfanggkp7kj-kdoctools-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/knotifications-5.5.0.tar.xz";
sha256 = "04fp1gkjv828464xs7y3wm5p8ww2n9alfds8bs76i49gpd42xjyh";
name = "knotifications-5.5.0.tar.xz";
store = "/nix/store/5dmvw3gp1hbq03pnp5llav77ggrya3qv-knotifications-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/kdesu-5.5.0.tar.xz";
sha256 = "0m47ha6xwxv3w9hijdf6z4bb84rr0rw9p4sr5nmb9wdngzrmzcpd";
name = "kdesu-5.5.0.tar.xz";
store = "/nix/store/ixyfa6piyz5hcw8y9pkx75cg189y4qf8-kdesu-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/kdnssd-5.5.0.tar.xz";
sha256 = "1j94162lvnc47y1nfjshpa28biaihyxghi7nz9rjdlr7cf40gp4r";
name = "kdnssd-5.5.0.tar.xz";
store = "/nix/store/z381zrhhyjk482arjnbra8pbwib9jrkp-kdnssd-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/kdewebkit-5.5.0.tar.xz";
sha256 = "0y5d7mabkgc5676aax64hficjy06fqkm8a72jki1hl808pbapvwy";
name = "kdewebkit-5.5.0.tar.xz";
store = "/nix/store/xi41pfsfghkayasng6kqn5b65cfgs4vs-kdewebkit-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/kparts-5.5.0.tar.xz";
sha256 = "0l6na645j2ijais4nqir54jxzn13csigivcg098m6m0mpiz8j4w6";
name = "kparts-5.5.0.tar.xz";
store = "/nix/store/l5011v85i02gqnk2hfkif5d7cwq5zm0s-kparts-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/kdeclarative-5.5.0.tar.xz";
sha256 = "1pb9dlggdr0vzy9bhzsjncnkalvdbrjhgbp1hzba9pyzpmmhx6pq";
name = "kdeclarative-5.5.0.tar.xz";
store = "/nix/store/7527cdligx3667bjbjqcjxk3m6ifqldc-kdeclarative-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/ktextwidgets-5.5.0.tar.xz";
sha256 = "1iqssmpilzxgjs5b2q3f1dpcq4wrwa528an6z9h6rx66lrmbcwml";
name = "ktextwidgets-5.5.0.tar.xz";
store = "/nix/store/93xq5dl3xmb713rfv0imh261lb6jr3d8-ktextwidgets-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/solid-5.5.0.tar.xz";
sha256 = "1vcphw9fj0hqxr612p4dv8ggbb6vh7bnpa8b7l216ixqpg3wg1gs";
name = "solid-5.5.0.tar.xz";
store = "/nix/store/knsf1bxiymf8nh65w65bakb1cvzjq2il-solid-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/kpty-5.5.0.tar.xz";
sha256 = "147zxsdyw4fwn0d99nkbjxgcs5vf6wzvgm9d9fpiyzq2747pmnin";
name = "kpty-5.5.0.tar.xz";
store = "/nix/store/yic1isk1ak0fwr9i3k3af986m1k8z87g-kpty-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/sonnet-5.5.0.tar.xz";
sha256 = "0ck2li0y9z2vlby4axhva409bn5nw06g84mm4g3s86mfjypii3gm";
name = "sonnet-5.5.0.tar.xz";
store = "/nix/store/qgqxm6plb4vfj3yja62s4xa62nkbqmyj-sonnet-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/kguiaddons-5.5.0.tar.xz";
sha256 = "0wlhhwf59bwscj7c1skigglp1fchdxmi8y3rrmm4ss7avbpkbjvb";
name = "kguiaddons-5.5.0.tar.xz";
store = "/nix/store/iajck67nc69d2qcczd3hxz41flkb3d7v-kguiaddons-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/kunitconversion-5.5.0.tar.xz";
sha256 = "0h8rwnfd4dib56q0gndi4rjkrnmpq2bv0nbycsrnhjxvrzbxdfh0";
name = "kunitconversion-5.5.0.tar.xz";
store = "/nix/store/7dflp9jdaplbx4xjvy364kmy9h27yq67-kunitconversion-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/kconfigwidgets-5.5.0.tar.xz";
sha256 = "1816n5qzjh4kgcmkicmsmwv063rx81wxvn4flbnrqxw2nglwyx41";
name = "kconfigwidgets-5.5.0.tar.xz";
store = "/nix/store/jgsadidxnli619q5i9cs7qmgkgs8hgqz-kconfigwidgets-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/kimageformats-5.5.0.tar.xz";
sha256 = "0fhgk4pl8vx77p6jvcwx8vddzdn701rvbpjy3p0250zgzw9qjkin";
name = "kimageformats-5.5.0.tar.xz";
store = "/nix/store/qhy1ldzhhr1lij4bg5hp5w97fncqabhq-kimageformats-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/knewstuff-5.5.0.tar.xz";
sha256 = "0w0j20jh10zpigm1s6x0n0jgpx9czwb72miyfl8cj3h2j07ghdpz";
name = "knewstuff-5.5.0.tar.xz";
store = "/nix/store/a49vair6af9159j7bsz9y0gn8q12i0np-knewstuff-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/kdbusaddons-5.5.0.tar.xz";
sha256 = "1k2k1bwjiv1r5pbzn3ypydgva7kjj2z8csg01jc8p2qii221afjp";
name = "kdbusaddons-5.5.0.tar.xz";
store = "/nix/store/322m5kv9whdjgc21vlk2vcjaba8yfcbq-kdbusaddons-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/kio-5.5.0.tar.xz";
sha256 = "13y7chcln71wk32bcd3h6qld901gnafksd9f4kb0nmnahdv6z73z";
name = "kio-5.5.0.tar.xz";
store = "/nix/store/p0xphwbx522h8xacg8bar3dp8fhd26h8-kio-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/kwindowsystem-5.5.0.tar.xz";
sha256 = "1s243453d43fpnlykmv7ix6wzxhbyl92y8nrbyn73zfb5kc7z0yh";
name = "kwindowsystem-5.5.0.tar.xz";
store = "/nix/store/63g4qavmxcgw5njpy9fq2fji5p8ji804-kwindowsystem-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/kcodecs-5.5.0.tar.xz";
sha256 = "0wh5rcnvkq9c8vf8kll02jpqid5hix17w2ywwpsjfmgi2a4bkjz7";
name = "kcodecs-5.5.0.tar.xz";
store = "/nix/store/33fpi9a2ggbj8dfpnzhs1w3jgj6hzw78-kcodecs-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/kcoreaddons-5.5.0.tar.xz";
sha256 = "00fg1khdndacbd6msgjcz2yan04ib5h0l35a4l7bwpyd1crk6fdj";
name = "kcoreaddons-5.5.0.tar.xz";
store = "/nix/store/2p4mz7pxz94sddm7r4j82q4nriz16i3b-kcoreaddons-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/frameworkintegration-5.5.0.tar.xz";
sha256 = "1781l1wzip4w4inz69si5cqy6gr0vcwx9vmhv93925jga44drpaz";
name = "frameworkintegration-5.5.0.tar.xz";
store = "/nix/store/6v1s33dyv1qvzv8x7m9ak4qn79g52ygz-frameworkintegration-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/kwidgetsaddons-5.5.0.tar.xz";
sha256 = "0s3aybvnlri8pdfms4dmbgzqan656pzlaghsy8065x19dn4hmwl2";
name = "kwidgetsaddons-5.5.0.tar.xz";
store = "/nix/store/4f6681v6fp9yzgclf9wbryy63xjvjfvc-kwidgetsaddons-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/kidletime-5.5.0.tar.xz";
sha256 = "0rb29aqv8npsq161nmkrsxz2kra0jdi1xv2zw9xyapb1yyg4qsk6";
name = "kidletime-5.5.0.tar.xz";
store = "/nix/store/1d96ca5sy906lhh16hmv122lr8s3xxrp-kidletime-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/ktexteditor-5.5.0.tar.xz";
sha256 = "17sbdis5wnj13cxi713ncl1x4b61sdhx5i2j3fdk5gqycmrw93xf";
name = "ktexteditor-5.5.0.tar.xz";
store = "/nix/store/jy8cb6vscgzqb4gcsnh5b0b64f3pil0k-ktexteditor-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/knotifyconfig-5.5.0.tar.xz";
sha256 = "1vj39fsxmypdq5bf1a5sdpld3dfy0hg7k8ikzhy4b83wh5mjzsfy";
name = "knotifyconfig-5.5.0.tar.xz";
store = "/nix/store/lc1gdg5j1qk7pjg8spyz2wkrcpwqw0c7-knotifyconfig-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/attica-5.5.0.tar.xz";
sha256 = "10slxvfcfqxirrnwzfwdnbmlarkcc93d0rvb2110cfvghq3w676m";
name = "attica-5.5.0.tar.xz";
store = "/nix/store/53asp14pcyx5a47339g6sc3ni8wdh6l8-attica-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/kxmlgui-5.5.0.tar.xz";
sha256 = "13n8jp7krsbajnaq8r8135xlqja9sawis7fr1z0li54hskfz18x9";
name = "kxmlgui-5.5.0.tar.xz";
store = "/nix/store/mb1fqb5w5c05yg2fsi31jfcc24hvv1jh-kxmlgui-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/kglobalaccel-5.5.0.tar.xz";
sha256 = "1bkv7nn5x6im0d6mqr9v4grjc2p3vs481ckgcs6g28p7b4a0dfl3";
name = "kglobalaccel-5.5.0.tar.xz";
store = "/nix/store/i6dkz0bnw1yx9g8q49414pm9aszkvri3-kglobalaccel-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/plasma-framework-5.5.0.tar.xz";
sha256 = "0rhmybncdyy1drg08pjvshmfmzd694skc0n9kk535bm90af4ir26";
name = "plasma-framework-5.5.0.tar.xz";
store = "/nix/store/jxi0gr530wj58d93hwd9zi5irxy3wrxh-plasma-framework-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/kplotting-5.5.0.tar.xz";
sha256 = "1gxmngxh1w7wqhy3p4l3lr6283zp8wzsj7sv8gbzd55s3z9vcvp8";
name = "kplotting-5.5.0.tar.xz";
store = "/nix/store/5nncccml3icr8i2rr7qc1ai5193wr4z6-kplotting-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/kactivities-5.5.0.tar.xz";
sha256 = "0ypd2cp82z7gabzg96hpz5s24nmzyd2c7a95k74xibasd2fxld73";
name = "kactivities-5.5.0.tar.xz";
store = "/nix/store/n6553bypqcqpnk2yhv9h0jlfbg671c7d-kactivities-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/kiconthemes-5.5.0.tar.xz";
sha256 = "1jdjhg38bp936qjxjx0xkdkc1b8rly453d3hyf7vki10cfkm8l9i";
name = "kiconthemes-5.5.0.tar.xz";
store = "/nix/store/308wv5wyvxdmr792b26ps8wrjxw0s2s1-kiconthemes-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/kservice-5.5.0.tar.xz";
sha256 = "1hs8g3nnrahi9951xgk0sj5fvpcj572fjj219kj7knv9mwv346zx";
name = "kservice-5.5.0.tar.xz";
store = "/nix/store/bizwfxq4ap84fd1g8kr7zdqys2rxfzig-kservice-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/kemoticons-5.5.0.tar.xz";
sha256 = "0yl2w3f6h4irrbf6kl8npz4jwlzmi4bglwjcqqwhs3s6qz2wni95";
name = "kemoticons-5.5.0.tar.xz";
store = "/nix/store/y5inglfgimmn51by0rf6gk9d2k7wrprc-kemoticons-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/ki18n-5.5.0.tar.xz";
sha256 = "11756hp266nssmkywnyh61pzd32k7y15323f5rlh8ap8hzs2cvjd";
name = "ki18n-5.5.0.tar.xz";
store = "/nix/store/06sviq6lrs60zg9541x99x57avrr460m-ki18n-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/karchive-5.5.0.tar.xz";
sha256 = "06bal0lk9r8nnc0vzqsxjhk6xm6yjapl9x883rhzl9r8y9jxfcx3";
name = "karchive-5.5.0.tar.xz";
store = "/nix/store/zdm1v5bc5jxbv4yc1k4brkbk2mw4srzb-karchive-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/portingAids/krunner-5.5.0.tar.xz";
sha256 = "139213rrkc0hmab4hy6mp501s0z59hjgsvkikcswli7wj1yvl1aj";
name = "krunner-5.5.0.tar.xz";
store = "/nix/store/ps29p1lprbpkqk77x623nfdks22sxz7a-krunner-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/portingAids/kdelibs4support-5.5.0.tar.xz";
sha256 = "07jb21is23mkb2yy6dncw70f6jdcn0bg2vz13mgc86f3glim35wh";
name = "kdelibs4support-5.5.0.tar.xz";
store = "/nix/store/i6wdad07jlbk9nw6khccq9ncc9y4w82f-kdelibs4support-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/portingAids/kross-5.5.0.tar.xz";
sha256 = "1nj4zfw6490saixhv3rwp5r7nrzvbskbhr1wvf4rxdbp0f1q20nb";
name = "kross-5.5.0.tar.xz";
store = "/nix/store/6yq7q3g76rbmdyn12rgi423jfakdzwps-kross-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/portingAids/kmediaplayer-5.5.0.tar.xz";
sha256 = "192sn5vqgaip2y6rl30q6y7gmasgfwq137bcalyc00di15xclp6z";
name = "kmediaplayer-5.5.0.tar.xz";
store = "/nix/store/mj667h3y2j1p9ilblv96f1k98f918hp2-kmediaplayer-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/portingAids/kjsembed-5.5.0.tar.xz";
sha256 = "1niqpbg33gzyxppgyxwrnlh3lrwz1wj8zym9z5lr7kimbyamw5xd";
name = "kjsembed-5.5.0.tar.xz";
store = "/nix/store/pn4w12z242ymbdq4zjg1fa1c3a0fblgc-kjsembed-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/portingAids/khtml-5.5.0.tar.xz";
sha256 = "078444gi0jnpn5qjnv8zv2p0p22h14sxx3rv5kzc3zgbs8c0zqq2";
name = "khtml-5.5.0.tar.xz";
store = "/nix/store/yvnwkm5pn8b93rv422082gj1iaqx4sbs-khtml-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/portingAids/kjs-5.5.0.tar.xz";
sha256 = "0wqvzrqd8c7mi90zf7if5cgqi7g42nmqj1ycn13kkds08varrjb6";
name = "kjs-5.5.0.tar.xz";
store = "/nix/store/55s4313gpm9qspabvq8kaahnyw03ybfv-kjs-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/kauth-5.5.0.tar.xz";
sha256 = "03sf3cc4hg4drf9h118yqswk65f01q3q7mmj6pz8hhmsvf7rjpq0";
name = "kauth-5.5.0.tar.xz";
store = "/nix/store/bh72pjz74vhfwhk6zi7zfhrpaqrmj0gj-kauth-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/kitemmodels-5.5.0.tar.xz";
sha256 = "0j7hifhxrmsdfbp68s4aahmn9jdfy6sy88d2p3z41cg4fw368g2v";
name = "kitemmodels-5.5.0.tar.xz";
store = "/nix/store/hx2gy0h93wqcrz0185k8blpvkgqb5rvp-kitemmodels-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/kcmutils-5.5.0.tar.xz";
sha256 = "0na4dvj6qrh7wrdpf7k2gix8grsyj7a8ckvsrzsm35vmxkj1rppx";
name = "kcmutils-5.5.0.tar.xz";
store = "/nix/store/v93p482j7bqlcch6wh4wpmdbzm2rrb1f-kcmutils-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/kconfig-5.5.0.tar.xz";
sha256 = "116ck6xz8j9mdz528qk2bj3yifi28jr9amdmjq10y8m67qsgfmdx";
name = "kconfig-5.5.0.tar.xz";
store = "/nix/store/y79vpd5m36ygn0ka1v030kzabkl1qnn8-kconfig-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/kcrash-5.5.0.tar.xz";
sha256 = "1ckxphll3vcw3qf8cy3vibn177wc1zkx64g1yfj32ahvc2q5jmw9";
name = "kcrash-5.5.0.tar.xz";
store = "/nix/store/hybhzm8b650i2zah4ymzsqx5k23gnd93-kcrash-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/kded-5.5.0.tar.xz";
sha256 = "102s41g2cd3addrqlvwj1a4q9j2rkla22pmjy535s1myk0s5zzbi";
name = "kded-5.5.0.tar.xz";
store = "/nix/store/dv5i4jlw5q7x9s2h64vgvi8lblwsiaw5-kded-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/kitemviews-5.5.0.tar.xz";
sha256 = "1fwdl2hvp7nfbii38j89irc0cyfciji20kigzr9iiccips1j4w64";
name = "kitemviews-5.5.0.tar.xz";
store = "/nix/store/mica7hv5rmmhvdcazm7pknq57d9ln8jx-kitemviews-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/kdesignerplugin-5.5.0.tar.xz";
sha256 = "1qdcr2gqym367g8w5k1bm6mjm4smc62p4k0aczmjhypa5f9ddkfb";
name = "kdesignerplugin-5.5.0.tar.xz";
store = "/nix/store/3qlwbyrnbv48swhsknlj319md1z1sdxl-kdesignerplugin-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/kwallet-5.5.0.tar.xz";
sha256 = "1z2d5qv9722k27dwnj7ivpxa880jmaghh8vhfd9f1wld7lijwpgs";
name = "kwallet-5.5.0.tar.xz";
store = "/nix/store/a2n6x1kfs3qdixn7fsfy0f3rgf1bzb21-kwallet-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/kapidox-5.5.0.tar.xz";
sha256 = "055fx8xvksz86gqldxcfbacq5kvb0f7qswaqcnipfcabqkny8vh4";
name = "kapidox-5.5.0.tar.xz";
store = "/nix/store/m6mp3qg9i6jxgb25ivwcfg0c66y06aay-kapidox-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/threadweaver-5.5.0.tar.xz";
sha256 = "05j5m7fscppskc9jss2pm7zab3w0glfic685ccvvabllccsvhkn7";
name = "threadweaver-5.5.0.tar.xz";
store = "/nix/store/jwq6jvla6bypm1xhh7wv1lh7f2zmx8md-threadweaver-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/kcompletion-5.5.0.tar.xz";
sha256 = "1l2jaq5f1wjav2vfkfbrrlk4v79q5l3106ij2dyxr0q1m05jvh2v";
name = "kcompletion-5.5.0.tar.xz";
store = "/nix/store/pq6fv8xh0nr0q1ki1hyp4mpg58jldmps-kcompletion-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/kbookmarks-5.5.0.tar.xz";
sha256 = "022w3qddbgz4195nxs7kq0xs66qcagrp57jhpm2x23kp6l92g87s";
name = "kbookmarks-5.5.0.tar.xz";
store = "/nix/store/72fld6sj34xhjpg6v64dpn1g7lqpybin-kbookmarks-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/kinit-5.5.0.tar.xz";
sha256 = "1hw06jhm0bs3p878ij22k7lx9gzaqnd2260iihgg7glr45jxbspn";
name = "kinit-5.5.0.tar.xz";
store = "/nix/store/1p4h45a62xcvswk09qa00zs1kjl0f2mj-kinit-5.5.0.tar.xz";
}
{
url = "${mirror}/stable/frameworks/5.5/kjobwidgets-5.5.0.tar.xz";
sha256 = "0g849ggnwyw4w4lmdwv4mndgyc2kbdgavgf9hgwmqx0kr2anhi24";
name = "kjobwidgets-5.5.0.tar.xz";
store = "/nix/store/yfdc0p3mmk31plh50cpx89zfcm3jvx7y-kjobwidgets-5.5.0.tar.xz";
}
]

View file

@ -0,0 +1,15 @@
#!/bin/sh
if [ $# -eq 0 ]; then
# The extra slash at the end of the URL is necessary to stop wget
# from recursing over the whole server! (No, it's not a bug.)
$(nix-build ../../../.. -A autonix.manifest) \
http://download.kde.org/stable/frameworks/5.5/ \
-A '*.tar.xz'
else
$(nix-build ../../../.. -A autonix.manifest) -A '*.tar.xz' "$@"
fi

View file

@ -0,0 +1,13 @@
diff --git a/src/plasma/package.cpp b/src/plasma/package.cpp
index 07b3c90..84417e3 100644
--- a/src/plasma/package.cpp
+++ b/src/plasma/package.cpp
@@ -791,7 +791,7 @@ PackagePrivate::PackagePrivate()
servicePrefix("plasma-applet-"),
fallbackPackage(0),
metadata(0),
- externalPaths(false),
+ externalPaths(true),
valid(false),
checkedValid(false)
{

View file

@ -0,0 +1,66 @@
# DO NOT EDIT! This file is generated automatically.
{ }:
{
"Backend" = "plasma-framework";
"CTest" = "attica";
"ECM" = "extra-cmake-modules";
"KDED" = "kded";
"KF5Activities" = "kactivities";
"KF5Archive" = "karchive";
"KF5Attica" = "attica";
"KF5Auth" = "kauth";
"KF5Bookmarks" = "kbookmarks";
"KF5Codecs" = "kcodecs";
"KF5Completion" = "kcompletion";
"KF5Config" = "kconfig";
"KF5ConfigWidgets" = "kconfigwidgets";
"KF5CoreAddons" = "kcoreaddons";
"KF5Crash" = "kcrash";
"KF5DBusAddons" = "kdbusaddons";
"KF5DNSSD" = "kdnssd";
"KF5Declarative" = "kdeclarative";
"KF5DesignerPlugin" = "kdesignerplugin";
"KF5DocTools" = "kdoctools";
"KF5Emoticons" = "kemoticons";
"KF5FrameworkIntegration" = "frameworkintegration";
"KF5GlobalAccel" = "kglobalaccel";
"KF5GuiAddons" = "kguiaddons";
"KF5I18n" = "ki18n";
"KF5IconThemes" = "kiconthemes";
"KF5IdleTime" = "kidletime";
"KF5Init" = "kinit";
"KF5ItemModels" = "kitemmodels";
"KF5ItemViews" = "kitemviews";
"KF5JS" = "kjs";
"KF5JobWidgets" = "kjobwidgets";
"KF5JsEmbed" = "kjsembed";
"KF5KCMUtils" = "kcmutils";
"KF5KDE4Support" = "kdelibs4support";
"KF5KDELibs4Support" = "kdelibs4support";
"KF5KHtml" = "khtml";
"KF5KIO" = "kio";
"KF5Kross" = "kross";
"KF5MediaPlayer" = "kmediaplayer";
"KF5NewStuff" = "knewstuff";
"KF5Notifications" = "knotifications";
"KF5NotifyConfig" = "knotifyconfig";
"KF5Parts" = "kparts";
"KF5Plasma" = "plasma-framework";
"KF5PlasmaQuick" = "plasma-framework";
"KF5Plotting" = "kplotting";
"KF5Pty" = "kpty";
"KF5Runner" = "krunner";
"KF5Service" = "kservice";
"KF5Solid" = "solid";
"KF5Sonnet" = "sonnet";
"KF5Su" = "kdesu";
"KF5TextEditor" = "ktexteditor";
"KF5TextWidgets" = "ktextwidgets";
"KF5ThreadWeaver" = "threadweaver";
"KF5UnitConversion" = "kunitconversion";
"KF5Wallet" = "kwallet";
"KF5WebKit" = "kdewebkit";
"KF5WidgetsAddons" = "kwidgetsaddons";
"KF5WindowSystem" = "kwindowsystem";
"KF5XmlGui" = "kxmlgui";
}

View file

@ -0,0 +1 @@
addToSearchPath XDG_DATA_DIRS @out@/share

View file

@ -0,0 +1,23 @@
{ stdenv, fetchbzr, qt5, cmake }:
stdenv.mkDerivation {
name = "libdbusmenu-qt-0.9.3+14";
src = fetchbzr {
url = "http://bazaar.launchpad.net/~dbusmenu-team/libdbusmenu-qt/trunk";
rev = "ps-jenkins@lists.canonical.com-20140619090718-mppiiax5atpnb8i2";
sha256 = "1dbhaljyivbv3wc184zpjfjmn24zb6aj72wgg1gg1xl5f783issd";
};
buildInputs = [ qt5 ];
nativeBuildInputs = [ cmake ];
cmakeFlags = "-DWITH_DOC=OFF";
meta = with stdenv.lib; {
homepage = "http://launchpad.net/libdbusmenu-qt";
description = "Provides a Qt implementation of the DBusMenu spec";
maintainers = [ maintainers.ttuegel ];
inherit (qt5.meta) platforms;
};
}

View file

@ -0,0 +1,31 @@
{ stdenv, fetchurl, cmake, qt5, pkgconfig, phonon_qt5, gst_all_1 }:
let
version = "4.8.2";
pname = "phonon-backend-gstreamer";
in
stdenv.mkDerivation rec {
name = "${pname}-${version}";
src = fetchurl {
url = "mirror://kde/stable/phonon/${pname}/${version}/src/${name}.tar.xz";
sha256 = "1q1ix6zsfnh6gfnpmwp67s376m7g7ahpjl1qp2fqakzb5cgzgq10";
};
buildInputs = with gst_all_1; [ phonon_qt5 qt5 gstreamer gst-plugins-base ];
nativeBuildInputs = [ cmake pkgconfig ];
cmakeFlags = [
"-DCMAKE_INSTALL_LIBDIR=lib"
"-DPHONON_BUILD_PHONON4QT5=ON"
];
meta = with stdenv.lib; {
homepage = http://phonon.kde.org/;
description = "GStreamer backend for Phonon";
platforms = platforms.linux;
maintainer = with maintainers; [ ttuegel ];
};
}

View file

@ -0,0 +1,38 @@
{ stdenv, fetchurl, xz, vlc, cmake, pkgconfig, phonon_qt5, qt5 }:
with stdenv.lib;
let
pname = "phonon-backend-vlc";
v = "0.8.2";
# Force same Qt version in phonon and VLC
vlc_ = vlc.override {
inherit qt5;
qt4 = null;
withQt5 = true;
};
phonon_ = phonon.override { inherit qt4 qt5 withQt5; };
in
stdenv.mkDerivation {
name = "${pname}-${v}";
src = fetchurl {
url = "mirror://kde/stable/phonon/${pname}/${v}/src/${pname}-${v}.tar.xz";
sha256 = "18ysdga681my75lxxv5h242pa4qappvg5z73wnc0ks9yypnzidys";
};
nativeBuildInputs = [ cmake pkgconfig xz ];
buildInputs = [ vlc_ phonon_qt5 qt5];
cmakeFlags = ["-DPHONON_BUILD_PHONON4QT5=ON"];
meta = {
homepage = http://phonon.kde.org/;
description = "VideoLAN backend for Phonon multimedia framework";
platforms = platforms.linux;
maintainers = with maintainers; [ ttuegel urkud ];
license = licenses.lgpl21Plus;
};
}

View file

@ -0,0 +1,30 @@
{ stdenv, fetchurl, cmake, automoc4, pulseaudio, qt5 }:
with stdenv.lib;
let
v = "4.8.1";
in
stdenv.mkDerivation rec {
name = "phonon-${v}";
src = fetchurl {
url = "mirror://kde/stable/phonon/${v}/phonon-${v}.tar.xz";
sha256 = "1l97h1jj3gvl1chx1qbipizfvjgqc05wrhdcflc76c2krlk03jmn";
};
buildInputs = [ qt5 pulseaudio ];
nativeBuildInputs = [ cmake automoc4 ];
cmakeFlags = ["-DPHONON_BUILD_PHONON4QT5=ON"];
meta = {
homepage = http://phonon.kde.org/;
description = "Multimedia API for Qt";
license = stdenv.lib.licenses.lgpl2;
platforms = stdenv.lib.platforms.linux;
maintainers = with stdenv.lib.maintainers; [ ttuegel ];
};
}

View file

@ -1,6 +1,6 @@
{ stdenv, fetchurl, fetchpatch, pkgconfig, cmake, libiconvOrEmpty, libintlOrEmpty
, zlib, curl, cairo, freetype, fontconfig, lcms, libjpeg, openjpeg
, qt4Support ? false, qt4 ? null
, qt4Support ? false, qt4 ? null, qt5
}:
let
@ -71,4 +71,13 @@ let
'';
};
in { inherit poppler_glib poppler_qt4; } // poppler_glib
poppler_qt5 = poppler_drv "qt5" {
propagatedBuildInputs = [ qt5 poppler_glib ];
postConfigure = ''
mkdir -p "$out/lib/pkgconfig"
install -c -m 644 poppler-qt5.pc "$out/lib/pkgconfig"
cd qt5
'';
};
in { inherit poppler_glib poppler_qt4 poppler_qt5; } // poppler_glib

View file

@ -0,0 +1,24 @@
{ stdenv, fetchgit, gtk-engine-murrine }:
stdenv.mkDerivation {
name = "orion-1.5";
src = fetchgit {
url = "https://github.com/shimmerproject/Orion.git";
rev = "refs/tags/v1.5";
sha256 = "995671990514a68192dc82ed51eaa6ab17c396950e1d8b7768c262027be6b05f";
};
propagatedUserEnvPkgs = [ gtk-engine-murrine ];
phases = "$prePhases unpackPhase installPhase fixupPhase $postPhases";
installPhase = ''
mkdir -p $out/share/themes/orion
cp -r gtk-2.0 gtk-3.0 metacity-1 openbox-3 xfwm4 $out/share/themes/orion
'';
meta = {
homepage = https://github.com/shimmerproject/Orion;
license = stdenv.lib.licenses.gpl3Plus;
};
}

View file

@ -0,0 +1,25 @@
From 2059662f6bd5de59144d6825d93cb5783110cd97 Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@gmail.com>
Date: Sat, 24 Jan 2015 17:07:50 -0600
Subject: [PATCH] xdg-open: recognize KDE_SESSION_VERSION
---
scripts/xdg-open | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/xdg-open b/scripts/xdg-open
index b8db0aa..9fcf458 100755
--- a/scripts/xdg-open
+++ b/scripts/xdg-open
@@ -341,7 +341,7 @@ open_kde()
if kde-open -v 2>/dev/null 1>&2; then
kde-open "$1"
else
- if [ x"$KDE_SESSION_VERSION" = x"4" ]; then
+ if [ $KDE_SESSION_VERSION -gt 3 ]; then
kfmclient openURL "$1"
else
kfmclient exec "$1"
--
2.1.4

View file

@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
sha256 = "00lisw4x43sp189lb7dz46j2l09y5v2fijk3d0sxx3mvwj55a1bv";
};
patches = [ ./0001-xdg-open-recognize-KDE_SESSION_VERSION.patch ];
postInstall = ''
substituteInPlace $out/bin/xdg-mime --replace /usr/bin/file ${file}/bin/file
'';

View file

@ -251,6 +251,8 @@ let
theAttrSet = arg;
};
autonix = callPackage ../build-support/autonix {};
autoreconfHook = makeSetupHook
{ substitutions = { inherit autoconf automake libtool gettext; }; }
../build-support/setup-hooks/autoreconf.sh;
@ -4087,6 +4089,27 @@ let
inherit stdenv gcc binutils libc shell name cross;
});
/* Alternative GCC wrapper that uses the standard -I include flag instead of
* -isystem. The -isystem flag can change the search order specified by prior
* -I flags. For KDE 5 packages, we don't want to interfere with the include
* search path order specified by the build system. Some packages depend on
* Qt 4 and Qt 5 simultaneously; because the two Qt versions provide headers
* with the same filenames, we must respect the search order specified by the
* build system so that the Qt 4 components find the Qt 4 headers and the Qt 5
* components find the Qt 5 headers.
*/
wrapGCCStdInc = glibc: baseGCC: (import ../build-support/gcc-wrapper) {
nativeTools = stdenv.cc.nativeTools or false;
nativeLibc = stdenv.cc.nativeLibc or false;
nativePrefix = stdenv.cc.nativePrefix or "";
gcc = baseGCC;
libc = glibc;
inherit stdenv binutils coreutils zlib;
setupHook = ../build-support/gcc-wrapper/setup-hook-stdinc.sh;
};
gccStdInc = wrapGCCStdInc glibc gcc.gcc;
# prolog
yap = callPackage ../development/compilers/yap { };
@ -5786,6 +5809,12 @@ let
automake = automake111x;
};
kf55 = recurseIntoAttrs (callPackage ../development/libraries/kde-frameworks-5.5 {
stdenv = overrideGCC stdenv gccStdInc;
});
kf5_latest = kf55;
kf5_stable = kf55;
krb5 = callPackage ../development/libraries/kerberos/krb5.nix {
openldap = openldap.override {
cyrus_sasl = cyrus_sasl.override { kerberos = null; };
@ -5915,6 +5944,7 @@ let
};
libdbusmenu_qt = callPackage ../development/libraries/libdbusmenu-qt { };
libdbusmenu_qt5 = callPackage ../development/libraries/libdbusmenu-qt/qt5.nix {};
libdc1394 = callPackage ../development/libraries/libdc1394 { };
@ -6801,23 +6831,16 @@ let
pdf2xml = callPackage ../development/libraries/pdf2xml {} ;
phonon = callPackage ../development/libraries/phonon { inherit qt4; };
phonon = callPackage ../development/libraries/phonon/qt4 {};
phonon_qt5 = phonon.override {
withQt5 = true;
inherit qt5;
qt4 = null;
};
phonon_backend_gstreamer = callPackage ../development/libraries/phonon-backend-gstreamer/qt4 {};
phonon_backend_gstreamer = callPackage ../development/libraries/phonon-backend-gstreamer { };
phonon_backend_vlc = callPackage ../development/libraries/phonon-backend-vlc/qt4 {};
phonon_backend_vlc = callPackage ../development/libraries/phonon-backend-vlc { inherit qt4; };
phonon_qt5 = callPackage ../development/libraries/phonon/qt5 {};
phonon_qt5_backend_vlc = phonon_backend_vlc.override {
withQt5 = true;
inherit qt5;
qt4 = null;
};
phonon_qt5_backend_gstreamer = callPackage ../development/libraries/phonon-backend-gstreamer/qt5 {};
phonon_qt5_backend_vlc = callPackage ../development/libraries/phonon-backend-vlc/qt5 {};
physfs = callPackage ../development/libraries/physfs { };
@ -6850,6 +6873,7 @@ let
poppler = callPackage ../development/libraries/poppler { lcms = lcms2; };
popplerQt4 = poppler.poppler_qt4;
popplerQt5 = poppler.poppler_qt5;
popt = callPackage ../development/libraries/popt { };
@ -10350,6 +10374,12 @@ let
boost = boost155;
};
kdeApps_14_12 = recurseIntoAttrs (callPackage ../applications/kde-apps-14.12 {
stdenv = overrideGCC stdenv gccStdInc;
});
kdeApps_latest = kdeApps_14_12;
kdeApps_stable = kdeApps_14_12;
keepnote = callPackage ../applications/office/keepnote {
pygtk = pyGtkGlade;
};
@ -10892,6 +10922,17 @@ let
qtractor = callPackage ../applications/audio/qtractor { };
quassel_qt5 = callPackage ../applications/networking/irc/quassel {
monolithic = true;
daemon = false;
client = false;
withKDE = false;
useQt5 = true;
qt = qt5;
dconf = gnome3.dconf;
tag = "-qt5";
};
quirc = callPackage ../tools/graphics/quirc {};
quodlibet = callPackage ../applications/audio/quodlibet {
@ -12394,6 +12435,8 @@ let
geoclue = geoclue2;
};
orion = callPackage ../misc/themes/orion {};
oxygen-gtk2 = callPackage ../misc/themes/gtk2/oxygen-gtk { };
oxygen-gtk3 = callPackage ../misc/themes/gtk3/oxygen-gtk3 { };
@ -12410,6 +12453,14 @@ let
mate-themes = callPackage ../misc/themes/mate-themes { };
plasma51 = recurseIntoAttrs (callPackage ../desktops/plasma-5.1 {
stdenv = overrideGCC stdenv gccStdInc;
});
plasma5_latest = plasma51;
plasma5_stable = plasma51;
kde5 = kf55 // plasma51 // kdeApps_14_12;
xfce = xfce4_10;
xfce4_10 = recurseIntoAttrs (import ../desktops/xfce { inherit config pkgs newScope; });