349 lines
13 KiB
Text
349 lines
13 KiB
Text
|
Name: ghcjs
|
||
|
Version: 0.2.0
|
||
|
Description: Haskell to JavaScript compiler
|
||
|
License: MIT
|
||
|
License-file: LICENSE
|
||
|
Author: Victor Nazarov, Hamish Mackenzie, Luite Stegeman
|
||
|
Copyright: Victor Nazarov, Hamish Mackenzie, Luite Stegeman
|
||
|
Maintainer: Luite Stegeman <stegeman@gmail.com>
|
||
|
Stability: Experimental
|
||
|
Build-Type: Custom
|
||
|
Cabal-Version: >= 1.10
|
||
|
|
||
|
data-dir: .
|
||
|
data-files: lib/include/ghcjs/*.h
|
||
|
lib/cache/boot.tar
|
||
|
lib/cache/shims.tar
|
||
|
lib/cache/test.tar
|
||
|
lib/etc/cabalBootConfig
|
||
|
lib/etc/*.yaml
|
||
|
lib/etc/*.html
|
||
|
lib/etc/*.js
|
||
|
lib/etc/*.c-tmpl
|
||
|
lib/etc/*.rc
|
||
|
lib/etc/*.manifest
|
||
|
lib/etc/manifest.webapp
|
||
|
lib/bin/*.sh
|
||
|
lib/bin/*.exe.options
|
||
|
lib/ghcjs-prim/LICENSE
|
||
|
lib/ghcjs-prim/Setup.hs
|
||
|
lib/ghcjs-prim/cbits/*.c
|
||
|
lib/ghcjs-prim/GHCJS/*.hs
|
||
|
lib/ghcjs-prim/GHCJS/Prim/*.hs
|
||
|
lib/ghcjs-prim/GHCJS/Prim/Internal/*.hs
|
||
|
lib/ghcjs-prim/GHCJS/Prim/TH/*.hs
|
||
|
lib/ghcjs-prim/ghcjs-prim.cabal
|
||
|
doc/*.txt
|
||
|
|
||
|
extra-source-files:
|
||
|
utils/*.hs
|
||
|
utils/*.sh
|
||
|
include/prim/*.hs-incl
|
||
|
include/prim/*.txt
|
||
|
include/*.h
|
||
|
src-bin/Pkg-708.hs
|
||
|
README.markdown
|
||
|
test/LICENSE
|
||
|
test/ghcjs-testsuite.cabal
|
||
|
stack.yaml
|
||
|
|
||
|
source-repository head
|
||
|
type: git
|
||
|
location: https://github.com/ghcjs/ghcjs.git
|
||
|
|
||
|
-- only build the library and ghcjs executable
|
||
|
flag compiler-only
|
||
|
description: only build the library and ghcjs executable
|
||
|
default: False
|
||
|
manual: True
|
||
|
|
||
|
flag network-uri
|
||
|
description: select the network/network-uri >= 2.6
|
||
|
default: True
|
||
|
|
||
|
-- Don't rename the executables to include the version number in the filename
|
||
|
-- and install the wrapper scripts. This means that you need to supply your own
|
||
|
-- scripts to pass the correct library paths to the programs. See Setup.hs and
|
||
|
-- the template files in /lib/etc for more information.
|
||
|
flag no-wrapper-install
|
||
|
description: don't install wrapper scripts and add version numbers to the executable names
|
||
|
default: False
|
||
|
manual: True
|
||
|
|
||
|
Library
|
||
|
if os(Windows)
|
||
|
cpp-options: -DWINDOWS
|
||
|
Default-Language: Haskell2010
|
||
|
exposed-modules: Gen2.Generator,
|
||
|
Gen2.Profiling,
|
||
|
Gen2.Floater,
|
||
|
Gen2.Prim,
|
||
|
Gen2.Rts,
|
||
|
Gen2.RtsApply,
|
||
|
Gen2.RtsTypes,
|
||
|
Gen2.RtsAlloc,
|
||
|
Gen2.Utils,
|
||
|
Gen2.StgAst,
|
||
|
Gen2.Optimizer,
|
||
|
Gen2.Dataflow,
|
||
|
Gen2.Printer,
|
||
|
Gen2.Linker,
|
||
|
Gen2.Shim,
|
||
|
Gen2.PrimIface,
|
||
|
Gen2.Compactor,
|
||
|
Gen2.Object,
|
||
|
Gen2.Archive,
|
||
|
Gen2.ClosureInfo,
|
||
|
Gen2.Foreign,
|
||
|
Gen2.Sinker,
|
||
|
Gen2.TH,
|
||
|
Gen2.Base,
|
||
|
Gen2.Cache,
|
||
|
Gen2.DynamicLinking,
|
||
|
Gen2.GHC.PrelRules,
|
||
|
Compiler.Compat,
|
||
|
Compiler.GhcjsHooks,
|
||
|
Compiler.GhcjsPlatform,
|
||
|
Compiler.Info,
|
||
|
Compiler.Program,
|
||
|
Compiler.GhcjsProgram,
|
||
|
Compiler.Settings,
|
||
|
Compiler.Utils,
|
||
|
Compiler.Variants,
|
||
|
Compiler.JMacro,
|
||
|
Compiler.JMacro.Base,
|
||
|
Compiler.JMacro.Lens,
|
||
|
Compiler.JMacro.QQ,
|
||
|
Compiler.JMacro.ParseTH,
|
||
|
Compiler.JMacro.Util,
|
||
|
GHCJS,
|
||
|
-- shared code from the ghcjs-prim package, found in lib/ghcjs-prim
|
||
|
GHCJS.Prim.TH.Types,
|
||
|
GHCJS.Prim.TH.Serialized
|
||
|
other-modules: Paths_ghcjs
|
||
|
build-depends: base >= 4 && < 5,
|
||
|
Cabal >= 1.22 ,
|
||
|
ghc >= 7.10.2 && < 7.11,
|
||
|
directory,
|
||
|
filepath,
|
||
|
containers,
|
||
|
process,
|
||
|
mtl,
|
||
|
ghc-paths,
|
||
|
template-haskell,
|
||
|
bin-package-db,
|
||
|
syb >= 0.4 ,
|
||
|
bytestring >= 0.10 && < 0.11,
|
||
|
attoparsec >= 0.12 ,
|
||
|
aeson >= 0.7 ,
|
||
|
text >= 0.11 && < 1.3,
|
||
|
wl-pprint-text >= 1.1 && < 1.2,
|
||
|
lens >= 4.0 && < 4.14,
|
||
|
yaml >= 0.8 && < 0.9,
|
||
|
time,
|
||
|
system-filepath,
|
||
|
transformers,
|
||
|
split >= 0.2 && < 0.3,
|
||
|
deepseq,
|
||
|
vector >= 0.10 && < 0.12,
|
||
|
data-default >= 0.5 && < 0.6,
|
||
|
array >= 0.4 && < 0.6,
|
||
|
binary >= 0.7 && < 0.8,
|
||
|
text-binary >= 0.1 && < 0.3,
|
||
|
unordered-containers >= 0.2 && < 0.3,
|
||
|
parallel >= 3.2 && < 3.3,
|
||
|
cryptohash >= 0.11 && < 0.12,
|
||
|
hashable,
|
||
|
unordered-containers,
|
||
|
optparse-applicative >= 0.11 ,
|
||
|
stringsearch >= 0.3 && < 0.4,
|
||
|
base16-bytestring >= 0.1 && < 0.2,
|
||
|
-- for JMacro
|
||
|
regex-posix >= 0.90 && < 0.100,
|
||
|
safe >= 0.3 && < 0.4,
|
||
|
parsec >= 3.1 && < 3.2,
|
||
|
haskell-src-exts >= 1.16 ,
|
||
|
haskell-src-meta >= 0.6.0.3 && < 0.7
|
||
|
exposed: True
|
||
|
buildable: True
|
||
|
hs-source-dirs: src lib/ghcjs-prim
|
||
|
include-dirs: include
|
||
|
GHC-Options: -Wall -fno-warn-orphans -fno-warn-name-shadowing -fno-warn-unused-do-bind -auto-all -fprof-auto
|
||
|
|
||
|
-- the compiler executable, Setup.hs installs a wrapper script that
|
||
|
-- supplies the installation directory
|
||
|
Executable ghcjs
|
||
|
Main-Is: Main.hs
|
||
|
Default-Language: Haskell2010
|
||
|
hs-source-dirs: src-bin
|
||
|
Build-Depends: base >= 4 && < 5,
|
||
|
ghcjs
|
||
|
GHC-Options: -rtsopts -with-rtsopts=-N -with-rtsopts=-K256m -threaded
|
||
|
|
||
|
Executable haddock-ghcjs
|
||
|
if os(Windows)
|
||
|
cpp-options: -DWINDOWS
|
||
|
Main-Is: Haddock.hs
|
||
|
Default-Language: Haskell2010
|
||
|
hs-source-dirs: src-bin
|
||
|
Build-Depends: base >= 4 && < 5,
|
||
|
process,
|
||
|
ghc,
|
||
|
transformers,
|
||
|
transformers-compat,
|
||
|
containers,
|
||
|
directory,
|
||
|
filepath,
|
||
|
ghcjs,
|
||
|
haddock-api >= 2.15
|
||
|
GHC-Options: -Wall
|
||
|
|
||
|
Executable hsc2hs-ghcjs
|
||
|
if os(Windows)
|
||
|
cpp-options: -DWINDOWS
|
||
|
Main-Is: Hsc2Hs.hs
|
||
|
Default-Language: Haskell2010
|
||
|
hs-source-dirs: src-bin
|
||
|
Build-Depends: base >= 4 && < 5,
|
||
|
ghcjs,
|
||
|
process
|
||
|
GHC-Options: -Wall
|
||
|
|
||
|
-- the package manager, like with the compiler, this executable is called
|
||
|
-- through a wrapper script
|
||
|
Executable ghcjs-pkg
|
||
|
if flag(compiler-only)
|
||
|
Buildable: False
|
||
|
-- cabal sdist is buggy when main-is is inside a conditional.
|
||
|
-- work around it by listing Pkg-708.hs in extra-source-files and
|
||
|
-- including that in Pkg.hs for older compilers
|
||
|
-- if impl(ghc >= 7.9)
|
||
|
-- Main-Is: Pkg.hs
|
||
|
-- else
|
||
|
-- Main-Is: Pkg-708.hs
|
||
|
Main-Is: Pkg.hs
|
||
|
Default-Language: Haskell2010
|
||
|
Hs-Source-Dirs: src-bin
|
||
|
Build-Depends: ghcjs,
|
||
|
base >= 4 && < 5,
|
||
|
directory >= 1 && < 1.3,
|
||
|
process >= 1 && < 1.3,
|
||
|
filepath,
|
||
|
containers,
|
||
|
Cabal,
|
||
|
binary,
|
||
|
bin-package-db,
|
||
|
bytestring
|
||
|
if !os(windows)
|
||
|
Build-Depends: unix,
|
||
|
terminfo
|
||
|
if os(windows)
|
||
|
c-sources: cbits/CRT_noglob.c
|
||
|
|
||
|
-- the boot program, this prepares a ghcjs installation by populating the
|
||
|
-- installation directory and building the boot libraries
|
||
|
Executable ghcjs-boot
|
||
|
if flag(compiler-only)
|
||
|
Buildable: False
|
||
|
if os(Windows)
|
||
|
cpp-options: -DWINDOWS
|
||
|
ghc-options: -threaded
|
||
|
Main-Is: Boot.hs
|
||
|
Default-Language: Haskell2010
|
||
|
Hs-Source-Dirs: src-bin
|
||
|
Build-Depends: base >= 4 && < 5,
|
||
|
ghcjs,
|
||
|
directory,
|
||
|
Cabal,
|
||
|
mtl,
|
||
|
transformers,
|
||
|
lens,
|
||
|
unordered-containers,
|
||
|
vector,
|
||
|
filepath,
|
||
|
text >= 0.11 && < 1.3,
|
||
|
bytestring >= 0.10 ,
|
||
|
system-filepath >= 0.4 && < 0.5,
|
||
|
shelly >= 1.5 && < 1.7,
|
||
|
system-fileio >= 0.3 && < 0.4,
|
||
|
optparse-applicative >= 0.11 ,
|
||
|
tar >= 0.4 ,
|
||
|
HTTP >= 4000.2 && < 5000,
|
||
|
yaml >= 0.8 && < 0.9,
|
||
|
process >= 1.2 && < 1.3,
|
||
|
time >= 1.4 && < 1.6,
|
||
|
unix-compat >= 0.4 && < 0.5,
|
||
|
executable-path >= 0 && < 0.1
|
||
|
|
||
|
if flag(network-uri)
|
||
|
build-depends: network-uri >= 2.6, network >= 2.6
|
||
|
else
|
||
|
build-depends: network-uri < 2.6, network < 2.6
|
||
|
|
||
|
Executable ghcjs-run
|
||
|
if flag(compiler-only)
|
||
|
Buildable: False
|
||
|
if os(Windows)
|
||
|
cpp-options: -DWINDOWS
|
||
|
ghc-options: -threaded
|
||
|
Main-Is: Run.hs
|
||
|
Default-Language: Haskell2010
|
||
|
Hs-Source-Dirs: src-bin
|
||
|
Build-Depends: base >= 4 && < 5,
|
||
|
directory,
|
||
|
process,
|
||
|
filepath
|
||
|
|
||
|
-- our test suite, requires JavaScript environments to run the tests:
|
||
|
-- - node.js http://nodejs.org/
|
||
|
-- - SpiderMonkey jsshell http://download.cdn.mozilla.net/pub/firefox/nightly/latest-mozilla-central/
|
||
|
-- - JavaScriptCore ?
|
||
|
-- - Selenium WebDriver http://www.seleniumhq.org/
|
||
|
-- for Selenium server:
|
||
|
-- - Firefox
|
||
|
-- - ChromeDriver - http://chromedriver.storage.googleapis.com/index.html
|
||
|
-- - Opera / IE
|
||
|
--
|
||
|
-- don't forget to run utils/updateTestSuite.hs after updating this section
|
||
|
-- to update the cabal file for the stand-alone testsuite package
|
||
|
test-suite test
|
||
|
type: exitcode-stdio-1.0
|
||
|
hs-source-dirs: test
|
||
|
Default-Language: Haskell2010
|
||
|
ghc-options: -threaded
|
||
|
main-is: TestRunner.hs
|
||
|
other-modules: Server
|
||
|
Client
|
||
|
Types
|
||
|
build-depends: base >= 4 && < 5,
|
||
|
process,
|
||
|
network,
|
||
|
aeson,
|
||
|
test-framework >= 0.8,
|
||
|
test-framework-hunit >= 0.3,
|
||
|
HUnit >= 1.2 && < 1.3,
|
||
|
system-filepath >= 0.4 && < 0.5,
|
||
|
system-fileio >= 0.3 && < 0.4,
|
||
|
text,
|
||
|
transformers,
|
||
|
lens,
|
||
|
random,
|
||
|
time,
|
||
|
bytestring,
|
||
|
deepseq,
|
||
|
unordered-containers,
|
||
|
shelly >= 1.5 && < 1.7,
|
||
|
data-default >= 0.5 && < 0.6,
|
||
|
yaml >= 0.8 && < 0.9,
|
||
|
optparse-applicative,
|
||
|
directory,
|
||
|
http-types >= 0.8 && < 0.9,
|
||
|
warp >= 3.0 && < 3.1,
|
||
|
wai >= 3.0 && < 3.1,
|
||
|
wai-extra >= 3.0 && < 3.1,
|
||
|
wai-app-static >= 3.0 && < 3.1,
|
||
|
wai-websockets >= 3.0 && < 3.1,
|
||
|
websockets >= 0.9 && < 0.10,
|
||
|
webdriver >= 0.8 && < 0.9,
|
||
|
lifted-base >= 0.2 && < 0.3
|