SamProtas / hs-triplesec

TripleSec is a simple, triple-paranoid, symmetric encryption library
BSD 3-Clause "New" or "Revised" License
12 stars 2 forks source link

Build failure with mtl-2.3 #15

Open sjakobi opened 2 years ago

sjakobi commented 2 years ago
Preprocessing library for triplesec-0.2.2.1..
Building library for triplesec-0.2.2.1..
[1 of 9] Compiling Crypto.TripleSec.Internal ( src/Crypto/TripleSec/Internal.hs, dist/build/Crypto/TripleSec/Internal.o, dist/build/Crypto/TripleSec/Internal.dyn_o )
[2 of 9] Compiling Crypto.TripleSec.Constants ( src/Crypto/TripleSec/Constants.hs, dist/build/Crypto/TripleSec/Constants.o, dist/build/Crypto/TripleSec/Constants.dyn_o )
[3 of 9] Compiling Crypto.TripleSec.Types ( src/Crypto/TripleSec/Types.hs, dist/build/Crypto/TripleSec/Types.o, dist/build/Crypto/TripleSec/Types.dyn_o )
[4 of 9] Compiling Crypto.TripleSec.Utils ( src/Crypto/TripleSec/Utils.hs, dist/build/Crypto/TripleSec/Utils.o, dist/build/Crypto/TripleSec/Utils.dyn_o )

src/Crypto/TripleSec/Utils.hs:11:1: warning: [-Wunused-imports]
    The import of ‘Data.Monoid’ is redundant
      except perhaps to import instances from ‘Data.Monoid’
    To import instances alone, use: import Data.Monoid()
   |
11 | import           Data.Monoid ((<>))
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[5 of 9] Compiling Crypto.TripleSec.Class ( src/Crypto/TripleSec/Class.hs, dist/build/Crypto/TripleSec/Class.o, dist/build/Crypto/TripleSec/Class.dyn_o )

src/Crypto/TripleSec/Class.hs:75:5: error:
    Variable not in scope: when :: Bool -> m2 a4 -> m a5
   |
75 |     when (I.length pass == 0) $ throwError $ CipherInitException ZeroLengthPassword
   |     ^^^^

src/Crypto/TripleSec/Class.hs:121:5: error:
    Variable not in scope: when :: Bool -> m3 a6 -> m a7
    |
121 |     when (I.length plaintext == 0) $ throwError $ EncryptionException ZeroLengthPlaintext
    |     ^^^^

src/Crypto/TripleSec/Class.hs:153:3: error:
    Variable not in scope: when :: Bool -> m1 a2 -> m a3
    |
153 |   when (providedSHA512 /= hmacSHA512 cipher toMac) $ throwError $ DecryptionException InvalidSha512Hmac
    |   ^^^^

src/Crypto/TripleSec/Class.hs:154:3: error:
    Variable not in scope: when :: Bool -> m0 a0 -> m a1
    |
154 |   when (providedSHA3 /= hmacKeccak512 cipher toMac) $ throwError $ DecryptionException InvalidKeccakHmac
    |   ^^^^
sjakobi commented 2 years ago

As a Hackage trustee I have revised the published versions of triplesec on Hackage. See e.g. https://hackage.haskell.org/package/triplesec-0.2.2.1/revisions/.