From patchwork Wed Jan 17 20:46:16 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lilah Tascheter X-Patchwork-Id: 59049 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id E25F527BBEA; Wed, 17 Jan 2024 20:47:20 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,FROM_SUSPICIOUS_NTLD,MAILING_LIST_MULTI,PDS_OTHER_BAD_TLD, RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 0ACFC27BBE9 for ; Wed, 17 Jan 2024 20:47:18 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rQCoR-000153-Pb; Wed, 17 Jan 2024 15:47:03 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rQCoQ-00014k-5k for guix-patches@gnu.org; Wed, 17 Jan 2024 15:47:02 -0500 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rQCoP-0000TJ-U2; Wed, 17 Jan 2024 15:47:01 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rQCoP-0005Lf-Sv; Wed, 17 Jan 2024 15:47:01 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#68550] [PATCH] gnu: packages: Update gajim to 1.8.4. Resent-From: Lilah Tascheter Original-Sender: "Debbugs-submit" Resent-CC: lars@6xq.net, marius@gnu.org, me@bonfacemunyoki.com, sharlatanus@gmail.com, jgart@dismail.de, guix-patches@gnu.org Resent-Date: Wed, 17 Jan 2024 20:47:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 68550 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 68550@debbugs.gnu.org Cc: Lilah Tascheter , lars@6xq.net, marius@gnu.org, me@bonfacemunyoki.com, sharlatanus@gmail.com, jgart@dismail.de X-Debbugs-Original-To: guix-patches@gnu.org X-Debbugs-Original-Xcc: lars@6xq.net, marius@gnu.org, me@bonfacemunyoki.com, sharlatanus@gmail.com, jgart@dismail.de Received: via spool by submit@debbugs.gnu.org id=B.170552439619447 (code B ref -1); Wed, 17 Jan 2024 20:47:01 +0000 Received: (at submit) by debbugs.gnu.org; 17 Jan 2024 20:46:36 +0000 Received: from localhost ([127.0.0.1]:53639 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rQCnz-00052Z-22 for submit@debbugs.gnu.org; Wed, 17 Jan 2024 15:46:36 -0500 Received: from lists.gnu.org ([2001:470:142::17]:58376) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rQCnx-0004v1-C5 for submit@debbugs.gnu.org; Wed, 17 Jan 2024 15:46:34 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rQCnq-00011x-7S for guix-patches@gnu.org; Wed, 17 Jan 2024 15:46:26 -0500 Received: from sendmail.purelymail.com ([34.202.193.197]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rQCnn-0000Mc-Py for guix-patches@gnu.org; Wed, 17 Jan 2024 15:46:25 -0500 Authentication-Results: purelymail.com; auth=pass DKIM-Signature: a=rsa-sha256; b=QO8CmkdClLjE2BDZfwOa2LWUp0PnjTLV/BJW938TTIPsozT6WZPFmJEcTlBGXNCnbfBeynD93fvmQIKP73I6QX3HWHaxGbE1r46/QgKbWbI9QYgyjMFzT9NDQPb4HX0VOghJ72cdmObSmKJy8c0ylK6COPqtNvKXbPQuKCzZzjWMTdpFfvD30VGdcoqMRsj2McSiniJROHE2F4GQutina7IpZ2Oj8YSR9mwWo7ZGTPe0VyOtKwTNMcLEzf/kJ15Yky4AhuAeLwDKoupHAb75emwiiM/qFFkWRTE186E/ZlAwuOZLQTyiU12xPBPLmXl+oi5tAZ5VYGCD/oU7E+MHgg==; s=purelymail1; d=lunabee.space; v=1; bh=O8/KOG3SMGiXNESAoGNq9klxdNk6I7bfdZiSu/Vzgyw=; h=Received:From:To:Subject; DKIM-Signature: a=rsa-sha256; b=QmsBXsG3vcRe/vPYJzeTQNDaLkDRwkWguCZLbBaAtnM9NHA3/uFLRi4vj1Py9e1IElhqJ8Uhx1oF35ykEtmd94XCc/8NNAeFlAt7RkPZ+KFVV7IXms0zUHO9Wz3BEGNzf4IqSKWnde/dIyX87XIIJQpMl7BwxIM+xItJ2UTb/sHGYTuOItBRTkyI0R9wk4YZtcCoVYuQX245fZ5GmIXwTvRQb++ngwgrs2a3cTTjXBJ1f3udWxaS7eXeadhszCz+Nqnq4lDKN9k5swopOugCRCqOpg8hArAMTc7HvRMixKDL0OwdmjUWOZsaMj64/Gv1X04H2uZSkzz05FkFYeezOQ==; s=purelymail1; d=purelymail.com; v=1; bh=O8/KOG3SMGiXNESAoGNq9klxdNk6I7bfdZiSu/Vzgyw=; h=Feedback-ID:Received:From:To:Subject; Feedback-ID: 8937:2070:null:purelymail X-Pm-Original-To: guix-patches@gnu.org Received: by smtp.purelymail.com (Purelymail SMTP) with ESMTPSA id -1073190794; (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Wed, 17 Jan 2024 20:46:20 +0000 (UTC) Date: Wed, 17 Jan 2024 14:46:16 -0600 Message-ID: <68289336dcc6e7114b2c12ffbfe3c281d7e4dbfb.1705524376.git.lilah@lunabee.space> MIME-Version: 1.0 X-MIME-Autoconverted: from 8bit to quoted-printable by Purelymail Received-SPF: pass client-ip=34.202.193.197; envelope-from=lilah@lunabee.space; helo=sendmail.purelymail.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Lilah Tascheter via Guix-patches From: Lilah Tascheter Reply-To: Lilah Tascheter Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/packages/messaging.scm (python-omemo-dr): New variable. (python-nbxmpp,gajim): Update. (gajim)[build-system,arguments]: Rework to use pyproject-build-system. (gajim-omemo): Deprecate, as it's been merged into gajim. * gnu/packages/protobuf.scm (python-protobuf-4): New variable. Change-Id: I38cd63f14376bd177a1638fb608843eab805a6c5 --- gnu/packages/messaging.scm | 262 ++++++++++++++++--------------------- gnu/packages/protobuf.scm | 20 +++ 2 files changed, 133 insertions(+), 149 deletions(-) base-commit: 21f5d20d68e0359f8111ccb936905649c70db9c1 diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 491901edf3..d4830c68e2 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -151,6 +151,7 @@ (define-module (gnu packages messaging) #:use-module (guix build-system pyproject) #:use-module (guix build-system qt) #:use-module (guix build-system trivial) + #:use-module (guix deprecation) #:use-module (guix download) #:use-module (guix gexp) #:use-module (guix git-download) @@ -1087,16 +1088,34 @@ (define-public znc simultaneously and therefore appear under the same nickname on IRC.") (license license:asl2.0))) +(define-public python-omemo-dr + (package + (name "python-omemo-dr") + (version "1.0.1") + (source (origin + (method url-fetch) + (uri (pypi-uri "omemo-dr" version)) + (sha256 + (base32 + "0qfk0b153cmc85icnlpfv8mjaqd2spa7hlipvndr8wqx4dvqr2ia")))) + (build-system pyproject-build-system) + (inputs (list python-cryptography python-protobuf-4)) + (synopsis "Python OMEMO library") + (description "A library to handle the cryptography part of OMEMO (does not +handle the XMPP protocol). A rewrite of python-axolotl by Gajim devs.") + (home-page "https://dev.gajim.org/gajim/omemo-dr") + (license license:gpl3))) + (define-public python-nbxmpp (package (name "python-nbxmpp") - (version "4.2.2") + (version "4.5.3") (source (origin (method url-fetch) (uri (pypi-uri "nbxmpp" version)) (sha256 - (base32 "095nyy6vjildhrqigxk6vsh49in6mx17bvb3z5zpjmzhv9b8ix46")))) + (base32 "17hbw01sqn22rs9hbsp8zsgaxhv7hkzzgcflzb29p7zcm1nhwqkf")))) (build-system pyproject-build-system) (arguments (list @@ -1125,110 +1144,69 @@ (define-public python-nbxmpp (define-public gajim (package (name "gajim") - (version "1.7.3") - (source - (origin - (method url-fetch) - (uri (string-append "https://gajim.org/downloads/" - (version-major+minor version) - "/gajim-" version ".tar.gz")) - (sha256 - (base32 "066kvkjw3qcdanr3nczy0wgcwihk9jc9zhzfr5bwlqvcyxcv7k5p")) - (patches - (search-patches "gajim-honour-GAJIM_PLUGIN_PATH.patch")))) - (build-system python-build-system) + (version "1.8.4") + (source (origin + (method url-fetch) + (uri (string-append "https://gajim.org/downloads/" + (version-major+minor version) + "/gajim-" version ".tar.gz")) + (sha256 + (base32 "1ia99vwhrqdi3rqdj2203fq36r94k4sg7kcv4vav60ffn63yvz2q")) + (patches + (search-patches "gajim-honour-GAJIM_PLUGIN_PATH.patch")))) + (build-system pyproject-build-system) (arguments - (list - #:imported-modules - `(,@%python-build-system-modules - (guix build glib-or-gtk-build-system)) - #:modules - '((guix build python-build-system) - ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:) - (guix build utils)) - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'generate-gdk-pixbuf-loaders-cache-file - (assoc-ref glib-or-gtk:%standard-phases - 'generate-gdk-pixbuf-loaders-cache-file)) - (add-before 'build 'build-metadata - (lambda _ - (invoke "./pep517build/build_metadata.py" - "-o" "dist/metadata"))) - ;; TODO: Change to pyproject-build-system once it supports - ;; in-tree build backends. - (replace 'build - (lambda _ - (invoke "python" "-m" "build" "--wheel" "--no-isolation" - "."))) - (replace 'install - (lambda _ - (apply invoke "pip" "--no-cache-dir" "--no-input" - "install" "--no-deps" "--prefix" #$output - (find-files "dist" "\\.whl$")))) - (add-after 'install 'install-metadata - (lambda _ - (invoke "./pep517build/install_metadata.py" "dist/metadata" - (string-append "--prefix=" #$output)))) - (replace 'check - (lambda _ - ;; Tests require a running X server. - (system "Xvfb :1 +extension GLX &") - (setenv "DISPLAY" ":1") - ;; For missing '/etc/machine-id'. - (setenv "DBUS_FATAL_WARNINGS" "0") - (invoke "dbus-launch" "python" "-m" "unittest" - "discover" "-s" "test"))) - (add-after 'install 'glib-or-gtk-compile-schemas - (assoc-ref glib-or-gtk:%standard-phases - 'glib-or-gtk-compile-schemas)) - (add-after 'install 'glib-or-gtk-wrap - (assoc-ref glib-or-gtk:%standard-phases - 'glib-or-gtk-wrap)) - (add-after 'install 'wrap-env - (lambda _ - (for-each - (lambda (name) - (let ((file (string-append #$output "/bin/" name)) - (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")) - (gi-typelib-path (getenv "GI_TYPELIB_PATH")) - (pixbuf-module-file (getenv "GDK_PIXBUF_MODULE_FILE"))) - (wrap-program file - `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path)) - `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)) - `("GDK_PIXBUF_MODULE_FILE" = (,pixbuf-module-file))))) - '("gajim" "gajim-remote"))))))) - (native-search-paths - (list - (search-path-specification - (variable "GAJIM_PLUGIN_PATH") - (separator #f) ; single entry - (files (list "share/gajim/plugins"))) - ;; Gajim needs to use the propagated inputs of its plugins. - (search-path-specification - (variable "GUIX_PYTHONPATH") - (files - (list - (string-append - "lib/python" - ;; FIXME: Cannot use this expression as it would - ;; introduce a circular dependency at the top level. - ;; (version-major+minor (package-version python)) - "3.10" - "/site-packages")))))) - (native-inputs - (list gettext-minimal - `(,glib "bin") - gobject-introspection - `(,gtk+ "bin") - python-distutils-extra - python-pypa-build - python-setuptools - xorg-server-for-tests)) - (inputs - (list avahi - dbus - farstream + (list #:build-backend "pep517build.backend" + #:configure-flags ''(@) ; in order to convert to a json dict + #:imported-modules `((guix build glib-or-gtk-build-system) + ,@%pyproject-build-system-modules) + #:modules '((guix build pyproject-build-system) + ((guix build glib-or-gtk-build-system) + #:prefix glib-or-gtk:) + (guix build utils)) + #:phases + (let ((glib-phases #~glib-or-gtk:%standard-phases) + (cache-file #~'generate-gdk-pixbuf-loaders-cache-file) + (compile-schemas #~'glib-or-gtk-compile-schemas) + (wrap #~'glib-or-gtk-wrap)) + #~(modify-phases %standard-phases + (add-after 'unpack #$cache-file + (assoc-ref #$glib-phases #$cache-file)) + (add-before 'build 'build-metadata + (lambda _ + (invoke "python" "pep517build/build_metadata.py"))) + + (add-before 'install 'install-metadata + (lambda _ + (invoke "python" "pep517build/install_metadata.py" + "--prefix" #$output "dist/metadata"))) + (add-after 'install #$compile-schemas + (assoc-ref #$glib-phases #$compile-schemas)) + (add-after #$compile-schemas #$wrap + (assoc-ref #$glib-phases #$wrap)) + (add-after 'wrap 'wrap-env + (lambda _ + (for-each + (lambda (name) + (let ((gi-var "GI_TYPELIB_PATH") + (gst-var "GST_PLUGIN_SYSTEM_PATH") + (gdk-var "GDK_PIXBUF_MODULE_FILE")) + (wrap-program (string-append #$output "/bin/" name) + `(,gi-var ":" prefix (,(getenv gi-var))) + `(,gst-var ":" prefix (,(getenv gst-var))) + `(,gdk-var = (,(getenv gdk-var)))))) + '("gajim" "gajim-remote")))) + + (replace 'check + (lambda _ ; tests require a running X server + (system "Xvfb :1 +extension GLX &") + (setenv "DISPLAY" ":1") + ;; /etc/machine-id doesn't exist in build container + (setenv "DBUS_FATAL_WARNINGS" "0") + (invoke "dbus-launch" "python" "-m" "unittest" "discover" + "-s" "test"))))))) + (inputs ; gupnp-idg support disabled in gajim due to libsoup incompat + (list farstream geoclue glib glib-networking @@ -1237,29 +1215,49 @@ (define-public gajim gspell gstreamer gst-plugins-base + gst-plugins-ugly gtk+ gtksourceview-4 - gupnp-igd libappindicator - libnice libsecret - libsoup - libxscrnsaver + libsoup-minimal network-manager python-css-parser python-dbus - python-gssapi python-idna python-keyring python-nbxmpp - python-packaging + python-omemo-dr python-pillow python-precis-i18n + python-protobuf-4 python-pycairo python-pygobject - python-pyopenssl)) - (propagated-inputs - (list dconf)) + python-qrcode + sqlite)) + (native-inputs + (list dbus + gettext-minimal + `(,glib "bin") + `(,gtk+ "bin") + xorg-server-for-tests)) + (propagated-inputs (list dconf)) + (search-paths + (list (search-path-specification + (variable "GAJIM_PLUGIN_PATH") + (files '("share/gajim/plugins")) + (separator #f)) ; single entry + ;; Gajim needs to use the propagated inputs of its plugins. + (search-path-specification + (variable "GUIX_PYTHONPATH") + (files + (list (string-append + "/lib/python" + ;; FIXME: Cannot use this expression as it would + ;; introduce a circular dependency at the top level. + ;; (version-major+minor (package-version python)) + "3.10" + "/site-packages")))))) (synopsis "Fully-featured XMPP client") (description "Gajim aims to be an easy to use and fully-featured XMPP chat client. It is extensible via plugins, supports end-to-end encryption (OMEMO @@ -1267,41 +1265,7 @@ (define-public gajim (home-page "https://gajim.org/") (license license:gpl3))) -(define-public gajim-omemo - (package - (name "gajim-omemo") - (version "2.9.0") - (source - (origin - (method url-fetch/zipbomb) - (uri - (string-append - "https://ftp.gajim.org/plugins/master/omemo/omemo_" - version ".zip")) - (sha256 - (base32 "0yy9r9fsrlgdywiln8bskhi8faj9hnz7b19jcap5nkhv8jn9cqq7")))) - (build-system trivial-build-system) - (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - (let* ((out (assoc-ref %outputs "out")) - (share (in-vicinity out "share/gajim/plugins/omemo")) - (source (assoc-ref %build-inputs "source"))) - (mkdir-p share) - (copy-recursively source share) - #t)))) - (propagated-inputs - (list python-axolotl python-axolotl-curve25519 python-cryptography - python-qrcode)) - (synopsis "Gajim OMEMO plugin") - (description "Gajim-OMEMO is a plugin that adds support for the OMEMO -Encryption to Gajim. OMEMO is an XMPP Extension Protocol (XEP) for secure -multi-client end-to-end encryption.") - (home-page - "https://dev.gajim.org/gajim/gajim-plugins/-/wikis/OmemoGajimPlugin") - (license license:gpl3+))) +(define-deprecated gajim-omemo gajim) (define-public gajim-openpgp (package diff --git a/gnu/packages/protobuf.scm b/gnu/packages/protobuf.scm index d47b67fa61..bcd2bdfc98 100644 --- a/gnu/packages/protobuf.scm +++ b/gnu/packages/protobuf.scm @@ -514,6 +514,26 @@ (define-public python-protobuf-3.6 (native-inputs (list python-setuptools-for-tensorflow)))) +;; for gajim +(define-public python-protobuf-4 + (let ((base python-protobuf)) ; cpp impl used by base is deprecated + (package + (name "python-protobuf") + (version "4.25.2") + (source (origin + (method url-fetch) + (uri (pypi-uri "protobuf" version)) + (sha256 + (base32 + "0phabz0rb6dqrk79wmhf5hkgf49dj15wsjsjxv4fyixkbhbrwngy")))) + (build-system python-build-system) + ;; setuptools breaks when testing + (arguments '(#:tests? #f)) + (synopsis (package-synopsis base)) + (description (package-description base)) + (home-page (package-home-page base)) + (license (package-license base))))) + (define-public python-proto-plus (package (name "python-proto-plus")