gnu: Add haveged.

Message ID 20160723220946.13044-1-me@tobias.gr
State New
Headers

Commit Message

Tobias Geerinckx-Rice July 23, 2016, 10:09 p.m. UTC
  * gnu/packages/linux.scm (haveged): New variable.
---

Hullo Guix,

- A package for haveged, for those who trust it.

- A question about licencing, for those with more knowledge than me.

Quoth Debian[1]:
> Files: nist/mconf.h
> Copyright: 1984, 1987, 1989, 1995 Stephen L. Moshier
> License: permissive-mconf
> Some software in this archive may be from the book _Methods and
> Programs for Mathematical Functions_ (Prentice-Hall or Simon &
> Schuster International, 1989) or from the Cephes Mathematical Library,
> a commercial product. In either event, it is copyrighted by the
> author. What you see here may be used freely but it comes with no
> support or guarantee.
>
> Files: nist/packtest.c
> Copyright: 1999 National Institute Of Standards & Technology
> License: permissive-nist
> Permission to use, copy, and modify this software without
> fee is hereby granted, provided that this entire notice is
> included in all copies of any software which is or includes
> a copy or modification of this software and in all copies
> of the supporting documentation for such software.

How'd I best encode these (presumably FSDG-compliant) licences?

Kind regards,

T G-R

[1]: http://metadata.ftp-master.debian.org/changelogs/main/h/haveged/haveged_1.9.1-4_copyright

 gnu/packages/linux.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)
  

Comments

Leo Famulari July 23, 2016, 10:47 p.m. UTC | #1
On Sun, Jul 24, 2016 at 12:09:46AM +0200, Tobias Geerinckx-Rice wrote:
> How'd I best encode these (presumably FSDG-compliant) licences?

I would use 'non-copyleft'. There's an example in the libbsd package and
several others.

Otherwise, the package looks good to me, thanks!
  
Tobias Geerinckx-Rice July 23, 2016, 11:43 p.m. UTC | #2
Leo,

On 24/07/2016 0:47, Leo Famulari wrote:
> I would use 'non-copyleft'. There's an example in the libbsd package and
> several others.

That's the one. I've added:

  (license:non-copyleft "file://nist/mconf.h")
  (license:non-copyleft "file://nist/packtest.h")
  ...

but many packages — not all — also like to add a "See <filename> in the
distribution." Looking at guix/licenses.scm, this seems a bit redundant
to me. No?

> Otherwise, the package looks good to me, thanks!

Thanks! I'll push (\o/) in a day or so if no-one else comments.

Kind regards,

T G-R
  
Leo Famulari July 24, 2016, 12:06 a.m. UTC | #3
On Sun, Jul 24, 2016 at 01:43:12AM +0200, Tobias Geerinckx-Rice wrote:
> That's the one. I've added:
> 
>   (license:non-copyleft "file://nist/mconf.h")
>   (license:non-copyleft "file://nist/packtest.h")
>   ...
> 
> but many packages — not all — also like to add a "See <filename> in the
> distribution." Looking at guix/licenses.scm, this seems a bit redundant
> to me. No?

I think it's a matter of judgement. Sometimes it makes sense, sometimes
not. The important thing is to say where the license text is.
  
Tobias Geerinckx-Rice July 26, 2016, 10:47 a.m. UTC | #4
Leo,

On 24/07/2016 2:06, Leo Famulari wrote:
>> but many packages — not all — also like to add a "See <filename> in the
>> distribution." Looking at guix/licenses.scm, this seems a bit redundant
>> to me. No?
> 
> I think it's a matter of judgement. Sometimes it makes sense, sometimes
> not. The important thing is to say where the license text is.

Judged and pushed (without the apparent duplication).

Thanks,

T G-R
  

Patch

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 70c18f2..8665c18 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -2791,3 +2791,31 @@  from that to the system kernel's @file{/dev/random} machinery.")
 Linux kernel to retrieve and control processor features related to power saving,
 such as frequency and voltage scaling.")
     (license license:gpl2)))
+
+(define-public haveged
+  (package
+    (name "haveged")
+    (version "1.9.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "http://www.issihosts.com/haveged/haveged-"
+                           version ".tar.gz"))
+       (sha256
+        (base32
+         "059pxlfd4l5dqhd6r3lynzfz4wby2f17294fy17pi9j2jpnn68ww"))))
+    (build-system gnu-build-system)
+    (home-page "http://www.issihosts.com/haveged")
+    (synopsis "Entropy source for the Linux random number generator")
+    (description
+     "haveged generates an unpredictable stream of random numbers for use by
+Linux's @file{/dev/random} and @file{/dev/urandom} devices.  The kernel's
+standard mechanisms for filling the entropy pool may not be sufficient for
+systems with high needs or limited user interaction, such as headless servers.
+@command{haveged} runs as a privileged daemon, harvesting randomness from the
+indirect effects of hardware events on hidden processor state using the HArdware
+Volatile Entropy Gathering and Expansion (HAVEGE) algorithm.  It tunes itself to
+its environment and provides the same built-in test suite for the output stream
+as used on certified hardware security devices.")
+    (license (list license:public-domain        ; nist/dfft.c
+                   license:gpl3+))))            ; everything else