unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#43348] Profanity
@ 2020-09-11 19:52 Raghav Gururajan
  2020-09-12  0:51 ` Danny Milosavljevic
  0 siblings, 1 reply; 6+ messages in thread
From: Raghav Gururajan @ 2020-09-11 19:52 UTC (permalink / raw)
  To: 43348; +Cc: dannym


[-- Attachment #1.1.1: Type: text/plain, Size: 94 bytes --]

Hello Guix!

Please find the attached patch to make changed to Profanity.

Regards,
RG.

[-- Attachment #1.1.2: 0004-gnu-profanity-Revise-package-definition.patch --]
[-- Type: text/x-patch, Size: 3580 bytes --]

From ab2019fae29bc45a47e2e8a91bdbd25e53b16969 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 11 Sep 2020 15:40:52 -0400
Subject: [PATCH 4/4] gnu: profanity: Revise package definition.

* gnu/packages/messaging.scm (profanity): Add missing features.
[build-system]: Change from gnu to glib-or-gtk.
[arguments]<#:configure-flags>[--enable-python-plugins]: New flag.
[--enable-plugins]: New flag.
[--enable-icons-and-clipboard]: New flag.
[--enable-icons]: Remove flag.
[native-inputs]: Add python-wrapper. Remove autoconf-archive. Move
gtk+-2, libnotify and libsignal-protocol-c to ...
[inputs]: ... here. Add gtk+ and libstrophe.
---
 gnu/packages/messaging.scm | 58 ++++++++++++++++++++++----------------
 1 file changed, 33 insertions(+), 25 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index ae9f73dcb7..843bd44e84 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -1779,43 +1779,51 @@ are both supported).")
   (package
     (name "profanity")
     (version "0.9.5")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://profanity-im.github.io/profanity-"
-                                  version ".tar.gz"))
-              (sha256
-               (base32
-                "00j9l9v62rz9hprgiy1vrz8v3v59ph18h8kskqxr31fgqvjv5xr3"))))
-    (build-system gnu-build-system)
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://profanity-im.github.io/profanity-"
+                       version ".tar.gz"))
+       (sha256
+        (base32
+         "00j9l9v62rz9hprgiy1vrz8v3v59ph18h8kskqxr31fgqvjv5xr3"))))
+    (build-system glib-or-gtk-build-system)
     (arguments
-     '(#:configure-flags
-       (list "--enable-c-plugins"
-             "--enable-otr"
-             "--enable-omemo"
-             "--enable-pgp"
-             "--enable-icons"
-             "--enable-notifications")))
+     `(#:configure-flags
+       (list
+        "--enable-notifications"
+        "--enable-python-plugins"
+        "--enable-c-plugins"
+        "--enable-plugins"
+        "--enable-otr"
+        "--enable-pgp"
+        "--enable-omemo"
+        "--enable-icons-and-clipboard")))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("cmocka" ,cmocka)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)))
     (inputs
      `(("curl" ,curl)
        ("expat" ,expat)
        ("glib" ,glib)
        ("gpgme" ,gpgme)
+       ("gcrypt" ,libgcrypt)
+       ("gtk+" ,gtk+)
+       ("gtk+-2" ,gtk+-2)
        ("libmesode" ,libmesode)
+       ("libnotify" ,libnotify)
+       ("libsignal" ,libsignal-protocol-c)
+       ("libstrophe" ,libstrophe)
        ("libotr" ,libotr)
        ("ncurses" ,ncurses)
        ("openssl" ,openssl)
        ("readline" ,readline)
        ("sqlite" ,sqlite)))
-    (native-inputs
-     `(("autoconf" ,autoconf)
-       ("autoconf-archive" ,autoconf-archive)
-       ("automake" ,automake)
-       ("cmocka" ,cmocka)
-       ("gtk+" ,gtk+-2)
-       ("libnotify" ,libnotify)
-       ("libtool" ,libtool)
-       ("libsignal-protocol-c" ,libsignal-protocol-c)
-       ("pkg-config" ,pkg-config)))
     (synopsis "Console-based XMPP client")
     (description "Profanity is a console based XMPP client written in C
 using ncurses and libmesode, inspired by Irssi.")
-- 
2.28.0


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* [bug#43348] Profanity
  2020-09-11 19:52 [bug#43348] Profanity Raghav Gururajan
@ 2020-09-12  0:51 ` Danny Milosavljevic
  2020-09-13  4:38   ` Raghav Gururajan
  0 siblings, 1 reply; 6+ messages in thread
From: Danny Milosavljevic @ 2020-09-12  0:51 UTC (permalink / raw)
  To: Raghav Gururajan; +Cc: 43348

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

Hi RG,

please, for existing packages, try to be as clear as possible in the commit
messages in what is changed (only one related set of things should be changed
per commit).

In this case the commit confounds things:

* Changing the build-system reference.  This does not enable runtime
features--which is what the commit message's topic stated that the commit does.
* Changing the autoconf method.  This does not enable runtime features--which
is what the commit message's topic stated that the commit does.
* Adding Python as a NATIVE input.  What is that about?  Is profanity using
a Python program as a compiler only?
* I think that moving those native-inputs to inputs, while correct, does not
enable runtime features--which is what the commit message's topic stated that
the commit does.
* Please use two spaces (after the period) in order to separate sentences.
* Moving blocks around makes review much harder for users.

The goal of those commit messages, and of the commit rules, is to make it
easy for each user to see at a glance what topic each commit changes.

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* [bug#43348] Profanity
  2020-09-12  0:51 ` Danny Milosavljevic
@ 2020-09-13  4:38   ` Raghav Gururajan
  2020-09-13  9:11     ` Danny Milosavljevic
  0 siblings, 1 reply; 6+ messages in thread
From: Raghav Gururajan @ 2020-09-13  4:38 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: 43348


[-- Attachment #1.1.1: Type: text/plain, Size: 1259 bytes --]

Hi Danny!

> please, for existing packages, try to be as clear as possible in the commit
> messages in what is changed (only one related set of things should be changed
> per commit).
> 
> In this case the commit confounds things:
> 
> * Changing the build-system reference.  This does not enable runtime
> features--which is what the commit message's topic stated that the commit does.
> * Changing the autoconf method.  This does not enable runtime features--which
> is what the commit message's topic stated that the commit does.
> * Adding Python as a NATIVE input.  What is that about?  Is profanity using
> a Python program as a compiler only?
> * I think that moving those native-inputs to inputs, while correct, does not
> enable runtime features--which is what the commit message's topic stated that
> the commit does.
> * Please use two spaces (after the period) in order to separate sentences.
> * Moving blocks around makes review much harder for users.
> 
> The goal of those commit messages, and of the commit rules, is to make it
> easy for each user to see at a glance what topic each commit changes.

You are correct. I always do these in a hurry, sorry about that. Please
find the attached patches.

Regards,
RG.

[-- Attachment #1.1.2: 0001-gnu-profanity-Make-some-cosmetic-changes.patch --]
[-- Type: text/x-patch, Size: 2909 bytes --]

From 45c296918fbaa8b6f6e5d8d89616683e2934292b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sun, 13 Sep 2020 00:19:38 -0400
Subject: [PATCH 1/4] gnu: profanity: Make some cosmetic changes.

* gnu/packages/messaging.scm (profanity): Make some cosmetic changes.
---
 gnu/packages/messaging.scm | 51 ++++++++++++++++++++------------------
 1 file changed, 27 insertions(+), 24 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 1f41f0cb8b..18919341f4 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -1774,22 +1774,35 @@ are both supported).")
   (package
     (name "profanity")
     (version "0.9.5")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://profanity-im.github.io/profanity-"
-                                  version ".tar.gz"))
-              (sha256
-               (base32
-                "00j9l9v62rz9hprgiy1vrz8v3v59ph18h8kskqxr31fgqvjv5xr3"))))
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://profanity-im.github.io/profanity-"
+                       version ".tar.gz"))
+       (sha256
+        (base32
+         "00j9l9v62rz9hprgiy1vrz8v3v59ph18h8kskqxr31fgqvjv5xr3"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:configure-flags
-       (list "--enable-c-plugins"
-             "--enable-otr"
-             "--enable-omemo"
-             "--enable-pgp"
-             "--enable-icons"
-             "--enable-notifications")))
+     `(#:configure-flags
+       (list
+        "--enable-notifications"
+        "--enable-c-plugins"
+        "--enable-otr"
+        "--enable-pgp"
+        "--enable-omemo"
+        "--enable-icons")))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("autoconf-archive" ,autoconf-archive)
+       ("automake" ,automake)
+       ("cmocka" ,cmocka)
+       ("gtk+" ,gtk+-2)
+       ("libnotify" ,libnotify)
+       ("libtool" ,libtool)
+       ("libsignal-protocol-c" ,libsignal-protocol-c)
+       ("pkg-config" ,pkg-config)))
     (inputs
      `(("curl" ,curl)
        ("expat" ,expat)
@@ -1801,16 +1814,6 @@ are both supported).")
        ("openssl" ,openssl)
        ("readline" ,readline)
        ("sqlite" ,sqlite)))
-    (native-inputs
-     `(("autoconf" ,autoconf)
-       ("autoconf-archive" ,autoconf-archive)
-       ("automake" ,automake)
-       ("cmocka" ,cmocka)
-       ("gtk+" ,gtk+-2)
-       ("libnotify" ,libnotify)
-       ("libtool" ,libtool)
-       ("libsignal-protocol-c" ,libsignal-protocol-c)
-       ("pkg-config" ,pkg-config)))
     (synopsis "Console-based XMPP client")
     (description "Profanity is a console based XMPP client written in C
 using ncurses and libmesode, inspired by Irssi.")
-- 
2.28.0


[-- Attachment #1.1.3: 0002-gnu-profanity-Move-some-dependencies.patch --]
[-- Type: text/x-patch, Size: 1462 bytes --]

From 564fd2546244744d32fe22461406b23ba6e84f0d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sun, 13 Sep 2020 00:22:25 -0400
Subject: [PATCH 2/4] gnu: profanity: Move some dependencies.

* gnu/packages/messaging.scm (profanity) [native-inputs]: Move gtk-2,
libnotify and libsignal-protocol-c to ...
[inputs]: ... here.

The above dependencies should have been added as inputs, instead of
native-inputs.
---
 gnu/packages/messaging.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 18919341f4..13ed7b489c 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -1798,18 +1798,18 @@ are both supported).")
        ("autoconf-archive" ,autoconf-archive)
        ("automake" ,automake)
        ("cmocka" ,cmocka)
-       ("gtk+" ,gtk+-2)
-       ("libnotify" ,libnotify)
        ("libtool" ,libtool)
-       ("libsignal-protocol-c" ,libsignal-protocol-c)
        ("pkg-config" ,pkg-config)))
     (inputs
      `(("curl" ,curl)
        ("expat" ,expat)
        ("glib" ,glib)
        ("gpgme" ,gpgme)
+       ("gtk+" ,gtk+-2)
        ("libmesode" ,libmesode)
+       ("libnotify" ,libnotify)
        ("libotr" ,libotr)
+       ("libsignal-protocol-c" ,libsignal-protocol-c)
        ("ncurses" ,ncurses)
        ("openssl" ,openssl)
        ("readline" ,readline)
-- 
2.28.0


[-- Attachment #1.1.4: 0003-gnu-profanity-Enable-missing-features.patch --]
[-- Type: text/x-patch, Size: 1666 bytes --]

From 0207fce7eae5b41c5f4df32ffeddeb3bba3e25cd Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sun, 13 Sep 2020 00:27:19 -0400
Subject: [PATCH 3/4] gnu: profanity: Enable missing features.

* gnu/packages/messaging.scm (profanity) [arguments]<#:configure-flags>
[--enable-python-plugins]: New flag.
[--enable-plugins]: New flag.
[--enable-icons-and-clipboard]: New flag.
[--enable-icons]: Remove flag.
[native-inputs]: Add python-wrapper.

The above changes enables support for general-plugins, python-plugins,
icons and clipboard.  The python-wrapper is required to enable python-plugins.
---
 gnu/packages/messaging.scm | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 13ed7b489c..232d80a5fc 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -1788,18 +1788,21 @@ are both supported).")
      `(#:configure-flags
        (list
         "--enable-notifications"
+        "--enable-python-plugins"
         "--enable-c-plugins"
+        "--enable-plugins"
         "--enable-otr"
         "--enable-pgp"
         "--enable-omemo"
-        "--enable-icons")))
+        "--enable-icons-and-clipboard")))
     (native-inputs
      `(("autoconf" ,autoconf)
        ("autoconf-archive" ,autoconf-archive)
        ("automake" ,automake)
        ("cmocka" ,cmocka)
        ("libtool" ,libtool)
-       ("pkg-config" ,pkg-config)))
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)))
     (inputs
      `(("curl" ,curl)
        ("expat" ,expat)
-- 
2.28.0


[-- Attachment #1.1.5: 0004-gnu-profanity-Change-build-system.patch --]
[-- Type: text/x-patch, Size: 981 bytes --]

From 1c777d5bd598f97bf6978f863d6752e0942ab236 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sun, 13 Sep 2020 00:30:10 -0400
Subject: [PATCH 4/4] gnu: profanity: Change build system.

* gnu/package/messaging.scm (profanity) [build-system]: Change from
gnu to glib-or-gtk.

Glib-or-gtk is the appropriate build system, as the package depends
on glib and gtk+.
---
 gnu/packages/messaging.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 232d80a5fc..ef553e2acb 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -1783,7 +1783,7 @@ are both supported).")
        (sha256
         (base32
          "00j9l9v62rz9hprgiy1vrz8v3v59ph18h8kskqxr31fgqvjv5xr3"))))
-    (build-system gnu-build-system)
+    (build-system glib-or-gtk-build-system)
     (arguments
      `(#:configure-flags
        (list
-- 
2.28.0


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* [bug#43348] Profanity
  2020-09-13  4:38   ` Raghav Gururajan
@ 2020-09-13  9:11     ` Danny Milosavljevic
  2020-09-13  9:12       ` Raghav Gururajan
  0 siblings, 1 reply; 6+ messages in thread
From: Danny Milosavljevic @ 2020-09-13  9:11 UTC (permalink / raw)
  To: Raghav Gururajan; +Cc: 43348

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

Hi RG,

thank you!  That's almost perfect.

I still don't get it why python-wrapper is a *native* input in order to support
Python plugins.  That would mean the Python plugins are only used at build time
and not used at runtime.  Is that correct?

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* [bug#43348] Profanity
  2020-09-13  9:11     ` Danny Milosavljevic
@ 2020-09-13  9:12       ` Raghav Gururajan
  2020-09-13  9:54         ` bug#43348: Profanity Danny Milosavljevic
  0 siblings, 1 reply; 6+ messages in thread
From: Raghav Gururajan @ 2020-09-13  9:12 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: 43348


[-- Attachment #1.1: Type: text/plain, Size: 431 bytes --]

Hi Danny!

> thank you!  That's almost perfect.

\o/ :-)

> I still don't get it why python-wrapper is a *native* input in order to support
> Python plugins.  That would mean the Python plugins are only used at build time
> and not used at runtime.  Is that correct?

As far as I understand, the package uses the python binary to compile a
component, which will be used to add/remove python plugins.

Regards,
RG.


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* bug#43348: Profanity
  2020-09-13  9:12       ` Raghav Gururajan
@ 2020-09-13  9:54         ` Danny Milosavljevic
  0 siblings, 0 replies; 6+ messages in thread
From: Danny Milosavljevic @ 2020-09-13  9:54 UTC (permalink / raw)
  To: Raghav Gururajan; +Cc: 43348-done

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

Hi RG,

On Sun, 13 Sep 2020 05:12:04 -0400
Raghav Gururajan <raghavgururajan@disroot.org> wrote:

> > I still don't get it why python-wrapper is a *native* input in order to support
> > Python plugins.  That would mean the Python plugins are only used at build time
> > and not used at runtime.  Is that correct?  
> 
> As far as I understand, the package uses the python binary to compile a
> component, which will be used to add/remove python plugins.

I doubt it.

$ ./pre-inst-env guix gc --references `./pre-inst-env guix build profanity`
[...]
/gnu/store/09a5iq080g9b641jyl363dr5jkkvnhcn-python-3.8.2

So it keeps a runtime reference to python.  I suspect it just embeds a Python
interpreter.  So it should probably be a regular input.
The question is whether the plugins written in Python actually work or not.
Usually they require some extra PYTHONPATH or whatever setting in order to
find stuff.  Just raw Python is often not enough.

But we'll see.

Moved python-wrapper to regular input.

Pushed patchset to master.

I edited the commit messages not to include internal rationale like that that
change is the correct change (for glib-or-gtk-build-system) or whatever.

If we need that it should go in the source code as a comment--where it can
be easily seen.

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

end of thread, other threads:[~2020-09-13  9:55 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-11 19:52 [bug#43348] Profanity Raghav Gururajan
2020-09-12  0:51 ` Danny Milosavljevic
2020-09-13  4:38   ` Raghav Gururajan
2020-09-13  9:11     ` Danny Milosavljevic
2020-09-13  9:12       ` Raghav Gururajan
2020-09-13  9:54         ` bug#43348: Profanity Danny Milosavljevic

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