From 467ed66c1673e43f728cb4bbf07dd74b7978d323 Mon Sep 17 00:00:00 2001 From: Vincent Hanquez Date: Mon, 12 Mar 2018 08:35:49 +0000 Subject: [PATCH] Drop GHC 7.8 and GHC 7.10 support, refer to pkg-guidelines --- .haskell-ci | 4 ---- .travis.yml | 22 +++++----------------- README.md | 23 +---------------------- cryptonite.cabal | 19 +++++++++++-------- 4 files changed, 17 insertions(+), 51 deletions(-) diff --git a/.haskell-ci b/.haskell-ci index 3efdf32..e8c5b9a 100644 --- a/.haskell-ci +++ b/.haskell-ci @@ -1,6 +1,4 @@ # compiler supported and their equivalent LTS -compiler: ghc-7.8 lts-2.22 -compiler: ghc-7.10 lts-6.35 compiler: ghc-8.0 lts-9.21 compiler: ghc-8.2 lts-10.4 compiler: ghc-8.4 ghc-8.4-alpha2 @@ -13,9 +11,7 @@ option: gaugedeps extradep=gauge-0.2.1 option: basementmin extradep=basement-0.0.6 extradep=foundation-0.0.19 extradep=memory-0.14.14 # builds -build: ghc-7.8 basementmin gaugedeps nohaddock build: ghc-8.2 basementmin gaugedeps -build: ghc-7.10 basementmin gaugedeps build: ghc-8.0 basementmin gaugedeps build: ghc-8.0 basementmin gaugedeps os=osx build: ghc-8.4 basementmin testdeps gaugedeps extradep=vector-0.12.0.1 diff --git a/.travis.yml b/.travis.yml index e96b525..e244fe9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,4 @@ -# ~*~ auto-generated by haskell-ci with config : 5bc659023c72919bd64a856cc98a6b681c8180a770cee29b5b1e33698264f127 ~*~ +# ~*~ auto-generated by haskell-ci with config : 26f0e346401960c8aed161c0e7d667cbc8aaeff9264b6ea514e302ae9b0f6a79 ~*~ # Use new container infrastructure to enable caching sudo: false @@ -12,9 +12,7 @@ cache: matrix: include: - - { env: BUILD=stack RESOLVER=ghc-7.8, compiler: ghc-7.8, language: generic, addons: { apt: { packages: [ libgmp-dev ] } } } - { env: BUILD=stack RESOLVER=ghc-8.2, compiler: ghc-8.2, language: generic, addons: { apt: { packages: [ libgmp-dev ] } } } - - { env: BUILD=stack RESOLVER=ghc-7.10, compiler: ghc-7.10, language: generic, addons: { apt: { packages: [ libgmp-dev ] } } } - { env: BUILD=stack RESOLVER=ghc-8.0, compiler: ghc-8.0, language: generic, addons: { apt: { packages: [ libgmp-dev ] } } } - { env: BUILD=stack RESOLVER=ghc-8.0, compiler: ghc-8.0, language: generic, addons: { apt: { packages: [ libgmp-dev ] } }, os: osx } - { env: BUILD=stack RESOLVER=ghc-8.4, compiler: ghc-8.4, language: generic, addons: { apt: { packages: [ libgmp-dev ] } } } @@ -49,33 +47,23 @@ script: stack) # create the build stack.yaml case "$RESOLVER" in - ghc-7.8) - echo "{ resolver: lts-2.22, packages: [ '.' ], extra-deps: [ basement-0.0.6, foundation-0.0.19, memory-0.14.14, gauge-0.2.1 ], flags: {} }" > stack.yaml - export HADDOCK_OPTs="--no-haddock" - ;; ghc-8.2) echo "{ resolver: lts-10.4, packages: [ '.' ], extra-deps: [ basement-0.0.6, foundation-0.0.19, memory-0.14.14, gauge-0.2.1 ], flags: {} }" > stack.yaml - export HADDOCK_OPTs="--haddock --no-haddock-deps" - ;; - ghc-7.10) - echo "{ resolver: lts-6.35, packages: [ '.' ], extra-deps: [ basement-0.0.6, foundation-0.0.19, memory-0.14.14, gauge-0.2.1 ], flags: {} }" > stack.yaml - export HADDOCK_OPTs="--haddock --no-haddock-deps" + stack --no-terminal build --install-ghc --coverage --test --bench --no-run-benchmarks --haddock --no-haddock-deps ;; ghc-8.0) echo "{ resolver: lts-9.21, packages: [ '.' ], extra-deps: [ basement-0.0.6, foundation-0.0.19, memory-0.14.14, gauge-0.2.1 ], flags: {} }" > stack.yaml - export HADDOCK_OPTs="--haddock --no-haddock-deps" + stack --no-terminal build --install-ghc --coverage --test --bench --no-run-benchmarks --haddock --no-haddock-deps ;; ghc-8.0) echo "{ resolver: lts-9.21, packages: [ '.' ], extra-deps: [ basement-0.0.6, foundation-0.0.19, memory-0.14.14, gauge-0.2.1 ], flags: {} }" > stack.yaml - export HADDOCK_OPTs="--haddock --no-haddock-deps" + stack --no-terminal build --install-ghc --coverage --test --bench --no-run-benchmarks --haddock --no-haddock-deps ;; ghc-8.4) echo "{ setup-info: { ghc: { \"linux32-nopie\": { \"8.4.0.20180118\": { url: \"https://downloads.haskell.org/~ghc/8.4.1-alpha2/ghc-8.4.0.20180118-i386-deb8-linux.tar.xz\", sha256: \"be1a3b5de9f671199533d22f2810d9b62c6392b32b39833cd384a094566703c6\" } }, \"windows32\": { \"8.4.0.20180118\": { url: \"https://downloads.haskell.org/~ghc/8.4.1-alpha2/ghc-8.4.0.20180118-i386-unknown-mingw32.tar.xz\", sha256: \"3f4b9291ad35d89ca7b3561312a4329545aedceb5c4c8c5c4cf01550037376a1\" } }, \"linux64\": { \"8.4.0.20180118\": { url: \"https://downloads.haskell.org/~ghc/8.4.1-alpha2/ghc-8.4.0.20180118-x86_64-deb8-linux.tar.xz\", sha256: \"55b54bce14661c19288c3413b8fab95d2b7fae407986323c7f0b6a732bec6a38\" } }, \"linux64-tinfo\": { \"8.4.0.20180118\": { url: \"https://downloads.haskell.org/~ghc/8.4.1-alpha2/ghc-8.4.0.20180118-x86_64-deb8-linux.tar.xz\", sha256: \"55b54bce14661c19288c3413b8fab95d2b7fae407986323c7f0b6a732bec6a38\" } }, \"linux64-tinfo6\": { \"8.4.0.20180118\": { url: \"https://downloads.haskell.org/~ghc/8.4.1-alpha2/ghc-8.4.0.20180118-x86_64-fedora27-linux.tar.xz\", sha256: \"47c7e4350c9560f984bde75b243aa10c91e37494152d87d20f84fcee857338ef\" } }, \"linux64-tinfo-nopie\": { \"8.4.0.20180118\": { url: \"https://downloads.haskell.org/~ghc/8.4.1-alpha2/ghc-8.4.0.20180118-x86_64-fedora27-linux.tar.xz\", sha256: \"47c7e4350c9560f984bde75b243aa10c91e37494152d87d20f84fcee857338ef\" } }, \"linux64-nopie\": { \"8.4.0.20180118\": { url: \"https://downloads.haskell.org/~ghc/8.4.1-alpha2/ghc-8.4.0.20180118-x86_64-deb8-linux.tar.xz\", sha256: \"55b54bce14661c19288c3413b8fab95d2b7fae407986323c7f0b6a732bec6a38\" } }, \"windows64\": { \"8.4.0.20180118\": { url: \"https://downloads.haskell.org/~ghc/8.4.1-alpha2/ghc-8.4.0.20180118-x86_64-unknown-mingw32.tar.xz\", sha256: \"93dd7f80e3c645b79a91f3023046144ec88927961a3443019034e2893de43752\" } }, \"macosx\": { \"8.4.0.20180118\": { url: \"https://downloads.haskell.org/~ghc/8.4.1-alpha2/ghc-8.4.0.20180118-x86_64-apple-darwin.tar.xz\", sha256: \"b3119b255ab3d1a09fcf9919bddbbe2cd77f9175de14e4b23f20b40abe5edea1\" } } } }, resolver: ghc-8.4.0.20180118, compiler: ghc-8.4.0.20180118, compiler-check: match-exact, packages: [ '.' ], extra-deps: [ vector-0.12.0.1, basement-0.0.6, foundation-0.0.19, memory-0.14.14, QuickCheck-2.11.3, ansi-terminal-0.8.0.1, async-2.1.1.1, call-stack-0.1.0, clock-0.7.2, optparse-applicative-0.14.0.0, random-1.1, tagged-0.8.5, unbounded-delays-0.1.1.0, tasty-1.0.0.1, tasty-hunit-0.10.0.1, tasty-kat-0.0.3, tasty-quickcheck-0.9.2, ansi-wl-pprint-0.6.8.2, colour-2.3.4, tf-random-0.5, transformers-compat-0.5.1.4, primitive-0.6.3.0, gauge-0.2.1 ], flags: {}, allow-newer: true }" > stack.yaml - export HADDOCK_OPTs="--haddock --no-haddock-deps" + stack --no-terminal build --install-ghc --coverage --test --bench --no-run-benchmarks --haddock --no-haddock-deps ;; esac - # build & run test - stack --no-terminal test --install-ghc --coverage --bench --no-run-benchmarks ${HADDOCK_OPTS} ;; hlint) curl -sL https://raw.github.com/ndmitchell/hlint/master/misc/travis.sh | sh -s . --cpp-define=__GLASGOW_HASKELL__=800 --cpp-define=x86_64_HOST_ARCH=1 --cpp-define=mingw32_HOST_OS=1 diff --git a/README.md b/README.md index 56b1b98..a81e889 100644 --- a/README.md +++ b/README.md @@ -43,28 +43,7 @@ The coding style of this project mostly follows: Support ------- -cryptonite supports the following platforms: - -* Windows >= 8 -* OSX >= 10.8 -* Linux -* BSDs - -On the following architectures: - -* x86-64 -* i386 - -On the following haskell versions: - -* GHC 7.8.x -* GHC 7.10.x -* GHC 8.0.x -* GHC 8.2.x - -Further platforms and architectures probably work too, but since the -maintainer(s) don't have regular access to them, we can't commit to -further support. +See [Haskell packages guidelines](https://github.com/vincenthz/haskell-pkg-guidelines/blob/master/README.md#support) Known Building Issues --------------------- diff --git a/cryptonite.cabal b/cryptonite.cabal index ead6ee1..f282306 100644 --- a/cryptonite.cabal +++ b/cryptonite.cabal @@ -184,6 +184,7 @@ Library Crypto.Error.Types Crypto.Number.Compat Crypto.Hash.Types + Crypto.Hash.Blake2 Crypto.Hash.Blake2s Crypto.Hash.Blake2sp Crypto.Hash.Blake2b @@ -195,6 +196,7 @@ Library Crypto.Hash.SHA512 Crypto.Hash.SHA512t Crypto.Hash.SHA3 + Crypto.Hash.SHAKE Crypto.Hash.Keccak Crypto.Hash.MD2 Crypto.Hash.MD4 @@ -219,14 +221,15 @@ Library Crypto.Internal.CompatPrim Crypto.Internal.DeepSeq Crypto.Internal.Imports + Crypto.Internal.Nat Crypto.Internal.Words Crypto.Internal.WordArray - if impl(ghc >= 7.8) - Other-modules: Crypto.Hash.SHAKE - Crypto.Hash.Blake2 - Crypto.Internal.Nat - Build-depends: base >= 4.6 && < 5 - , bytestring + if impl(ghc < 8.0) + Buildable: False + else + Build-depends: base + + Build-depends: bytestring , memory >= 0.14.14 , basement >= 0.0.6 , ghc-prim @@ -416,7 +419,7 @@ Test-Suite test-cryptonite Salsa Utils XSalsa - Build-Depends: base >= 3 && < 5 + Build-Depends: base , bytestring , memory , tasty @@ -432,7 +435,7 @@ Benchmark bench-cryptonite hs-source-dirs: benchs Main-is: Bench.hs Other-modules: Number.F2m - Build-Depends: base >= 3 && < 5 + Build-Depends: base , bytestring , deepseq , memory