Subject: Re: [bug#28276] pybitmessage: Update to 0.6.2

From: ng0 <[email-masked]>
Date: Tue, 29 Aug 2017 13:53:11 +0000

ng0 transcribed 7.2K bytes:
> Corrections, version 2.
> -- 
> ng0
> GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
> GnuPG: https://n0is.noblogs.org/my-keys
> https://www.infotropique.org https://krosos.org

> From 9799d73d38b13993c54a1ed85deb61ad075e5675 Mon Sep 17 00:00:00 2001
> From: ng0 <[email-masked]>
> Date: Tue, 29 Aug 2017 13:05:40 +0000
> Subject: [PATCH] gnu: pybitmessage: Update to 0.6.2.
> 
> * gnu/packages/messaging.scm (pybitmessage): Update to 0.6.2.
> [build-system]: Change to python-build-system.
> [arguments]: Remove "fix-makefile" and "wrap" phases.
> [inputs]: Rename to...
> [propagated-inputs]: ...this. Add "python2-msgpack" and "python2-pythondialog".
> [inputs]: Move "openssl", "sqlite" and "qt-4" to...
> [native-inputs]: ...here. Remove "pkg-config".
> ---
>  gnu/packages/messaging.scm | 71 ++++++++++++++++++++++------------------------
>  1 file changed, 34 insertions(+), 37 deletions(-)
> 
> diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
> index eb9e86915..4eccd77da 100644
> --- a/gnu/packages/messaging.scm
> +++ b/gnu/packages/messaging.scm
> @@ -5,7 +5,7 @@
>  ;;; Copyright © 2015 Andreas Enge <[email-masked]>
>  ;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <[email-masked]>
>  ;;; Copyright © 2015 Efraim Flashner <[email-masked]>
> -;;; Copyright © 2016, 2017 <[email-masked]>
> +;;; Copyright © 2016, 2017 <[email-masked]>
>  ;;; Copyright © 2016 Andy Patterson <[email-masked]>
>  ;;; Copyright © 2016, 2017 Clément Lassieur <[email-masked]>
>  ;;; Copyright © 2017 Mekeor Melire <[email-masked]>
> @@ -794,7 +794,7 @@ connect with friends and family without anyone else listening in.")
>  (define-public pybitmessage
>    (package
>      (name "pybitmessage")
> -    (version "0.6.1")
> +    (version "0.6.2")
>      (source
>       (origin
>         (method url-fetch)
> @@ -803,39 +803,30 @@ connect with friends and family without anyone else listening in.")
>         (file-name (string-append name "-" version ".tar.gz"))
>         (sha256
>          (base32
> -         "1ffj7raxpp277kphj98190fxrwfx16vmbspk7k3azg3bh5f5idnf"))))
> -    (inputs
> -     `(("python" ,python-2)
> -       ("python:tk" ,python-2 "tk")
> -       ("openssl" ,openssl)
> -       ("sqlite" ,sqlite)
> -       ("qt" ,qt-4)
> +         "1in2mhaxkp2sx8pgvifq9dk1z8b2x3imf1anr0z926vwxwjrf85w"))))
> +    (propagated-inputs
> +     ;; TODO:
> +     ;; Package "pyopencl", required in addition to numpy for OpenCL support.
> +     ;; Package "gst123", required in addition to alsa-utils and
> +     ;; mpg123 for sound support.
> +     `(("python2-msgpack" ,python2-msgpack)
> +       ("python2-pythondialog" ,python2-pythondialog)
>         ("python2-pyqt-4" ,python2-pyqt-4)
>         ("python2-sip" ,python2-sip)
>         ("python2-pysqlite" ,python2-pysqlite)
>         ("python2-pyopenssl" ,python2-pyopenssl)))
>      (native-inputs
> -     `(("pkg-config" ,pkg-config)))
> -    (build-system gnu-build-system)
> +     `(("openssl" ,openssl)

          ^ referenced in a file

> +       ("sqlite" ,sqlite)
> +       ("qt" ,qt-4)))

          ^ well the previous gnu-build-system based one
          required qt4 and sqlite among other things.
          They do not end up in the references of the store
          path this time. Can we drop them? Starting and
          sending + receiving a message worked.

> +    (build-system python-build-system)
>      (arguments
> -     `(#:imported-modules ((guix build python-build-system)
> -                           ,@%gnu-build-system-modules)
> -       #:make-flags (list (string-append "PREFIX="
> -                                         (assoc-ref %outputs "out")))
> -       #:tests? #f ; no test target
> +     `(#:modules ((guix build python-build-system)
> +                  (guix build utils))
> +       #:tests? #f ;no test target
> +       #:python ,python-2
>         #:phases
>         (modify-phases %standard-phases
> -         (add-before 'build 'fix-makefile
> -           (lambda* (#:key inputs #:allow-other-keys)
> -             (substitute* "Makefile"
> -               (("mkdir -p \\$\\{DESTDIR\\}/usr") "")
> -               (("/usr/local") "")
> -               (("/usr") "")
> -               (("#!/bin/sh") (string-append "#!" (which "sh")))
> -               (("python2") (which "python"))
> -               (("/opt/openssl-compat-bitcoin/lib/")
> -                (string-append (assoc-ref inputs "openssl") "/lib/")))
> -             #t))
>           (add-after 'unpack 'fix-unmatched-python-shebangs
>             (lambda* (#:key inputs #:allow-other-keys)
>               (substitute* "src/bitmessagemain.py"
> @@ -869,18 +860,24 @@ connect with friends and family without anyone else listening in.")
>                  (string-append (assoc-ref inputs "openssl")
>                                 "/lib/libssl.so")))
>               #t))
> -         ;; XXX: Make does not build and install bitmsghash, do it
> +         (add-after 'unpack 'noninteractive-build
> +           ;; This applies upstream commit 4c597d3f7cf9f83a763472aa165a1a4292019f20
> +           (lambda _
> +             (substitute* "setup.py"
> +               (("except NameError")
> +                "except EOFError, NameError"))
> +             #t))
> +         ;; XXX: python setup.py does not build and install bitmsghash,
> +         ;; without it PyBitmessage tries to compile it at first run
> +         ;; in the store, which due to obvious reasons fails. Do it
>           ;; and place it in /lib.
> -         (add-before 'build 'build-and-install-bitmsghash
> +         (add-after 'unpack 'build-and-install-bitmsghash
>             (lambda* (#:key outputs #:allow-other-keys)
> -             (chdir "src/bitmsghash")
> -             (system* "make")
> -             (chdir "../..")
> -             (install-file "src/bitmsghash/bitmsghash.so"
> -                           (string-append (assoc-ref outputs "out") "/lib"))
> -             #t))
> -         (add-after 'install 'wrap
> -           (@@ (guix build python-build-system) wrap)))))
> +             (with-directory-excursion "src/bitmsghash"
> +               (system* "make")
> +               (install-file "bitmsghash.so"
> +                             (string-append (assoc-ref outputs "out") "/lib")))
> +             #t)))))
>      (license license:expat)
>      (description
>       "Distributed and trustless peer-to-peer communications protocol
> -- 
> 2.14.1
> 

-- 
ng0
GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
GnuPG: https://n0is.noblogs.org/my-keys
https://www.infotropique.org https://krosos.org