Subject: Re: [bug#31958] [PATCH] gnu: Add python-pyblake2.

From: Vagrant Cascadian <[email-masked]>
Date: Mon, 25 Jun 2018 21:37:48 -0700

On 2018-06-25, Marius Bakke wrote:
> Vagrant Cascadian <[email-masked]> writes:
>>> According to COPYING, this software is actually "octuple-licensed":
>>>
>>> * CC0 Universal 1.0 - http://creativecommons.org/publicdomain/zero/1.0
>>> * Unlicense — http://unlicense.org/
>>> * WTFPL Version 2 - http://www.wtfpl.net/
>>> * Apache Public License 2.0 - https://www.apache.org/licenses/LICENSE-2.0
>>> * OpenSSL License - https://www.openssl.org/source/license.html
>>> * MIT License - https://opensource.org/licenses/MIT
>>> * The BSD 3-Clause License - https://opensource.org/licenses/BSD-3-Clause
>>> * ISC License - https://opensource.org/licenses/ISC
>>>
>>> Can you add each of these, along with an explaning comment?
>>
>> And all of those are merely fallback licenses to the author's intention
>> of public domain... and in the files themselves (pyblake2module.c,
>> setup.py), they only reference:
>>
>>   http://creativecommons.org/publicdomain/zero/1.0
>>
>> But if it's more appropriate for guix to list all possible licenses,
>> sure. :)
>
> Right.  I missed the top comment of the COPYING file[0], which dedicates
> the software to the public domain.  But it also says that you are free
> to choose any of the others at your discretion.
>
> So I think CC0 is appropriate, but please add a comment explaning the
> situation.  Thanks!
>
> [0] https://github.com/dchest/pyblake2/blob/master/COPYING

Updated patch:
- fixed commit message
- moved to python-crypto.scm
- removed needless linebreak
- updated description
- updated licensing to public-domain/cc0
- clarified additional licensing in comments

Hopefully that covers everything.

live well,
  vagrant

From d6101ee18f130fb13aa75a0978cfc0da33e6b915 Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <[email-masked]>
Date: Mon, 25 Jun 2018 21:32:06 -0700
Subject: [PATCH] gnu: Add python-pyblake2.

* gnu/packages/python-crypto.scm (python-pyblake2): New variable.
---
 gnu/packages/python-crypto.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm
index e29eaea80..214671fd3 100644
--- a/gnu/packages/python-crypto.scm
+++ b/gnu/packages/python-crypto.scm
@@ -170,6 +170,34 @@ John the Ripper).")
     ;; the rest is under ISC.
     (license (list license:isc license:bsd-3 license:bsd-4))))
 
+(define-public python-pyblake2
+  (package
+    (name "python-pyblake2")
+    (version "1.1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pyblake2" version))
+       (sha256
+        (base32
+         "0gz9hgznv5zw4qjq43xa56y0yikimx30gffvibxzm0nv5sq7xk2w"))))
+    (build-system python-build-system)
+    (home-page "https://github.com/dchest/pyblake2")
+    (synopsis "BLAKE2 hash function extension module")
+    (description "Python BLAKE2 hash function extension module. BLAKE2 is
+a cryptographic hash function, which offers stronger security while being as
+fast as MD5 or SHA-1, and comes in two flavors: BLAKE2b, optimized for 64-bit
+platforms and produces digests of any size between 1 and 64 bytes, and
+BLAKE2s, optimized for 8- to 32-bit platforms and produces digests of any size
+between 1 and 32 bytes. BLAKE2 supports keyed mode (a faster and simpler
+replacement for HMAC), salted hashing, personalization, and tree hashing.
+Hash objects from this module follow the API of standard library's hashlib
+objects.")
+    ;; The COPYING file declares it as public domain, with the option to
+    ;; alternately use it under a variety of permissive licenses. cc0 is
+    ;; explicitly mentioned in setup.py and pyblake2module.c
+    (license (list license:public-domain license:cc0))))
+
 (define-public python2-py-bcrypt
   (package-with-python2 python-py-bcrypt))
 
-- 
2.11.0