Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

kio-gdrive: init at version 1.2.7 #70754

Closed
wants to merge 12 commits into from
6 changes: 6 additions & 0 deletions maintainers/maintainer-list.nix
Expand Up @@ -4074,6 +4074,12 @@
githubId = 15692230;
name = "Muhammad Herdiansyah";
};
konstantsky = {
email = "konstantin@konstantsky.pw";
github = "konstantinous";
githubId = 4301666;
name = "Konstantin Khokhlov";
};
koral = {
email = "koral@mailoo.org";
github = "k0ral";
Expand Down
23 changes: 23 additions & 0 deletions nixos/modules/services/x11/desktop-managers/plasma5.nix
Expand Up @@ -158,6 +158,8 @@ in
example = "vlc";
description = "Phonon audio backend to install.";
};

enableOnlineAccounts = mkEnableOption "Enable integration with online services";
};

};
Expand Down Expand Up @@ -340,6 +342,27 @@ in
# Update the start menu for each user that is currently logged in
system.userActivationScripts.plasmaSetup = activationScript;
})

# Online acoounts integration
(mkIf cfg.enableOnlineAccounts {
environment.variables.SSO_PLUGINS_DIR = ["/run/current-system/sw/lib/signon"];
environment.variables.SSO_EXTENSIONS_DIR = ["/run/current-system/sw/lib/signon/extensions"];
environment.systemPackages = [
libsForQt5.signond
libsForQt5.signon-ui
libsForQt5.signon-plugin-oauth2
kdeApplications.ktp-accounts-kcm
kdeApplications.kaccounts-providers
kdeApplications.kaccounts-integration
kdeApplications.signon-kwallet-extension
libsForQt5.accounts-qml-module
pkgs.kio-gdrive
pkgs.telepathy-mission-control
pkgs.telepathy-haze
pkgs.telepathy-gabble
pkgs.telepathy-idle
];
})
];

}
4 changes: 4 additions & 0 deletions pkgs/applications/kde/default.nix
Expand Up @@ -87,6 +87,8 @@ let
incidenceeditor = callPackage ./incidenceeditor.nix {};
k3b = callPackage ./k3b.nix {};
kaddressbook = callPackage ./kaddressbook.nix {};
kaccounts-providers = callPackage ./kaccounts-providers.nix {};
kaccounts-integration = callPackage ./kaccounts-integration.nix {};
kalarm = callPackage ./kalarm.nix {};
kalarmcal = callPackage ./kalarmcal.nix {};
kate = callPackage ./kate.nix {};
Expand Down Expand Up @@ -142,6 +144,7 @@ let
kpat = callPackage ./kpat.nix {};
kpimtextedit = callPackage ./kpimtextedit.nix {};
ksmtp = callPackage ./ksmtp {};
ktp-accounts-kcm = callPackage ./ktp-accounts-kcm.nix {};
kqtquickcharts = callPackage ./kqtquickcharts.nix {};
kpkpass = callPackage ./kpkpass.nix {};
krdc = callPackage ./krdc.nix {};
Expand Down Expand Up @@ -178,6 +181,7 @@ let
pim-sieve-editor = callPackage ./pim-sieve-editor.nix {};
print-manager = callPackage ./print-manager.nix {};
rocs = callPackage ./rocs.nix {};
signon-kwallet-extension = callPackage ./signon-kwallet-extension.nix {};
spectacle = callPackage ./spectacle.nix {};
yakuake = callPackage ./yakuake.nix {};
# Okteta was removed from kde applications and will now be released independently
Expand Down
47 changes: 47 additions & 0 deletions pkgs/applications/kde/kaccounts-integration.nix
@@ -0,0 +1,47 @@
{
mkDerivation,
stdenv,
extra-cmake-modules,
kcmutils,
kdoctools,
libaccounts-glib,
accounts-qt,
signond,
signon-plugin-oauth2,
signon-ui,
accounts-qml-module
}:

mkDerivation {

name = "kaccounts-integration";

nativeBuildInputs = [
extra-cmake-modules
kdoctools
];

buildInputs = [
kcmutils
libaccounts-glib
accounts-qt
signond
signon-plugin-oauth2
signon-ui
accounts-qml-module
];

meta = with stdenv.lib; {
description = "Small system to administer web accounts for the sites and services across the KDE desktop";
homepage = https://github.com/KDE/kaccounts-integration;
platforms = platforms.linux;

license = with licenses; [
gpl2
lgpl2.1
konstantinous marked this conversation as resolved.
Show resolved Hide resolved
];

maintainers = [ maintainers.konstantsky ];
};

}
53 changes: 53 additions & 0 deletions pkgs/applications/kde/kaccounts-providers.nix
@@ -0,0 +1,53 @@
{
mkDerivation,
stdenv,
extra-cmake-modules,
kaccounts-integration,
intltool,
accounts-qt,
signond,
signon-plugin-oauth2,
libaccounts-glib,
kconfigwidgets,
kiconthemes,
kdeclarative,
qtdeclarative,
kdoctools,
kio
}:

mkDerivation {

name = "kaccounts-providers";

nativeBuildInputs = [
extra-cmake-modules
intltool
];

buildInputs = [
kaccounts-integration
accounts-qt
signond
signon-plugin-oauth2
libaccounts-glib
kconfigwidgets
kiconthemes
qtdeclarative
kdoctools
kio
kdeclarative
];

meta = with stdenv.lib; {
description = "KDE providers for integration with online services and sites";
homepage = https://github.com/KDE/kaccounts-providers;
platforms = platforms.linux;

license = with licenses; [
gpl2
];
maintainers = [ maintainers.konstantsky ];
};

}
50 changes: 50 additions & 0 deletions pkgs/applications/kde/ktp-accounts-kcm.nix
@@ -0,0 +1,50 @@
{
mkDerivation,
stdenv,
extra-cmake-modules,
kcmutils,
kdoctools,
kaccounts-integration,
kaccounts-providers,
accounts-qt,
signond,
signon-plugin-oauth2,
libaccounts-glib,
intltool,
telepathy
}:

mkDerivation {

name = "ktp-accounts-kcm";

nativeBuildInputs = [
extra-cmake-modules
];

buildInputs = [
kdoctools
kcmutils
telepathy
kaccounts-integration
kaccounts-providers
accounts-qt
signond
signon-plugin-oauth2
libaccounts-glib
intltool
];

meta = with stdenv.lib; {
description = "KDE providers for integration with online services and sites.";
homepage = https://github.com/KDE/kaccounts-providers;
platforms = platforms.linux;

license = with licenses; [
gpl2
];

maintainers = [ maintainers.konstantsky ];
};

}
47 changes: 47 additions & 0 deletions pkgs/applications/kde/signon-kwallet-extension.nix
@@ -0,0 +1,47 @@
{
stdenv,
mkDerivation,
extra-cmake-modules,
symlinkJoin,
kwallet,
signond
}:

mkDerivation rec {

name = "signon-kwallet-extension";

preConfigure = ''
# mock signond plugins dir
substituteInPlace cmake/modules/FindSignOnExtension.cmake --replace \
'set(SIGNONEXTENSION_PLUGINDIR ''${_pkgconfig_invoke_result})' \
'set(SIGNONEXTENSION_PLUGINDIR lib/signon/extensions)'
'';

nativeBuildInputs = [
extra-cmake-modules
];

buildInputs = [
kwallet
signond
];

extension = symlinkJoin {
name = "kwallet-extension";
paths = [ signond ];
};

meta = with stdenv.lib; {
description = "KWallet integration for signon framework";
homepage = https://github.com/KDE/signon-kwallet-extension;
platforms = platforms.linux;

license = with licenses; [
gpl2
];

maintainers = [ maintainers.konstantsky ];
};

}
69 changes: 69 additions & 0 deletions pkgs/applications/misc/kio-gdrive/default.nix
@@ -0,0 +1,69 @@
{
mkDerivation,
stdenv,
fetchurl,
extra-cmake-modules,
kdoctools,
shared-mime-info,
libkgapi,
accounts-qt,
kaccounts-integration,
kaccounts-providers,
intltool,
kcontacts,
kio,
kcalendarcore,
qtkeychain,
signon-ui,
signond,
libaccounts-glib,
libsecret
}:

stdenv.mkDerivation rec {

name = "kio-gdrive";

version = "1.2.7";
src = fetchurl {
url = "mirror://kde/stable/kio-gdrive/${version}/src/kio-gdrive-${version}.tar.xz";
sha256 = "1b59e4d9940deb290cc4d7441d4ae8762ccb1de8d14dbd0bdbd3bc9a5fc266a4";
name = "kio-gdrive-${version}.tar.xz";
};

nativeBuildInputs = [
extra-cmake-modules
kdoctools
shared-mime-info
libsecret
libaccounts-glib
];

buildInputs = [
libkgapi
kaccounts-integration
kaccounts-providers
accounts-qt
intltool
kcontacts
qtkeychain
kio
signon-ui
signond
kcalendarcore
];

meta = with stdenv.lib; {
description = "A KIO slave that enables KIO-aware applications to access and edit Google Drive files on the cloud";
homepage = https://community.kde.org/KIO_GDrive;
platforms = platforms.linux;

license = with licenses; [
gpl2
gpl3
];

maintainers = [ maintainers.konstantsky ];
};

}
40 changes: 40 additions & 0 deletions pkgs/development/libraries/accounts-qml-module/default.nix
@@ -0,0 +1,40 @@
{ stdenv, mkDerivation, fetchFromGitLab, pkgconfig, qmake, accounts-qt, qttools, signond, qtdeclarative, qtbase }:

mkDerivation rec {
pname = "accounts-qml-module";
version = "0.7";

src = fetchFromGitLab {
sha256 = "0m9zvhx5vkbixxlqy8fszgbkx6cvxa82cfxz23x068ikl33hm941";
rev = "VERSION_${version}";
repo = "accounts-qml-module";
owner = "accounts-sso";
};

buildInputs = [ accounts-qt qtdeclarative qttools signond qtbase ];
nativeBuildInputs = [ pkgconfig qmake ];

qmakeFlags = [
"CONFIG+=no_docs"
];

preConfigure = ''
export QT_PLUGIN_PATH="${qtbase.bin}/${qtbase.qtPluginPrefix}"
substituteInPlace common-project-config.pri --replace '-Werror' ' '
substituteInPlace accounts-qml-module.pro --replace 'tests' ' '
'';

installPhase = ''
mkdir -p $out/${qtbase.qtQmlPrefix}
mv src/Ubuntu $out/${qtbase.qtQmlPrefix}
'';


meta = with stdenv.lib; {
description = "This QML module provides an API to manage the user's online accounts and get their authentication data.";
homepage = https://gitlab.com/accounts-sso;
license = licenses.lgpl21;
platforms = with platforms; linux;
maintainers = [ maintainers.konstantsky ];
};
}