GNU bug report logs - #32727
[PATCH] gnu: Add telegram-purple.

Previous Next

Package: guix-patches;

Reported by: Tomáš Čech <sleep_walker <at> gnu.org>

Date: Thu, 13 Sep 2018 11:46:01 UTC

Severity: normal

Tags: patch

Done: ludo <at> gnu.org (Ludovic Courtès)

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 32727 in the body.
You can then email your comments to 32727 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#32727; Package guix-patches. (Thu, 13 Sep 2018 11:46:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Tomáš Čech <sleep_walker <at> gnu.org>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Thu, 13 Sep 2018 11:46:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Tomáš Čech <sleep_walker <at> gnu.org>
To: guix-patches <at> gnu.org
Cc: Tomáš Čech <sleep_walker <at> gnu.org>
Subject: [PATCH] gnu: Add telegram-purple.
Date: Thu, 13 Sep 2018 13:45:24 +0200
* gnu/packages/messaging.scm (telegram-purple): New variable.
---
 gnu/packages/messaging.scm | 70 +++++++++++++++++++++++++++++++++++++-
 1 file changed, 69 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 42a0847b7..90c1b7b47 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -96,7 +96,8 @@
   #:use-module (gnu packages less)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages photo)
-  #:use-module (gnu packages texinfo))
+  #:use-module (gnu packages texinfo)
+  #:use-module (gnu packages version-control))
 
 (define-public libotr
   (package
@@ -1719,4 +1720,71 @@ QMatrixClient project.")
     (license (list license:gpl3+ ; all source code
                    license:lgpl3+)))) ; icons/breeze
 
+(define-public telegram-purple
+  (package
+    (name "telegram-purple")
+    (version "1.3.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/majn/telegram-purple")
+                    (commit (string-append "v" version))
+                    (recursive? #t)))
+              (sha256
+               (base32
+                "0p93jpjpx7hszwffzgixw04zkrpsiyzz4za3gfr4j07krc4771fp"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("git" ,git)
+       ("which" ,which)))
+    (inputs
+     `(("pidgin" ,pidgin)
+       ("libgcrypt" ,libgcrypt)
+       ("libwebp" ,libwebp)
+       ("glib" ,glib)
+       ("gettext" ,gnu-gettext)
+       ("gtk+" ,gtk+-2)
+       ("zlib" ,zlib)))
+    (arguments
+     `(#:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (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"))))))
+         (replace 'configure
+           ;; configure does not work followed by both "SHELL=..." and
+           ;; "CONFIG_SHELL=..."; set environment variables instead
+           (lambda* (#:key outputs configure-flags #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (bash (which "bash"))
+                    (flags `(,(string-append "--prefix=" out)
+                             ,@configure-flags)))
+               (setenv "SHELL" bash)
+               (setenv "CONFIG_SHELL" bash)
+               (apply invoke "./configure" flags))))
+         (replace 'install
+           ;; install is trying to use pidgin's lib directory instead of
+           ;; its own
+           (lambda* (#:key outputs configure-flags #:allow-other-keys)
+             (let* ((tgt (string-append (assoc-ref outputs "out")
+                                        "/lib/purple-2/")))
+               (mkdir-p tgt)
+               (install-file "bin/telegram-purple.so"
+                             tgt)))))))
+    ;; gettext
+    (home-page "https://github.com/majn/telegram-purple")
+    (synopsis "Telegram support for pidgin")
+    (description "Telegram protocol support for pidgin.")
+    (license license:gpl2+))))
+
 ;;; messaging.scm ends here
-- 
2.18.0





Information forwarded to guix-patches <at> gnu.org:
bug#32727; Package guix-patches. (Thu, 13 Sep 2018 11:51:01 GMT) Full text and rfc822 format available.

Message #8 received at 32727 <at> debbugs.gnu.org (full text, mbox):

From: Tomáš Čech <sleep_walker <at> gnu.org>
To: 32727 <at> debbugs.gnu.org
Cc: Tomáš Čech <sleep_walker <at> gnu.org>
Subject: [PATCH] gnu: Add telegram-purple.
Date: Thu, 13 Sep 2018 13:49:58 +0200
* gnu/packages/messaging.scm (telegram-purple): New variable.
---
 gnu/packages/messaging.scm | 70 +++++++++++++++++++++++++++++++++++++-
 1 file changed, 69 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 42a0847b7..22865ead5 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -96,7 +96,8 @@
   #:use-module (gnu packages less)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages photo)
-  #:use-module (gnu packages texinfo))
+  #:use-module (gnu packages texinfo)
+  #:use-module (gnu packages version-control))
 
 (define-public libotr
   (package
@@ -1719,4 +1720,71 @@ QMatrixClient project.")
     (license (list license:gpl3+ ; all source code
                    license:lgpl3+)))) ; icons/breeze
 
+(define-public telegram-purple
+  (package
+    (name "telegram-purple")
+    (version "1.3.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/majn/telegram-purple")
+                    (commit (string-append "v" version))
+                    (recursive? #t)))
+              (sha256
+               (base32
+                "0p93jpjpx7hszwffzgixw04zkrpsiyzz4za3gfr4j07krc4771fp"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("git" ,git)
+       ("which" ,which)))
+    (inputs
+     `(("pidgin" ,pidgin)
+       ("libgcrypt" ,libgcrypt)
+       ("libwebp" ,libwebp)
+       ("glib" ,glib)
+       ("gettext" ,gnu-gettext)
+       ("gtk+" ,gtk+-2)
+       ("zlib" ,zlib)))
+    (arguments
+     `(#:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (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"))))))
+         (replace 'configure
+           ;; configure does not work followed by both "SHELL=..." and
+           ;; "CONFIG_SHELL=..."; set environment variables instead
+           (lambda* (#:key outputs configure-flags #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (bash (which "bash"))
+                    (flags `(,(string-append "--prefix=" out)
+                             ,@configure-flags)))
+               (setenv "SHELL" bash)
+               (setenv "CONFIG_SHELL" bash)
+               (apply invoke "./configure" flags))))
+         (replace 'install
+           ;; install is trying to use pidgin's lib directory instead of
+           ;; its own
+           (lambda* (#:key outputs configure-flags #:allow-other-keys)
+             (let* ((tgt (string-append (assoc-ref outputs "out")
+                                        "/lib/purple-2/")))
+               (mkdir-p tgt)
+               (install-file "bin/telegram-purple.so"
+                             tgt)))))))
+    ;; gettext
+    (home-page "https://github.com/majn/telegram-purple")
+    (synopsis "Telegram support for pidgin")
+    (description "Telegram protocol support for pidgin.")
+    (license license:gpl2+)))
+
 ;;; messaging.scm ends here
-- 
2.18.0





Information forwarded to guix-patches <at> gnu.org:
bug#32727; Package guix-patches. (Thu, 13 Sep 2018 12:22:01 GMT) Full text and rfc822 format available.

Message #11 received at 32727 <at> debbugs.gnu.org (full text, mbox):

From: Tomáš Čech <sleep_walker <at> gnu.org>
To: 32727 <at> debbugs.gnu.org
Cc: Tomáš Čech <sleep_walker <at> gnu.org>
Subject: [PATCH] gnu: Add telegram-purple.
Date: Thu, 13 Sep 2018 14:20:56 +0200
* gnu/packages/messaging.scm (telegram-purple): New variable.
---
 gnu/packages/messaging.scm | 66 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 66 insertions(+)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 42a0847b7..e1df38a2d 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -1719,4 +1719,70 @@ QMatrixClient project.")
     (license (list license:gpl3+ ; all source code
                    license:lgpl3+)))) ; icons/breeze
 
+(define-public telegram-purple
+  (package
+    (name "telegram-purple")
+    (version "1.3.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/majn/telegram-purple")
+                    (commit (string-append "v" version))
+                    (recursive? #t)))
+              (sha256
+               (base32
+                "0p93jpjpx7hszwffzgixw04zkrpsiyzz4za3gfr4j07krc4771fp"))))
+    (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
+     `(#:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (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"))))))
+         (replace 'configure
+           ;; configure does not work followed by both "SHELL=..." and
+           ;; "CONFIG_SHELL=..."; set environment variables instead
+           (lambda* (#:key outputs configure-flags #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (bash (which "bash"))
+                    (flags `(,(string-append "--prefix=" out)
+                             ,@configure-flags)))
+               (setenv "SHELL" bash)
+               (setenv "CONFIG_SHELL" bash)
+               (apply invoke "./configure" flags))))
+         (replace 'install
+           ;; install is trying to use pidgin's lib directory instead of
+           ;; its own
+           (lambda* (#:key outputs configure-flags #:allow-other-keys)
+             (let* ((tgt (string-append (assoc-ref outputs "out")
+                                        "/lib/purple-2/")))
+               (mkdir-p tgt)
+               (install-file "bin/telegram-purple.so"
+                             tgt)))))))
+    ;; gettext
+    (home-page "https://github.com/majn/telegram-purple")
+    (synopsis "Telegram support for pidgin")
+    (description "Telegram protocol support for pidgin.")
+    (license license:gpl2+)))
+
 ;;; messaging.scm ends here
-- 
2.18.0





Information forwarded to guix-patches <at> gnu.org:
bug#32727; Package guix-patches. (Thu, 13 Sep 2018 16:40:02 GMT) Full text and rfc822 format available.

Message #14 received at 32727 <at> debbugs.gnu.org (full text, mbox):

From: Leo Famulari <leo <at> famulari.name>
To: Tomáš Čech <sleep_walker <at> gnu.org>
Cc: 32727 <at> debbugs.gnu.org
Subject: Re: [bug#32727] [PATCH] gnu: Add telegram-purple.
Date: Thu, 13 Sep 2018 12:39:30 -0400
[Message part 1 (text/plain, inline)]
On Thu, Sep 13, 2018 at 01:45:24PM +0200, Tomáš Čech wrote:
> * gnu/packages/messaging.scm (telegram-purple): New variable.

Thanks! Can you let us know which version of the patch (I see 3) you're
proposing?
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#32727; Package guix-patches. (Sun, 16 Sep 2018 00:59:02 GMT) Full text and rfc822 format available.

Message #17 received at 32727 <at> debbugs.gnu.org (full text, mbox):

From: Leo Famulari <leo <at> famulari.name>
To: Tomáš Čech <sleep_walker <at> gnu.org>
Cc: 32727 <at> debbugs.gnu.org
Subject: Re: [bug#32727] [PATCH] gnu: Add telegram-purple.
Date: Sat, 15 Sep 2018 20:58:15 -0400
[Message part 1 (text/plain, inline)]
On Thu, Sep 13, 2018 at 02:20:56PM +0200, Tomáš Čech wrote:
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/majn/telegram-purple")
> +                    (commit (string-append "v" version))
> +                    (recursive? #t)))

This recursive Git clone brings brings two libraries with it, 'tgl' and
'tl-parser':

https://github.com/majn/tgl/
https://github.com/vysheng/tl-parser

Is it possible to include these as their own separate Guix packages?
Would anything else potentially use them?

In general we try to avoid bundling things, but sometimes the effort is
not worth it.

> +     `(#:tests? #f

If there are no tests, please add a comment like "No test suite". Or
else leave a comment explaining why we skip the tests.

> +         (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"))))))

Can you add a brief comment explaining this?

> +    (description "Telegram protocol support for pidgin.")

To make it a complete sentence, how about ""Telegram-purple is a Libpurple
protocol plugin that adds support for the Telegram messenger."?
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#32727; Package guix-patches. (Tue, 02 Oct 2018 09:50:01 GMT) Full text and rfc822 format available.

Message #20 received at 32727 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Leo Famulari <leo <at> famulari.name>
Cc: 32727 <at> debbugs.gnu.org,
 Tomáš Čech <sleep_walker <at> gnu.org>
Subject: Re: [bug#32727] [PATCH] gnu: Add telegram-purple.
Date: Tue, 02 Oct 2018 11:48:51 +0200
Hello!

Tomáš, did you have a chance to look into this?

Thanks,
Ludo’.

Leo Famulari <leo <at> famulari.name> skribis:

> On Thu, Sep 13, 2018 at 02:20:56PM +0200, Tomáš Čech wrote:
>> +    (source (origin
>> +              (method git-fetch)
>> +              (uri (git-reference
>> +                    (url "https://github.com/majn/telegram-purple")
>> +                    (commit (string-append "v" version))
>> +                    (recursive? #t)))
>
> This recursive Git clone brings brings two libraries with it, 'tgl' and
> 'tl-parser':
>
> https://github.com/majn/tgl/
> https://github.com/vysheng/tl-parser
>
> Is it possible to include these as their own separate Guix packages?
> Would anything else potentially use them?
>
> In general we try to avoid bundling things, but sometimes the effort is
> not worth it.
>
>> +     `(#:tests? #f
>
> If there are no tests, please add a comment like "No test suite". Or
> else leave a comment explaining why we skip the tests.
>
>> +         (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"))))))
>
> Can you add a brief comment explaining this?
>
>> +    (description "Telegram protocol support for pidgin.")
>
> To make it a complete sentence, how about ""Telegram-purple is a Libpurple
> protocol plugin that adds support for the Telegram messenger."?




Information forwarded to guix-patches <at> gnu.org:
bug#32727; Package guix-patches. (Sun, 21 Oct 2018 16:19:01 GMT) Full text and rfc822 format available.

Message #23 received at 32727 <at> debbugs.gnu.org (full text, mbox):

From: Tomáš Čech <sleep_walker <at> gnu.org>
To: 32727 <at> debbugs.gnu.org
Cc: Tomáš Čech <sleep_walker <at> gnu.org>
Subject: [PATCH] gnu: Add telegram-purple.
Date: Sun, 21 Oct 2018 18:18:13 +0200
* gnu/packages/messaging.scm (telegram-purple): New variable.
---
 gnu/packages/messaging.scm | 73 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 73 insertions(+)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index d50732dfc..b3ee19953 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -1720,4 +1720,77 @@ QMatrixClient project.")
     (license (list license:gpl3+ ; all source code
                    license:lgpl3+)))) ; icons/breeze
 
+(define-public telegram-purple
+  (package
+    (name "telegram-purple")
+    (version "1.3.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/majn/telegram-purple")
+                    (commit (string-append "v" version))
+                    (recursive? #t)))
+              (sha256
+               (base32
+                "0p93jpjpx7hszwffzgixw04zkrpsiyzz4za3gfr4j07krc4771fp"))))
+    (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
+     `(;; disable tests for now - tests are failing on pidgin path
+       ;; verification but it seems to be harmless
+       #:tests? #f
+       #: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"))))))
+         (replace 'configure
+           ;; configure does not work followed by both "SHELL=..." and
+           ;; "CONFIG_SHELL=..."; set environment variables instead
+           (lambda* (#:key outputs configure-flags #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (bash (which "bash"))
+                    (flags `(,(string-append "--prefix=" out)
+                             ,@configure-flags)))
+               (setenv "SHELL" bash)
+               (setenv "CONFIG_SHELL" bash)
+               (apply invoke "./configure" flags))))
+         (replace 'install
+           ;; install is trying to use pidgin's lib directory instead of
+           ;; its own
+           (lambda* (#:key outputs configure-flags #:allow-other-keys)
+             (let* ((tgt (string-append (assoc-ref outputs "out")
+                                        "/lib/purple-2/")))
+               (mkdir-p tgt)
+               (install-file "bin/telegram-purple.so"
+                             tgt)))))))
+    ;; gettext
+    (home-page "https://github.com/majn/telegram-purple")
+    (synopsis "Telegram support for pidgin")
+    (description "Telegram-purple is a Libpurple protocol plugin that adds
+support for the Telegram messenger.")
+    (license license:gpl2+)))
+
 ;;; messaging.scm ends here
-- 
2.19.1





Reply sent to ludo <at> gnu.org (Ludovic Courtès):
You have taken responsibility. (Sat, 27 Oct 2018 14:36:02 GMT) Full text and rfc822 format available.

Notification sent to Tomáš Čech <sleep_walker <at> gnu.org>:
bug acknowledged by developer. (Sat, 27 Oct 2018 14:36:02 GMT) Full text and rfc822 format available.

Message #28 received at 32727-done <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Tomáš Čech <sleep_walker <at> gnu.org>
Cc: 32727-done <at> debbugs.gnu.org
Subject: Re: [bug#32727] [PATCH] gnu: Add telegram-purple.
Date: Sat, 27 Oct 2018 16:35:03 +0200
[Message part 1 (text/plain, inline)]
Hello Tomáš,

Tomáš Čech <sleep_walker <at> gnu.org> skribis:

> * gnu/packages/messaging.scm (telegram-purple): New variable.

I’ve applied this patch but I ended up making substantial changes (patch
attached), in particular:

  • Arrange to run “make install” so that all the files get installed
    (locales, icons, etc.) and not just the .so;

  • Adjust the test/loadtest.c so that it actually runs;

  • Arrange to keep the standard ‘configure’ phase rather than
    overriding it.

The other changes are more cosmetic.

Are we really more picky than openSuSE?  :-)

Thank you,
Ludo’.

[Message part 2 (text/x-patch, inline)]
diff --git a/gnu/local.mk b/gnu/local.mk
index c46f3a8c4a..ba86d556a0 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1166,6 +1166,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/tcsh-fix-out-of-bounds-read.patch	\
   %D%/packages/patches/teensy-loader-cli-help.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-i18n.patch			\
   %D%/packages/patches/thefuck-test-environ.patch		\
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index dd937ef53e..0d818514a7 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -1767,15 +1767,35 @@ messaging that aren’t available to clients that connect over XMPP.")
   (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 "https://github.com/majn/telegram-purple")
+                    (url home-page)
                     (commit (string-append "v" version))
                     (recursive? #t)))
               (sha256
                (base32
-                "0p93jpjpx7hszwffzgixw04zkrpsiyzz4za3gfr4j07krc4771fp"))))
+                "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)
@@ -1791,7 +1811,7 @@ messaging that aren’t available to clients that connect over XMPP.")
     (arguments
      `(;; disable tests for now - tests are failing on pidgin path
        ;; verification but it seems to be harmless
-       #:tests? #f
+       #:tests? #t
        #:phases
        (modify-phases %standard-phases
          ;; We're using release tag for repository checkout - let's prepare
@@ -1808,32 +1828,24 @@ messaging that aren’t available to clients that connect over XMPP.")
                                  "#ifndef GIT_COMMIT\n"
                                  "#  define GIT_COMMIT \"v"
                                  ,version "\"\n"
-                                 "#endif\n"))))))
-         (replace 'configure
-           ;; configure does not work followed by both "SHELL=..." and
-           ;; "CONFIG_SHELL=..."; set environment variables instead
-           (lambda* (#:key outputs configure-flags #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (bash (which "bash"))
-                    (flags `(,(string-append "--prefix=" out)
-                             ,@configure-flags)))
+                                 "#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)
-               (apply invoke "./configure" flags))))
-         (replace 'install
-           ;; install is trying to use pidgin's lib directory instead of
-           ;; its own
-           (lambda* (#:key outputs configure-flags #:allow-other-keys)
-             (let* ((tgt (string-append (assoc-ref outputs "out")
-                                        "/lib/purple-2/")))
-               (mkdir-p tgt)
-               (install-file "bin/telegram-purple.so"
-                             tgt)))))))
-    ;; gettext
-    (home-page "https://github.com/majn/telegram-purple")
-    (synopsis "Telegram support for pidgin")
-    (description "Telegram-purple is a Libpurple protocol plugin that adds
-support for the Telegram messenger.")
+               #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
diff --git a/gnu/packages/patches/telegram-purple-adjust-test.patch b/gnu/packages/patches/telegram-purple-adjust-test.patch
new file mode 100644
index 0000000000..db3b497d5d
--- /dev/null
+++ b/gnu/packages/patches/telegram-purple-adjust-test.patch
@@ -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.

Information forwarded to guix-patches <at> gnu.org:
bug#32727; Package guix-patches. (Sat, 27 Oct 2018 14:59:01 GMT) Full text and rfc822 format available.

Message #31 received at 32727-done <at> debbugs.gnu.org (full text, mbox):

From: Tomáš Čech <sleep_walker <at> gnu.org>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 32727-done <at> debbugs.gnu.org
Subject: Re: [bug#32727] [PATCH] gnu: Add telegram-purple.
Date: Sat, 27 Oct 2018 16:57:55 +0200
[Message part 1 (text/plain, inline)]
On Sat, Oct 27, 2018 at 04:35:03PM +0200, Ludovic Courtès wrote:
>Hello Tomáš,
>
>Tomáš Čech <sleep_walker <at> gnu.org> skribis:
>
>> * gnu/packages/messaging.scm (telegram-purple): New variable.
>
>I’ve applied this patch but I ended up making substantial changes (patch
>attached), in particular:
>
>  • Arrange to run “make install” so that all the files get installed
>    (locales, icons, etc.) and not just the .so;
>
>  • Adjust the test/loadtest.c so that it actually runs;
>
>  • Arrange to keep the standard ‘configure’ phase rather than
>    overriding it.
>
>The other changes are more cosmetic.

Thanks! You didn't have to do that by yourself, really. I would
eventually made it if you wouldn't accept that.

>
>Are we really more picky than openSuSE?  :-)

Yes, you definitely are! And it is good that way, don't lower your
(our) standards!


Best regards,

S_W


[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#32727; Package guix-patches. (Sun, 28 Oct 2018 22:28:01 GMT) Full text and rfc822 format available.

Message #34 received at 32727-done <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Tomáš Čech <sleep_walker <at> gnu.org>
Cc: 32727-done <at> debbugs.gnu.org
Subject: Re: [bug#32727] [PATCH] gnu: Add telegram-purple.
Date: Sun, 28 Oct 2018 23:27:31 +0100
Hello!

Tomáš Čech <sleep_walker <at> gnu.org> skribis:

> On Sat, Oct 27, 2018 at 04:35:03PM +0200, Ludovic Courtès wrote:

[...]

>>I’ve applied this patch but I ended up making substantial changes (patch
>>attached), in particular:
>>
>>  • Arrange to run “make install” so that all the files get installed
>>    (locales, icons, etc.) and not just the .so;
>>
>>  • Adjust the test/loadtest.c so that it actually runs;
>>
>>  • Arrange to keep the standard ‘configure’ phase rather than
>>    overriding it.
>>
>>The other changes are more cosmetic.
>
> Thanks! You didn't have to do that by yourself, really. I would
> eventually made it if you wouldn't accept that.

OK, noted!  (Initially I didn’t mean to dig into it but as I was
replying I found myself effectively going deeper than expected…)

>>Are we really more picky than openSuSE?  :-)
>
> Yes, you definitely are! And it is good that way, don't lower your
> (our) standards!

Heh, thanks!

Ludo’.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 26 Nov 2018 12:24:06 GMT) Full text and rfc822 format available.

This bug report was last modified 5 years and 147 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.