guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] gnu: Add eschalot.


From: ng0
Subject: [PATCH] gnu: Add eschalot.
Date: Fri, 26 Aug 2016 15:49:36 +0000

TL;DR: only run the test suite if you own a cluster, super computer or
otherwise much computation power which will be bored by this
hashing. Everyone else will spend MANY hours on this, which is why make
check/test is disabled.

>From 8b941cf6051d81cdd7ca0741b15d2a980a10844b Mon Sep 17 00:00:00 2001
From: ng0 <address@hidden>
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 | 61 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)

diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index b982b61..6dcdf00 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2016 Leo Famulari <address@hidden>
 ;;; Copyright © 2016 Lukas Gradl <address@hidden>
 ;;; Copyright © 2016 Tobias Geerinckx-Rice <address@hidden>
+;;; Copyright © 2016 ng0 <address@hidden>
 ;;;
 ;;; 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
@@ -223,3 +225,62 @@ to provide security against off-line attacks, such as a 
drive falling into
 the wrong hands.")
     (license (list license:lgpl3+                 ;encfs library
                    license:gpl3+))))              ;command-line tools
+
+;; There is no release candidate but commits point out a version number.
+(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
+         #:phases
+         (modify-phases %standard-phases
+           (replace 'configure
+             (lambda _
+               (substitute* "Makefile"
+                 (("/bin/rm") "rm"))))
+           ;; Make install can not create the bin dir. Create it.
+           (add-before 'install 'create-bin-dir
+             (lambda* (#:key outputs inputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out"))
+                      (bin (string-append out "/bin")))
+                 (mkdir-p bin)
+                 #t))))))
+      (home-page "https://github.com/schnabear/eschalot";)
+      (synopsis "Tor hidden service name generator")
+      (description
+       "Eschalot is a tor hidden service name generator, it allows one to 
produce
+customized vanity .onion addresses using a brute-force method.
+Searches for valid names can be run with regular expressions and wordlists, for
+the generation of wordlists the included tool @code{worgen} can be used.
+There is no man page, refer to the home page for usage details.")
+      ;; Licenses are various as eschalots cites the applications it was based 
on
+      ;; or which it was influenced by, eschalot author says the application 
itself
+      ;; is under a BSD license, the combination of all could be seen as expat 
or
+      ;; a variation of such.  It is not clear.  FIXME: Specify license(s) 
used.
+      (license (license:non-copyleft
+                "file://LICENSE"
+                "See LICENSE in the distribution for the licenses which 
apply.")))))
-- 
2.9.3

-- 
ng0
For non-prism friendly talk find me on http://www.psyced.org

reply via email to

[Prev in Thread] Current Thread [Next in Thread]