From mboxrd@z Thu Jan 1 00:00:00 1970 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 Message-ID: <87twe9goq1.fsf@we.make.ritual.n0.is> References: <878tvnk804.fsf@we.make.ritual.n0.is> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:56559) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bcrKl-00040R-PT for guix-devel@gnu.org; Thu, 25 Aug 2016 05:52:30 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bcrKi-0000xM-B6 for guix-devel@gnu.org; Thu, 25 Aug 2016 05:52:26 -0400 Received: from mithlond.libertad.in-berlin.de ([2001:67c:1400:2490::1]:57023 helo=beleriand.n0.is) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bcrKi-0000xC-19 for guix-devel@gnu.org; Thu, 25 Aug 2016 05:52:24 -0400 Received: by beleriand.n0.is (OpenSMTPD) with ESMTPSA id 0eac9794 TLS version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO for ; Thu, 25 Aug 2016 09:52:22 +0000 (UTC) In-Reply-To: <878tvnk804.fsf@we.make.ritual.n0.is> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: guix-devel@gnu.org ng0 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 > 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 > ;;; Copyright © 2015 Ludovic Courtès > ;;; Copyright © 2015, 2016 Efraim Flashner > +;;; Copyright © 2016 ng0 > ;;; > ;;; 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 > 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 > ;;; Copyright © 2015 Ricardo Wurmus > ;;; Copyright © 2015 Efraim Flashner > +;;; Copyright © 2016 ng0 > ;;; > ;;; This file is part of GNU Guix. > ;;; > @@ -22,9 +23,7 @@ > ;;; along with GNU Guix. If not, see . > > (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 > 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