[bug#58775] WIP build python-gpg from gpgme
Commit Message
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(+)
Comments
Hi Chris,
On Tue, 25 Oct 2022 at 13:14, Christopher Baines <mail@cbaines.net> wrote:
> 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.
> ---
> 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’?
> + (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,
--8<---------------cut here---------------start------------->8---
$ 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
--8<---------------cut here---------------end--------------->8---
build fine. WDYT?
Cheers,
simon
@@ -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)