gnu: Add telegram-purple.

* gnu/packages/messaging.scm (telegram-purple): New variable.
* gnu/packages/patches/telegram-purple-adjust-test.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Tomáš Čech 2018-10-21 18:18:13 +02:00 committed by Ludovic Courtès
parent 932d160056
commit e9a041577a
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
3 changed files with 97 additions and 0 deletions

View File

@ -1166,6 +1166,7 @@ dist_patch_DATA = \
%D%/packages/patches/tcsh-fix-out-of-bounds-read.patch \ %D%/packages/patches/tcsh-fix-out-of-bounds-read.patch \
%D%/packages/patches/teensy-loader-cli-help.patch \ %D%/packages/patches/teensy-loader-cli-help.patch \
%D%/packages/patches/teeworlds-use-latest-wavpack.patch \ %D%/packages/patches/teeworlds-use-latest-wavpack.patch \
%D%/packages/patches/telegram-purple-adjust-test.patch \
%D%/packages/patches/texi2html-document-encoding.patch \ %D%/packages/patches/texi2html-document-encoding.patch \
%D%/packages/patches/texi2html-i18n.patch \ %D%/packages/patches/texi2html-i18n.patch \
%D%/packages/patches/thefuck-test-environ.patch \ %D%/packages/patches/thefuck-test-environ.patch \

View File

@ -1763,4 +1763,86 @@ non-interoperable protocol, which allows it to support features like group
messaging that arent available to clients that connect over XMPP.") messaging that arent available to clients that connect over XMPP.")
(license license:expat))) (license license:expat)))
(define-public telegram-purple
(package
(name "telegram-purple")
(version "1.3.1")
(home-page "https://github.com/majn/telegram-purple")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit (string-append "v" version))
(recursive? #t)))
(sha256
(base32
"0p93jpjpx7hszwffzgixw04zkrpsiyzz4za3gfr4j07krc4771fp"))
(modules '((guix build utils)))
(snippet
'(begin
(substitute* "Makefile.in"
;; By default these two directories point to Pidgin's own
;; prefix.
(("^PLUGIN_DIR_PURPLE=.*")
(string-append
"exec_prefix := @exec_prefix@\n"
"PLUGIN_DIR_PURPLE := @libdir@/purple-2\n"))
(("^DATA_ROOT_DIR_PURPLE=.*")
"DATA_ROOT_DIR_PURPLE := @datarootdir@\n")
;; Honor sysconfdir instead of trying to write to /etc.
(("DESTDIR\\)/etc/telegram-purple")
"DESTDIR)@sysconfdir@/telegram-purple"))
#t))
(patches (search-patches "telegram-purple-adjust-test.patch"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("which" ,which)))
(inputs
`(("pidgin" ,pidgin)
("libgcrypt" ,libgcrypt)
("libwebp" ,libwebp)
("glib" ,glib)
("gettext" ,gnu-gettext)
("gtk+" ,gtk+-2)
("zlib" ,zlib)))
(arguments
`(#:phases
(modify-phases %standard-phases
;; We're using release tag for repository checkout - let's prepare
;; header defining GIT_COMMIT manually instead of running git to
;; identify version which is being compiled. Git repository
;; is removed anyway and only source code is kept.
(add-after 'unpack 'prepare-commit.h
(lambda _
(with-output-to-file "./commit.h"
(lambda ()
(display
(string-append "//generated by guix, use version instead of "
"commit\n"
"#ifndef GIT_COMMIT\n"
"# define GIT_COMMIT \"v"
,version "\"\n"
"#endif\n"))))
#t))
(add-before 'configure 'set-SHELL-variables
;; Set these environment variables so that 'tgl/configure' uses the
;; right shell and not /bin/sh.
(lambda _
(let ((bash (which "bash")))
(setenv "SHELL" bash)
(setenv "CONFIG_SHELL" bash)
#t))))))
(synopsis "Telegram messaging support for Pidgin")
(description
"Telegram-purple is a plugin for Libpurple, the communication library
used by the Pidgin instant messaging client, that adds support for the
Telegram messenger.")
;; Code under tgl/ (the Telegram library) is LGPLv2.1+, but the plugin
;; itself is GPLv2+.
(license license:gpl2+)))
;;; messaging.scm ends here ;;; messaging.scm ends here

View File

@ -0,0 +1,14 @@
This test incorrectly expects the libpurple search path to initially
contain exactly one element. Remove this incorrect assertion.
--- telegram-purple-1.3.1-checkout/test/loadtest.c 2018-10-27 16:25:06.258459600 +0200
+++ telegram-purple-1.3.1-checkout/test/loadtest.c 2018-10-27 16:25:11.830434770 +0200
@@ -156,7 +156,7 @@ static void tdf_inject_plugin (void) {
printf ("Injecting our module into purple_plugins_* ...\n");
purple_plugins_init ();
GList *search_paths = purple_plugins_get_search_paths ();
- assert (!search_paths->prev && !search_paths->next && search_paths->data);
+ assert (!search_paths->prev && search_paths->data);
GList *new_paths = g_list_append (search_paths, g_strdup ("bin/"));
assert (new_paths == search_paths);
// Load "my" path before the default.