unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Eric Bavier <ericbavier@openmailbox.org>
To: ng0 <ng0@we.make.ritual.n0.is>
Cc: guix-devel@gnu.org
Subject: Re: [PATCH] gnu: Add eschalot.
Date: Tue, 30 Aug 2016 12:34:38 -0500	[thread overview]
Message-ID: <20160830123438.3e8bdda5@openmailbox.org> (raw)
In-Reply-To: <877faypl6q.fsf@we.make.ritual.n0.is>

On Tue, 30 Aug 2016 11:09:49 +0000
ng0 <ng0@we.make.ritual.n0.is> wrote:

> From a95d7059ea452c9fe9b8d148c33e0d77fbbffc04 Mon Sep 17 00:00:00 2001
> From: ng0 <ng0@we.make.ritual.n0.is>
> Date: Fri, 26 Aug 2016 15:41:33 +0000
> Subject: [PATCH] gnu: Add eschalot.
> 
> * gnu/packages/crypto.scm (eschalot): New variable.
> ---
>  gnu/packages/crypto.scm | 55 +++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 55 insertions(+)
> 
> diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
> index 5dad97c..be55a1d 100644
> --- a/gnu/packages/crypto.scm
> +++ b/gnu/packages/crypto.scm
> @@ -4,6 +4,7 @@
>  ;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
>  ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox>
>  ;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
> +;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -37,6 +38,7 @@
>    #:use-module ((guix licenses) #:prefix license:)
>    #:use-module (guix packages)
>    #:use-module (guix download)
> +  #:use-module (guix git-download)
>    #:use-module (guix build-system gnu))
>  
>  (define-public libsodium
> @@ -263,3 +265,56 @@ gain and retain the authorization and encryption keys required to perform
>  secure operations. ")
>      (license (list license:lgpl2.1+             ; the files keyutils.*
>                     license:gpl2+))))            ; the rest
> +
> +;; There is no release candidate but commits point out a version number.

The README mentions tarballs.  Are they not available anywhere?  I
couldn't seem to access the .onion address mentioned on the github page.

> +(define-public eschalot
> +  (let ((commit "0bf31d88a11898c19b1ed25ddd2aff7b35dbac44")
> +        (revision "1"))
> +    (package
> +      (name "eschalot")
> +      (version (string-append "1.2.0-" revision "." (string-take commit 7)))
> +      (source
> +       (origin
> +         (method git-fetch)
> +         (uri (git-reference
> +               (url "https://github.com/schnabear/eschalot")
> +               (commit commit)))
> +         (sha256
> +          (base32
> +           "0lj38ldh8vzi11wp4ghw4k0fkwp0s04zv8k8d473p1snmbh7mx98"))))
> +      (inputs
> +       `(("openssl" ,openssl))) ; It needs: openssl/{bn,pem,rsa,sha}.h
> +      (build-system gnu-build-system)
> +      (arguments
> +       `(#:make-flags (list "CC=gcc"
> +                            (string-append "PREFIX=" (assoc-ref %outputs "out"))
> +                            (string-append "INSTALL=" "install"))
> +         ;; XXX: make test would run a !VERY! long hashing of names with the use
> +         ;; of a wordlist, the amount of computing time this would waste on build
> +         ;; servers is in no relation to the size or importance of this small
> +         ;; application, therefore we disable the tests.
> +         ;; TODO: Patch the Makefile to run a modified test phase which runs a
> +         ;; reasonable amount of hashes.
> +         #:tests? #f

How about something simple like:

(replace 'check
  (lambda _
    (zero? (system* "./eschalot" "-r" "^guix|^guixsd"))))

That command returns in under .3s on my i5.  I suppose it could be
expanded to test the wordlist capabilities.

> +         #:phases
> +         (modify-phases %standard-phases
> +           (replace 'configure
> +             (lambda _
> +               (substitute* "Makefile"
> +                 (("/bin/rm") "rm"))))

I think this phase could simply be removed.  The RM variable is only
referenced in the 'clean' and 'cleantest' targets, which aren't made.
If it's really necessary, "RM=rm" could simply be added to #:make-flags.

> +           ;; Make install can not create the bin dir. Create it.
> +           (add-before 'install 'create-bin-dir
> +             (lambda* (#:key outputs inputs #:allow-other-keys)
                                        ^
The 'inputs' variable is not referenced in this phase, and can be left
out.

Otherwise looks good,
`~Eric

  reply	other threads:[~2016-08-30 17:34 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-26 15:49 [PATCH] gnu: Add eschalot ng0
2016-08-30  7:11 ` Leo Famulari
2016-08-30 11:01   ` ng0
2016-08-30 11:09   ` ng0
2016-08-30 17:34     ` Eric Bavier [this message]
2016-08-30 18:45       ` ng0
2016-09-06 21:22         ` Leo Famulari

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160830123438.3e8bdda5@openmailbox.org \
    --to=ericbavier@openmailbox.org \
    --cc=guix-devel@gnu.org \
    --cc=ng0@we.make.ritual.n0.is \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).