From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46002) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gGPh6-00044y-6k for guix-patches@gnu.org; Sat, 27 Oct 2018 10:36:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gGPh4-0005H9-Ub for guix-patches@gnu.org; Sat, 27 Oct 2018 10:36:04 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:41308) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gGPh4-0005Gt-Ot for guix-patches@gnu.org; Sat, 27 Oct 2018 10:36:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1gGPh4-0002U3-Lk for guix-patches@gnu.org; Sat, 27 Oct 2018 10:36:02 -0400 Subject: bug#32727: [PATCH] gnu: Add telegram-purple. Resent-To: guix-patches@gnu.org Resent-Message-ID: From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) References: <20180916005815.GA4866@jasmine.lan> <20181021161813.3141-1-sleep_walker@gnu.org> Date: Sat, 27 Oct 2018 16:35:03 +0200 In-Reply-To: <20181021161813.3141-1-sleep_walker@gnu.org> ("=?UTF-8?Q?Tom=C3=A1=C5=A1_?= =?UTF-8?Q?=C4=8Cech?="'s message of "Sun, 21 Oct 2018 18:18:13 +0200") Message-ID: <87h8h7a25k.fsf@gnu.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: =?UTF-8?Q?Tom=C3=A1=C5=A1_?= =?UTF-8?Q?=C4=8Cech?= Cc: 32727-done@debbugs.gnu.org --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hello Tom=C3=A1=C5=A1, Tom=C3=A1=C5=A1 =C4=8Cech skribis: > * gnu/packages/messaging.scm (telegram-purple): New variable. I=E2=80=99ve applied this patch but I ended up making substantial changes (= patch attached), in particular: =E2=80=A2 Arrange to run =E2=80=9Cmake install=E2=80=9D so that all the f= iles get installed (locales, icons, etc.) and not just the .so; =E2=80=A2 Adjust the test/loadtest.c so that it actually runs; =E2=80=A2 Arrange to keep the standard =E2=80=98configure=E2=80=99 phase = rather than overriding it. The other changes are more cosmetic. Are we really more picky than openSuSE? :-) Thank you, Ludo=E2=80=99. --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable 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 =3D \ %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=E2=80=99t 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=3D.*") + (string-append + "exec_prefix :=3D @exec_prefix@\n" + "PLUGIN_DIR_PURPLE :=3D @libdir@/purple-2\n")) + (("^DATA_ROOT_DIR_PURPLE=3D.*") + "DATA_ROOT_DIR_PURPLE :=3D @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=E2=80=99t available to clients th= at 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=E2=80=99t 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=3D..." and - ;; "CONFIG_SHELL=3D..."; 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=3D" 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+))) =20 ;;; messaging.scm ends here diff --git a/gnu/packages/patches/telegram-purple-adjust-test.patch b/gnu/p= ackages/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.258= 459600 +0200 ++++ telegram-purple-1.3.1-checkout/test/loadtest.c 2018-10-27 16:25:11.830= 434770 +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 =3D purple_plugins_get_search_paths (); +- assert (!search_paths->prev && !search_paths->next && search_paths->dat= a); ++ assert (!search_paths->prev && search_paths->data); + GList *new_paths =3D g_list_append (search_paths, g_strdup ("bin/")); + assert (new_paths =3D=3D search_paths); + // Load "my" path before the default. --=-=-=--