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