[PATCH 0/5] Update profanity and libstrophe

  • Done
  • quality assurance status badge
Details
2 participants
  • Jack Hill
  • Ludovic Courtès
Owner
unassigned
Submitted by
Jack Hill
Severity
normal
J
J
Jack Hill wrote on 16 May 2022 23:43
(address . guix-patches@gnu.org)
alpine.DEB.2.21.2205161733110.11587@marsh.hcoop.net
Hi Guix,

This patch series updates the console XMPP client profanity and XMPP
library libstrophe to their latest versions. I tested by building on
x86_64 Linux and used the new profanity to read some XMPP conversations.

Some things to note:

This version of profanity uses libstrophe instead of profanity's fork of
libstrophe, libmesode. There are no other uses of libmesode, so I've
removed that package.

The URL of profanity's tarballs has changed, so I updated the source
record. However, unfortunately, `guix refresh` is now no longer able to
check for updates. Using tarballs for profanity (as opposed to git
checkouts) is nice because profanity publishes checksums on their website.

Profanity could use gtk+-3 instead of gtk+-2, but since profanity might be
used places were the rust dependency of gtk+-3 is not appropriate, I've
left it at version 2 for now.

Best,
Jack

---
Jack Hill (5):
gnu: libstrophe: Update to 0.12.0.
gnu: libstrophe: Improve package definition.
gnu: profanity: Update to 0.12.1.
gnu: libmesode: Remove package.
gnu: profanity: Remove input labels.

gnu/packages/messaging.scm | 91 +++++++++++++-------------------------
1 file changed, 31 insertions(+), 60 deletions(-)

--
2.36.0
J
J
Jack Hill wrote on 16 May 2022 23:47
[PATCH 1/5] gnu: libstrophe: Update to 0.12.0.
(address . 55465@debbugs.gnu.org)
20220516214724.6136-1-jackhill@jackhill.us
* gnu/packages/messaging.scm (libstrophe): Update to 0.12.0.
---
gnu/packages/messaging.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 677dc4b930..fb5169f062 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -2101,7 +2101,7 @@ (define-public libmesode
(define-public libstrophe
(package
(name "libstrophe")
- (version "0.10.1")
+ (version "0.12.0")
(source
(origin
(method git-fetch)
@@ -2110,7 +2110,7 @@ (define-public libstrophe
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "11d341avsfr0z4lq15cy5dkmff6qpy91wkgzdpfdy31l27pa1g79"))))
+ (base32 "1apply301lxyjax2677bd5mc0a3233nm5qb7fiqpawq2n7vh17v0"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags (list "--disable-static")
--
2.36.0
J
J
Jack Hill wrote on 16 May 2022 23:47
[PATCH 3/5] gnu: profanity: Update to 0.12.1.
(address . 55465@debbugs.gnu.org)
20220516214724.6136-3-jackhill@jackhill.us
* gnu/packages/messaging.scm (profanity): Update to 0.12.1.
[source]: Update uri.
[inputs]: Replace libmesode with libstrophe.
---
gnu/packages/messaging.scm | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

Toggle diff (38 lines)
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 283b0e9f0e..e841130e74 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -2143,16 +2143,16 @@ (define-public libstrophe
(define-public profanity
(package
(name "profanity")
- (version "0.11.1")
+ (version "0.12.1")
(source
(origin
(method url-fetch)
(uri
- (string-append "https://profanity-im.github.io/profanity-"
+ (string-append "https://profanity-im.github.io/tarballs/profanity-"
version ".tar.gz"))
(sha256
(base32
- "0idx0a5g077a57q462w01m0h8i4vyvabzlj87p8527wpqbv4s6vg"))))
+ "0vihmlzxr6n3y6v0vdzzxh5p1i09p0hx6sd1b2pnpcgkgcg4hi73"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags
@@ -2180,10 +2180,10 @@ (define-public profanity
("gpgme" ,gpgme)
("gtk+" ,gtk+-2)
("libgcrypt" ,libgcrypt)
- ("libmesode" ,libmesode)
("libnotify" ,libnotify)
("libotr" ,libotr)
("libsignal-protocol-c" ,libsignal-protocol-c)
+ ("libstrophe" ,libstrophe)
;; ("libxss" ,libxss)
("ncurses" ,ncurses)
("openssl" ,openssl)
--
2.36.0
J
J
Jack Hill wrote on 16 May 2022 23:47
[PATCH 5/5] gnu: profanity: Remove input labels.
(address . 55465@debbugs.gnu.org)
20220516214724.6136-5-jackhill@jackhill.us
* gnu/packages/messaging.scm (profanity)[inputs]: Remove input labels.
---
gnu/packages/messaging.scm | 31 +++++++++++++++----------------
1 file changed, 15 insertions(+), 16 deletions(-)

Toggle diff (44 lines)
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 36d9223ffe..7cb6d16a4d 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -2139,22 +2139,21 @@ (define-public profanity
libtool
pkg-config))
(inputs
- `(("curl" ,curl)
- ("expat" ,expat)
- ("glib" ,glib)
- ("gpgme" ,gpgme)
- ("gtk+" ,gtk+-2)
- ("libgcrypt" ,libgcrypt)
- ("libnotify" ,libnotify)
- ("libotr" ,libotr)
- ("libsignal-protocol-c" ,libsignal-protocol-c)
- ("libstrophe" ,libstrophe)
- ;; ("libxss" ,libxss)
- ("ncurses" ,ncurses)
- ("openssl" ,openssl)
- ("python" ,python-wrapper)
- ("readline" ,readline)
- ("sqlite" ,sqlite)))
+ (list curl
+ expat
+ glib
+ gpgme
+ gtk+-2
+ libgcrypt
+ libnotify
+ libotr
+ libsignal-protocol-c
+ libstrophe
+ ncurses
+ openssl
+ python-wrapper
+ readline
+ sqlite))
(synopsis "Console-based XMPP client")
(description "Profanity is a console based XMPP client written in C
using ncurses and libmesode, inspired by Irssi.")
--
2.36.0
J
J
Jack Hill wrote on 16 May 2022 23:47
[PATCH 4/5] gnu: libmesode: Remove package.
(address . 55465@debbugs.gnu.org)
20220516214724.6136-4-jackhill@jackhill.us
* gnu/packages/messaging.scm (libmesode): Delete varialbe.
---
gnu/packages/messaging.scm | 35 -----------------------------------
1 file changed, 35 deletions(-)

Toggle diff (48 lines)
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index e841130e74..36d9223ffe 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -2064,41 +2064,6 @@ (define-public freetalk
(home-page "https://www.gnu.org/software/freetalk/")
(license license:gpl3+)))
-(define-public libmesode
- (package
- (name "libmesode")
- (version "0.10.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/profanity-im/libmesode")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1bxnkhrypgv41qyy1n545kcggmlw1hvxnhwihijhhcf2pxd2s654"))))
- (build-system gnu-build-system)
- (arguments
- `(#:configure-flags (list "--disable-static")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-make
- (lambda _
- (substitute* "Makefile.am"
- (("'\\^xmpp_'") "'.'"))
- #t)))))
- (inputs
- (list expat openssl))
- (native-inputs
- (list autoconf automake libtool pkg-config))
- (synopsis "C library for writing XMPP clients")
- (description "Libmesode is a fork of libstrophe for use with Profanity
-XMPP Client. In particular, libmesode provides extra TLS functionality such as
-manual SSL certificate verification.")
- (home-page "https://github.com/profanity/libmesode")
- ;; Dual-licensed.
- (license (list license:gpl3+ license:x11))))
-
(define-public libstrophe
(package
(name "libstrophe")
--
2.36.0
J
J
Jack Hill wrote on 16 May 2022 23:47
[PATCH 2/5] gnu: libstrophe: Improve package definition.
(address . 55465@debbugs.gnu.org)
20220516214724.6136-2-jackhill@jackhill.us
* gnu/packages/messaging.scm (libstrophe)[phases]: Use gexps.
{install-extra-license-files}: New phase.
[home-page]: Use https and add trailing /.
---
gnu/packages/messaging.scm | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)

Toggle diff (47 lines)
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index fb5169f062..283b0e9f0e 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -34,6 +34,7 @@
;;; Copyright © 2022 Aleksandr Vityazev <avityazev@posteo.org>
;;; Copyright © 2022 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
+;;; Copyright © 2022 Jack Hill <jackhill@jackhill.us>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -2113,14 +2114,20 @@ (define-public libstrophe
(base32 "1apply301lxyjax2677bd5mc0a3233nm5qb7fiqpawq2n7vh17v0"))))
(build-system gnu-build-system)
(arguments
- `(#:configure-flags (list "--disable-static")
+ (list #:configure-flags '(list "--disable-static")
#:phases
- (modify-phases %standard-phases
+ #~(modify-phases %standard-phases
(add-after 'unpack 'patch-make
(lambda _
(substitute* "Makefile.am"
(("'\\^xmpp_'") "'.'"))
- #t)))))
+ #t))
+ (add-after 'install-licence-files 'install-extra-licence-files
+ (lambda _
+ (let ((license-directory (string-append #$output
+ "/share/doc/"
+ #$name "-" #$version "/")))
+ (install-file "MIT-LICENSE.txt" license-directory)))))))
(inputs
(list expat openssl))
(native-inputs
@@ -2129,7 +2136,7 @@ (define-public libstrophe
(description "Libstrophe is a minimal XMPP library written in C. It has
almost no external dependencies, only an XML parsing library (expat or libxml
are both supported).")
- (home-page "http://strophe.im/libstrophe")
+ (home-page "https://strophe.im/libstrophe/")
;; Dual-licensed.
(license (list license:gpl3+ license:x11))))
--
2.36.0
L
L
Ludovic Courtès wrote on 1 Jun 2022 23:02
Re: bug#55465: [PATCH 0/5] Update profanity and libstrophe
(name . Jack Hill)(address . jackhill@jackhill.us)(address . 55465-done@debbugs.gnu.org)
87r148rtav.fsf@gnu.org
Hi,

Jack Hill <jackhill@jackhill.us> skribis:

Toggle quote (4 lines)
> This version of profanity uses libstrophe instead of profanity's fork of
> libstrophe, libmesode. There are no other uses of libmesode, so I've
> removed that package.

Makes sense.

Toggle quote (6 lines)
> The URL of profanity's tarballs has changed, so I updated the source
> record. However, unfortunately, `guix refresh` is now no longer able
> to check for updates. Using tarballs for profanity (as opposed to git
> checkouts) is nice because profanity publishes checksums on their
> website.

I’ve added a ‘release-monitoring-url’ property to watch its home page.

Toggle quote (4 lines)
> Profanity could use gtk+-3 instead of gtk+-2, but since profanity
> might be used places were the rust dependency of gtk+-3 is not
> appropriate, I've left it at version 2 for now.

It’s fine to use GTK+ 3.x: it’ll use librsvg 2.40 (in C) rather than the
Rust one on other architectures. (GTK 4 is a problem though.)

Toggle quote (6 lines)
> gnu: libstrophe: Update to 0.12.0.
> gnu: libstrophe: Improve package definition.
> gnu: profanity: Update to 0.12.1.
> gnu: libmesode: Remove package.
> gnu: profanity: Remove input labels.

Applied, thanks!

Ludo’.
Closed
?