Merge pull request #45376 from bkchr/kde_applications_18_08_0

kde-applications: 18.04.03 -> 18.08.0
This commit is contained in:
Thomas Tuegel 2018-08-25 08:49:20 -05:00 committed by GitHub
commit b55e3f6449
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 1035 additions and 999 deletions

View File

@ -1,23 +1,23 @@
{ mkDerivation, lib, fetchurl, cmake, gettext, pkgconfig, extra-cmake-modules
, qtquickcontrols, qtwebkit, qttools, kde-cli-tools
, qtquickcontrols, qtwebkit, qttools, kde-cli-tools, qtbase
, kconfig, kdeclarative, kdoctools, kiconthemes, ki18n, kitemmodels, kitemviews
, kjobwidgets, kcmutils, kio, knewstuff, knotifyconfig, kparts, ktexteditor
, threadweaver, kxmlgui, kwindowsystem, grantlee, kcrash, karchive, kguiaddons
, plasma-framework, krunner, kdevplatform, kdevelop-pg-qt, shared-mime-info
, libksysguard, konsole, llvmPackages, makeWrapper
, plasma-framework, krunner, kdevelop-pg-qt, shared-mime-info, libkomparediff2
, libksysguard, konsole, llvmPackages, makeWrapper, kpurpose, boost
}:
let
pname = "kdevelop";
version = "5.1.2";
version = "5.2.4";
qtVersion = "5.${lib.versions.minor qtbase.version}";
in
mkDerivation rec {
name = "${pname}-${version}";
src = fetchurl {
url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.xz";
sha256 = "af54e807847d145fe5f3eb55962ed0d22e6363c2bc6c32167e51ca4823c00ac7";
sha256 = "1jbks7nh9rybz4kg152l39hfj2x0p6mjins8x9mz03bbv8jf8gic";
};
nativeBuildInputs = [
@ -30,20 +30,22 @@ mkDerivation rec {
];
propagatedBuildInputs = [
qtquickcontrols qtwebkit
qtquickcontrols qtwebkit boost libkomparediff2
kconfig kdeclarative kdoctools kiconthemes ki18n kitemmodels kitemviews
kjobwidgets kcmutils kio knewstuff knotifyconfig kparts ktexteditor
threadweaver kxmlgui kwindowsystem grantlee plasma-framework krunner
kdevplatform shared-mime-info libksysguard konsole kcrash karchive kguiaddons
shared-mime-info libksysguard konsole kcrash karchive kguiaddons kpurpose
];
postInstall = ''
# The kdevelop! script (shell environment) needs qdbus and kioclient5 in PATH.
wrapProgram "$out/bin/kdevelop!" --prefix PATH ":" "${lib.makeBinPath [ qttools kde-cli-tools ]}"
wrapProgram "$out/bin/kdevelop!" \
--prefix PATH ":" "${lib.makeBinPath [ qttools kde-cli-tools ]}"
wrapProgram "$out/bin/kdevelop" \
--prefix QT_PLUGIN_PATH : $out/lib/qt-${qtVersion}/plugins
# Fix the (now wrapped) kdevelop! to find things in right places:
# - Make KDEV_BASEDIR point to bin directory of kdevplatform.
kdev_fixup_sed="s|^export KDEV_BASEDIR=.*$|export KDEV_BASEDIR=${kdevplatform}/bin|"
# - Fixup the one use where KDEV_BASEDIR is assumed to contain kdevelop.
kdev_fixup_sed+=";s|\\\$KDEV_BASEDIR/kdevelop|$out/bin/kdevelop|"
sed -E -i "$kdev_fixup_sed" "$out/bin/.kdevelop!-wrapped"

View File

@ -1,44 +0,0 @@
{ stdenv, fetchurl, cmake, gettext, pkgconfig, extra-cmake-modules
, boost, subversion, apr, aprutil, kwindowsystem
, qtscript, qtwebkit, grantlee, karchive, kconfig, kcoreaddons, kguiaddons, kiconthemes, ki18n
, kitemmodels, kitemviews, kio, kparts, sonnet, kcmutils, knewstuff, knotifications
, knotifyconfig, ktexteditor, threadweaver, kdeclarative, libkomparediff2 }:
let
pname = "kdevplatform";
version = "5.1.2";
in
stdenv.mkDerivation rec {
name = "${pname}-${version}";
src = fetchurl {
url = "mirror://kde/stable/kdevelop/${version}/src/${name}.tar.xz";
sha256 = "e622ddad552a678baaf1166d5cbdc5fd1192d2324300c52ef2d25f1c6778664a";
};
nativeBuildInputs = [ cmake gettext pkgconfig extra-cmake-modules ];
buildInputs = [
boost subversion apr aprutil kwindowsystem
qtscript qtwebkit grantlee karchive kconfig kcoreaddons kguiaddons kiconthemes
ki18n kitemmodels kitemviews kio kparts sonnet kcmutils knewstuff
knotifications knotifyconfig ktexteditor threadweaver kdeclarative
libkomparediff2
];
enableParallelBuilding = true;
meta = with stdenv.lib; {
maintainers = [ maintainers.ambrop72 ];
platforms = platforms.linux;
description = "KDE libraries for IDE-like programs";
longDescription = ''
A free, opensource set of libraries that can be used as a foundation for
IDE-like programs. It is programing-language independent, and is planned
to be used by programs like: KDevelop, Quanta, Kile, KTechLab ... etc."
'';
homepage = https://www.kdevelop.org;
license = with stdenv.lib.licenses; [ gpl2Plus lgpl2Plus ];
};
}

View File

@ -113,6 +113,7 @@ let
kidentitymanagement = callPackage ./kidentitymanagement.nix {};
kig = callPackage ./kig.nix {};
kimap = callPackage ./kimap.nix {};
kitinerary = callPackage ./kitinerary.nix {};
kio-extras = callPackage ./kio-extras.nix {};
kldap = callPackage ./kldap.nix {};
kleopatra = callPackage ./kleopatra.nix {};
@ -132,6 +133,7 @@ let
kpimtextedit = callPackage ./kpimtextedit.nix {};
ksmtp = callPackage ./ksmtp {};
kqtquickcharts = callPackage ./kqtquickcharts.nix {};
kpkpass = callPackage ./kpkpass.nix {};
krdc = callPackage ./krdc.nix {};
krfb = callPackage ./krfb.nix {};
kruler = callPackage ./kruler.nix {};

View File

@ -21,4 +21,8 @@ mkDerivation {
phonon solid
];
outputs = [ "out" "dev" ];
# We need the RPATH for linking, because the `libkdeinit5_dolphin.so` links
# private against its dependencies and without the correct RPATH, these
# dependencies are not found.
cmakeFlags = [ "-DCMAKE_SKIP_BUILD_RPATH=OFF" ];
}

View File

@ -1,7 +1,8 @@
{
mkDerivation, lib, kdepimTeam,
extra-cmake-modules, kdoctools,
akonadi, calendarsupport, kcalutils, kdiagram, libkdepim, qtbase, qttools,
akonadi, calendarsupport, kcalutils,
kdiagram, libkdepim, qtbase, qttools, kholidays
}:
mkDerivation {
@ -12,7 +13,8 @@ mkDerivation {
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
buildInputs = [
akonadi calendarsupport kcalutils kdiagram libkdepim qtbase qttools
akonadi calendarsupport kcalutils kdiagram
libkdepim qtbase qttools kholidays
];
outputs = [ "out" "dev" ];
}

View File

@ -1 +1 @@
WGET_ARGS=( https://download.kde.org/stable/applications/18.04.3/ -A '*.tar.xz' )
WGET_ARGS=( https://download.kde.org/stable/applications/18.08.0/ -A '*.tar.xz' )

View File

@ -1,82 +1,8 @@
Index: grantleetheme-17.04.0/src/grantleetheme_p.h
===================================================================
--- grantleetheme-17.04.0.orig/src/grantleetheme_p.h
+++ grantleetheme-17.04.0/src/grantleetheme_p.h
@@ -47,7 +47,7 @@ public:
QString description;
QString name;
QString dirName;
- QString absolutePath;
+ QStringList absolutePaths;
QString author;
QString email;
Index: grantleetheme-17.04.0/src/grantleetheme.h
===================================================================
--- grantleetheme-17.04.0.orig/src/grantleetheme.h
+++ grantleetheme-17.04.0/src/grantleetheme.h
@@ -50,11 +50,14 @@ public:
QStringList displayExtraVariables() const;
QString dirName() const;
QString absolutePath() const;
+ QStringList absolutePaths() const;
QString author() const;
QString authorEmail() const;
QString render(const QString &templateName, const QVariantHash &data, const QByteArray &applicationDomain = QByteArray());
+ void addThemeDir(const QString&);
+
static void addPluginPath(const QString &path);
private:
Index: grantleetheme-17.04.0/src/grantleethememanager.cpp
===================================================================
--- grantleetheme-17.04.0.orig/src/grantleethememanager.cpp
+++ grantleetheme-17.04.0/src/grantleethememanager.cpp
@@ -142,25 +142,18 @@ public:
for (const QString &directory : qAsConst(themesDirectories)) {
QDirIterator dirIt(directory, QStringList(), QDir::AllDirs | QDir::NoDotAndDotDot);
- QStringList alreadyLoadedThemeName;
while (dirIt.hasNext()) {
dirIt.next();
const QString dirName = dirIt.fileName();
GrantleeTheme::Theme theme = q->loadTheme(dirIt.filePath(), dirName, defaultDesktopFileName);
if (theme.isValid()) {
QString themeName = theme.name();
- if (alreadyLoadedThemeName.contains(themeName)) {
- int i = 2;
- const QString originalName(theme.name());
- while (alreadyLoadedThemeName.contains(themeName)) {
- themeName = originalName + QStringLiteral(" (%1)").arg(i);
- ++i;
- }
- theme.d->name = themeName;
+ QMap<QString, GrantleeTheme::Theme>::iterator i = themes.find(dirName);
+ if (i != themes.end()) {
+ i.value().addThemeDir(dirIt.filePath());
+ } else {
+ themes.insert(dirName, theme);
}
- alreadyLoadedThemeName << themeName;
- themes.insert(dirName, theme);
- //qDebug()<<" theme.name()"<<theme.name();
}
}
watch->addDir(directory);
@@ -374,7 +367,7 @@ QString ThemeManager::pathFromThemes(con
GrantleeTheme::Theme theme = loadTheme(dirIt.filePath(), dirName, defaultDesktopFileName);
if (theme.isValid()) {
if (dirName == themeName) {
- return theme.absolutePath();
+ return theme.absolutePaths().first();
}
}
}
--- src/grantleetheme.cpp.orig 2017-12-22 16:11:39.863598126 +0300
+++ ./src/grantleetheme.cpp 2017-12-22 16:16:14.045664607 +0300
@@ -46,7 +46,7 @@ ThemePrivate::ThemePrivate(const ThemePr
diff --git a/src/grantleetheme.cpp b/src/grantleetheme.cpp
index 27d5bc8..8d43140 100644
--- a/src/grantleetheme.cpp
+++ b/src/grantleetheme.cpp
@@ -46,7 +46,7 @@ ThemePrivate::ThemePrivate(const ThemePrivate &other)
, description(other.description)
, name(other.name)
, dirName(other.dirName)
@ -105,7 +31,7 @@ Index: grantleetheme-17.04.0/src/grantleethememanager.cpp
loader->setTheme(dirName);
if (!sEngine) {
@@ -121,7 +124,7 @@ Theme::Theme(const QString &themePath, c
@@ -121,7 +124,7 @@ Theme::Theme(const QString &themePath, const QString &dirName, const QString &de
KConfigGroup group(&config, QStringLiteral("Desktop Entry"));
if (group.isValid()) {
d->dirName = dirName;
@ -137,7 +63,7 @@ Index: grantleetheme-17.04.0/src/grantleethememanager.cpp
}
QString Theme::author() const
@@ -223,6 +231,13 @@ QString Theme::render(const QString &tem
@@ -223,6 +231,13 @@ QString Theme::render(const QString &templateName, const QVariantHash &data, con
return result;
}
@ -151,3 +77,79 @@ Index: grantleetheme-17.04.0/src/grantleethememanager.cpp
void Theme::addPluginPath(const QString &path)
{
if (!ThemePrivate::sEngine) {
diff --git a/src/grantleetheme.h b/src/grantleetheme.h
index a25c27b..be38299 100644
--- a/src/grantleetheme.h
+++ b/src/grantleetheme.h
@@ -48,11 +48,14 @@ public:
Q_REQUIRED_RESULT QStringList displayExtraVariables() const;
Q_REQUIRED_RESULT QString dirName() const;
Q_REQUIRED_RESULT QString absolutePath() const;
+ Q_REQUIRED_RESULT QStringList absolutePaths() const;
Q_REQUIRED_RESULT QString author() const;
Q_REQUIRED_RESULT QString authorEmail() const;
Q_REQUIRED_RESULT QString render(const QString &templateName, const QVariantHash &data, const QByteArray &applicationDomain = QByteArray());
+ void addThemeDir(const QString&);
+
static void addPluginPath(const QString &path);
private:
diff --git a/src/grantleetheme_p.h b/src/grantleetheme_p.h
index eb73dcb..00510e9 100644
--- a/src/grantleetheme_p.h
+++ b/src/grantleetheme_p.h
@@ -43,7 +43,7 @@ public:
QString description;
QString name;
QString dirName;
- QString absolutePath;
+ QStringList absolutePaths;
QString author;
QString email;
diff --git a/src/grantleethememanager.cpp b/src/grantleethememanager.cpp
index 606d717..dc99041 100644
--- a/src/grantleethememanager.cpp
+++ b/src/grantleethememanager.cpp
@@ -125,25 +125,18 @@ public:
for (const QString &directory : qAsConst(themesDirectories)) {
QDirIterator dirIt(directory, QStringList(), QDir::AllDirs | QDir::NoDotAndDotDot);
- QStringList alreadyLoadedThemeName;
while (dirIt.hasNext()) {
dirIt.next();
const QString dirName = dirIt.fileName();
GrantleeTheme::Theme theme = q->loadTheme(dirIt.filePath(), dirName, defaultDesktopFileName);
if (theme.isValid()) {
QString themeName = theme.name();
- if (alreadyLoadedThemeName.contains(themeName)) {
- int i = 2;
- const QString originalName(theme.name());
- while (alreadyLoadedThemeName.contains(themeName)) {
- themeName = originalName + QStringLiteral(" (%1)").arg(i);
- ++i;
- }
- theme.d->name = themeName;
+ QMap<QString, GrantleeTheme::Theme>::iterator i = themes.find(dirName);
+ if (i != themes.end()) {
+ i.value().addThemeDir(dirIt.filePath());
+ } else {
+ themes.insert(dirName, theme);
}
- alreadyLoadedThemeName << themeName;
- themes.insert(dirName, theme);
- //qDebug()<<" theme.name()"<<theme.name();
}
}
watch->addDir(directory);
@@ -366,7 +359,7 @@ QString ThemeManager::pathFromThemes(const QString &themesRelativePath, const QS
GrantleeTheme::Theme theme = loadTheme(dirIt.filePath(), dirName, defaultDesktopFileName);
if (theme.isValid()) {
if (dirName == themeName) {
- return theme.absolutePath();
+ return theme.absolutePaths().first();
}
}
}

View File

@ -4,7 +4,8 @@
akonadi-import-wizard, akonadi-notes, calendarsupport, eventviews,
incidenceeditor, kcalcore, kcalutils, kconfig, kdbusaddons, kdeclarative,
kdepim-apps-libs, kholidays, ki18n, kmime, ktexteditor, ktnef, libgravatar,
libksieve, mailcommon, mailimporter, messagelib, poppler, prison
libksieve, mailcommon, mailimporter, messagelib, poppler, prison, kpkpass,
kitinerary
}:
mkDerivation {
@ -18,6 +19,7 @@ mkDerivation {
akonadi-import-wizard akonadi-notes calendarsupport eventviews
incidenceeditor kcalcore kcalutils kconfig kdbusaddons kdeclarative
kdepim-apps-libs kholidays ki18n kmime ktexteditor ktnef libgravatar
libksieve mailcommon mailimporter messagelib poppler prison
libksieve mailcommon mailimporter messagelib poppler prison kpkpass
kitinerary
];
}

View File

@ -0,0 +1,19 @@
{
mkDerivation, lib, extra-cmake-modules
, qtbase, qtdeclarative, ki18n, kmime, kpkpass
, poppler, kcontacts, kcalcore
}:
mkDerivation {
name = "kitinerary";
meta = {
license = with lib.licenses; [ lgpl21 ];
maintainers = [ lib.maintainers.bkchr ];
};
nativeBuildInputs = [ extra-cmake-modules ];
buildInputs = [
qtbase qtdeclarative ki18n kmime kpkpass poppler
kcontacts kcalcore
];
outputs = [ "out" "dev" ];
}

View File

@ -2,7 +2,7 @@
mkDerivation, lib, kdepimTeam,
extra-cmake-modules, kdoctools,
boost, gpgme, kcmutils, kdbusaddons, kiconthemes, kitemmodels, kmime,
knotifications, kwindowsystem, kxmlgui, libkleo
knotifications, kwindowsystem, kxmlgui, libkleo, kcrash
}:
mkDerivation {
@ -14,6 +14,6 @@ mkDerivation {
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
buildInputs = [
boost gpgme kcmutils kdbusaddons kiconthemes kitemmodels kmime
knotifications kwindowsystem kxmlgui libkleo
knotifications kwindowsystem kxmlgui libkleo kcrash
];
}

View File

@ -1,7 +1,9 @@
{
mkDerivation, lib, kdepimTeam,
extra-cmake-modules, kdoctools,
akonadi, akonadi-mime, cyrus_sasl, kcmutils, ki18n, kio, kmime, kwallet, ksmtp
akonadi, akonadi-mime, cyrus_sasl, kcmutils,
ki18n, kio, kmime, kwallet, ksmtp, libkgapi,
kcalcore, kcontacts
}:
mkDerivation {
@ -11,7 +13,7 @@ mkDerivation {
maintainers = kdepimTeam;
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
buildInputs = [ akonadi kcmutils ki18n kio ksmtp ];
buildInputs = [ akonadi kcmutils ki18n kio ksmtp libkgapi kcalcore kcontacts ];
propagatedBuildInputs = [ akonadi-mime cyrus_sasl kmime kwallet ];
outputs = [ "out" "dev" ];
}

View File

@ -0,0 +1,15 @@
{
mkDerivation, lib, extra-cmake-modules
, qtbase, karchive, shared-mime-info
}:
mkDerivation {
name = "kpkpass";
meta = {
license = with lib.licenses; [ lgpl21 ];
maintainers = [ lib.maintainers.bkchr ];
};
nativeBuildInputs = [ extra-cmake-modules shared-mime-info ];
buildInputs = [ qtbase karchive ];
outputs = [ "out" "dev" ];
}

View File

@ -1,7 +1,8 @@
{
mkDerivation, lib, kdepimTeam,
extra-cmake-modules, kdoctools,
qtwebengine, kio, kcalcore, kcontacts
qtwebengine, kio, kcalcore, kcontacts,
cyrus_sasl
}:
mkDerivation {
@ -11,5 +12,5 @@ mkDerivation {
maintainers = kdepimTeam;
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
buildInputs = [ qtwebengine kio kcalcore kcontacts ];
buildInputs = [ qtwebengine kio kcalcore kcontacts cyrus_sasl ];
}

File diff suppressed because it is too large Load Diff

View File

@ -173,6 +173,7 @@ let
kxmlgui = callPackage ./kxmlgui.nix {};
kxmlrpcclient = callPackage ./kxmlrpcclient.nix {};
plasma-framework = callPackage ./plasma-framework.nix {};
kpurpose = callPackage ./purpose.nix {};
# TIER 4
frameworkintegration = callPackage ./frameworkintegration.nix {};

View File

@ -0,0 +1,14 @@
{
mkDerivation, lib, extra-cmake-modules, qtbase
, qtdeclarative, kconfig, kcoreaddons, ki18n, kio
}:
mkDerivation {
name = "purpose";
meta = { maintainers = [ lib.maintainers.bkchr ]; };
nativeBuildInputs = [ extra-cmake-modules ];
buildInputs = [
qtbase qtdeclarative kconfig kcoreaddons
ki18n kio
];
}

View File

@ -11645,7 +11645,7 @@ with pkgs;
kservice ktexteditor ktextwidgets kunitconversion kwallet kwayland
kwidgetsaddons kwindowsystem kxmlgui kxmlrpcclient modemmanager-qt
networkmanager-qt plasma-framework prison solid sonnet syntax-highlighting
threadweaver kirigami2 kholidays;
threadweaver kirigami2 kholidays kpurpose;
### KDE PLASMA 5
@ -17065,7 +17065,7 @@ with pkgs;
inherit (kdeApplications)
akonadi akregator ark dolphin dragon ffmpegthumbs filelight gwenview k3b
kaddressbook kate kcachegrind kcalc kcolorchooser kcontacts kdenlive kdf kdialog keditbookmarks
kget kgpg khelpcenter kig kleopatra kmail kmix kolourpaint kompare konsole
kget kgpg khelpcenter kig kleopatra kmail kmix kolourpaint kompare konsole kpkpass kitinerary
kontact korganizer krdc krfb ksystemlog kwalletmanager marble minuet okular spectacle;
okteta = libsForQt5.callPackage ../applications/editors/okteta { };
@ -17082,8 +17082,6 @@ with pkgs;
llvmPackages = llvmPackages_38;
};
kdevplatform = libsForQt5.callPackage ../applications/editors/kdevelop5/kdevplatform.nix { };
keepnote = callPackage ../applications/office/keepnote { };
kega-fusion = pkgsi686Linux.callPackage ../misc/emulators/kega-fusion { };