about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins')
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/carbons/default.nix26
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/default.nix70
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/msn-pecan/default.nix25
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/otr/default.nix23
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-indicator/default.nix33
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-latex/default.nix33
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-mra/default.nix33
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-opensteamworks/default.nix37
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-osd/default.nix32
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-skypeweb/default.nix31
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-xmpp-receipts/default.nix31
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-discord/default.nix27
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-facebook/default.nix66
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-googlechat/default.nix27
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-hangouts/default.nix25
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-lurch/default.nix31
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-matrix/default.nix38
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-mm-sms/default.nix30
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-plugin-pack/default.nix42
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-signald/default.nix32
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-slack/default.nix28
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-vk-plugin/default.nix31
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-xmpp-http-upload/default.nix27
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/sipe/default.nix43
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/tdlib-purple/default.nix45
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/window-merge/default.nix21
26 files changed, 887 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/carbons/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/carbons/default.nix
new file mode 100644
index 000000000000..f702a667ae16
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/carbons/default.nix
@@ -0,0 +1,26 @@
+{ lib, stdenv, libxml2, pidgin, pkg-config, fetchFromGitHub } :
+
+stdenv.mkDerivation rec {
+  pname = "pidgin-carbons";
+  version = "0.2.3";
+
+  src = fetchFromGitHub {
+    owner = "gkdr";
+    repo  = "carbons";
+    rev   = "v${version}";
+    sha256 = "sha256-qiyIvmJbRmCrAi/93UxDVtO76nSdtzUVfT/sZGxxAh8=";
+  };
+
+  makeFlags = [ "PURPLE_PLUGIN_DIR=$(out)/lib/pidgin" ];
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ libxml2 pidgin ];
+
+  meta = with lib; {
+    homepage = "https://github.com/gkdr/carbons";
+    description = "XEP-0280: Message Carbons plugin for libpurple";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/default.nix
new file mode 100644
index 000000000000..4d4fa9521fc4
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/default.nix
@@ -0,0 +1,70 @@
+{ lib
+, newScope
+, pidgin
+, texliveBasic
+, config
+}:
+
+lib.makeScope newScope (self:
+  let callPackage = self.callPackage;
+  in {
+    pidgin = callPackage ../. {
+      withOpenssl = config.pidgin.openssl or true;
+      withGnutls = config.pidgin.gnutls or false;
+      plugins = [];
+    };
+
+    pidginPackages = self;
+
+    pidgin-indicator = callPackage ./pidgin-indicator { };
+
+    pidgin-latex = callPackage ./pidgin-latex {
+      texLive = texliveBasic;
+    };
+
+    pidgin-msn-pecan = callPackage ./msn-pecan { };
+
+    pidgin-mra = callPackage ./pidgin-mra { };
+
+    pidgin-skypeweb = callPackage ./pidgin-skypeweb { };
+
+    pidgin-carbons = callPackage ./carbons { };
+
+    pidgin-xmpp-receipts = callPackage ./pidgin-xmpp-receipts { };
+
+    pidgin-otr = callPackage ./otr { };
+
+    pidgin-osd = callPackage ./pidgin-osd { };
+
+    pidgin-sipe = callPackage ./sipe { };
+
+    pidgin-window-merge = callPackage ./window-merge { };
+
+    purple-discord = callPackage ./purple-discord { };
+
+    purple-googlechat = callPackage ./purple-googlechat { };
+
+    purple-hangouts = callPackage ./purple-hangouts { };
+
+    purple-lurch = callPackage ./purple-lurch { };
+
+    purple-matrix = callPackage ./purple-matrix { };
+
+    purple-mm-sms = callPackage ./purple-mm-sms { };
+
+    purple-plugin-pack = callPackage ./purple-plugin-pack { };
+
+    purple-signald = callPackage ./purple-signald { };
+
+    purple-slack = callPackage ./purple-slack { };
+
+    purple-vk-plugin = callPackage ./purple-vk-plugin { };
+
+    purple-xmpp-http-upload = callPackage ./purple-xmpp-http-upload { };
+
+    tdlib-purple = callPackage ./tdlib-purple { };
+
+    pidgin-opensteamworks = callPackage ./pidgin-opensteamworks { };
+
+    purple-facebook = callPackage ./purple-facebook { };
+})
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/msn-pecan/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/msn-pecan/default.nix
new file mode 100644
index 000000000000..7a761c1e91c8
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/msn-pecan/default.nix
@@ -0,0 +1,25 @@
+{ lib, stdenv, fetchFromGitHub, pidgin} :
+
+stdenv.mkDerivation rec {
+  pname = "pidgin-msn-pecan";
+  version = "0.1.4";
+  src = fetchFromGitHub {
+    owner = "felipec";
+    repo = "msn-pecan";
+    rev = "v${version}";
+    sha256 = "0133rpiy4ik6rx9qn8m38vp7w505hnycggr53g3a2hfpk5xj03zh";
+  };
+
+  meta = {
+    description = "Alternative MSN protocol plug-in for Pidgin IM";
+    homepage = "https://github.com/felipec/msn-pecan";
+    platforms = lib.platforms.linux;
+  };
+
+  makeFlags = [
+    "PURPLE_LIBDIR=${placeholder "out"}/lib"
+    "PURPLE_DATADIR=${placeholder "out"}/share/data"
+  ];
+
+  buildInputs = [pidgin];
+}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/otr/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/otr/default.nix
new file mode 100644
index 000000000000..aa871df5e8af
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/otr/default.nix
@@ -0,0 +1,23 @@
+{ lib, stdenv, fetchurl, libotr, pidgin, intltool } :
+
+stdenv.mkDerivation rec {
+  pname = "pidgin-otr";
+  version = "4.0.2";
+  src = fetchurl {
+    url = "https://otr.cypherpunks.ca/pidgin-otr-${version}.tar.gz";
+    sha256 = "1i5s9rrgbyss9rszq6c6y53hwqyw1k86s40cpsfx5ccl9bprxdgl";
+  };
+
+  postInstall = "ln -s \$out/lib/pidgin \$out/share/pidgin-otr";
+
+  nativeBuildInputs = [ intltool ];
+  buildInputs = [ libotr pidgin ];
+
+  meta = with lib; {
+    homepage = "https://otr.cypherpunks.ca/";
+    description = "Plugin for Pidgin 2.x which implements OTR Messaging";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-indicator/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-indicator/default.nix
new file mode 100644
index 000000000000..70cb3a9028df
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-indicator/default.nix
@@ -0,0 +1,33 @@
+{ autoreconfHook
+, fetchFromGitHub
+, glib
+, intltool
+, lib
+, libappindicator-gtk2
+, libtool
+, pidgin
+, stdenv
+}:
+
+stdenv.mkDerivation rec {
+  pname = "pidgin-indicator";
+  version = "1.0.1";
+
+  src = fetchFromGitHub {
+    owner = "philipl";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-CdA/aUu+CmCRbVBKpJGydicqFQa/rEsLWS3MBKlH2/M=";
+  };
+
+  nativeBuildInputs = [ autoreconfHook intltool ];
+  buildInputs = [ glib libappindicator-gtk2 libtool pidgin ];
+
+  meta = with lib; {
+    description = "An AppIndicator and KStatusNotifierItem Plugin for Pidgin";
+    homepage = "https://github.com/philipl/pidgin-indicator";
+    maintainers = with maintainers; [ imalison ];
+    license = licenses.gpl2;
+    platforms = with platforms; linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-latex/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-latex/default.nix
new file mode 100644
index 000000000000..1250e3877b96
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-latex/default.nix
@@ -0,0 +1,33 @@
+{ lib, stdenv, fetchurl, pkg-config, pidgin, texLive, imagemagick, glib, gtk2 }:
+
+let version = "1.5.0";
+in
+stdenv.mkDerivation {
+  pname = "pidgin-latex";
+  inherit version;
+
+  src = fetchurl {
+    url = "mirror://sourceforge/pidgin-latex/pidgin-latex_${version}.tar.bz2";
+    sha256 = "9c850aee90d7e59de834f83e09fa6e3e51b123f06e265ead70957608ada95441";
+  };
+
+  nativeBuildInputs = [pkg-config];
+  buildInputs = [gtk2 glib pidgin];
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  postPatch = ''
+    sed -e 's/-Wl,-soname//' -i Makefile
+  '';
+
+  passthru = {
+    wrapArgs = "--prefix PATH ':' ${lib.makeBinPath [ texLive imagemagick ]}";
+  };
+
+  meta = with lib; {
+    homepage = "https://sourceforge.net/projects/pidgin-latex/";
+    description = "LaTeX rendering plugin for Pidgin IM";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-mra/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-mra/default.nix
new file mode 100644
index 000000000000..2c6a0c5e7e64
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-mra/default.nix
@@ -0,0 +1,33 @@
+{ lib, stdenv, fetchFromGitHub, pkg-config, pidgin } :
+
+stdenv.mkDerivation rec {
+  pname = "pidgin-mra";
+  version = "unstable-2014-07-08";
+
+  src = fetchFromGitHub {
+    owner = "dreadatour";
+    repo = "pidgin-mra";
+    rev = "54b299266265cde800289b2d51f13b81f6bf379c";
+    sha256 = "sha256-fKdEOaijW2LfsH8RHlVGbMpL7Zhu+x2vW4fPEN4puKk=";
+  };
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ pidgin ];
+
+  postPatch = ''
+    sed -i 's|-I/usr/include/libpurple|$(shell pkg-config --cflags purple)|' Makefile
+  '';
+
+  makeFlags = [
+    "DESTDIR=/"
+    "LIBDIR=${placeholder "out"}/lib"
+    "DATADIR=${placeholder "out"}/share"
+  ];
+
+  meta = {
+    homepage = "https://github.com/dreadatour/pidgin-mra";
+    description = "Mail.ru Agent plugin for Pidgin / libpurple";
+    license = lib.licenses.gpl2;
+    platforms = lib.platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-opensteamworks/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-opensteamworks/default.nix
new file mode 100644
index 000000000000..ceeac0acd0c3
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-opensteamworks/default.nix
@@ -0,0 +1,37 @@
+{ lib, stdenv, fetchFromGitHub, pkg-config, pidgin, glib, json-glib, nss, nspr
+, libsecret
+} :
+
+stdenv.mkDerivation rec {
+  pname = "pidgin-opensteamworks";
+  version = "1.7.2";
+
+  src = fetchFromGitHub {
+    owner = "EionRobb";
+    repo = "pidgin-opensteamworks";
+    rev = version;
+    sha256 = "sha256-VWsoyFG+Ro+Y6ngSTMQ7yBYf6awCMNOc6U0WqNeg/jU=";
+  };
+
+  sourceRoot = "${src.name}/steam-mobile";
+
+  installFlags = [
+    "PLUGIN_DIR_PURPLE=${placeholder "out"}/lib/purple-2"
+    "DATA_ROOT_DIR_PURPLE=${placeholder "out"}/share"
+  ];
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+  buildInputs = [
+    pidgin glib json-glib nss nspr libsecret
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/EionRobb/pidgin-opensteamworks";
+    description = "Plugin for Pidgin 2.x which implements Steam Friends/Steam IM compatibility";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ arobyn ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-osd/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-osd/default.nix
new file mode 100644
index 000000000000..d50a3ed5c30f
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-osd/default.nix
@@ -0,0 +1,32 @@
+{ lib, stdenv, fetchFromGitHub, pidgin, xosd
+, autoreconfHook } :
+
+stdenv.mkDerivation rec {
+  pname = "pidgin-osd";
+  version = "0.2.0";
+  src = fetchFromGitHub {
+    owner = "edanaher";
+    repo = "pidgin-osd";
+    rev = "${pname}-${version}";
+    sha256 = "07wa9anz99hnv6kffpcph3fbq8mjbyq17ij977ggwgw37zb9fzb5";
+  };
+
+  # autoreconf is run such that it *really* wants all the files, and there's no
+  # default ChangeLog.  So make it happy.
+  preAutoreconf = "touch ChangeLog";
+
+  postInstall = ''
+    mkdir -p $out/lib/pidgin
+    mv $out/lib/pidgin-osd.{la,so} $out/lib/pidgin
+  '';
+
+  nativeBuildInputs = [ autoreconfHook ];
+  buildInputs = [ xosd pidgin ];
+
+  meta = with lib; {
+    homepage = "https://github.com/mbroemme/pidgin-osd";
+    description = "Plugin for Pidgin which implements on-screen display via libxosd";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-skypeweb/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-skypeweb/default.nix
new file mode 100644
index 000000000000..d7c3c6cacabd
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-skypeweb/default.nix
@@ -0,0 +1,31 @@
+{ lib, stdenv, fetchFromGitHub, pkg-config, pidgin, json-glib }:
+
+stdenv.mkDerivation rec {
+  pname = "pidgin-skypeweb";
+  version = "1.7";
+
+  src = fetchFromGitHub {
+    owner = "EionRobb";
+    repo = "skype4pidgin";
+    rev = version;
+    sha256 = "11snyrjhm58gjvdmr5h5ajii3ah4a7c8zw3cavjv9xnnwrpfm5rb";
+  };
+
+  setSourceRoot = ''
+    sourceRoot=$(echo */skypeweb)
+  '';
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ pidgin json-glib ];
+
+  PKG_CONFIG_PURPLE_PLUGINDIR = "${placeholder "out"}/lib/purple-2";
+  PKG_CONFIG_PURPLE_DATADIR = "${placeholder "out"}/share";
+
+  meta = with lib; {
+    homepage = "https://github.com/EionRobb/skype4pidgin";
+    description = "SkypeWeb plugin for Pidgin";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-xmpp-receipts/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-xmpp-receipts/default.nix
new file mode 100644
index 000000000000..f545b65cd8ea
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-xmpp-receipts/default.nix
@@ -0,0 +1,31 @@
+{ lib, stdenv, fetchFromGitHub, pidgin } :
+
+let
+  version = "0.8";
+in
+stdenv.mkDerivation {
+  pname = "pidgin-xmpp-receipts";
+  inherit version;
+
+  src = fetchFromGitHub {
+    owner = "noonien-d";
+    repo = "pidgin-xmpp-receipts";
+    rev = "release_${version}";
+    sha256 = "13kwaymzkymjsdv8q95byd173i4vanj211vgx9cm0y8ag2r3cjsb";
+  };
+
+  buildInputs = [ pidgin ];
+
+  installPhase = ''
+    mkdir -p $out/lib/pidgin/
+    cp xmpp-receipts.so $out/lib/pidgin/
+  '';
+
+  meta = with lib; {
+    homepage = "http://devel.kondorgulasch.de/pidgin-xmpp-receipts/";
+    description = "Message delivery receipts (XEP-0184) Pidgin plugin";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ orivej ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-discord/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-discord/default.nix
new file mode 100644
index 000000000000..8af6811d6a58
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-discord/default.nix
@@ -0,0 +1,27 @@
+{ lib, stdenv, fetchFromGitHub, imagemagick, gettext, pidgin, json-glib }:
+
+stdenv.mkDerivation {
+  pname = "purple-discord";
+  version = "unstable-2021-10-17";
+
+  src = fetchFromGitHub {
+    owner = "EionRobb";
+    repo = "purple-discord";
+    rev = "b7ac72399218d2ce011ac84bb171b572560aa2d2";
+    sha256 = "0xvj9rdvgsvcr55sk9m40y07rchg699l1yr98xqwx7sc2sba3814";
+  };
+
+  nativeBuildInputs = [ imagemagick gettext ];
+  buildInputs = [ pidgin json-glib ];
+
+  PKG_CONFIG_PURPLE_PLUGINDIR = "${placeholder "out"}/lib/purple-2";
+  PKG_CONFIG_PURPLE_DATADIR = "${placeholder "out"}/share";
+
+  meta = with lib; {
+    homepage = "https://github.com/EionRobb/purple-discord";
+    description = "Discord plugin for Pidgin";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ sna ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-facebook/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-facebook/default.nix
new file mode 100644
index 000000000000..b1078c864de6
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-facebook/default.nix
@@ -0,0 +1,66 @@
+{ lib, stdenv, fetchFromGitHub, fetchhg, pidgin, glib, json-glib, autoreconfHook }:
+
+
+let
+  pidginHg = fetchhg {
+    url = "https://bitbucket.org/pidgin/main";
+    # take from VERSION file
+    rev = "9ff9acf9fa14";
+    sha256 = "06imlhsps4wrjgjb92zpaxprxfxl2pjb2x9pl859c8cryssrz2jv";
+  };
+
+in stdenv.mkDerivation rec {
+  pname = "purple-facebook";
+  version = "0.9.5";
+
+  src = fetchFromGitHub {
+    owner = "dequis";
+    repo = "purple-facebook";
+    rev = "v${version}-9ff9acf9fa14";
+    sha256 = "0a1860bkzrmyxahm9rlxi80z335w491wzdaqaw6j9ccavbymhwhs";
+  };
+
+  postPatch = ''
+    # we do all patching from update.sh in preAutoreconf
+    echo "#!${stdenv.shell}" > update.sh
+  '';
+
+  preAutoreconf = ''
+    for FILE in $(cat MANIFEST_PIDGIN); do
+        install -Dm644 "${pidginHg}/$FILE" "pidgin/$FILE" || true
+    done
+
+    touch $(cat MANIFEST_VOIDS)
+
+    patchdir="$(pwd)/patches"
+    pushd pidgin
+
+    for patch in $(ls -1 "$patchdir"); do
+      patch -p1 -i "$patchdir/$patch"
+    done
+    popd
+
+    ./autogen.sh
+  '';
+
+  makeFlags = [
+    "PLUGIN_DIR_PURPLE=/lib/pidgin/"
+    "DATA_ROOT_DIR_PURPLE=/share"
+  ];
+
+  installPhase = ''
+    mkdir -p $out/lib/purple-2
+    cp pidgin/libpurple/protocols/facebook/.libs/*.so $out/lib/purple-2/
+  '';
+
+  nativeBuildInputs = [ autoreconfHook ];
+  buildInputs = [ pidgin glib json-glib ];
+
+  meta = with lib; {
+    inherit (src.meta) homepage;
+    description = "Facebook protocol plugin for libpurple";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ davorb ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-googlechat/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-googlechat/default.nix
new file mode 100644
index 000000000000..b274b55ac228
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-googlechat/default.nix
@@ -0,0 +1,27 @@
+{ lib, stdenv, fetchFromGitHub, pidgin, glib, json-glib, protobuf, protobufc }:
+
+stdenv.mkDerivation {
+  pname = "purple-googlechat";
+  version = "unstable-2021-10-18";
+
+  src = fetchFromGitHub {
+    owner = "EionRobb";
+    repo = "purple-googlechat";
+    rev = "56ba7f79883eca67d37629d365776f6c0b40abdc";
+    sha256 = "sha256-iTYVgYI9+6rqqBl5goeEAXpK8FgHDv0MmPsV/82reWA=";
+  };
+
+  nativeBuildInputs = [ protobufc ];
+  buildInputs = [ pidgin glib json-glib protobuf ];
+
+  PKG_CONFIG_PURPLE_PLUGINDIR = "${placeholder "out"}/lib/purple-2";
+  PKG_CONFIG_PURPLE_DATADIR = "${placeholder "out"}/share";
+
+  meta = with lib; {
+    homepage = "https://github.com/EionRobb/purple-googlechat";
+    description = "Native Google Chat support for pidgin";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ dtzWill ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-hangouts/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-hangouts/default.nix
new file mode 100644
index 000000000000..653708abe3b6
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-hangouts/default.nix
@@ -0,0 +1,25 @@
+{ lib, stdenv, fetchhg, pidgin, glib, json-glib, protobuf, protobufc }:
+
+stdenv.mkDerivation {
+  pname = "purple-hangouts-hg";
+  version = "2018-12-02";
+
+  src = fetchhg {
+    url = "https://bitbucket.org/EionRobb/purple-hangouts/";
+    rev = "cccf2f6";
+    sha256 = "1zd1rlzqvw1zkb0ydyz039n3xa1kv1f20a4l6rkm9a8sp6rpf3pi";
+  };
+
+  buildInputs = [ pidgin glib json-glib protobuf protobufc ];
+
+  PKG_CONFIG_PURPLE_PLUGINDIR = "${placeholder "out"}/lib/purple-2";
+  PKG_CONFIG_PURPLE_DATADIR = "${placeholder "out"}/share";
+
+  meta = with lib; {
+    homepage = "https://bitbucket.org/EionRobb/purple-hangouts";
+    description = "Native Hangouts support for pidgin";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ ralith ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-lurch/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-lurch/default.nix
new file mode 100644
index 000000000000..c0497ed86ce1
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-lurch/default.nix
@@ -0,0 +1,31 @@
+{ lib, stdenv, fetchFromGitHub, cmake, pidgin, minixml, libxml2, sqlite, libgcrypt }:
+
+stdenv.mkDerivation rec {
+  pname = "purple-lurch";
+  version = "0.7.0";
+
+  src = fetchFromGitHub {
+    owner = "gkdr";
+    repo = "lurch";
+    rev = "v${version}";
+    sha256 = "sha256-yyzotKL1Z4B2BxloJndJKemONMPLG9pVDVe2K5AL05g=";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ pidgin minixml libxml2 sqlite libgcrypt ];
+
+  dontUseCmakeConfigure = true;
+
+  installPhase = ''
+    install -Dm755 -t $out/lib/purple-2 build/lurch.so
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/gkdr/lurch";
+    description = "XEP-0384: OMEMO Encryption for libpurple";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ emmanuelrosa ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-matrix/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-matrix/default.nix
new file mode 100644
index 000000000000..0b51d172b746
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-matrix/default.nix
@@ -0,0 +1,38 @@
+{ lib, stdenv, fetchFromGitHub, pkg-config, pidgin, json-glib, glib, http-parser, sqlite, olm, libgcrypt } :
+
+stdenv.mkDerivation rec {
+  pname = "purple-matrix-unstable";
+  version = "2019-06-06";
+
+  src = fetchFromGitHub {
+    owner = "matrix-org";
+    repo = "purple-matrix";
+    rev = "4494ba22b479917f0b1f96a3019792d3d75bcff1";
+    sha256 = "1gjm0z4wa5vi9x1xk43rany5pffrwg958n180ahdj9a7sa8a4hpm";
+  };
+
+  env.NIX_CFLAGS_COMPILE = builtins.toString [
+    # glib-2.62 deprecations
+    "-DGLIB_DISABLE_DEPRECATION_WARNINGS"
+    # override "-O0 -Werror" set by build system
+    "-O3" "-Wno-error"
+  ];
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ pidgin json-glib glib http-parser sqlite olm libgcrypt ];
+
+  makeFlags = [
+    "PLUGIN_DIR_PURPLE=${placeholder "out"}/lib/purple-2"
+    "DATA_ROOT_DIR_PURPLE=${placeholder "out"}/share"
+  ];
+
+  buildFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ]; # fix build on darwin
+
+  meta = with lib; {
+    homepage = "https://github.com/matrix-org/purple-matrix";
+    description = "Matrix support for Pidgin / libpurple";
+    license = licenses.gpl2;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ symphorien ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-mm-sms/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-mm-sms/default.nix
new file mode 100644
index 000000000000..121ef0231a74
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-mm-sms/default.nix
@@ -0,0 +1,30 @@
+{ lib, stdenv, glibmm, pidgin, pkg-config, modemmanager, fetchFromGitLab } :
+
+stdenv.mkDerivation rec {
+  pname = "purple-mm-sms";
+  version = "0.1.7";
+
+  src = fetchFromGitLab {
+    domain = "source.puri.sm";
+    owner = "Librem5";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0917gjig35hmi6isqb62vhxd3lkc2nwdn13ym2gvzgcjfgjzjajr";
+  };
+
+  makeFlags = [
+    "DATA_ROOT_DIR_PURPLE=$(out)/share"
+    "PLUGIN_DIR_PURPLE=$(out)/lib/purple-2"
+  ];
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ glibmm pidgin modemmanager ];
+
+  meta = with lib; {
+    homepage = "https://source.puri.sm/Librem5/purple-mm-sms";
+    description = "A libpurple plugin for sending and receiving SMS via Modemmanager";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-plugin-pack/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-plugin-pack/default.nix
new file mode 100644
index 000000000000..388f633f3dab
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-plugin-pack/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, stdenv
+, fetchurl
+, meson
+, ninja
+, pidgin
+}:
+
+stdenv.mkDerivation rec {
+  pname = "purple-plugin-pack";
+  version = "2.8.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/pidgin/purple-plugin-pack-2.8.0.tar.xz";
+    hash = "sha256-gszemnJRp1t+A6P5qSkBTY4AjBtvRuWGOPX0dto+JC0=";
+  };
+
+  postPatch = ''
+    substituteInPlace meson.build \
+      --replace "PURPLE.get_pkgconfig_variable('plugindir')" "'$out/lib/purple-2'" \
+      --replace "PURPLE.get_pkgconfig_variable('datadir')" "'$out/share'" \
+      --replace "PIDGIN.get_pkgconfig_variable('plugindir')" "'$out/lib/pidgin'" \
+      --replace "PIDGIN.get_pkgconfig_variable('datadir')" "'$out/share'"
+  '';
+
+  nativeBuildInputs = [
+    meson
+    ninja
+  ];
+
+  buildInputs = [
+    pidgin
+  ];
+
+  meta = with lib; {
+    homepage = "https://keep.imfreedom.org/pidgin/purple-plugin-pack";
+    description = "Collection of plugins for purple-based clients such as Pidgin";
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ bdimcheff ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-signald/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-signald/default.nix
new file mode 100644
index 000000000000..50ae99ceaecf
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-signald/default.nix
@@ -0,0 +1,32 @@
+{ lib, stdenv, fetchFromGitHub, pidgin, json-glib, signald }:
+
+stdenv.mkDerivation rec {
+  pname = "purple-signald";
+  version = "0.11.0";
+
+  src = fetchFromGitHub {
+    owner = "hoehermann";
+    repo = "libpurple-signald";
+    rev = "v${version}";
+    sha256 = "sha256-2LiHjVRBwdPbfravIVM+gvsh3Gq4bhjtRD6eWAbkWmc=";
+    fetchSubmodules = true;
+  };
+
+  buildInputs = [
+    pidgin
+    json-glib
+    signald
+  ];
+
+  PKG_CONFIG_PURPLE_PLUGINDIR = "${placeholder "out"}/lib/purple-2";
+  PKG_CONFIG_PURPLE_DATADIR = "${placeholder "out"}/share";
+  PKG_CONFIG_PIDGIN_DATADIR = "${placeholder "out"}/share";
+
+  meta = with lib; {
+    homepage = "https://github.com/hoehermann/libpurple-signald";
+    description = "Signal support for Pidgin / libpurple";
+    license = licenses.gpl3Only;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ hufman ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-slack/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-slack/default.nix
new file mode 100644
index 000000000000..9f5f9a2bda1e
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-slack/default.nix
@@ -0,0 +1,28 @@
+{ lib, stdenv, fetchFromGitHub, pidgin, pkg-config }:
+
+stdenv.mkDerivation {
+  pname = "purple-slack-unstable";
+  version = "2020-09-22";
+
+  src = fetchFromGitHub {
+    owner = "dylex";
+    repo = "slack-libpurple";
+    rev = "2e9fa028224b02e29473b1b998fc1e5f487e79ec";
+    sha256 = "1sksqshiwldd32k8jmiflp2pcax31ym6rypr4qa4v5vdn907g80m";
+  };
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ pidgin ];
+
+  PKG_CONFIG_PURPLE_PLUGINDIR = "${placeholder "out"}/lib/purple-2";
+  PKG_CONFIG_PURPLE_DATAROOTDIR = "${placeholder "out"}/share";
+
+  meta = with lib; {
+    homepage = "https://github.com/dylex/slack-libpurple";
+    description = "Slack plugin for Pidgin";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ eyjhb ];
+  };
+}
+
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-vk-plugin/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-vk-plugin/default.nix
new file mode 100644
index 000000000000..07b38ff3c5a2
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-vk-plugin/default.nix
@@ -0,0 +1,31 @@
+{ lib, stdenv, fetchhg, pidgin, cmake, libxml2 } :
+
+let
+  version = "40ddb6d";
+in
+stdenv.mkDerivation {
+  pname = "purple-vk-plugin";
+  inherit version;
+
+  src = fetchhg {
+    url = "https://bitbucket.org/olegoandreev/purple-vk-plugin";
+    rev = version;
+    sha256 = "02p57fgx8ml00cbrb4f280ak2802svz80836dzk9f1zwm1bcr2qc";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ pidgin libxml2 ];
+
+  preConfigure = ''
+    sed -i -e 's|DESTINATION.*PURPLE_PLUGIN_DIR}|DESTINATION lib/purple-2|' CMakeLists.txt
+  '';
+
+  cmakeFlags = [ "-DCMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT=1" ];
+
+  meta = {
+    homepage = "https://bitbucket.org/olegoandreev/purple-vk-plugin";
+    description = "Vk (russian social network) plugin for Pidgin / libpurple";
+    license = lib.licenses.gpl3;
+    platforms = lib.platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-xmpp-http-upload/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-xmpp-http-upload/default.nix
new file mode 100644
index 000000000000..c52082e06c90
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-xmpp-http-upload/default.nix
@@ -0,0 +1,27 @@
+{ lib, stdenv, fetchFromGitHub, pidgin, glib, libxml2 }:
+
+stdenv.mkDerivation {
+  pname = "purple-xmpp-upload";
+  version = "unstable-2021-11-04";
+
+  src = fetchFromGitHub {
+    owner = "Junker";
+    repo = "purple-xmpp-http-upload";
+    rev = "f370b4a2c474c6fe4098d929d8b7c18aeba87b6b";
+    sha256 = "0n05jybmibn44xb660p08vrrbanfsyjn17w1xm9gwl75fxxq8cdc";
+  };
+
+  buildInputs = [ pidgin glib libxml2 ];
+
+  installPhase = ''
+    install -Dm644 -t $out/lib/purple-2 jabber_http_file_upload.so
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/Junker/purple-xmpp-http-upload";
+    description = "HTTP File Upload plugin for libpurple (XMPP Protocol XEP-0363)";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ emmanuelrosa ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/sipe/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/sipe/default.nix
new file mode 100644
index 000000000000..1cf7fed874e9
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/sipe/default.nix
@@ -0,0 +1,43 @@
+{ lib, stdenv, fetchurl, fetchpatch, pidgin, intltool, libxml2, gmime, nss }:
+
+stdenv.mkDerivation rec {
+  pname = "pidgin-sipe";
+  version = "1.25.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/sipe/${pname}-${version}.tar.gz";
+    sha256 = "0262sz00iqxylx0xfyr48xikhiqzr8pg7b4b7vwj5iv4qxpxv939";
+  };
+
+  patches = [
+    # add sipe_utils_memdup() function
+    (fetchpatch {
+      url = "https://repo.or.cz/siplcs.git/patch/567d0ddc0692adfef5f15d0d383825a9b2ea4b49";
+      sha256 = "24L8ZfoOGc3JoTCGxuTNjuHzt5QgFDu1+vSoJpGvde4=";
+    })
+    # replace g_memdup() with sipe_utils_memdup()
+    # g_memdup is deprecatein newer Glib
+    (fetchpatch {
+      url = "https://repo.or.cz/siplcs.git/patch/583a734e63833f03d11798b7b0d59a17d08ae60f";
+      sha256 = "Ai6Czpy/FYvBi4GZR7yzch6OcouJgfreI9HcojhGVV4=";
+    })
+  ];
+
+  nativeBuildInputs = [ intltool ];
+  buildInputs = [ pidgin gmime libxml2 nss ];
+  configureFlags = [
+    "--without-dbus"
+    "--enable-quality-check=no"
+  ];
+
+  enableParallelBuilding = true;
+
+  postInstall = "ln -s \$out/lib/purple-2 \$out/share/pidgin-sipe";
+
+  meta = with lib; {
+    description = "SIPE plugin for Pidgin IM";
+    homepage = "http://sipe.sourceforge.net/";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/tdlib-purple/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/tdlib-purple/default.nix
new file mode 100644
index 000000000000..1a1fd3b409a6
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/tdlib-purple/default.nix
@@ -0,0 +1,45 @@
+{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, libwebp, pidgin, tdlib } :
+
+stdenv.mkDerivation rec {
+  pname = "tdlib-purple";
+  version = "0.8.1";
+
+  src = fetchFromGitHub {
+    owner = "ars3niy";
+    repo = "tdlib-purple";
+    rev = "v${version}";
+    sha256 = "sha256-mrowzTtNLyMc2WwLVIop8Mg2DbyiQs0OPXmJuM9QUnM=";
+  };
+
+  patches = [
+    # Update to tdlib 1.8.0
+    (fetchpatch {
+      url = "https://github.com/ars3niy/tdlib-purple/commit/8c87b899ddbec32ec6ab4a34ddf0dc770f97d396.patch";
+      sha256 = "sha256-sysPYPno+wS8mZwQAXtX5eVnhwKAZrtr5gXuddN3mko=";
+    })
+  ];
+
+  preConfigure = ''
+    sed -i -e 's|DESTINATION.*PURPLE_PLUGIN_DIR}|DESTINATION "lib/purple-2|' CMakeLists.txt
+    sed -i -e 's|DESTINATION.*PURPLE_DATA_DIR}|DESTINATION "share|' CMakeLists.txt
+  '';
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ libwebp pidgin tdlib ];
+
+  cmakeFlags = [ "-DNoVoip=True" ]; # libtgvoip required
+
+  env.NIX_CFLAGS_COMPILE = toString (lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [ "-U__ARM_NEON__" ]);
+
+  meta = with lib; {
+    homepage = "https://github.com/ars3niy/tdlib-purple";
+    description = "libpurple Telegram plugin using tdlib";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ sikmir ];
+    platforms = platforms.unix;
+
+    # tdlib-purple is not actively maintained and currently not
+    # compatible with recent versions of tdlib
+    broken = true;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/window-merge/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/window-merge/default.nix
new file mode 100644
index 000000000000..c5437e965ed8
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/window-merge/default.nix
@@ -0,0 +1,21 @@
+{ lib, stdenv, fetchurl, pidgin } :
+
+stdenv.mkDerivation rec {
+  pname = "pidgin-window-merge";
+  version = "0.3";
+
+  src = fetchurl {
+    url = "https://github.com/downloads/dm0-/window_merge/window_merge-${version}.tar.gz";
+    sha256 = "0cb5rvi7jqvm345g9mlm4wpq0240kcybv81jpw5wlx7hz0lwi478";
+  };
+
+  buildInputs = [ pidgin ];
+
+  meta = with lib; {
+    homepage = "https://github.com/dm0-/window_merge";
+    description = "Pidgin plugin that merges the Buddy List window with a conversation window";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ ];
+  };
+}