guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] gnu: Add pybitmessage, [PATCH] gnu: Add python2-pyqt-4, [PAT


From: ng0
Subject: Re: [PATCH] gnu: Add pybitmessage, [PATCH] gnu: Add python2-pyqt-4, [PATCH] gnu: gnu: messaging: Use license: prefix.
Date: Thu, 25 Aug 2016 09:52:22 +0000

ng0 <address@hidden> writes:

> These 3 patches enable us to have a functional pybitmessage version
> 0.6.1, released 2 days ago.
>
> For tests you can use either the test channel which can be found on
> bitmessage.org (or in the application itself? I don't know, I'm no
> newcomer to this application) or the channel I did setup a while ago
> (blame my window manager if there's a typo, the copy & paste is
> sometimes stuck):
> BM-2cTPsDEX29yRnrAmyfwZhC3RySsK4wnQUA
> [chan] gnuguixchan
>
> From 8687409cf6f424958e222de9eddf4c77750ecc57 Mon Sep 17 00:00:00 2001
> From: ng0 <address@hidden>
> Date: Tue, 23 Aug 2016 10:13:59 +0000
> Subject: [PATCH 1/3] gnu: Add python2-pyqt-4.
>
> * gnu/packages/qt.scm (python2-pyqt-4): New variable.
> ---
>  gnu/packages/qt.scm | 10 ++++++++++
>  1 file changed, 10 insertions(+)
>
> diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
> index a7eee7c..99c12aa 100644
> --- a/gnu/packages/qt.scm
> +++ b/gnu/packages/qt.scm
> @@ -3,6 +3,7 @@
>  ;;; Copyright © 2015 Sou Bunnbu <address@hidden>
>  ;;; Copyright © 2015 Ludovic Courtès <address@hidden>
>  ;;; Copyright © 2015, 2016 Efraim Flashner <address@hidden>
> +;;; Copyright © 2016 ng0 <address@hidden>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -1057,6 +1058,15 @@ contain over 620 classes.")
>           %standard-phases)))
>      (license (list gpl2 gpl3)))) ; choice of either license
>  
> +(define-public python2-pyqt-4
> +  (package (inherit python-pyqt-4)
> +           (name "python2-pyqt-4")
> +           (native-inputs
> +            `(("python-sip" ,python2-sip)
> +              ("qt" ,qt-4)))
> +           (inputs
> +            `(("python" ,python-2)))))
> +
>  (define-public qtkeychain
>    (package
>      (name "qtkeychain")
> -- 
> 2.9.3
>
> From 523d7da2b50028826de9f306171a60f77d25625e Mon Sep 17 00:00:00 2001
> From: ng0 <address@hidden>
> Date: Tue, 23 Aug 2016 11:07:17 +0000
> Subject: [PATCH 2/3] gnu: messaging: Use license: prefix.
>
> * gnu/packages/disk.scm (define-module): Import guix licenses with a prefix.
> (libotr): Use the import prefix.
> (bitlbee): Likewise.
> (hexchat): Likewise.
> (ngircd): Likewise.
> (pidgin): Likewise.
> (pidgin-otr): Likewise.
> (znc): Likewise.
> (python-nbxmpp): Likewise.
> (gajim): Likewise.
> ---
>  gnu/packages/messaging.scm | 31 +++++++++++++++----------------
>  1 file changed, 15 insertions(+), 16 deletions(-)
>
> diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
> index de9ac17..b0546f2 100644
> --- a/gnu/packages/messaging.scm
> +++ b/gnu/packages/messaging.scm
> @@ -5,6 +5,7 @@
>  ;;; Copyright © 2015 Andreas Enge <address@hidden>
>  ;;; Copyright © 2015 Ricardo Wurmus <address@hidden>
>  ;;; Copyright © 2015 Efraim Flashner <address@hidden>
> +;;; Copyright © 2016 ng0 <address@hidden>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -22,9 +23,7 @@
>  ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
>  
>  (define-module (gnu packages messaging)
> -  #:use-module ((guix licenses)
> -                #:select (gpl3+ gpl2+ gpl2 lgpl2.1 lgpl2.0+ bsd-2 
> non-copyleft
> -                          asl2.0))
> +  #:use-module ((guix licenses) #:prefix license:)
>    #:use-module (guix utils)
>    #:use-module (guix packages)
>    #:use-module (guix download)
> @@ -89,7 +88,7 @@ correspondent is assured the messages he sees are authentic 
> and
>  unmodified.  (4) Perfect forward secrecy: If you lose control of your private
>  keys, no previous conversation is compromised.")
>      (home-page "https://otr.cypherpunks.ca/";)
> -    (license (list lgpl2.1 gpl2))))
> +    (license (list license:lgpl2.1 license:gpl2))))
>  
>  ;; These patches together fix https://github.com/bitlbee/bitlbee/pull/55, are
>  ;; already upstream, and should be unnecessary when the next bitlbee comes
> @@ -153,7 +152,7 @@ Google Talk), MSN Messenger, Yahoo!  Messenger, AIM and 
> ICQ, and the Twitter
>  microblogging network (plus all other Twitter API compatible services like
>  identi.ca and status.net).")
>      (home-page "http://www.bitlbee.org/";)
> -    (license (list gpl2+ bsd-2))))
> +    (license (list license:gpl2+ license:bsd-2))))
>  
>  (define-public hexchat
>    (package
> @@ -187,7 +186,7 @@ conversation and the list of users.  It uses colors to 
> differentiate between
>  users and to highlight messages.  It checks spelling using available
>  dictionaries.  HexChat can be extended with multiple addons.")
>      (home-page "http://hexchat.net/";)
> -    (license gpl2+)))
> +    (license license:gpl2+)))
>  
>  (define-public ngircd
>    (package
> @@ -252,7 +251,7 @@ dictionaries.  HexChat can be extended with multiple 
> addons.")
>       "ngIRCd is a lightweight Internet Relay Chat server for small or private
>  networks.  It is easy to configure, can cope with dynamic IP addresses, and
>  supports IPv6, SSL-protected connections as well as PAM for authentication.")
> -    (license gpl2+)))
> +    (license license:gpl2+)))
>  
>  (define-public pidgin
>    (package
> @@ -326,14 +325,14 @@ supports IPv6, SSL-protected connections as well as PAM 
> for authentication.")
>  chat protocols.")
>      (license
>       (list
> -      gpl2+    ; Most of the code
> -      lgpl2.1  ; GG protocol plugin (libpurple/protocols/gg/lib)
> -      lgpl2.0+ ; OSCAR protocol plugin (libpurple/protocols/oscar)
> +      license:gpl2+    ; Most of the code
> +      license:lgpl2.1  ; GG protocol plugin (libpurple/protocols/gg/lib)
> +      license:lgpl2.0+ ; OSCAR protocol plugin (libpurple/protocols/oscar)
>        ;; The following licenses cover the zephyr protocol plugin:
> -      (non-copyleft
> +      (license:non-copyleft
>         "file://libpurple/protocols/zephyr/mit-copyright.h"
>         "See libpurple/protocols/zephyr/mit-copyright.h in the distribution.")
> -      (non-copyleft
> +      (license:non-copyleft
>         "file://libpurple/protocols/zephyr/mit-sipb-copyright.h"
>         "See libpurple/protocols/zephyr/mit-sipb-copyright.h in the 
> distribution.")))))
>  
> @@ -373,7 +372,7 @@ you.  However, during a conversation, your correspondent 
> is assured the
>  messages he sees are authentic and unmodified.  (4) Perfect forward secrecy:
>  If you lose control of your private keys, no previous conversation is
>  compromised.")
> -    (license gpl2)))
> +    (license license:gpl2)))
>  
>  (define-public znc
>    (package
> @@ -407,7 +406,7 @@ compromised.")
>  client from the actual IRC server, and also from selected channels.  Multiple
>  clients from different locations can connect to a single ZNC account
>  simultaneously and therefore appear under the same nickname on IRC.")
> -    (license asl2.0)))
> +    (license license:asl2.0)))
>  
>  (define-public python-nbxmpp
>    (package
> @@ -430,7 +429,7 @@ simultaneously and therefore appear under the same 
> nickname on IRC.")
>       "The goal of this python library is to provide a way for Python
>  applications to use Jabber/XMPP networks in a non-blocking way.  This library
>  was initially a fork of xmpppy, but is using non-blocking sockets.")
> -    (license gpl3+)))
> +    (license license:gpl3+)))
>  
>  (define-public python2-nbxmpp
>    (package-with-python2 python-nbxmpp))
> @@ -490,6 +489,6 @@ Among its features are: a tabbed chat window and single 
> window modes; support
>  for group chat (with Multi-User Chat protocol), invitation, chat to group 
> chat
>  transformation; audio and video conferences; file transfer; TLS, GPG and
>  end-to-end encryption support; XML console.")
> -    (license gpl3+)))
> +    (license license:gpl3+)))
>  
>  ;;; messaging.scm ends here
> -- 
> 2.9.3
>
> From ae2e16e0c6e239d9d3e2ee594772c9d564050ec6 Mon Sep 17 00:00:00 2001
> From: ng0 <address@hidden>
> Date: Tue, 23 Aug 2016 11:51:24 +0000
> Subject: [PATCH 3/3] gnu: Add pybitmessage.
>
> * gnu/packages/messaging.scm (pybitmessage): New variable.
> ---
>  gnu/packages/messaging.scm | 95 
> +++++++++++++++++++++++++++++++++++++++++++++-
>  1 file changed, 94 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
> index b0546f2..5d4ca3f 100644
> --- a/gnu/packages/messaging.scm
> +++ b/gnu/packages/messaging.scm
> @@ -57,7 +57,8 @@
>    #:use-module (gnu packages admin)
>    #:use-module (gnu packages linux)
>    #:use-module (gnu packages tls)
> -  #:use-module (gnu packages icu4c))
> +  #:use-module (gnu packages icu4c)
> +  #:use-module (gnu packages qt))
>  
>  (define-public libotr
>    (package
> @@ -491,4 +492,96 @@ transformation; audio and video conferences; file 
> transfer; TLS, GPG and
>  end-to-end encryption support; XML console.")
>      (license license:gpl3+)))
>  
> +(define-public pybitmessage
> +  (package
> +    (name "pybitmessage")
> +    (version "0.6.1")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (string-append "https://github.com/Bitmessage/";
> +                           "PyBitmessage/archive/v" version ".tar.gz"))
> +       (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)
> +       ("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)
> +    (arguments
> +     `(#:imported-modules ((guix build python-build-system)
> +                           ,@%gnu-build-system-modules)
> +       #:make-flags (list (string-append "PREFIX="
> +                                         (assoc-ref %outputs "out")))
> +       #:phases
> +       (modify-phases %standard-phases
> +         (add-before 'build 'fix-makefile
> +           (lambda* (#:key inputs outputs #:allow-other-keys)
> +             (substitute* "Makefile"
> +               (("mkdir -p \\$\\{DESTDIR\\}/usr") "")
> +               (("/usr/local") "")
> +               (("/usr") "")
> +               (("#!/bin/sh") (string-append "#!" (which "bash")))
> +               (("python2") (which "python"))
> +               (("/opt/openssl-compat-bitcoin/lib/")
> +                (string-append (assoc-ref inputs "openssl") "/lib/")))))
> +         (add-after 'unpack 'fix-unmatched-python-shebangs
> +           (lambda* (#:key inputs #:allow-other-keys)
> +             (substitute* "src/bitmessagemain.py"
> +               (("#!/usr/bin/env python2.7")
> +                (string-append "#!" (which "python"))))
> +             (substitute* "src/bitmessagecli.py"
> +               (("#!/usr/bin/env python2.7.x")
> +                (string-append "#!" (which "python"))))))
> +         (add-after 'unpack 'fix-depends
> +           (lambda* (#:key inputs #:allow-other-keys)
> +             (substitute* "src/depends.py"
> +               (("libcrypto.so")
> +                (string-append (assoc-ref inputs "openssl")
> +                               "/lib/libcrypto.so")))))
> +         (add-after 'unpack 'fix-local-files-in-paths
> +           (lambda* (#:key inputs outputs #:allow-other-keys)
> +             (substitute* "src/proofofwork.py"
> +               (("bitmsghash.so")
> +                (string-append (assoc-ref outputs "out")
> +                               "/lib/bitmsghash.so")))))
> +         (add-after 'unpack 'fix-pyelliptic
> +           (lambda* (#:key inputs outputs #:allow-other-keys)
> +             (substitute* "src/pyelliptic/openssl.py"
> +               (("libcrypto.so")
> +                (string-append (assoc-ref inputs "openssl")
> +                               "/lib/libcrypto.so"))
> +               (("libssl.so")
> +                (string-append (assoc-ref inputs "openssl")
> +                               "/lib/libssl.so")))))
> +         ;; XXX: Make does not build and install bitmsghash, do it
> +         ;; and place it in /lib.
> +         (add-before 'build '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))
> +         (delete 'check)))) ; not available
> +    (license license:expat)
> +    (description
> +     "Distributed and trustless peer-to-peer communications protocol
> +for sending encrypted messages to one person or many subscribers.")
> +    (synopsis "Distributed peer-to-peer communication")
> +    (home-page "https://bitmessage.org/";)))
> +
>  ;;; messaging.scm ends here
> -- 
> 2.9.3

Just a thought to change the description a tiny bit when someone
packages another bitmessage client: This is the implementation as found
on bitmessage.org, but it is not the only implementation.
-- 
ng0
For non-prism friendly talk find me on http://www.psyced.org



reply via email to

[Prev in Thread] Current Thread [Next in Thread]