snamguix/snamellit/packages/atuin-bin.scm

56 lines
2 KiB
Scheme

(define-module (snamellit packages atuin-bin)
#:use-module (ice-9 string-fun)
#:use-module (gnu packages base)
#:use-module (gnu packages curl)
#:use-module (gnu packages version-control)
#:use-module (gnu packages xorg)
#:use-module (gnu packages tls)
#:use-module (gnu packages compression)
#:use-module (gnu packages gcc)
#:use-module (guix download)
#:use-module (guix packages)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (nonguix build-system binary))
(define libstdc++
;; Libstdc++ matching the default GCC.
(make-libstdc++ gcc))
(define-public atuin-bin
(package
(name "atuin-bin")
(version "18.3.0")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/atuinsh/atuin/releases/download/v" version
"/atuin-x86_64-unknown-linux-gnu.tar.gz"))
(sha256
(base32
"14hp673i8in9adahg01bldlwyip7kg5vdnqi5jczinv8ibxnswg3"))))
(build-system binary-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'binary-unpack)
(replace 'unpack
(lambda* (#:key inputs #:allow-other-keys)
(invoke "tar" "xvzf" (assoc-ref inputs "source")
"--strip-components" "1"))))
#:install-plan
`(("atuin" "/bin/"))
#:patchelf-plan
`(("atuin" ("glibc" "libgccjit" "libstdc++")))))
(inputs
`(("curl" ,curl)
("libgccjit" ,libgccjit)
("libstdc++" ,libstdc++)
("glibc" ,glibc)
("zlib" ,zlib)))
(synopsis "Sync, search and backup shell history")
(description "Atuin replaces your existing shell history with a SQLite database, and records additional context for your commands. Additionally, it provides optional and fully encrypted synchronisation of your history between machines, via an Atuin server.")
(home-page "https://atuin.sh/")
(license license:expat)))
atuin-bin