unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#32727] [PATCH] gnu: Add telegram-purple.
@ 2018-09-13 11:45 Tomáš Čech
  2018-09-13 11:49 ` Tomáš Čech
  2018-09-13 16:39 ` Leo Famulari
  0 siblings, 2 replies; 10+ messages in thread
From: Tomáš Čech @ 2018-09-13 11:45 UTC (permalink / raw)
  To: 32727

* 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

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [bug#32727] [PATCH] gnu: Add telegram-purple.
  2018-09-13 11:45 [bug#32727] [PATCH] gnu: Add telegram-purple Tomáš Čech
@ 2018-09-13 11:49 ` Tomáš Čech
  2018-09-13 12:20   ` Tomáš Čech
  2018-09-13 16:39 ` Leo Famulari
  1 sibling, 1 reply; 10+ messages in thread
From: Tomáš Čech @ 2018-09-13 11:49 UTC (permalink / raw)
  To: 32727

* 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

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [bug#32727] [PATCH] gnu: Add telegram-purple.
  2018-09-13 11:49 ` Tomáš Čech
@ 2018-09-13 12:20   ` Tomáš Čech
  2018-09-16  0:58     ` Leo Famulari
  0 siblings, 1 reply; 10+ messages in thread
From: Tomáš Čech @ 2018-09-13 12:20 UTC (permalink / raw)
  To: 32727

* 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

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [bug#32727] [PATCH] gnu: Add telegram-purple.
  2018-09-13 11:45 [bug#32727] [PATCH] gnu: Add telegram-purple Tomáš Čech
  2018-09-13 11:49 ` Tomáš Čech
@ 2018-09-13 16:39 ` Leo Famulari
  1 sibling, 0 replies; 10+ messages in thread
From: Leo Famulari @ 2018-09-13 16:39 UTC (permalink / raw)
  To: Tomáš Čech; +Cc: 32727

[-- Attachment #1: Type: text/plain, Size: 216 bytes --]

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?

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [bug#32727] [PATCH] gnu: Add telegram-purple.
  2018-09-13 12:20   ` Tomáš Čech
@ 2018-09-16  0:58     ` Leo Famulari
  2018-10-02  9:48       ` Ludovic Courtès
  2018-10-21 16:18       ` Tomáš Čech
  0 siblings, 2 replies; 10+ messages in thread
From: Leo Famulari @ 2018-09-16  0:58 UTC (permalink / raw)
  To: Tomáš Čech; +Cc: 32727

[-- Attachment #1: Type: text/plain, Size: 1661 bytes --]

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."?

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [bug#32727] [PATCH] gnu: Add telegram-purple.
  2018-09-16  0:58     ` Leo Famulari
@ 2018-10-02  9:48       ` Ludovic Courtès
  2018-10-21 16:18       ` Tomáš Čech
  1 sibling, 0 replies; 10+ messages in thread
From: Ludovic Courtès @ 2018-10-02  9:48 UTC (permalink / raw)
  To: Leo Famulari; +Cc: 32727

Hello!

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

Thanks,
Ludo’.

Leo Famulari <leo@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."?

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [bug#32727] [PATCH] gnu: Add telegram-purple.
  2018-09-16  0:58     ` Leo Famulari
  2018-10-02  9:48       ` Ludovic Courtès
@ 2018-10-21 16:18       ` Tomáš Čech
  2018-10-27 14:35         ` bug#32727: " Ludovic Courtès
  1 sibling, 1 reply; 10+ messages in thread
From: Tomáš Čech @ 2018-10-21 16:18 UTC (permalink / raw)
  To: 32727

* 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

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* bug#32727: [PATCH] gnu: Add telegram-purple.
  2018-10-21 16:18       ` Tomáš Čech
@ 2018-10-27 14:35         ` Ludovic Courtès
  2018-10-27 14:57           ` [bug#32727] " Tomáš Čech
  0 siblings, 1 reply; 10+ messages in thread
From: Ludovic Courtès @ 2018-10-27 14:35 UTC (permalink / raw)
  To: Tomáš Čech; +Cc: 32727-done

[-- Attachment #1: Type: text/plain, Size: 634 bytes --]

Hello Tomáš,

Tomáš Čech <sleep_walker@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’.


[-- Attachment #2: Type: text/x-patch, Size: 6426 bytes --]

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.

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [bug#32727] [PATCH] gnu: Add telegram-purple.
  2018-10-27 14:35         ` bug#32727: " Ludovic Courtès
@ 2018-10-27 14:57           ` Tomáš Čech
  2018-10-28 22:27             ` Ludovic Courtès
  0 siblings, 1 reply; 10+ messages in thread
From: Tomáš Čech @ 2018-10-27 14:57 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 32727-done

[-- Attachment #1: Type: text/plain, Size: 931 bytes --]

On Sat, Oct 27, 2018 at 04:35:03PM +0200, Ludovic Courtès wrote:
>Hello Tomáš,
>
>Tomáš Čech <sleep_walker@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



[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [bug#32727] [PATCH] gnu: Add telegram-purple.
  2018-10-27 14:57           ` [bug#32727] " Tomáš Čech
@ 2018-10-28 22:27             ` Ludovic Courtès
  0 siblings, 0 replies; 10+ messages in thread
From: Ludovic Courtès @ 2018-10-28 22:27 UTC (permalink / raw)
  To: Tomáš Čech; +Cc: 32727-done

Hello!

Tomáš Čech <sleep_walker@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’.

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2018-10-28 22:28 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-13 11:45 [bug#32727] [PATCH] gnu: Add telegram-purple Tomáš Čech
2018-09-13 11:49 ` Tomáš Čech
2018-09-13 12:20   ` Tomáš Čech
2018-09-16  0:58     ` Leo Famulari
2018-10-02  9:48       ` Ludovic Courtès
2018-10-21 16:18       ` Tomáš Čech
2018-10-27 14:35         ` bug#32727: " Ludovic Courtès
2018-10-27 14:57           ` [bug#32727] " Tomáš Čech
2018-10-28 22:27             ` Ludovic Courtès
2018-09-13 16:39 ` Leo Famulari

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).