summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--nixos/modules/services/x11/desktop-managers/kde5.nix2
-rw-r--r--pkgs/applications/kde-apps-15.12/default.nix2
-rw-r--r--pkgs/applications/kde-apps-15.12/kdenetwork-filesharing.nix29
-rw-r--r--pkgs/applications/kde-apps-15.12/kio-extras.nix58
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.17/default.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.17/kio/default.nix (renamed from pkgs/development/libraries/kde-frameworks-5.17/kio.nix)4
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.17/kio/samba-search-path.patch28
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.17/kio/series1
-rw-r--r--pkgs/development/libraries/openslp/default.nix19
-rw-r--r--pkgs/top-level/all-packages.nix2
10 files changed, 145 insertions, 2 deletions
diff --git a/nixos/modules/services/x11/desktop-managers/kde5.nix b/nixos/modules/services/x11/desktop-managers/kde5.nix
index 2aeb4f67d771..e8c768e41fad 100644
--- a/nixos/modules/services/x11/desktop-managers/kde5.nix
+++ b/nixos/modules/services/x11/desktop-managers/kde5.nix
@@ -102,6 +102,7 @@ in
         kde5.gwenview
         kde5.kate
         kde5.kdegraphics-thumbnailers
+        kde5.kio-extras
         kde5.konsole
         kde5.okular
         kde5.print-manager
@@ -125,6 +126,7 @@ in
       ++ lib.optional config.networking.networkmanager.enable kde5.plasma-nm
       ++ lib.optional config.hardware.pulseaudio.enable kde5.plasma-pa
       ++ lib.optional config.powerManagement.enable kde5.powerdevil
+      ++ lib.optionals config.services.samba.enable [ kde5.kdenetwork-filesharing pkgs.samba ]
 
       ++ lib.optionals cfg.phonon.gstreamer.enable
         [
diff --git a/pkgs/applications/kde-apps-15.12/default.nix b/pkgs/applications/kde-apps-15.12/default.nix
index e96c0c2af331..15982cb5d64c 100644
--- a/pkgs/applications/kde-apps-15.12/default.nix
+++ b/pkgs/applications/kde-apps-15.12/default.nix
@@ -39,7 +39,9 @@ let
     gwenview = callPackage ./gwenview.nix {};
     kate = callPackage ./kate.nix {};
     kdegraphics-thumbnailers = callPackage ./kdegraphics-thumbnailers.nix {};
+    kdenetwork-filesharing = callPackage ./kdenetwork-filesharing.nix {};
     kgpg = callPackage ./kgpg.nix { inherit (pkgs.kde4) kdepimlibs; };
+    kio-extras = callPackage ./kio-extras.nix {};
     konsole = callPackage ./konsole.nix {};
     libkdcraw = callPackage ./libkdcraw.nix {};
     libkexiv2 = callPackage ./libkexiv2.nix {};
diff --git a/pkgs/applications/kde-apps-15.12/kdenetwork-filesharing.nix b/pkgs/applications/kde-apps-15.12/kdenetwork-filesharing.nix
new file mode 100644
index 000000000000..4e99a43b3913
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.12/kdenetwork-filesharing.nix
@@ -0,0 +1,29 @@
+{ kdeApp
+, lib
+, extra-cmake-modules
+, kdoctools
+, kcoreaddons
+, ki18n
+, kio
+, kwidgetsaddons
+, samba
+}:
+
+kdeApp {
+  name = "kdenetwork-filesharing";
+  nativeBuildInputs = [
+    extra-cmake-modules
+    kdoctools
+  ];
+  buildInputs = [
+    kcoreaddons
+    ki18n
+    kio
+    kwidgetsaddons
+    samba
+  ];
+  meta = {
+    license = [ lib.licenses.gpl2 lib.licenses.lgpl21 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/applications/kde-apps-15.12/kio-extras.nix b/pkgs/applications/kde-apps-15.12/kio-extras.nix
new file mode 100644
index 000000000000..77b42f1fc586
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.12/kio-extras.nix
@@ -0,0 +1,58 @@
+{ kdeApp, lib
+, extra-cmake-modules, kdoctools
+, shared_mime_info
+, exiv2
+, karchive
+, kbookmarks
+, kconfig, kconfigwidgets
+, kcoreaddons, kdbusaddons, kguiaddons
+, kdnssd
+, kiconthemes
+, ki18n
+, kio
+, khtml
+, kdelibs4support
+, kpty
+, libmtp
+, libssh
+, openexr
+, openslp
+, phonon
+, qtsvg
+, samba
+, solid
+}:
+
+kdeApp {
+  name = "kio-extras";
+  nativeBuildInputs = [
+    extra-cmake-modules kdoctools
+    shared_mime_info
+  ];
+  buildInputs = [
+    exiv2
+    karchive
+    kbookmarks
+    kconfig kconfigwidgets
+    kcoreaddons kdbusaddons kguiaddons
+    kdnssd
+    kiconthemes
+    ki18n
+    kio
+    khtml
+    kdelibs4support
+    kpty
+    libmtp
+    libssh
+    openexr
+    openslp
+    phonon
+    qtsvg
+    samba
+    solid
+  ];
+  meta = {
+    license = with lib.licenses; [ gpl2 lgpl21 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.17/default.nix b/pkgs/development/libraries/kde-frameworks-5.17/default.nix
index 828faaa631f6..f41aebcb59d3 100644
--- a/pkgs/development/libraries/kde-frameworks-5.17/default.nix
+++ b/pkgs/development/libraries/kde-frameworks-5.17/default.nix
@@ -74,7 +74,7 @@ let
     kidletime = callPackage ./kidletime.nix {};
     kimageformats = callPackage ./kimageformats.nix {};
     kinit = callPackage ./kinit {};
-    kio = callPackage ./kio.nix {};
+    kio = callPackage ./kio {};
     kitemmodels = callPackage ./kitemmodels.nix {};
     kitemviews = callPackage ./kitemviews.nix {};
     kjobwidgets = callPackage ./kjobwidgets.nix {};
diff --git a/pkgs/development/libraries/kde-frameworks-5.17/kio.nix b/pkgs/development/libraries/kde-frameworks-5.17/kio/default.nix
index 199565e24185..a2131ff33850 100644
--- a/pkgs/development/libraries/kde-frameworks-5.17/kio.nix
+++ b/pkgs/development/libraries/kde-frameworks-5.17/kio/default.nix
@@ -1,4 +1,5 @@
-{ kdeFramework, lib, extra-cmake-modules, acl, karchive
+{ kdeFramework, lib, copyPathsToStore
+, extra-cmake-modules, acl, karchive
 , kbookmarks, kcompletion, kconfig, kconfigwidgets, kcoreaddons
 , kdbusaddons, kdoctools, ki18n, kiconthemes, kitemviews
 , kjobwidgets, knotifications, kservice, ktextwidgets, kwallet
@@ -8,6 +9,7 @@
 
 kdeFramework {
   name = "kio";
+  patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
   nativeBuildInputs = [ extra-cmake-modules kdoctools makeQtWrapper ];
   buildInputs = [
     acl karchive kconfig kcoreaddons kdbusaddons kiconthemes
diff --git a/pkgs/development/libraries/kde-frameworks-5.17/kio/samba-search-path.patch b/pkgs/development/libraries/kde-frameworks-5.17/kio/samba-search-path.patch
new file mode 100644
index 000000000000..c9ad46b41bb7
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.17/kio/samba-search-path.patch
@@ -0,0 +1,28 @@
+Index: kio-5.17.0/src/core/ksambashare.cpp
+===================================================================
+--- kio-5.17.0.orig/src/core/ksambashare.cpp
++++ kio-5.17.0/src/core/ksambashare.cpp
+@@ -67,13 +67,18 @@ KSambaSharePrivate::~KSambaSharePrivate(
+ 
+ bool KSambaSharePrivate::isSambaInstalled()
+ {
+-    if (QFile::exists(QStringLiteral("/usr/sbin/smbd"))
+-            || QFile::exists(QStringLiteral("/usr/local/sbin/smbd"))) {
+-        return true;
++    const QByteArray pathEnv = qgetenv("PATH");
++    if (!pathEnv.isEmpty()) {
++        QLatin1Char pathSep(':');
++        QStringList paths = QFile::decodeName(pathEnv).split(pathSep, QString::SkipEmptyParts);
++        for (QStringList::iterator it = paths.begin(); it != paths.end(); ++it) {
++            it->append("/smbd");
++            if (QFile::exists(*it)) {
++                return true;
++            }
++        }
+     }
+ 
+-    //qDebug() << "Samba is not installed!";
+-
+     return false;
+ }
+ 
diff --git a/pkgs/development/libraries/kde-frameworks-5.17/kio/series b/pkgs/development/libraries/kde-frameworks-5.17/kio/series
new file mode 100644
index 000000000000..77ca15450047
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.17/kio/series
@@ -0,0 +1 @@
+samba-search-path.patch
diff --git a/pkgs/development/libraries/openslp/default.nix b/pkgs/development/libraries/openslp/default.nix
new file mode 100644
index 000000000000..a77296b4895c
--- /dev/null
+++ b/pkgs/development/libraries/openslp/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation {
+  name = "openslp-2.0.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/openslp/2.0.0/2.0.0/openslp-2.0.0.tar.gz";
+    sha256 = "16splwmqp0400w56297fkipaq9vlbhv7hapap8z09gp5m2i3fhwj";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = "http://openslp.org/";
+    description = "An open-source implementation of the IETF Service Location Protocol";
+    maintainers = with maintainers; [ ttuegel ];
+    license = licenses.bsd3;
+    platforms = platforms.all;
+  };
+
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 224449a7dff7..d1af379810e6 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -8003,6 +8003,8 @@ let
     ffmpeg = ffmpeg_0;
   };
 
+  openslp = callPackage ../development/libraries/openslp {};
+
   # 2.3 breaks some backward-compability
   libressl = libressl_2_2;
   libressl_2_2 = callPackage ../development/libraries/libressl/2.2.nix {