| 1 | |
| 2 | |
| 3 | |
| 4 | |
| 5 | |
| 6 | |
| 7 | |
| 8 | |
| 9 | |
| 10 | |
| 11 | |
| 12 | |
| 13 | |
| 14 | |
| 15 | |
| 16 | |
| 17 | |
| 18 |
|
| 19 | (define-module (gnu packages purescript)
|
| 20 | #:use-module (gnu packages)
|
| 21 | #:use-module (gnu packages haskell-xyz)
|
| 22 | #:use-module (gnu packages haskell-check)
|
| 23 | #:use-module (gnu packages haskell-crypto)
|
| 24 | #:use-module (gnu packages haskell-web)
|
| 25 | #:use-module ((gnu packages python) #:select (python))
|
| 26 | #:use-module (guix download)
|
| 27 | #:use-module (guix git-download)
|
| 28 | #:use-module (guix packages)
|
| 29 | #:use-module (guix build-system haskell)
|
| 30 | #:use-module ((guix licenses) #:prefix license:))
|
| 31 |
|
| 32 | (define ghc-happy-1.19.9
|
| 33 | (package
|
| 34 | (inherit ghc-happy)
|
| 35 | (version "1.19.9")
|
| 36 | (source
|
| 37 | (origin
|
| 38 | (method url-fetch)
|
| 39 | (uri (string-append
|
| 40 | "https://hackage.haskell.org/package/happy/happy-"
|
| 41 | version
|
| 42 | ".tar.gz"))
|
| 43 | (sha256
|
| 44 | (base32
|
| 45 | "138xpxdb7x62lpmgmb6b3v3vgdqqvqn4273jaap3mjmc2gla709y"))))))
|
| 46 |
|
| 47 | (define-public purescript
|
| 48 | (package
|
| 49 | (name "purescript")
|
| 50 | (version "0.13.6")
|
| 51 | (source
|
| 52 | (origin
|
| 53 | (method url-fetch)
|
| 54 | (uri (string-append
|
| 55 | "mirror://hackage/package/purescript/purescript-"
|
| 56 | version
|
| 57 | ".tar.gz"))
|
| 58 | (sha256
|
| 59 | (base32
|
| 60 | "1xss3wpv6wb38gsh9r635s09cxzmiz81hhssdxzdba2pw6ifzx8j"))
|
| 61 | (patches (search-patches "purescript-relax-dependencies.patch"))))
|
| 62 | (build-system haskell-build-system)
|
| 63 | (inputs
|
| 64 | `(("ghc-glob" ,ghc-glob)
|
| 65 | ("ghc-aeson" ,ghc-aeson)
|
| 66 | ("ghc-aeson-better-errors" ,ghc-aeson-better-errors)
|
| 67 | ("ghc-aeson-pretty" ,ghc-aeson-pretty)
|
| 68 | ("ghc-ansi-terminal" ,ghc-ansi-terminal)
|
| 69 | ("ghc-base-compat" ,ghc-base-compat)
|
| 70 | ("ghc-blaze-html" ,ghc-blaze-html)
|
| 71 | ("ghc-bower-json" ,ghc-bower-json)
|
| 72 | ("ghc-boxes" ,ghc-boxes)
|
| 73 | ("ghc-cheapskate" ,ghc-cheapskate)
|
| 74 | ("ghc-clock" ,ghc-clock)
|
| 75 | ("ghc-cryptonite" ,ghc-cryptonite)
|
| 76 | ("ghc-data-ordlist" ,ghc-data-ordlist)
|
| 77 | ("ghc-dlist" ,ghc-dlist)
|
| 78 | ("ghc-edit-distance" ,ghc-edit-distance)
|
| 79 | ("ghc-file-embed" ,ghc-file-embed)
|
| 80 | ("ghc-fsnotify" ,ghc-fsnotify)
|
| 81 | ("ghc-happy" ,ghc-happy)
|
| 82 | ("ghc-language-javascript" ,ghc-language-javascript)
|
| 83 | ("ghc-lifted-async" ,ghc-lifted-async)
|
| 84 | ("ghc-lifted-base" ,ghc-lifted-base)
|
| 85 | ("ghc-memory" ,ghc-memory)
|
| 86 | ("ghc-microlens-platform" ,ghc-microlens-platform)
|
| 87 | ("ghc-monad-control" ,ghc-monad-control)
|
| 88 | ("ghc-monad-logger" ,ghc-monad-logger)
|
| 89 | ("ghc-network" ,ghc-network)
|
| 90 | ("ghc-parallel" ,ghc-parallel)
|
| 91 | ("ghc-pattern-arrows" ,ghc-pattern-arrows)
|
| 92 | ("ghc-protolude" ,ghc-protolude)
|
| 93 | ("ghc-regex-tdfa" ,ghc-regex-tdfa)
|
| 94 | ("ghc-safe" ,ghc-safe)
|
| 95 | ("ghc-scientific" ,ghc-scientific)
|
| 96 | ("ghc-semialign" ,ghc-semialign)
|
| 97 | ("ghc-semigroups" ,ghc-semigroups)
|
| 98 | ("ghc-sourcemap" ,ghc-sourcemap)
|
| 99 | ("ghc-split" ,ghc-split)
|
| 100 | ("ghc-stringsearch" ,ghc-stringsearch)
|
| 101 | ("ghc-syb" ,ghc-syb)
|
| 102 | ("ghc-these" ,ghc-these)
|
| 103 | ("ghc-transformers-base" ,ghc-transformers-base)
|
| 104 | ("ghc-transformers-compat" ,ghc-transformers-compat)
|
| 105 | ("ghc-unordered-containers" ,ghc-unordered-containers)
|
| 106 | ("ghc-utf8-string" ,ghc-utf8-string)
|
| 107 | ("ghc-vector" ,ghc-vector)
|
| 108 | ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
|
| 109 | ("ghc-http-types" ,ghc-http-types)
|
| 110 | ("ghc-network" ,ghc-network)
|
| 111 | ("ghc-optparse-applicative" ,ghc-optparse-applicative)
|
| 112 | ("ghc-wai" ,ghc-wai)
|
| 113 | ("ghc-wai-websockets" ,ghc-wai-websockets)
|
| 114 | ("ghc-warp" ,ghc-warp)
|
| 115 | ("ghc-websockets" ,ghc-websockets)))
|
| 116 | (native-inputs
|
| 117 | `(("ghc-happy" ,ghc-happy-1.19.9) |
| 118 | ("ghc-hunit" ,ghc-hunit)
|
| 119 | ("ghc-hspec" ,ghc-hspec)
|
| 120 | ("hspec-discover" ,hspec-discover)
|
| 121 | ("ghc-tasty" ,ghc-tasty)
|
| 122 | ("ghc-tasty-golden" ,ghc-tasty-golden)
|
| 123 | ("ghc-tasty-hspec" ,ghc-tasty-hspec)))
|
| 124 | (arguments
|
| 125 | `( |
| 126 | #:tests? #f
|
| 127 | #:configure-flags '("--flags=release")))
|
| 128 | (home-page "https://www.purescript.org/")
|
| 129 | (synopsis "Haskell inspired programming language compiling to JavaScript")
|
| 130 | (description
|
| 131 | "Purescript is a small strongly, statically typed programming language with
|
| 132 | expressive types, inspired by Haskell and compiling to JavaScript.")
|
| 133 | (license license:bsd-3)))
|