diff options
Diffstat (limited to 'pkgs/applications/networking/instant-messengers/pidgin')
28 files changed, 1050 insertions, 89 deletions
diff --git a/pkgs/applications/networking/instant-messengers/pidgin/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/default.nix index d3700a66be789..1314853ad6684 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin/default.nix @@ -1,99 +1,149 @@ -{ callPackage, stdenv, fetchurl, makeWrapper, pkg-config, gtk2, gtk2-x11, gtkspell2, aspell -, gst_all_1, libstartup_notification, gettext, perlPackages, libxml2, nss -, nspr, farstream, libXScrnSaver, avahi, dbus, dbus-glib, intltool, libidn -, lib, python3, libICE, libXext, libSM, libgnt, ncurses, cyrus_sasl, openssl -, gnutls, libgcrypt, cacert, plugins, withOpenssl, withGnutls, withCyrus_sasl ? true +{ stdenv +, callPackage +, fetchurl +, makeWrapper +, aspell +, avahi +, cacert +, dbus +, dbus-glib +, farstream +, gettext +, gst_all_1 +, gtk2 +, gtk2-x11 +, gtkspell2 +, intltool +, lib +, libICE +, libSM +, libXScrnSaver +, libXext +, libgcrypt +, libgnt +, libidn +, libstartup_notification +, libxml2 +, ncurses +, nspr +, nss +, perlPackages +, pkg-config +, python3 +, pidgin +, plugins ? [] +, withOpenssl ? false, openssl +, withGnutls ? false , gnutls +, withCyrus_sasl ? true, cyrus_sasl +, pidginPackages }: # FIXME: clean the mess around choosing the SSL library (nss by default) -let unwrapped = stdenv.mkDerivation rec { - pname = "pidgin"; - version = "2.14.12"; - - src = fetchurl { - url = "mirror://sourceforge/pidgin/pidgin-${version}.tar.bz2"; - sha256 = "sha256-KwUka+IIYF7buTrp7cB5WD1EniqXENttNI0X9ZAgpLc="; - }; - - nativeBuildInputs = [ makeWrapper intltool ]; - - env.NIX_CFLAGS_COMPILE = "-I${gst_all_1.gst-plugins-base.dev}/include/gstreamer-1.0"; - - buildInputs = let - python-with-dbus = python3.withPackages (pp: with pp; [ dbus-python ]); - in [ - aspell libstartup_notification - gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good - libxml2 nss nspr - libXScrnSaver python-with-dbus - avahi dbus dbus-glib libidn - libICE libXext libSM cyrus_sasl - libgnt ncurses # optional: build finch - the console UI - ] - ++ lib.optional withOpenssl openssl - ++ lib.optionals withGnutls [ gnutls libgcrypt ] - ++ lib.optionals stdenv.isLinux [ gtk2 gtkspell2 farstream ] - ++ lib.optional stdenv.isDarwin gtk2-x11; - - - propagatedBuildInputs = [ pkg-config gettext ] - ++ (with perlPackages; [ perl XMLParser ]) - ++ lib.optional stdenv.isLinux gtk2 +let + unwrapped = stdenv.mkDerivation rec { + pname = "pidgin"; + version = "2.14.12"; + + src = fetchurl { + url = "mirror://sourceforge/pidgin/pidgin-${version}.tar.bz2"; + sha256 = "sha256-KwUka+IIYF7buTrp7cB5WD1EniqXENttNI0X9ZAgpLc="; + }; + + nativeBuildInputs = [ makeWrapper intltool ]; + + env.NIX_CFLAGS_COMPILE = "-I${gst_all_1.gst-plugins-base.dev}/include/gstreamer-1.0"; + + buildInputs = let + python-with-dbus = python3.withPackages (pp: with pp; [ dbus-python ]); + in [ + aspell + avahi + cyrus_sasl + dbus + dbus-glib + gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good + gst_all_1.gstreamer + libICE + libSM + libXScrnSaver + libXext + libgnt + libidn + libstartup_notification + libxml2 + ncurses # optional: build finch - the console UI + nspr + nss + python-with-dbus + ] + ++ lib.optional withOpenssl openssl + ++ lib.optionals withGnutls [ gnutls libgcrypt ] + ++ lib.optionals stdenv.isLinux [ gtk2 gtkspell2 farstream ] ++ lib.optional stdenv.isDarwin gtk2-x11; - patches = [ ./pidgin-makefile.patch ./add-search-path.patch ]; - - configureFlags = [ - "--with-nspr-includes=${nspr.dev}/include/nspr" - "--with-nspr-libs=${nspr.out}/lib" - "--with-nss-includes=${nss.dev}/include/nss" - "--with-nss-libs=${nss.out}/lib" - "--with-ncurses-headers=${ncurses.dev}/include" - "--with-system-ssl-certs=${cacert}/etc/ssl/certs" - "--disable-meanwhile" - "--disable-nm" - "--disable-tcl" - "--disable-gevolution" - ] - ++ lib.optionals withCyrus_sasl [ "--enable-cyrus-sasl=yes" ] - ++ lib.optionals withGnutls ["--enable-gnutls=yes" "--enable-nss=no"] - ++ lib.optionals stdenv.isDarwin ["--disable-gtkspell" "--disable-vv"]; - - enableParallelBuilding = true; - - postInstall = '' - wrapProgram $out/bin/pidgin \ - --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" - ''; - - doInstallCheck = stdenv.hostPlatform == stdenv.buildPlatform; - # In particular, this detects missing python imports in some of the tools. - postFixup = let - # TODO: python is a script, so it doesn't work as interpreter on darwin - binsToTest = lib.optionalString stdenv.isLinux "purple-remote," + "pidgin,finch"; - in lib.optionalString doInstallCheck '' - for f in "''${!outputBin}"/bin/{${binsToTest}}; do - echo "Testing: $f --help" - "$f" --help - done - ''; - - passthru = { - makePluginPath = lib.makeSearchPathOutput "lib" "lib/purple-${lib.versions.major version}"; - }; - meta = with lib; { - description = "Multi-protocol instant messaging client"; - homepage = "https://pidgin.im/"; - license = licenses.gpl2Plus; - platforms = platforms.unix; - maintainers = [ ]; + propagatedBuildInputs = [ pkg-config gettext ] + ++ (with perlPackages; [ perl XMLParser ]) + ++ lib.optional stdenv.isLinux gtk2 + ++ lib.optional stdenv.isDarwin gtk2-x11; + + patches = [ + ./add-search-path.patch + ./pidgin-makefile.patch + ]; + + configureFlags = [ + "--with-nspr-includes=${nspr.dev}/include/nspr" + "--with-nspr-libs=${nspr.out}/lib" + "--with-nss-includes=${nss.dev}/include/nss" + "--with-nss-libs=${nss.out}/lib" + "--with-ncurses-headers=${ncurses.dev}/include" + "--with-system-ssl-certs=${cacert}/etc/ssl/certs" + "--disable-meanwhile" + "--disable-nm" + "--disable-tcl" + "--disable-gevolution" + ] + ++ lib.optionals withCyrus_sasl [ "--enable-cyrus-sasl=yes" ] + ++ lib.optionals withGnutls [ "--enable-gnutls=yes" "--enable-nss=no" ] + ++ lib.optionals stdenv.isDarwin [ "--disable-gtkspell" "--disable-vv" ]; + + enableParallelBuilding = true; + + postInstall = '' + wrapProgram $out/bin/pidgin \ + --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" + ''; + + doInstallCheck = stdenv.hostPlatform == stdenv.buildPlatform; + # In particular, this detects missing python imports in some of the tools. + postFixup = let + # TODO: python is a script, so it doesn't work as interpreter on darwin + binsToTest = lib.optionalString stdenv.isLinux "purple-remote," + "pidgin,finch"; + in lib.optionalString doInstallCheck '' + for f in "''${!outputBin}"/bin/{${binsToTest}}; do + echo "Testing: $f --help" + "$f" --help + done + ''; + + passthru = { + makePluginPath = lib.makeSearchPathOutput "lib" "lib/purple-${lib.versions.major version}"; + withPlugins = pluginfn: callPackage ./wrapper.nix { + plugins = pluginfn pidginPackages; + pidgin = unwrapped; + }; + }; + + meta = { + description = "Multi-protocol instant messaging client"; + homepage = "https://pidgin.im/"; + license = lib.licenses.gpl2Plus; + platforms = lib.platforms.unix; + maintainers = [ lib.maintainers.lucasew ]; + }; }; -}; in if plugins == [] then unwrapped - else callPackage ./wrapper.nix { - inherit plugins; - pidgin = unwrapped; - } + else unwrapped.withPlugins (_: plugins) diff --git a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/carbons/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/carbons/default.nix new file mode 100644 index 0000000000000..f702a667ae16f --- /dev/null +++ b/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/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/default.nix new file mode 100644 index 0000000000000..b666df309642b --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/default.nix @@ -0,0 +1,70 @@ +{ lib +, newScope +, pidgin +, texlive +, 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 = texlive.combined.scheme-basic; + }; + + 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/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/msn-pecan/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/msn-pecan/default.nix new file mode 100644 index 0000000000000..7a761c1e91c86 --- /dev/null +++ b/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/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/otr/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/otr/default.nix new file mode 100644 index 0000000000000..aa871df5e8af2 --- /dev/null +++ b/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/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-indicator/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-indicator/default.nix new file mode 100644 index 0000000000000..70cb3a9028df2 --- /dev/null +++ b/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/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-latex/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-latex/default.nix new file mode 100644 index 0000000000000..1250e3877b96b --- /dev/null +++ b/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/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-mra/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-mra/default.nix new file mode 100644 index 0000000000000..2c6a0c5e7e64a --- /dev/null +++ b/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/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-opensteamworks/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-opensteamworks/default.nix new file mode 100644 index 0000000000000..a396e9acc0ce7 --- /dev/null +++ b/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 = "source/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/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-osd/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-osd/default.nix new file mode 100644 index 0000000000000..d50a3ed5c30f2 --- /dev/null +++ b/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/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-skypeweb/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-skypeweb/default.nix new file mode 100644 index 0000000000000..d7c3c6cacabd9 --- /dev/null +++ b/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/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-xmpp-receipts/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/pidgin-xmpp-receipts/default.nix new file mode 100644 index 0000000000000..f545b65cd8ea9 --- /dev/null +++ b/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/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-discord/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-discord/default.nix new file mode 100644 index 0000000000000..8af6811d6a58c --- /dev/null +++ b/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/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-facebook/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-facebook/default.nix new file mode 100644 index 0000000000000..b1078c864de67 --- /dev/null +++ b/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/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-googlechat/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-googlechat/default.nix new file mode 100644 index 0000000000000..b274b55ac228a --- /dev/null +++ b/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/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-hangouts/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-hangouts/default.nix new file mode 100644 index 0000000000000..653708abe3b69 --- /dev/null +++ b/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/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-lurch/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-lurch/default.nix new file mode 100644 index 0000000000000..c0497ed86ce14 --- /dev/null +++ b/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/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-matrix/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-matrix/default.nix new file mode 100644 index 0000000000000..0b51d172b7462 --- /dev/null +++ b/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/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-mm-sms/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-mm-sms/default.nix new file mode 100644 index 0000000000000..121ef0231a74e --- /dev/null +++ b/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/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-plugin-pack/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-plugin-pack/default.nix new file mode 100644 index 0000000000000..388f633f3dabf --- /dev/null +++ b/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/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-signald/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-signald/default.nix new file mode 100644 index 0000000000000..50ae99ceaecfe --- /dev/null +++ b/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/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-slack/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-slack/default.nix new file mode 100644 index 0000000000000..9f5f9a2bda1e3 --- /dev/null +++ b/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/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-vk-plugin/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-vk-plugin/default.nix new file mode 100644 index 0000000000000..07b38ff3c5a27 --- /dev/null +++ b/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/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-xmpp-http-upload/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/purple-xmpp-http-upload/default.nix new file mode 100644 index 0000000000000..c52082e06c908 --- /dev/null +++ b/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/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/sipe/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/sipe/default.nix new file mode 100644 index 0000000000000..a014779970479 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/sipe/default.nix @@ -0,0 +1,39 @@ +{ 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" ]; + 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/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/tdlib-purple/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/tdlib-purple/default.nix new file mode 100644 index 0000000000000..1a1fd3b409a66 --- /dev/null +++ b/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/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/tox-prpl/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/tox-prpl/default.nix new file mode 100644 index 0000000000000..eb606f796cfbc --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/tox-prpl/default.nix @@ -0,0 +1,28 @@ +{ lib, stdenv, fetchFromGitHub, libtoxcore, pidgin, autoreconfHook, libsodium }: + +stdenv.mkDerivation rec { + pname = "tox-prpl"; + version = "0.5.1"; + + src = fetchFromGitHub { + owner = "jin-eld"; + repo = "tox-prpl"; + rev = "v${version}"; + sha256 = "0ms367l2f7x83k407c93bmhpyc820f1css61fh2gx4jq13cxqq3p"; + }; + + NIX_LDFLAGS = "-lssp -lsodium"; + + postInstall = "mv $out/lib/purple-2 $out/lib/pidgin"; + + buildInputs = [ libtoxcore pidgin libsodium ]; + nativeBuildInputs = [ autoreconfHook ]; + + meta = with lib; { + broken = true; # unmaintained and not compatible with current Tox API. + homepage = "https://github.com/jin-eld/tox-prpl"; + description = "Tox plugin for Pidgin / libpurple"; + license = licenses.gpl3; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/window-merge/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins/window-merge/default.nix new file mode 100644 index 0000000000000..c5437e965ed87 --- /dev/null +++ b/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; [ ]; + }; +} |