2024-01-24 18:53:55 +02:00
|
|
|
(define-module (laskutin-package)
|
|
|
|
#:use-module (guix)
|
2024-01-24 19:11:26 +02:00
|
|
|
#: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))
|
|
|
|
|
2024-01-24 19:11:26 +02:00
|
|
|
(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"
|
2024-01-24 19:11:26 +02:00
|
|
|
#: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
|