Ethereum smart contract fuzzer
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
echidna/package.yaml

132 lines
2.7 KiB

name: echidna
author: Trail of Bits <echidna-dev@trailofbits.com>
maintainer: Trail of Bits <echidna-dev@trailofbits.com>
version: 2.2.2
# https://github.com/haskell/cabal/issues/4739
ghc-options: -Wall -fno-warn-orphans -O2 -optP-Wno-nonportable-include-path
dependencies:
- base
- aeson
- base16-bytestring
- binary
- bytestring
2 years ago
- code-page
- containers
- data-bword
- data-dword
- deepseq
- extra
- directory
- exceptions
- filepath
- hashable
- hevm
- html-entities
- ListLike
- MonadRandom
- mtl
- optparse-applicative
- optics
- optics-core
- process
- random
- rosezipper
- semver
- split
- text
- transformers
- time
- unliftio
- utf8-string
- vector
2 years ago
- with-utf8
- word-wrap
- yaml
- http-conduit
- html-conduit
- warp
- wai-extra
- xml-conduit
- strip-ansi-escape
language: GHC2021
default-extensions:
- DuplicateRecordFields
- LambdaCase
- MultiWayIf
- NoFieldSelectors
- OverloadedLabels
- OverloadedRecordDot
- OverloadedStrings
library:
source-dirs: lib/
7 years ago
when:
- condition: "!os(windows)"
cpp-options: -DINTERACTIVE_UI
dependencies:
- brick
- unix
- vty
7 years ago
executables:
echidna:
main: Main.hs
source-dirs: src/
dependencies: echidna
ghc-options: -threaded -with-rtsopts=-N
when:
- condition: (os(linux) || os(windows)) && flag(static)
ghc-options:
- -optl-static
- condition: os(linux) || os(windows)
ghc-options:
- -O2
- -optl-pthread
- condition: os(darwin)
extra-libraries: c++
ld-options: -Wl,-keep_dwarf_unwind
ghc-options: -fcompact-unwind
Update to GHC 9.4 (#1096) * Update to GHC 9.4 * ci: Update to GHC 9.4 * ci: fix GHC 9.4 support on Windows GHC 9.4 has changed toolchains to Clang, which causes issues when building with our current setup. We perform the following changes to support GHC 9.4 and later: * Use MSYS2 CLANG64 MSYS. See https://gitlab.haskell.org/ghc/ghc/-/issues/22561 * Use MSYS2 minimal $PATH. There's many things in the default GitHub environment that cause conflicts. To achieve this, we have to also manually re-add the Stack, Cabal and GHC paths. * Bump the Stack resolver. GHC 9.4.7 has some compilation fixes that are good to have around. * Replace the GHC linker with our MSYS2 linker. The GHC linker is old (~LLVM 14?) and does not fully understand the static libraries produced by the newer Clang 17 in MSYS2. * Refactor the way we invoke Stack and take advantage of the Stack config to indicate extra library and include paths. * Drop the 'strip' workaround for the test suite, as it is not needed any longer. * Fix the linking of the standard C++ library. GHC 9.4 introduces a nice way to do it in a platform-independent way, but unfortunately it does not work properly in Nix and it attempts to link clang++ instead of libc++.so, so we have to use some trickery. addDLL: stdc++ or dependencies not loaded. (Win32 error 126) See also: * https://gitlab.haskell.org/ghc/ghc/-/issues/22738 * https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.4?version_id=b60e52482a666d25638d59cd7e86851ddf971dc1#link-against-system-cxx-std-lib-instead-of-stdc * hevm: pin to newer version supporting GHC 9.4 * ci: linux: update to GHC 9.4.7 * ci: do not cache Stack config --------- Co-authored-by: Emilio López <emilio.lopez@trailofbits.com>
1 year ago
- condition: os(windows) && impl(ghc >= 9.4)
dependencies: system-cxx-std-lib
- condition: os(windows) && impl(ghc < 9.4)
extra-libraries: stdc++
tests:
echidna-testsuite:
main: Spec.hs
source-dirs: src/test
dependencies:
- echidna
- tasty
- tasty-hunit
- tasty-quickcheck
when:
- condition: (os(linux) || os(windows)) && flag(static)
ghc-options:
- -optl-static
- condition: os(linux) || os(windows)
ghc-options:
- -O2
- -optl-pthread
- condition: os(darwin)
extra-libraries: c++
ld-options: -Wl,-keep_dwarf_unwind
ghc-options: -fcompact-unwind
Update to GHC 9.4 (#1096) * Update to GHC 9.4 * ci: Update to GHC 9.4 * ci: fix GHC 9.4 support on Windows GHC 9.4 has changed toolchains to Clang, which causes issues when building with our current setup. We perform the following changes to support GHC 9.4 and later: * Use MSYS2 CLANG64 MSYS. See https://gitlab.haskell.org/ghc/ghc/-/issues/22561 * Use MSYS2 minimal $PATH. There's many things in the default GitHub environment that cause conflicts. To achieve this, we have to also manually re-add the Stack, Cabal and GHC paths. * Bump the Stack resolver. GHC 9.4.7 has some compilation fixes that are good to have around. * Replace the GHC linker with our MSYS2 linker. The GHC linker is old (~LLVM 14?) and does not fully understand the static libraries produced by the newer Clang 17 in MSYS2. * Refactor the way we invoke Stack and take advantage of the Stack config to indicate extra library and include paths. * Drop the 'strip' workaround for the test suite, as it is not needed any longer. * Fix the linking of the standard C++ library. GHC 9.4 introduces a nice way to do it in a platform-independent way, but unfortunately it does not work properly in Nix and it attempts to link clang++ instead of libc++.so, so we have to use some trickery. addDLL: stdc++ or dependencies not loaded. (Win32 error 126) See also: * https://gitlab.haskell.org/ghc/ghc/-/issues/22738 * https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.4?version_id=b60e52482a666d25638d59cd7e86851ddf971dc1#link-against-system-cxx-std-lib-instead-of-stdc * hevm: pin to newer version supporting GHC 9.4 * ci: linux: update to GHC 9.4.7 * ci: do not cache Stack config --------- Co-authored-by: Emilio López <emilio.lopez@trailofbits.com>
1 year ago
- condition: os(windows) && impl(ghc >= 9.4)
dependencies: system-cxx-std-lib
- condition: os(windows) && impl(ghc < 9.4)
extra-libraries: stdc++
flags:
static:
description: Pass -static to ghc when linking the stack binary.
manual: true
default: false