id: "purescript" aliases: - "purs" - "pure" name: "PureScript" install: prepare: apt: - libtinfo5 npm: - purescript - spago apt: - libtinfo5 npm: - purescript - spago manual: | install -d "${pkg}/opt/purescript/skel-home" install -d "${pkg}/opt/purescript/skel-src" spago init -C rm -rf .gitignore test sed -i 's#, "test/\*\*/\*\.purs"##' spago.dhall cat <<"EOF" > src/Main.purs module Main where import Prelude import Effect (Effect) import Effect.Console (log) main :: Effect Unit main = log "Hello, world!" EOF spago build spago repl < /dev/null rm -rf src shopt -s dotglob cp -R --preserve=timestamps * "${pkg}/opt/purescript/skel-src/" cp -R --preserve=timestamps "${HOME}/.cache" "${pkg}/opt/purescript/skel-home/" setup: | shopt -s dotglob cp -R --preserve=timestamps /opt/purescript/skel-home/* "${HOME}/" cp -R --preserve=timestamps /opt/purescript/skel-src/* "${PWD}/" repl: | spago repl main: "src/Main.purs" template: | module Main where import Prelude import Effect (Effect) import Effect.Console (log) main :: Effect Unit main = do log "Hello, world!" run: | if spago build -n; then spago run -n; (echo 'import Prelude'; echo 'import Main') > .purs-repl; spago repl; else echo 'import Prelude' > .purs-repl; spago repl -d; fi timeoutFactor: 2