push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
{
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 = [ ];
};
}

View File

@@ -0,0 +1,67 @@
{
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-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-lurch = callPackage ./purple-lurch { };
purple-mm-sms = callPackage ./purple-mm-sms { };
purple-plugin-pack = callPackage ./purple-plugin-pack { };
purple-slack = callPackage ./purple-slack { };
purple-xmpp-http-upload = callPackage ./purple-xmpp-http-upload { };
tdlib-purple = callPackage ./tdlib-purple { };
}
// lib.optionalAttrs config.allowAliases {
purple-matrix = throw "'pidginPackages.purple-matrix' has been unmaintained since April 2022, so it was removed.";
pidgin-skypeweb = throw "'pidginPackages.pidgin-skypeweb' has been removed since Skype was shut down in May 2025.";
purple-hangouts = throw "'pidginPackages.purple-hangouts' has been removed as Hangouts Classic is obsolete and migrated to Google Chat.";
pidgin-msn-pecan = throw "'pidginPackages.pidgin-msn-pecan' has been removed as it's unmaintained upstream and doesn't work with escargot";
pidgin-mra = throw "'pidginPackages.pidgin-mra' has been removed since mail.ru agent service has stopped functioning in 2024.";
purple-facebook = throw "'pidginPackages.purple-facebook' has been removed as it is unmaintained and doesn't support e2ee enforced by facebook.";
pidgin-opensteamworks = throw "'pidginPackages.pidgin-opensteamworks' has been removed as it is unmaintained and no longer works with Steam.";
purple-vk-plugin = throw "'pidginPackages.purple-vk-plugin' has been removed as upstream repository was deleted and no active forks are found.";
}
)

View File

@@ -0,0 +1,33 @@
{
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 = [ ];
};
}

View File

@@ -0,0 +1,42 @@
{
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 = "pidgin-indicator";
rev = version;
sha256 = "sha256-CdA/aUu+CmCRbVBKpJGydicqFQa/rEsLWS3MBKlH2/M=";
};
nativeBuildInputs = [
autoreconfHook
intltool
];
buildInputs = [
glib
libappindicator-gtk2
libtool
pidgin
];
meta = with lib; {
description = "AppIndicator and KStatusNotifierItem Plugin for Pidgin";
homepage = "https://github.com/philipl/pidgin-indicator";
maintainers = with maintainers; [ imalison ];
license = licenses.gpl2;
platforms = with platforms; linux;
};
}

View File

@@ -0,0 +1,53 @@
{
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 = [ ];
};
}

View File

@@ -0,0 +1,41 @@
{
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;
};
}

View File

@@ -0,0 +1,36 @@
{
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 ];
};
}

View File

@@ -0,0 +1,41 @@
{
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 ];
};
}

View File

@@ -0,0 +1,41 @@
{
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 = [ ];
};
}

View File

@@ -0,0 +1,47 @@
{
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}";
hash = "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 ];
};
}

View File

@@ -0,0 +1,42 @@
{
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 = "purple-mm-sms";
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 = "Libpurple plugin for sending and receiving SMS via Modemmanager";
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = [ ];
};
}

View File

@@ -0,0 +1,43 @@
{
lib,
stdenv,
fetchurl,
meson,
ninja,
pidgin,
}:
stdenv.mkDerivation {
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 ];
};
}

View File

@@ -0,0 +1,33 @@
{
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 ];
};
}

View File

@@ -0,0 +1,38 @@
{
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 ];
};
}

View File

@@ -0,0 +1,21 @@
diff --git a/src/core/sipe-xml.c b/src/core/sipe-xml.c
index cfc5311..c38f6e8 100644
--- a/src/core/sipe-xml.c
+++ b/src/core/sipe-xml.c
@@ -29,6 +29,7 @@
#include <time.h>
#include "libxml/parser.h"
+#include "libxml/xmlerror.h"
#include "libxml/c14n.h"
#include "libxml/xmlversion.h"
@@ -154,7 +155,7 @@ static void callback_error(void *user_data, const char *msg, ...)
g_free(errmsg);
}
-static void callback_serror(void *user_data, xmlErrorPtr error)
+static void callback_serror(void *user_data, const xmlError *error)
{
struct _parser_data *pd = user_data;

View File

@@ -0,0 +1,59 @@
{
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=";
})
./0001-fix-libxml-error-signature.patch
];
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;
};
}

View File

@@ -0,0 +1,60 @@
{
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.hostPlatform.isDarwin && stdenv.hostPlatform.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;
};
}

View File

@@ -0,0 +1,26 @@
{
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 = [ ];
};
}