On Thu, Aug 25, 2016 at 09:52:22AM +0000, ng0 wrote: > ng0 <n...@we.make.ritual.n0.is> 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 > > > > 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 >
I've rebased the patches and applied some '#t' to some of the phases. If anyone else would like to test them out or comment, they look ready to me to be pushed. -- Efraim Flashner <efr...@flashner.co.il> אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted
From 2a34dccb32340772b91b4e6b6340dcbddad3175b Mon Sep 17 00:00:00 2001 From: ng0 <n...@we.make.ritual.n0.is> 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. Signed-off-by: Efraim Flashner <efr...@flashner.co.il> --- gnu/packages/qt.scm | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 95690fa..a482d75 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2015 Sou Bunnbu <iyzs...@gmail.com> ;;; Copyright © 2015 Ludovic Courtès <l...@gnu.org> ;;; Copyright © 2015, 2016 Efraim Flashner <efr...@flashner.co.il> +;;; Copyright © 2016 ng0 <n...@we.make.ritual.n0.is> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1069,6 +1070,15 @@ contain over 620 classes.") %standard-phases))) (license (list license:gpl2 license: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.10.0
From c528659cd5291d7d154ce40e2d9125cf2b1d747f Mon Sep 17 00:00:00 2001 From: ng0 <n...@we.make.ritual.n0.is> 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 license prefix. (bitlbee): Likewise. (hexchat): Likewise. (ngircd): Likewise. (pidgin): Likewise. (pidgin-otr): Likewise. (znc): Likewise. (python-nbxmpp): Likewise. (gajim): Likewise. (prosody): Likewise. (libtoxcore): Likewise. Signed-off-by: Efraim Flashner <efr...@flashner.co.il> --- gnu/packages/messaging.scm | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index b95239a..c584eaf 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -23,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 x11)) + #:use-module ((guix licenses) #:prefix license:) #:use-module (guix utils) #:use-module (guix packages) #:use-module (guix download) @@ -95,7 +93,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 @@ -159,7 +157,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 @@ -193,7 +191,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 @@ -258,7 +256,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 @@ -332,14 +330,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."))))) @@ -379,7 +377,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 @@ -413,7 +411,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 @@ -436,7 +434,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)) @@ -496,7 +494,7 @@ 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+))) (define-public prosody (package @@ -569,7 +567,7 @@ be easy to set up and configure, and efficient with system resources. Additionally, for developers it aims to be easy to extend and give a flexible system on which to rapidly develop added functionality, or prototype new protocols.") - (license x11))) + (license license:x11))) (define-public libtoxcore (let ((revision "1") @@ -609,7 +607,7 @@ protocols.") (synopsis "Library for the Tox encrypted messenger protocol") (description "C library implementation of the Tox encrypted messenger protocol.") - (license gpl3+) + (license license:gpl3+) (home-page "https://tox.chat")))) ;;; messaging.scm ends here -- 2.10.0
From 8eca1c4c99b221ecf66baea887236b5509ef99f1 Mon Sep 17 00:00:00 2001 From: ng0 <n...@we.make.ritual.n0.is> Date: Tue, 23 Aug 2016 11:51:24 +0000 Subject: [PATCH 3/3] gnu: Add pybitmessage. * gnu/packages/messaging.scm (pybitmessage): New variable. Signed-off-by: Efraim Flashner <efr...@flashner.co.il> --- gnu/packages/messaging.scm | 98 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index c584eaf..55e7a84 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -61,6 +61,7 @@ #:use-module (gnu packages linux) #:use-module (gnu packages tls) #:use-module (gnu packages icu4c) + #:use-module (gnu packages qt) #:use-module (gnu packages video) #:use-module (gnu packages xiph)) @@ -610,4 +611,101 @@ protocols.") (license license:gpl3+) (home-page "https://tox.chat")))) +(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"))) + #:tests? #f ; no test target + #: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 "bash"))) + (("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" + (("#!/usr/bin/env python2.7") + (string-append "#!" (which "python")))) + (substitute* "src/bitmessagecli.py" + (("#!/usr/bin/env python2.7.x") + (string-append "#!" (which "python")))) + #t)) + (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"))) + #t)) + (add-after 'unpack 'fix-local-files-in-paths + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "src/proofofwork.py" + (("bitmsghash.so") + (string-append (assoc-ref outputs "out") + "/lib/bitmsghash.so"))) + #t)) + (add-after 'unpack 'fix-pyelliptic + (lambda* (#:key inputs #: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"))) + #t)) + ;; 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))))) + (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.10.0
signature.asc
Description: PGP signature