kazu-yamamoto / crypton-certificate

Certificate and Key Reader/Writer in haskell
0 stars 5 forks source link

Tests failed to build with cryptonite 0.30 #1

Open felixonmars opened 1 year ago

felixonmars commented 1 year ago

I am trying to package crypton-x509 for Arch Linux and encountered the following failures when trying to build the tests:

Configuring crypton-x509-1.7.6...
Preprocessing test suite 'test-x509' for crypton-x509-1.7.6..
Building test suite 'test-x509' for crypton-x509-1.7.6..
[1 of 1] Compiling Main             ( Tests/Tests.hs, dist/build/test-x509/test-x509-tmp/Main.dyn_o )

Tests/Tests.hs:55:25: error:
    • No instance for (Arbitrary
                         cryptonite-0.30:Crypto.PubKey.RSA.Types.PublicKey)
        arising from a use of ‘arbitrary’
      There are instances for similar types:
        instance Arbitrary RSA.PublicKey -- Defined at Tests/Tests.hs:25:10
        instance Arbitrary DSA.PublicKey -- Defined at Tests/Tests.hs:38:10
        instance Arbitrary X25519.PublicKey
          -- Defined at Tests/Tests.hs:41:10
        instance Arbitrary X448.PublicKey
          -- Defined at Tests/Tests.hs:44:10
        instance Arbitrary Ed25519.PublicKey
          -- Defined at Tests/Tests.hs:47:10
        instance Arbitrary Ed448.PublicKey
          -- Defined at Tests/Tests.hs:50:10
    • In the second argument of ‘(<$>)’, namely ‘arbitrary’
      In the expression: PubKeyRSA <$> arbitrary
      In the first argument of ‘oneof’, namely
        ‘[PubKeyRSA <$> arbitrary, PubKeyDSA <$> arbitrary,
          PubKeyX25519 <$> arbitrary, PubKeyX448 <$> arbitrary, ....]’
   |
55 |         [ PubKeyRSA <$> arbitrary
   |                         ^^^^^^^^^

Tests/Tests.hs:56:25: error:
    • No instance for (Arbitrary
                         cryptonite-0.30:Crypto.PubKey.DSA.PublicKey)
        arising from a use of ‘arbitrary’
      There are instances for similar types:
        instance Arbitrary RSA.PublicKey -- Defined at Tests/Tests.hs:25:10
        instance Arbitrary DSA.PublicKey -- Defined at Tests/Tests.hs:38:10
        instance Arbitrary X25519.PublicKey
          -- Defined at Tests/Tests.hs:41:10
        instance Arbitrary X448.PublicKey
          -- Defined at Tests/Tests.hs:44:10
        instance Arbitrary Ed25519.PublicKey
          -- Defined at Tests/Tests.hs:47:10
        instance Arbitrary Ed448.PublicKey
          -- Defined at Tests/Tests.hs:50:10
    • In the second argument of ‘(<$>)’, namely ‘arbitrary’
      In the expression: PubKeyDSA <$> arbitrary
      In the first argument of ‘oneof’, namely
        ‘[PubKeyRSA <$> arbitrary, PubKeyDSA <$> arbitrary,
          PubKeyX25519 <$> arbitrary, PubKeyX448 <$> arbitrary, ....]’
   |
56 |         , PubKeyDSA <$> arbitrary
   |                         ^^^^^^^^^

Tests/Tests.hs:58:28: error:
    • No instance for (Arbitrary
                         cryptonite-0.30:Crypto.PubKey.Curve25519.PublicKey)
        arising from a use of ‘arbitrary’
      There are instances for similar types:
        instance Arbitrary RSA.PublicKey -- Defined at Tests/Tests.hs:25:10
        instance Arbitrary DSA.PublicKey -- Defined at Tests/Tests.hs:38:10
        instance Arbitrary X25519.PublicKey
          -- Defined at Tests/Tests.hs:41:10
        instance Arbitrary X448.PublicKey
          -- Defined at Tests/Tests.hs:44:10
        instance Arbitrary Ed25519.PublicKey
          -- Defined at Tests/Tests.hs:47:10
        instance Arbitrary Ed448.PublicKey
          -- Defined at Tests/Tests.hs:50:10
    • In the second argument of ‘(<$>)’, namely ‘arbitrary’
      In the expression: PubKeyX25519 <$> arbitrary
      In the first argument of ‘oneof’, namely
        ‘[PubKeyRSA <$> arbitrary, PubKeyDSA <$> arbitrary,
          PubKeyX25519 <$> arbitrary, PubKeyX448 <$> arbitrary, ....]’
   |
58 |         , PubKeyX25519 <$> arbitrary
   |                            ^^^^^^^^^

Tests/Tests.hs:59:26: error:
    • No instance for (Arbitrary
                         cryptonite-0.30:Crypto.PubKey.Curve448.PublicKey)
        arising from a use of ‘arbitrary’
      There are instances for similar types:
        instance Arbitrary RSA.PublicKey -- Defined at Tests/Tests.hs:25:10
        instance Arbitrary DSA.PublicKey -- Defined at Tests/Tests.hs:38:10
        instance Arbitrary X25519.PublicKey
          -- Defined at Tests/Tests.hs:41:10
        instance Arbitrary X448.PublicKey
          -- Defined at Tests/Tests.hs:44:10
        instance Arbitrary Ed25519.PublicKey
          -- Defined at Tests/Tests.hs:47:10
        instance Arbitrary Ed448.PublicKey
          -- Defined at Tests/Tests.hs:50:10
    • In the second argument of ‘(<$>)’, namely ‘arbitrary’
      In the expression: PubKeyX448 <$> arbitrary
      In the first argument of ‘oneof’, namely
        ‘[PubKeyRSA <$> arbitrary, PubKeyDSA <$> arbitrary,
          PubKeyX25519 <$> arbitrary, PubKeyX448 <$> arbitrary, ....]’
   |
59 |         , PubKeyX448 <$> arbitrary
   |                          ^^^^^^^^^

Tests/Tests.hs:60:29: error:
    • No instance for (Arbitrary
                         cryptonite-0.30:Crypto.PubKey.Ed25519.PublicKey)
        arising from a use of ‘arbitrary’
      There are instances for similar types:
        instance Arbitrary RSA.PublicKey -- Defined at Tests/Tests.hs:25:10
        instance Arbitrary DSA.PublicKey -- Defined at Tests/Tests.hs:38:10
        instance Arbitrary X25519.PublicKey
          -- Defined at Tests/Tests.hs:41:10
        instance Arbitrary X448.PublicKey
          -- Defined at Tests/Tests.hs:44:10
        instance Arbitrary Ed25519.PublicKey
          -- Defined at Tests/Tests.hs:47:10
        instance Arbitrary Ed448.PublicKey
          -- Defined at Tests/Tests.hs:50:10
    • In the second argument of ‘(<$>)’, namely ‘arbitrary’
      In the expression: PubKeyEd25519 <$> arbitrary
      In the first argument of ‘oneof’, namely
        ‘[PubKeyRSA <$> arbitrary, PubKeyDSA <$> arbitrary,
          PubKeyX25519 <$> arbitrary, PubKeyX448 <$> arbitrary, ....]’
   |
60 |         , PubKeyEd25519 <$> arbitrary
   |                             ^^^^^^^^^

Tests/Tests.hs:61:27: error:
    • No instance for (Arbitrary
                         cryptonite-0.30:Crypto.PubKey.Ed448.PublicKey)
        arising from a use of ‘arbitrary’
      There are instances for similar types:
        instance Arbitrary RSA.PublicKey -- Defined at Tests/Tests.hs:25:10
        instance Arbitrary DSA.PublicKey -- Defined at Tests/Tests.hs:38:10
        instance Arbitrary X25519.PublicKey
          -- Defined at Tests/Tests.hs:41:10
        instance Arbitrary X448.PublicKey
          -- Defined at Tests/Tests.hs:44:10
        instance Arbitrary Ed25519.PublicKey
          -- Defined at Tests/Tests.hs:47:10
        instance Arbitrary Ed448.PublicKey
          -- Defined at Tests/Tests.hs:50:10
    • In the second argument of ‘(<$>)’, namely ‘arbitrary’
      In the expression: PubKeyEd448 <$> arbitrary
      In the first argument of ‘oneof’, namely
        ‘[PubKeyRSA <$> arbitrary, PubKeyDSA <$> arbitrary,
          PubKeyX25519 <$> arbitrary, PubKeyX448 <$> arbitrary, ....]’
   |
61 |         , PubKeyEd448 <$> arbitrary
   |                           ^^^^^^^^^

Tests/Tests.hs:90:26: error:
    • No instance for (Arbitrary
                         cryptonite-0.30:Crypto.PubKey.RSA.Types.PrivateKey)
        arising from a use of ‘arbitrary’
      There are instances for similar types:
        instance Arbitrary RSA.PrivateKey
          -- Defined at Tests/Tests.hs:64:10
        instance Arbitrary DSA.PrivateKey
          -- Defined at Tests/Tests.hs:73:10
    • In the second argument of ‘(<$>)’, namely ‘arbitrary’
      In the expression: PrivKeyRSA <$> arbitrary
      In the first argument of ‘oneof’, namely
        ‘[PrivKeyRSA <$> arbitrary, PrivKeyDSA <$> arbitrary,
          PrivKeyX25519 <$> arbitrary, PrivKeyX448 <$> arbitrary, ....]’
   |
90 |         [ PrivKeyRSA <$> arbitrary
   |                          ^^^^^^^^^

Tests/Tests.hs:91:26: error:
    • No instance for (Arbitrary
                         cryptonite-0.30:Crypto.PubKey.DSA.PrivateKey)
        arising from a use of ‘arbitrary’
      There are instances for similar types:
        instance Arbitrary RSA.PrivateKey
          -- Defined at Tests/Tests.hs:64:10
        instance Arbitrary DSA.PrivateKey
          -- Defined at Tests/Tests.hs:73:10
    • In the second argument of ‘(<$>)’, namely ‘arbitrary’
      In the expression: PrivKeyDSA <$> arbitrary
      In the first argument of ‘oneof’, namely
        ‘[PrivKeyRSA <$> arbitrary, PrivKeyDSA <$> arbitrary,
          PrivKeyX25519 <$> arbitrary, PrivKeyX448 <$> arbitrary, ....]’
   |
91 |         , PrivKeyDSA <$> arbitrary
   |                          ^^^^^^^^^

Tests/Tests.hs:93:29: error:
    • No instance for (Arbitrary
                         cryptonite-0.30:Crypto.PubKey.Curve25519.SecretKey)
        arising from a use of ‘arbitrary’
      There are instances for similar types:
        instance Arbitrary X25519.SecretKey
          -- Defined at Tests/Tests.hs:76:10
        instance Arbitrary X448.SecretKey
          -- Defined at Tests/Tests.hs:79:10
        instance Arbitrary Ed25519.SecretKey
          -- Defined at Tests/Tests.hs:82:10
        instance Arbitrary Ed448.SecretKey
          -- Defined at Tests/Tests.hs:85:10
    • In the second argument of ‘(<$>)’, namely ‘arbitrary’
      In the expression: PrivKeyX25519 <$> arbitrary
      In the first argument of ‘oneof’, namely
        ‘[PrivKeyRSA <$> arbitrary, PrivKeyDSA <$> arbitrary,
          PrivKeyX25519 <$> arbitrary, PrivKeyX448 <$> arbitrary, ....]’
   |
93 |         , PrivKeyX25519 <$> arbitrary
   |                             ^^^^^^^^^

Tests/Tests.hs:94:27: error:
    • No instance for (Arbitrary
                         cryptonite-0.30:Crypto.PubKey.Curve448.SecretKey)
        arising from a use of ‘arbitrary’
      There are instances for similar types:
        instance Arbitrary X25519.SecretKey
          -- Defined at Tests/Tests.hs:76:10
        instance Arbitrary X448.SecretKey
          -- Defined at Tests/Tests.hs:79:10
        instance Arbitrary Ed25519.SecretKey
          -- Defined at Tests/Tests.hs:82:10
        instance Arbitrary Ed448.SecretKey
          -- Defined at Tests/Tests.hs:85:10
    • In the second argument of ‘(<$>)’, namely ‘arbitrary’
      In the expression: PrivKeyX448 <$> arbitrary
      In the first argument of ‘oneof’, namely
        ‘[PrivKeyRSA <$> arbitrary, PrivKeyDSA <$> arbitrary,
          PrivKeyX25519 <$> arbitrary, PrivKeyX448 <$> arbitrary, ....]’
   |
94 |         , PrivKeyX448 <$> arbitrary
   |                           ^^^^^^^^^

Tests/Tests.hs:95:30: error:
    • No instance for (Arbitrary
                         cryptonite-0.30:Crypto.PubKey.Ed25519.SecretKey)
        arising from a use of ‘arbitrary’
      There are instances for similar types:
        instance Arbitrary X25519.SecretKey
          -- Defined at Tests/Tests.hs:76:10
        instance Arbitrary X448.SecretKey
          -- Defined at Tests/Tests.hs:79:10
        instance Arbitrary Ed25519.SecretKey
          -- Defined at Tests/Tests.hs:82:10
        instance Arbitrary Ed448.SecretKey
          -- Defined at Tests/Tests.hs:85:10
    • In the second argument of ‘(<$>)’, namely ‘arbitrary’
      In the expression: PrivKeyEd25519 <$> arbitrary
      In the first argument of ‘oneof’, namely
        ‘[PrivKeyRSA <$> arbitrary, PrivKeyDSA <$> arbitrary,
          PrivKeyX25519 <$> arbitrary, PrivKeyX448 <$> arbitrary, ....]’
   |
95 |         , PrivKeyEd25519 <$> arbitrary
   |                              ^^^^^^^^^

Tests/Tests.hs:96:28: error:
    • No instance for (Arbitrary
                         cryptonite-0.30:Crypto.PubKey.Ed448.SecretKey)
        arising from a use of ‘arbitrary’
      There are instances for similar types:
        instance Arbitrary X25519.SecretKey
          -- Defined at Tests/Tests.hs:76:10
        instance Arbitrary X448.SecretKey
          -- Defined at Tests/Tests.hs:79:10
        instance Arbitrary Ed25519.SecretKey
          -- Defined at Tests/Tests.hs:82:10
        instance Arbitrary Ed448.SecretKey
          -- Defined at Tests/Tests.hs:85:10
    • In the second argument of ‘(<$>)’, namely ‘arbitrary’
      In the expression: PrivKeyEd448 <$> arbitrary
      In the first argument of ‘oneof’, namely
        ‘[PrivKeyRSA <$> arbitrary, PrivKeyDSA <$> arbitrary,
          PrivKeyX25519 <$> arbitrary, PrivKeyX448 <$> arbitrary, ....]’
   |
96 |         , PrivKeyEd448 <$> arbitrary
   |                            ^^^^^^^^^
juhp commented 1 year ago

I hit this for Stackage Nightly too

Bodigrim commented 5 months ago

As a Hackage trustee I made a revision to prohibit unbuildable configuration explicitly: https://hackage.haskell.org/package/crypton-x509-1.7.6