From 14afaaaa181ebc621bc6b718a9f05dfe11c0aa96 Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Fri, 26 Jan 2024 20:57:19 +0100 Subject: [PATCH] Add guix package definition --- contrib/guix.scm | 58 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 contrib/guix.scm diff --git a/contrib/guix.scm b/contrib/guix.scm new file mode 100644 index 0000000..1967484 --- /dev/null +++ b/contrib/guix.scm @@ -0,0 +1,58 @@ +;; Guix package for marginaltool. To build or install, run from the toplevel directory: +;; +;; guix build --file=contrib/guix.scm +;; guix package --install-from-file=contrib/guix.scm +;; +;; To create and enter a development environment: +;; +;; guix environment --pure --load=contrib/guix.scm + +(define-module (marginaltool) + #:use-module (gnu) + #:use-module (guix build-system gnu) + #:use-module (guix gexp) + #:use-module (guix git-download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (gnu packages python) + #:use-module (gnu packages security-token) + #:use-module (gnu packages tls) + #:use-module (gnu packages version-control)) + +(define %source-dir (dirname (dirname (current-filename)))) + +(define (git-version directory) + (with-directory-excursion directory + (read-line (open-pipe* OPEN_READ "git" "describe" "--always" "--tags")))) + +(define-public marginaltool + (package + (name "marginaltool") + (version "master") + (source + (local-file %source-dir #:recursive? #t #:select? (git-predicate %source-dir))) + (build-system gnu-build-system) + (arguments + (list + #:make-flags #~(list (string-append "PREFIX=" #$output)) + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (replace 'configure + (lambda* (#:key inputs #:allow-other-keys) + (for-each (lambda (binary) + (substitute* "marginaltool" + ((binary) (search-input-file inputs (string-append "/bin/" binary))))) + '("openssl" "pkcs11-tool")))) + (delete 'build)))) + (inputs + (list openssl opensc)) + (propagated-inputs + (list `(,python "tk"))) + (home-page "https://sr.ht/~jetomit/marginaltool") + (synopsis "MargTools replacement") + (description "Python script to replace MargTools. +Can be used to sign documents with GovernmentConnect.") + (license license:unlicense))) + +marginaltool