diff options
author | Jakub Kądziołka <kuba@kadziolka.net> | 2020-06-01 02:37:03 +0200 |
---|---|---|
committer | Jakub Kądziołka <kuba@kadziolka.net> | 2020-06-20 20:05:55 +0200 |
commit | ef6d3b643689953b71fe103e8c6f520b54996f11 (patch) | |
tree | 686c1262f3b1a5abcc1ea53c58328ba1f13396e2 | |
parent | 13870bbe44b668ce08acc28722c0af186832497e (diff) | |
download | guix-ef6d3b643689953b71fe103e8c6f520b54996f11.tar.gz |
gnu: Add hashcash.
* gnu/packages/networking.scm (hashcash): New variable.
-rw-r--r-- | gnu/packages/networking.scm | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index e8f398e521..1e6f70e1ff 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -38,6 +38,7 @@ ;;; Copyright © 2019 Diego N. Barbato <dnbarbato@posteo.de> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> +;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -3287,3 +3288,49 @@ CDP. The goal of LLDP is to provide an inter-vendor compatible mechanism to deliver Link-Layer notifications to adjacent network devices. @code{lldpd} is an implementation of LLDP. It also supports some proprietary protocols.") (license license:isc))) + +(define-public hashcash + (package + (name "hashcash") + (version "1.22") + (source + (origin + (method url-fetch) + (uri (string-append "http://www.hashcash.org/source/hashcash-" + version ".tgz")) + (sha256 + (base32 + "15kqaimwb2y8wvzpn73021bvay9mz1gqqfc40gk4hj6f84nz34h1")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags (list (string-append "CC=" ,(cc-for-target))) + #:phases + (modify-phases %standard-phases + (delete 'configure) + ;; No tests available. + (delete 'check) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((outdir (assoc-ref outputs "out")) + (bindir (string-append outdir "/bin")) + (mandir (string-append outdir "/share/man/man1")) + (docdir (string-append outdir "/share/doc/hashcash-" ,version))) + ;; Install manually, as we don't need the `sha1' binary + (install-file "hashcash" bindir) + (install-file "hashcash.1" mandir) + (install-file "README" docdir) + (install-file "LICENSE" docdir) + (install-file "CHANGELOG" docdir) + #t)))))) + (home-page "https://www.hashcash.org/") + (synopsis "Denial-of-service countermeasure") + (description "Hashcash is a proof-of-work algorithm, which has been used +as a denial-of-service countermeasure technique in a number of systems. + +A hashcash stamp constitutes a proof-of-work which takes a parametrizable +amount of work to compute for the sender. The recipient can verify received +hashcash stamps efficiently. + +This package contains a command-line tool for computing and verifying hashcash +stamps.") + (license license:public-domain))) |