diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/networking/instant-messengers/pidgin/pidgin-plugins')
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; [ ]; + }; +} |