unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: ludo@gnu.org (Ludovic Courtès)
To: "Tomáš Čech" <sleep_walker@gnu.org>
Cc: 32727-done@debbugs.gnu.org
Subject: bug#32727: [PATCH] gnu: Add telegram-purple.
Date: Sat, 27 Oct 2018 16:35:03 +0200	[thread overview]
Message-ID: <87h8h7a25k.fsf@gnu.org> (raw)
In-Reply-To: <20181021161813.3141-1-sleep_walker@gnu.org> ("Tomáš Čech"'s message of "Sun, 21 Oct 2018 18:18:13 +0200")

[-- 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.

  reply	other threads:[~2018-10-27 14:36 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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         ` Ludovic Courtès [this message]
2018-10-27 14:57           ` Tomáš Čech
2018-10-28 22:27             ` Ludovic Courtès
2018-09-13 16:39 ` Leo Famulari

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87h8h7a25k.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=32727-done@debbugs.gnu.org \
    --cc=sleep_walker@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).