Add passphrase2pgp package
This commit is contained in:
@@ -1 +1,74 @@
|
|||||||
; My packages
|
(define-module (nathanmcrae packages)
|
||||||
|
#:use-module (gnu packages base)
|
||||||
|
#:use-module (gnu packages golang)
|
||||||
|
#:use-module (gnu packages golang-build)
|
||||||
|
#:use-module (gnu packages time)
|
||||||
|
#:use-module (guix build utils)
|
||||||
|
#:use-module (guix build-system go)
|
||||||
|
#:use-module (guix build gnu-build-system)
|
||||||
|
#:use-module (guix download)
|
||||||
|
#:use-module (guix gexp)
|
||||||
|
#:use-module (guix git)
|
||||||
|
#:use-module (guix git-download)
|
||||||
|
#:use-module (guix licenses)
|
||||||
|
#:use-module (guix packages)
|
||||||
|
#:use-module (guix utils))
|
||||||
|
|
||||||
|
(define-public go-nullprogram-com-x-optparse
|
||||||
|
(package
|
||||||
|
(name "go-nullprogram-com-x-optparse")
|
||||||
|
(version "1.0.0")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/skeeto/optparse-go")
|
||||||
|
(commit (string-append "v" version))))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
|
(sha256
|
||||||
|
(base32 "1yzpzlhmxdm8gd8ikh9c91qmshjp1jg49l0qsslmm432wk19zym9"))))
|
||||||
|
(build-system go-build-system)
|
||||||
|
(arguments
|
||||||
|
(list
|
||||||
|
#:import-path "nullprogram.com/x/optparse"))
|
||||||
|
(home-page "https://nullprogram.com/x/optparse")
|
||||||
|
(synopsis "Traditional long option parser for Go")
|
||||||
|
(description
|
||||||
|
"Package optparse parses command line arguments very similarly to GNU
|
||||||
|
@code{getopt_long()}. It supports long options and optional arguments, but does
|
||||||
|
not permute arguments. It is intended as a replacement for Go's flag package.")
|
||||||
|
(license unlicense)))
|
||||||
|
|
||||||
|
(define-public passphrase2pgp
|
||||||
|
(package
|
||||||
|
(name "passphrase2pgp")
|
||||||
|
(version "1.3.0")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference (url
|
||||||
|
"https://github.com/skeeto/passphrase2pgp.git")
|
||||||
|
(commit (string-append "v" version))))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
|
(sha256 (base32 "1a1m4r43yzmvs1c7d2sa855aikny8jg6c4mflbsf5dg269imgpca"))))
|
||||||
|
(build-system go-build-system)
|
||||||
|
(native-inputs (list go-golang-org-x-crypto-bootstrap))
|
||||||
|
(propagated-inputs (list go-golang-org-x-crypto
|
||||||
|
go-nullprogram-com-x-optparse))
|
||||||
|
(arguments
|
||||||
|
(list
|
||||||
|
#:import-path "passphrase2pgp"
|
||||||
|
#:phases
|
||||||
|
#~(modify-phases %standard-phases
|
||||||
|
; Needed for import of embedded module to work
|
||||||
|
(add-after 'unpack 'make-openpgp-symlink
|
||||||
|
(lambda* (#:key tests? inputs outputs #:allow-other-keys)
|
||||||
|
(let* ((dir "src/nullprogram.com/x/passphrase2pgp/"))
|
||||||
|
(mkdir-p dir)
|
||||||
|
(with-directory-excursion dir
|
||||||
|
(symlink "../../../passphrase2pgp/openpgp" "openpgp"))))))))
|
||||||
|
;; TODO: run test.bash
|
||||||
|
(synopsis "Generate a PGP key from a passphrase")
|
||||||
|
(description "passphrase2pgp generates, in OpenPGP format, an EdDSA signing key and Curve25519 encryption subkey entirely from a passphrase, essentially allowing you to store a backup of your PGP keys in your brain. At any time you can re-run the tool and re-enter the passphrase to reproduce the original keys.")
|
||||||
|
(license unlicense)
|
||||||
|
(home-page "https://github.com/skeeto/passphrase2pgp")))
|
||||||
Reference in New Issue
Block a user