haskell-infra / hackage-trustees

Issue tracker for Hackage maintainance and trustee operations
https://hackage.haskell.org/packages/trustees/
42 stars 7 forks source link

Packages failing to build against base16-bytestring-1.0.0.0 #280

Closed RyanGlScott closed 3 years ago

RyanGlScott commented 3 years ago
hvr commented 3 years ago

Unfortunately, this package's metadata is a timebomb waiting to explode:

https://hackage.haskell.org/package/text-conversions-0.3.0/dependencies

Due to lack of time I've only performed an emergency quickfix adding lower and upper bounds for base16-bytestring (NB: the package needs functions which didn't yet exist in base16-bytestring-0.1.0.0 !); I'm quite confident the other "universal-compatibility version bounds" stated are falsifiable as well:

https://hackage.haskell.org/package/text-conversions-0.3.0/revisions/

@RyanGlScott would you mind creating a ticket in the upstream issue tracker we can link here?

RyanGlScott commented 3 years ago

Thanks!

@RyanGlScott would you mind creating a ticket in the upstream issue tracker we can link here?

I believe this is covered by cjdev/text-conversions#11?

lexi-lambda commented 3 years ago

Cross-commenting from the PR:

Thanks for this, and thanks to @hvr for making the Hackage revision. I’ve now also pushed cjdev/text-conversions@c5bb9357833284c82d1c0d46e0eb7aed9db5fb38, which adds some (loose) upper bounds on the dependencies, which should hopefully reduce this kind of breakage in the future.

Stackage currently appears to be down, which is making CI error out. I’d like to get CI passing first, but once that’s fixed, I’ll cut a new release. (I’ll also backport the new upper bounds via revisions.)

RyanGlScott commented 3 years ago

Another package broken by base16-bytestring-1.0.0.0 (and lacking the corresponding upper version bounds) is casa-types:

$ cabal install casa-types --constraint=base16-bytestring==1.*
Resolving dependencies...
Build profile: -w ghc-8.10.1 -O1
In order, the following will be built (use -v for more details):
 - casa-types-0.0.1 (lib) (requires build)
Starting     casa-types-0.0.1 (lib)
Building     casa-types-0.0.1 (lib)

Failed to build casa-types-0.0.1.
Build log (
/home/rgscott/.cabal/logs/ghc-8.10.1/casa-types-0.0.1-b1f8e85f0ac138cc336eff6bc1308dd2bba615266250b6ed0268c75dea06b9bd.log
):
Configuring library for casa-types-0.0.1..
Preprocessing library for casa-types-0.0.1..
Building library for casa-types-0.0.1..
[1 of 2] Compiling Casa.Types       ( src/Casa/Types.hs, dist/build/Casa/Types.o, dist/build/Casa/Types.dyn_o )

src/Casa/Types.hs:52:14: error:
    • Couldn't match expected type ‘Either String ByteString’
                  with actual type ‘(ByteString, ByteString)’
    • In the pattern: (result, wrong)
      In a case alternative:
          (result, wrong) | S.null wrong -> pure result
      In a stmt of a 'do' block:
        case Hex.decode (T.encodeUtf8 bytes) of
          (result, wrong) | S.null wrong -> pure result
          _ -> fail "Invalid hex key."
   |
52 |              (result, wrong) | S.null wrong -> pure result
   |              ^^^^^^^^^^^^^^^

See fpco/casa#14. Since I've now identified multiple packages with this issue, I have opted to edit the title of this issue accordingly.

gbaz commented 3 years ago

Is casa-types resolved now and if so can we close?