summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikhail Teterin <mi@FreeBSD.org>2023-12-18 01:53:48 -0500
committerMikhail Teterin <mi@FreeBSD.org>2023-12-18 01:55:48 -0500
commite07c60d9f57c6cac085b9a953aa41a02fa0ac71f (patch)
treeac0ac3704c52110362991a90e0be84910a71e31b
parentadd databases/mysql81-server and databases/mysql81-client (diff)
net-im/tdlib-purple: add replacement for telegram-purple.
Deprecate the latter.
-rw-r--r--net-im/Makefile1
-rw-r--r--net-im/tdlib-purple/Makefile46
-rw-r--r--net-im/tdlib-purple/distinfo5
-rw-r--r--net-im/tdlib-purple/files/patch-CMakeLists.txt17
-rw-r--r--net-im/tdlib-purple/files/patch-format.cpp8
-rw-r--r--net-im/tdlib-purple/files/patch-test-CMakeLists.txt9
-rw-r--r--net-im/tdlib-purple/pkg-descr3
-rw-r--r--net-im/tdlib-purple/pkg-plist9
-rw-r--r--net-im/telegram-purple/Makefile3
-rw-r--r--net-im/telegram-purple/files/patch-warnings40
10 files changed, 141 insertions, 0 deletions
diff --git a/net-im/Makefile b/net-im/Makefile
index 92028e973106..cb3485878b41 100644
--- a/net-im/Makefile
+++ b/net-im/Makefile
@@ -142,6 +142,7 @@
SUBDIR += sshout
SUBDIR += talkatu
SUBDIR += tdlib
+ SUBDIR += tdlib-purple
SUBDIR += teamwords
SUBDIR += telegram-cli
SUBDIR += telegram-desktop
diff --git a/net-im/tdlib-purple/Makefile b/net-im/tdlib-purple/Makefile
new file mode 100644
index 000000000000..1f40824104b9
--- /dev/null
+++ b/net-im/tdlib-purple/Makefile
@@ -0,0 +1,46 @@
+PORTNAME= tdlib-purple
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.8.1
+CATEGORIES= net-im
+
+PATCH_SITES= https://github.com/ars3niy/tdlib-purple/commit/
+PATCHFILES+= 8c87b899ddbec32.patch:-p1 # https://github.com/ars3niy/tdlib-purple/pull/154
+
+MAINTAINER= mi@aldan.algebra.com
+COMMENT= Telegram plugin for libpurple, using tdlib
+WWW= https://github.com/ars3niy/tdlib-purple
+
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+LIB_DEPENDS= libfmt.so:textproc/fmtlib \
+ libtdapi.so:net-im/tdlib \
+ librlottie.so:graphics/rlottie \
+ libwebp.so:graphics/webp \
+ libpng.so:graphics/png
+TEST_LIB_DEPENDS=libgtest.so:devel/googletest
+
+USES= cmake localbase
+
+USE_GITHUB= yeah
+GH_ACCOUNT= ars3niy
+
+OPTIONS_DEFINE= NLS TEST
+OPTIONS_DEFAULT=NLS
+OPTIONS_SUB= yes
+TEST_DESC= Do not enable, tests are broken
+
+CMAKE_ON+= NoVoip # tgvoip is yet to be ported
+CMAKE_ON+= NoBundledLottie # Using graphics/rlottie
+NLS_CMAKE_OFF+= -DNoTranslations=1
+
+EXTRACT_AFTER_ARGS=--exclude rlottie --exclude fmt
+
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MTEST}
+WARNING+= "Tests are stale at this time and are likely to fail to compile"
+TEST_TARGET= tests
+.endif
+
+.include <bsd.port.mk>
diff --git a/net-im/tdlib-purple/distinfo b/net-im/tdlib-purple/distinfo
new file mode 100644
index 000000000000..d8975e6dc44a
--- /dev/null
+++ b/net-im/tdlib-purple/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1702875649
+SHA256 (ars3niy-tdlib-purple-v0.8.1_GH0.tar.gz) = 8eb8b10c714368d7435d34ccda66a918e59c4cb4d2f49b6e16a246a78abd1a62
+SIZE (ars3niy-tdlib-purple-v0.8.1_GH0.tar.gz) = 776564
+SHA256 (8c87b899ddbec32.patch) = b6861f1129a8e17564c2f4abfc264fc95801ad22d00326c3c05d3003fd1b3832
+SIZE (8c87b899ddbec32.patch) = 11742
diff --git a/net-im/tdlib-purple/files/patch-CMakeLists.txt b/net-im/tdlib-purple/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..5b386e95225a
--- /dev/null
+++ b/net-im/tdlib-purple/files/patch-CMakeLists.txt
@@ -0,0 +1,17 @@
+--- CMakeLists.txt 2021-12-17 04:50:38.000000000 -0500
++++ CMakeLists.txt 2023-12-18 00:14:18.331831000 -0500
+@@ -69,4 +69,5 @@
+ secret-chat.cpp
+ )
++target_link_libraries(telegram-tdlib PRIVATE z)
+
+ # libpurple uses the deprecated glib-type `GParameter` and the deprecated glib-macro `G_CONST_RETURN`, which
+@@ -94,7 +95,5 @@
+
+ set(BUILD_SHARED_LIBS OFF)
+-add_subdirectory(fmt)
+-target_compile_options(fmt PRIVATE -fPIC)
+-target_link_libraries(telegram-tdlib PRIVATE fmt::fmt)
++target_link_libraries(telegram-tdlib PRIVATE fmt)
+
+ if (NOT NoLottie)
diff --git a/net-im/tdlib-purple/files/patch-format.cpp b/net-im/tdlib-purple/files/patch-format.cpp
new file mode 100644
index 000000000000..5335a650997d
--- /dev/null
+++ b/net-im/tdlib-purple/files/patch-format.cpp
@@ -0,0 +1,8 @@
+--- format.cpp 2021-12-17 04:50:38.000000000 -0500
++++ format.cpp 2023-12-18 01:10:41.084981000 -0500
+@@ -1,4 +1,4 @@
+ #include "format.h"
+-#include <fmt/format.h>
++#include <fmt/args.h>
+
+ std::string formatMessage(const char *fmt, std::initializer_list<std::string> args)
diff --git a/net-im/tdlib-purple/files/patch-test-CMakeLists.txt b/net-im/tdlib-purple/files/patch-test-CMakeLists.txt
new file mode 100644
index 000000000000..6beab3b3d537
--- /dev/null
+++ b/net-im/tdlib-purple/files/patch-test-CMakeLists.txt
@@ -0,0 +1,9 @@
+--- test/CMakeLists.txt 2021-12-17 04:50:38.000000000 -0500
++++ test/CMakeLists.txt 2023-12-18 01:08:45.228855000 -0500
+@@ -41,5 +41,5 @@
+ set_property(TARGET tests PROPERTY CXX_STANDARD 14)
+ target_include_directories(tests PRIVATE ${CMAKE_SOURCE_DIR})
+-target_link_libraries(tests PRIVATE gtest fmt::fmt Td::TdStatic ${GLIB_LIBRARIES})
++target_link_libraries(tests PRIVATE gtest fmt Td::TdStatic ${GLIB_LIBRARIES})
+
+ if (DEFINED GTEST_PATH)
diff --git a/net-im/tdlib-purple/pkg-descr b/net-im/tdlib-purple/pkg-descr
new file mode 100644
index 000000000000..3fa3f92642ca
--- /dev/null
+++ b/net-im/tdlib-purple/pkg-descr
@@ -0,0 +1,3 @@
+The new libpurple plugin for accessing Telegram.
+
+This is meant as a successor for telegram-purple.
diff --git a/net-im/tdlib-purple/pkg-plist b/net-im/tdlib-purple/pkg-plist
new file mode 100644
index 000000000000..69e3f9f0c9ae
--- /dev/null
+++ b/net-im/tdlib-purple/pkg-plist
@@ -0,0 +1,9 @@
+lib/purple-2/libtelegram-tdlib.so
+share/pixmaps/pidgin/protocols/16/telegram.png
+share/pixmaps/pidgin/protocols/22/telegram.png
+share/pixmaps/pidgin/protocols/48/telegram.png
+share/metainfo/tdlib-purple.metainfo.xml
+%%NLS%%share/locale/cs/LC_MESSAGES/tdlib-purple.mo
+%%NLS%%share/locale/de/LC_MESSAGES/tdlib-purple.mo
+%%NLS%%share/locale/pl/LC_MESSAGES/tdlib-purple.mo
+%%NLS%%share/locale/sq/LC_MESSAGES/tdlib-purple.mo
diff --git a/net-im/telegram-purple/Makefile b/net-im/telegram-purple/Makefile
index 8af4962619d3..6dfe6e3d8981 100644
--- a/net-im/telegram-purple/Makefile
+++ b/net-im/telegram-purple/Makefile
@@ -11,6 +11,9 @@ WWW= https://github.com/majn/telegram-purple
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/COPYING
+DEPRECATED= No longer works, migrate to net-im/tdlib-purple
+EXPIRATION_DATE=2024-03-17
+
BROKEN_armv6= fails to link: undefined reference to 'backtrace'
BROKEN_powerpc64= fails to compile: Assertion failed: (get_int () == TLS_SCHEMA_V2), function parse_tlo_file, file generate.c, line 2832.
BROKEN_sparc64= fails to compile: assertion fails
diff --git a/net-im/telegram-purple/files/patch-warnings b/net-im/telegram-purple/files/patch-warnings
new file mode 100644
index 000000000000..553cd2522e33
--- /dev/null
+++ b/net-im/telegram-purple/files/patch-warnings
@@ -0,0 +1,40 @@
+--- tgl/generate.c 2020-04-27 07:49:17.000000000 -0400
++++ tgl/generate.c 2022-05-22 17:18:25.245975000 -0400
+@@ -328,5 +328,4 @@
+ struct tl_tree_type *t1;
+ struct tl_tree_array *t2;
+- int y;
+ int L = strlen (cur_name);
+ char *fail = fun == 1 ? "return 0;" : fun == -1 ? "return;" : "return -1;";
+@@ -353,9 +352,9 @@
+
+ sprintf (cur_name + L, "->params[0]");
+- y = gen_uni_skip (t2->multiplicity, cur_name, vars, 0, fun);
++ gen_uni_skip (t2->multiplicity, cur_name, vars, 0, fun);
+ cur_name[L] = 0;
+
+ sprintf (cur_name + L, "->params[1]");
+- y += gen_uni_skip (t2->args[0]->type, cur_name, vars, 0, fun);
++ gen_uni_skip (t2->args[0]->type, cur_name, vars, 0, fun);
+ cur_name[L] = 0;
+ return 0;
+--- telegram-purple.c 2021-04-04 11:44:49.000000000 -0400
++++ telegram-purple.c 2022-05-22 17:21:25.278082000 -0400
+@@ -801,4 +801,7 @@
+ NULL, // add_buddy_with_invite
+- NULL // add_buddies_with_invite
++ NULL, // add_buddies_with_invite
++ NULL, // get_cb_alias
++ NULL, // chat_can_receive_file
++ NULL, // chat_send_file
+ };
+
+--- tgp-msg.c 2021-04-04 11:44:49.000000000 -0400
++++ tgp-msg.c 2022-05-22 17:26:06.344212000 -0400
+@@ -389,5 +389,5 @@
+ debug ("sending img='%s'", tmp);
+ tgl_do_send_document (TLS, to, tmp, NULL, 0,
+- TGL_SEND_MSG_FLAG_DOCUMENT_AUTO | (tgl_get_peer_type (to) == TGL_PEER_CHANNEL) ? TGLMF_POST_AS_CHANNEL : 0,
++ TGL_SEND_MSG_FLAG_DOCUMENT_AUTO | ((tgl_get_peer_type (to) == TGL_PEER_CHANNEL) ? TGLMF_POST_AS_CHANNEL : 0),
+ send_inline_picture_done, NULL);
+ } else {