cryptol/cryptol.cabal

193 lines
6.7 KiB
Plaintext
Raw Normal View History

2014-04-18 21:18:26 +04:00
Name: cryptol
2014-09-15 06:35:24 +04:00
Version: 2.1.0
2014-04-18 02:34:25 +04:00
Synopsis: Cryptol: The Language of Cryptography
License: BSD3
Author: Galois, Inc.
Maintainer: cryptol@galois.com
Copyright: 2013-2014 Galois Inc.
Category: Language
Build-type: Configure
Cabal-version: >= 1.18
Fixes #172 There's now a more sensible hierarchy of locations that Cryptol uses to look for modules. By default, in order it looks for libraries in: 1. The directories specified in the CRYPTOLPATH environment variable 2. The current directory 3. The user data directory (something like `$HOME/.cryptol`) 4. Relative to the executable's install directory 5. The static path used when building the executable (cabal's data-dir) There is also a new command-line flag for the interpreter: `--cryptolpath-only` which makes the interpreter ignore locations 2-5. This commit also reworks the Makefile and build/release process. These are bunched together because they play off each other quite a bit; the build/release process determines the location of the `Cryptol.cry`, which must be found when looking for modules. Rather than leaning on `cabal install`, we now use a combination of `cabal configure`, `cabal build`, and `cabal copy`. A couple of upshots to this: - More of the release staging is handled by cabal -- we don't have to go in and manually copy things out of the sandbox. In fact, the `cryptol` executable never goes into the sandbox. - The testing infrastructure runs on executables that are in place in the staging directory, rather than in the sandbox. This should be more hygienic and realistic. - The `Cryptol.cry` prelude file is now in `/share/cryptol` in order to better reflect the common POSIX structure. This means Cryptol will play nicer in global installs, and mirrors what other interpreted languages do. - The default build settings use a prefix of `/usr/local` rather than using the sandbox directory. This makes them more relocatable for binary distributions. Set PREFIX= before making to change this.
2015-01-22 02:03:16 +03:00
data-files: *.cry
data-dir: lib
2014-04-18 02:34:25 +04:00
flag static
default: False
description: Create a statically-linked binary
flag notebook
2015-02-06 03:12:36 +03:00
default: True
description: Build the IPython-style Cryptol notebook interface
2014-04-18 02:34:25 +04:00
library
Default-language:
Haskell98
2014-04-18 02:34:25 +04:00
Build-depends: base >= 4.6,
array >= 0.4,
async >= 2.0,
2014-04-18 02:34:25 +04:00
containers >= 0.5,
deepseq >= 1.3,
directory >= 1.2,
executable-path >= 0.0.3,
filepath >= 1.3,
GraphSCC >= 1.0.4,
monadLib >= 3.7.2,
old-time >= 1.1,
presburger >= 1.3,
2014-04-18 02:34:25 +04:00
pretty >= 1.1,
process >= 1.2,
QuickCheck >= 2.7,
random >= 1.0.1,
sbv >= 4.0,
2014-04-18 02:34:25 +04:00
smtLib >= 1.0.7,
syb >= 0.4,
text >= 1.1,
tf-random >= 0.5,
2014-04-18 02:34:25 +04:00
transformers >= 0.3,
utf8-string >= 0.3
Build-tools: alex, happy
hs-source-dirs: src
2014-04-18 02:34:25 +04:00
Exposed-modules: Cryptol.Prims.Syntax,
Cryptol.Prims.Types,
Cryptol.Prims.Eval,
Cryptol.Prims.Doc,
Cryptol.Parser,
Cryptol.Parser.Lexer,
Cryptol.Parser.AST,
Cryptol.Parser.Position,
Cryptol.Parser.Names,
Cryptol.Parser.NoPat,
Cryptol.Parser.NoInclude,
Cryptol.Parser.Utils,
Cryptol.Parser.Unlit,
Cryptol.Utils.PP,
Cryptol.Utils.Panic,
Cryptol.Utils.Debug,
Cryptol.Version,
Cryptol.ModuleSystem,
Cryptol.ModuleSystem.Base,
Cryptol.ModuleSystem.Env,
Cryptol.ModuleSystem.Interface,
Cryptol.ModuleSystem.Monad,
Cryptol.ModuleSystem.NamingEnv,
Cryptol.ModuleSystem.Renamer,
Cryptol.TypeCheck,
Cryptol.TypeCheck.AST,
Cryptol.TypeCheck.Monad,
Cryptol.TypeCheck.Infer,
Cryptol.TypeCheck.InferTypes,
Cryptol.TypeCheck.Kind,
Cryptol.TypeCheck.Subst,
Cryptol.TypeCheck.Instantiate,
Cryptol.TypeCheck.Unify,
Cryptol.TypeCheck.Depends,
Cryptol.TypeCheck.PP,
Cryptol.TypeCheck.Solve,
Cryptol.TypeCheck.TypeMap,
Cryptol.TypeCheck.TypeOf,
2014-04-18 02:34:25 +04:00
Cryptol.TypeCheck.Defaulting,
Cryptol.TypeCheck.Solver.Eval,
Cryptol.TypeCheck.Solver.FinOrd,
Cryptol.TypeCheck.Solver.InfNat,
Cryptol.TypeCheck.Solver.Interval,
Cryptol.TypeCheck.Solver.Smtlib,
Cryptol.TypeCheck.Solver.Numeric,
Cryptol.TypeCheck.Solver.Class,
Cryptol.TypeCheck.Solver.Selector,
Cryptol.TypeCheck.Solver.CrySAT,
Cryptol.TypeCheck.Solver.Utils,
Cryptol.Transform.MonoValues,
Cryptol.Transform.Specialize,
Cryptol.Eval,
Cryptol.Eval.Arch,
2014-04-18 02:34:25 +04:00
Cryptol.Eval.Env,
Cryptol.Eval.Error,
Cryptol.Eval.Type,
Cryptol.Eval.Value,
Cryptol.Testing.Random,
Cryptol.Testing.Exhaust
Cryptol.Symbolic
Cryptol.Symbolic.BitVector
Cryptol.Symbolic.Prims
Cryptol.Symbolic.Value
Other-modules: Cryptol.Parser.LexerUtils,
Cryptol.Parser.ParserUtils,
2014-04-18 21:28:46 +04:00
Paths_cryptol,
2014-04-18 02:34:25 +04:00
GitRev
GHC-options: -Wall -O2
ghc-prof-options: -fprof-auto -prof
2014-04-18 02:34:25 +04:00
executable cryptol
Default-language:
Haskell98
2014-04-18 02:34:25 +04:00
Main-is: Main.hs
hs-source-dirs: cryptol
Other-modules: OptParser,
REPL.Command,
REPL.Haskeline,
REPL.Monad,
REPL.Trie,
2014-04-18 21:28:46 +04:00
Paths_cryptol
2014-04-18 02:34:25 +04:00
build-depends: base,
ansi-terminal,
containers,
2014-04-18 21:18:26 +04:00
cryptol,
2014-04-18 02:34:25 +04:00
directory,
filepath,
haskeline,
monadLib,
process,
random,
sbv,
tf-random,
2014-04-18 02:34:25 +04:00
transformers
GHC-options: -Wall -O2
ghc-prof-options: -auto-all -prof -rtsopts
2014-04-18 02:34:25 +04:00
if os(linux) && flag(static)
ld-options: -static -pthread
2015-02-06 03:12:36 +03:00
executable ICryptol
if flag(notebook)
buildable: True
else
buildable: False
Default-language:
Haskell98
2014-04-18 02:34:25 +04:00
Main-is: Main_notebook.hs
hs-source-dirs: cryptol, notebook
2015-02-06 03:12:36 +03:00
other-modules: Notebook
2014-04-18 02:34:25 +04:00
build-depends: base,
ansi-terminal,
containers,
2014-04-18 21:18:26 +04:00
cryptol,
2014-04-18 02:34:25 +04:00
directory,
filepath,
haskeline,
ipython-kernel,
2014-04-18 02:34:25 +04:00
monadLib,
process,
random,
sbv >= 4.0,
text,
tf-random,
2014-04-18 02:34:25 +04:00
transformers
GHC-options: -Wall -O2
if os(linux) && flag(static)
ld-options: -static -pthread