(define-module (laskutin-package) #:use-module (guix) #:use-module (guix git-download) #: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))) (define-public laskutin (package (name "laskutin") (version "0.0.1") (source (local-file "../.." "laskutin-checkout" #:recursive? #t #:select? vcs-file?)) (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 . 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: . - message parsing and serialisation - MIME multipart messages () - Convenient APIs for replying and forward/bounce - Content transfer and charset decoding/encoding - MIME message header extensions for non-ASCII text () - MIME parameter value and encoded word extensions () - @@Content-Disposition@@ header field () - Address syntax in @@From@@ and @@Sender@@ fields ()") (license license:agpl3+))) laskutin