laskutin/.guix/modules/laskutin-package.scm

106 lines
4.2 KiB
Scheme
Raw Normal View History

2024-01-24 18:53:55 +02:00
(define-module (laskutin-package)
#:use-module (guix)
#:use-module (guix git-download)
2024-01-24 18:53:55 +02:00
#:use-module (guix build-system haskell)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (gnu packages haskell)
#:use-module (gnu packages haskell-check)
#:use-module (gnu packages haskell-xyz))
(define vcs-file?
(or (git-predicate (string-append (current-source-directory) "/../.."))
(const #t)))
2024-01-24 18:53:55 +02:00
(define-public laskutin
(package
(name "laskutin")
(version "0.0.1")
(source (local-file "../.." "laskutin-checkout"
#:recursive? #t
#:select? vcs-file?))
2024-01-24 18:53:55 +02:00
(build-system haskell-build-system)
(inputs (list ghc-cassava
ghc-lens
ghc-optparse-applicative
ghc-purebred-email))
(home-page "https://git.datat.fi/ry/laskutin")
(synopsis "Simple mass invoicing program based on email and CSV")
(description "Laskutin is a simple program for sending and managing lots
invoices. Invoices are defined as rows in a CSV file and all state is stored
back into the file.")
(license license:agpl3+)))
;;; ghc-purebred-email
(define ghc-concise
(package
(name "ghc-concise")
(version "0.1.0.1")
(source (origin
(method url-fetch)
(uri (hackage-uri "concise" version))
(sha256
(base32
"09crgc6gjfidlad6263253xx1di6wfhc9awhira21s0z7rddy9sw"))))
(build-system haskell-build-system)
(properties '((upstream-name . "concise")))
(inputs (list ghc-lens))
(native-inputs (list ghc-tasty ghc-tasty-quickcheck ghc-quickcheck
ghc-quickcheck-instances))
(home-page "https://github.com/frasertweedale/hs-concise")
(synopsis "Utilities for Control.Lens.Cons")
(description
"concise provides a handful of functions to extend what you can do with
Control.Lens.Cons.")
(license license:bsd-3)))
(define ghc-purebred-email
(package
(name "ghc-purebred-email")
(version "0.6.0.1")
(source (origin
(method url-fetch)
(uri (hackage-uri "purebred-email" version))
(sha256
(base32
"0gdzdbxgsyps8hqd903bsyja0cr6kbklkicvma62q48wv0y7230j"))))
(build-system haskell-build-system)
(properties '((upstream-name . "purebred-email")))
(inputs (list ghc-attoparsec
ghc-case-insensitive
ghc-lens
ghc-base64-bytestring
ghc-concise
ghc-random
ghc-semigroupoids
ghc-stringsearch))
(native-inputs (list ghc-tasty
ghc-tasty-hedgehog
ghc-tasty-quickcheck
ghc-tasty-hunit
ghc-tasty-golden
ghc-hedgehog
ghc-quickcheck-instances))
(home-page "https://github.com/purebred-mua/purebred-email")
(synopsis "types and parser for email messages (including MIME)")
(description
"The purebred email library. RFC 5322, MIME, etc. See \"Data.MIME\" for usage,
examples and API documentation. . This is a general-purpose library for
processing and constructing email messages, originally written to meet the needs
of <https://github.com/purebred-mua/purebred purebred MUA>. Transmission and
delivery of mail are not part of this library, but /purebred-email/ could be a
useful building block for such systems. . Features and implemented
specifications include: . - <https://tools.ietf.org/html/rfc5322 RFC 5322>
message parsing and serialisation - MIME multipart messages
(<https://tools.ietf.org/html/rfc2046 RFC 2046>) - Convenient APIs for replying
and forward/bounce - Content transfer and charset decoding/encoding - MIME
message header extensions for non-ASCII text
(<https://tools.ietf.org/html/rfc2047 RFC 2047>) - MIME parameter value and
encoded word extensions (<https://tools.ietf.org/html/rfc2231 RFC 2231>) -
@@Content-Disposition@@ header field (<https://tools.ietf.org/html/rfc2183 RFC 2183>) - Address syntax in @@From@@ and @@Sender@@ fields
(<https://tools.ietf.org/html/rfc6854 RFC 6854>)")
(license license:agpl3+)))
laskutin