| 1 | |
| 2 | |
| 3 | |
| 4 | |
| 5 | |
| 6 | |
| 7 | |
| 8 | |
| 9 | |
| 10 | |
| 11 | |
| 12 | |
| 13 | |
| 14 | |
| 15 | |
| 16 | |
| 17 | |
| 18 | |
| 19 | |
| 20 |
|
| 21 | (define-module (gnu packages purescript)
|
| 22 | #:use-module (gnu packages)
|
| 23 | #:use-module (gnu packages haskell-xyz)
|
| 24 | #:use-module (gnu packages haskell-check)
|
| 25 | #:use-module (gnu packages haskell-crypto)
|
| 26 | #:use-module (gnu packages haskell-web)
|
| 27 | #:use-module ((gnu packages python) #:select (python))
|
| 28 | #:use-module (guix download)
|
| 29 | #:use-module (guix gexp)
|
| 30 | #:use-module (guix git-download)
|
| 31 | #:use-module (guix packages)
|
| 32 | #:use-module (guix build-system haskell)
|
| 33 | #:use-module ((guix licenses) #:prefix license:))
|
| 34 |
|
| 35 | (define-public purescript
|
| 36 | (package
|
| 37 | (name "purescript")
|
| 38 | (version "0.15.15")
|
| 39 | (source
|
| 40 | (origin
|
| 41 | (method url-fetch)
|
| 42 | (uri (hackage-uri "purescript" version))
|
| 43 | (sha256
|
| 44 | (base32 "0rqf4bfn11hf2b7k90h82mffqh6rmfz101i69v1ss2gz8zm26jlw"))))
|
| 45 | (build-system haskell-build-system)
|
| 46 | (properties '((upstream-name . "purescript")))
|
| 47 | (inputs (list ghc-aeson
|
| 48 | ghc-aeson-better-errors
|
| 49 | ghc-ansi-terminal
|
| 50 | ghc-blaze-html
|
| 51 | ghc-bower-json
|
| 52 | ghc-boxes
|
| 53 | ghc-cborg
|
| 54 | ghc-serialise
|
| 55 | ghc-cheapskate
|
| 56 | ghc-clock
|
| 57 | ghc-cryptonite
|
| 58 | ghc-data-ordlist
|
| 59 | ghc-dlist
|
| 60 | ghc-edit-distance
|
| 61 | ghc-file-embed
|
| 62 | ghc-glob
|
| 63 | ghc-language-javascript
|
| 64 | ghc-lens
|
| 65 | ghc-lifted-async
|
| 66 | ghc-lifted-base
|
| 67 | ghc-memory
|
| 68 | ghc-monad-control
|
| 69 | ghc-monad-logger
|
| 70 | ghc-monoidal-containers
|
| 71 | ghc-parallel
|
| 72 | ghc-pattern-arrows
|
| 73 | ghc-protolude
|
| 74 | ghc-regex-tdfa
|
| 75 | ghc-safe
|
| 76 | ghc-scientific
|
| 77 | ghc-semigroups
|
| 78 | ghc-semialign
|
| 79 | ghc-sourcemap
|
| 80 | ghc-stringsearch
|
| 81 | ghc-these
|
| 82 | ghc-transformers-base
|
| 83 | ghc-utf8-string
|
| 84 | ghc-vector
|
| 85 | ghc-witherable
|
| 86 | ghc-ansi-wl-pprint
|
| 87 | ghc-network
|
| 88 | ghc-optparse-applicative
|
| 89 | ghc-gitrev))
|
| 90 | (native-inputs (list ghc-generic-random
|
| 91 | ghc-hspec
|
| 92 | ghc-hunit
|
| 93 | ghc-newtype
|
| 94 | ghc-quickcheck
|
| 95 | ghc-regex-base
|
| 96 | ghc-split
|
| 97 | ghc-typed-process
|
| 98 | ghc-happy))
|
| 99 | (arguments
|
| 100 | (list
|
| 101 | |
| 102 | #:tests? #f
|
| 103 | #:configure-flags
|
| 104 | #~(list "--flags=release")
|
| 105 | #:haddock? #f
|
| 106 | #:phases
|
| 107 | #~(modify-phases %standard-phases
|
| 108 | (add-before 'configure 'update-constraints
|
| 109 | (lambda _
|
| 110 | (substitute* "purescript.cabal"
|
| 111 | (("\\b(language-javascript|process)\\s+[^,]+" all dep)
|
| 112 | dep)
|
| 113 | (("happy:happy ==1.20.0") "happy:happy"))))
|
| 114 | (add-after 'register 'remove-libraries
|
| 115 | (lambda _
|
| 116 | (delete-file-recursively
|
| 117 | (string-append #$output "/lib")))))))
|
| 118 | (home-page "https://www.purescript.org/")
|
| 119 | (synopsis "Haskell inspired programming language compiling to JavaScript")
|
| 120 | (description
|
| 121 | "Purescript is a small strongly, statically typed programming language with
|
| 122 | expressive types, inspired by Haskell and compiling to JavaScript.")
|
| 123 | (license license:bsd-3)))
|
| 124 |
|