[PATCH] WIP build python-gpg from gpgme

  • Open
  • quality assurance status badge
Details
2 participants
  • Christopher Baines
  • zimoun
Owner
unassigned
Submitted by
Christopher Baines
Severity
normal
C
C
Christopher Baines wrote on 25 Oct 2022 14:14
(address . guix-patches@gnu.org)
20221025121439.18746-1-mail@cbaines.net
The python-gpg package using PyPI source code seems out of date, and doesn't
build on 32bit systems like i686-linux and armhf-linux. Maybe we should use
the source from gpgme?
---
gnu/packages/gnupg.scm | 48 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 48 insertions(+)

Toggle diff (61 lines)
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index ce9ef48796..3a8be9a544 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -431,6 +431,54 @@ (define-public gpgme
(properties '((ftp-server . "ftp.gnupg.org")
(ftp-directory . "/gcrypt/gpgme")))))
+(define-public python-gpg-latest
+ (package
+ (inherit gpgme)
+ (name "python-gpg")
+ (arguments
+ (list
+ #:modules
+ '((guix build gnu-build-system)
+ (guix build utils)
+ (ice-9 ftw)
+ (ice-9 match)) #:configure-flags #~(list "--enable-languages=python")
+ #:make-flags #~(list (string-append "LDFLAGS=-Wl,-rpath=" #$gpgme "/lib"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'remove-all-but-python
+ (lambda _
+ (for-each
+ (lambda (name)
+ (delete-file-recursively
+ (string-append #$output "/" name)))
+ (scandir #$output
+ (match-lambda
+ ("." #f)
+ (".." #f)
+ ("lib" #f)
+ (_ #t))))
+ (for-each
+ (lambda (name)
+ (delete-file-recursively
+ (string-append #$output "/lib/" name)))
+ (scandir (string-append #$output "/lib")
+ (match-lambda
+ ("." #f)
+ (".." #f)
+ (name (not (string-prefix? "python" name)))))))))))
+ (inputs
+ (modify-inputs (package-inputs gpgme)
+ (append gpgme)))
+ (native-inputs
+ (modify-inputs (package-native-inputs gpgme)
+ (append swig)
+ (append python)))
+ (home-page (package-home-page gpgme))
+ (synopsis "Python bindings for GPGME GnuPG cryptography library")
+ (description "This package provides Python bindings to the GPGME GnuPG
+cryptographic library.")
+ (license license:lgpl2.1+)))
+
(define-public qgpgme
(package
(inherit gpgme)
--
2.37.3
C
C
Christopher Baines wrote on 5 Nov 2022 11:34
tag 58775 moreinfo
(address . control@debbugs.gnu.org)
87iljtvgdz.fsf@cbaines.net
tags 58775 + moreinfo
quit
Z
Z
zimoun wrote on 26 Nov 2022 14:08
Re: [bug#58775] [PATCH] WIP build python-gpg from gpgme
86r0xpc18a.fsf@gmail.com
Hi Chris,

On Tue, 25 Oct 2022 at 13:14, Christopher Baines <mail@cbaines.net> wrote:
Toggle quote (4 lines)
> The python-gpg package using PyPI source code seems out of date, and doesn't
> build on 32bit systems like i686-linux and armhf-linux. Maybe we should use
> the source from gpgme?

You mean, instead of ’inherit’ from ’gpgme’, right?

Well, the current version on PyPI is 1.10.0 and the ’gpgme’ is 1.15.1.

Toggle quote (14 lines)
> ---
> gnu/packages/gnupg.scm | 48 ++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 48 insertions(+)
>
> diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
> index ce9ef48796..3a8be9a544 100644
> --- a/gnu/packages/gnupg.scm
> +++ b/gnu/packages/gnupg.scm
> @@ -431,6 +431,54 @@ (define-public gpgme
> (properties '((ftp-server . "ftp.gnupg.org")
> (ftp-directory . "/gcrypt/gpgme")))))
>
> +(define-public python-gpg-latest

Why the symbol is ’-latest’?

Toggle quote (4 lines)
> + (package
> + (inherit gpgme)
> + (name "python-gpg")

when the name is not? And ’gpgme’ neither.


Well, I propose to use this updated version using ’gpgme’ and drop the
old package from PyPI if all the dependencies,

Toggle snippet (4 lines)
$ guix refresh -l python-gpg
Building the following 9 packages would ensure 14 dependent packages are rebuilt: alot@0.10 gajim-openpgp@1.4.9 assword@0.11 linuxdcpp@1.1.0 ikiwiki@3.20200202.3 xandikos@0.2.3 python-oslosphinx@4.18.0 websockify@0.8.0 breezy@3.2.2

build fine. WDYT?

Cheers,
simon
?