timbod7 / haskell-chart

A 2D charting library for haskell
429 stars 85 forks source link

Chart-diagrams-1.9.3 doesn't build with SVGFonts-1.9 #240

Closed phadej closed 2 years ago

phadej commented 2 years ago

I see a maintainer made a revision: https://hackage.haskell.org/package/Chart-diagrams-1.9.3/revisions/

But when trying to build Chart-diagrams-1.9.3 with e.g. GHC-8.4.4 or GHC-8.10.7 I get a build error:

Preprocessing library for Chart-diagrams-1.9.3..
Building library for Chart-diagrams-1.9.3..
[1 of 2] Compiling Paths_Chart_diagrams ( /codetmp/cd/Chart-diagrams-1.9.3/dist-newstyle/build/x86_64-linux/ghc-8.4.4/Chart-diagrams-1.9.3/build/autogen/Paths_Chart_diagrams.hs, /codetmp/cd/Chart-diagrams-1.9.3/dist-newstyle/build/x86_64-linux/ghc-8.4.4/Chart-diagrams-1.9.3/build/Paths_Chart_diagrams.o )
[2 of 2] Compiling Graphics.Rendering.Chart.Backend.Diagrams ( Graphics/Rendering/Chart/Backend/Diagrams.hs, /codetmp/cd/Chart-diagrams-1.9.3/dist-newstyle/build/x86_64-linux/ghc-8.4.4/Chart-diagrams-1.9.3/build/Graphics/Rendering/Chart/Backend/Diagrams.o )

Graphics/Rendering/Chart/Backend/Diagrams.hs:398:59: error:
    Not in scope: ‘F.textSVG'’
    Perhaps you meant ‘F.textSVG’ (imported from Graphics.SVGFonts)
    Neither ‘Graphics.SVGFonts’,
            ‘Graphics.SVGFonts.CharReference’ nor ‘Graphics.SVGFonts.ReadFont’ exports ‘textSVG'’.
    |
398 |                 { textSizeWidth = realToFrac $ D2.width $ F.textSVG' (fontStyleToTextOpts env) text
    |                                                           ^^^^^^^^^^

Graphics/Rendering/Chart/Backend/Diagrams.hs:418:12: error:
    Not in scope: ‘F.textSVG_’
    Perhaps you meant ‘F.textSVG’ (imported from Graphics.SVGFonts)
    Neither ‘Graphics.SVGFonts’,
            ‘Graphics.SVGFonts.CharReference’ nor ‘Graphics.SVGFonts.ReadFont’ exports ‘textSVG_’.
    |
418 |          $ F.textSVG_ (fontStyleToTextOpts env) text
    |            ^^^^^^^^^^

Graphics/Rendering/Chart/Backend/Diagrams.hs:578:9: error:
    Not in scope: ‘F.mode’
    Neither ‘Graphics.SVGFonts’,
            ‘Graphics.SVGFonts.CharReference’ nor ‘Graphics.SVGFonts.ReadFont’ exports ‘mode’.
    |
578 |       , F.mode = F.INSIDE_H
    |         ^^^^^^

Graphics/Rendering/Chart/Backend/Diagrams.hs:578:18: error:
    Not in scope: data constructor ‘F.INSIDE_H’
    Neither ‘Graphics.SVGFonts’,
            ‘Graphics.SVGFonts.CharReference’ nor ‘Graphics.SVGFonts.ReadFont’ exports ‘INSIDE_H’.
    |
578 |       , F.mode = F.INSIDE_H
    |                  ^^^^^^^^^^

Graphics/Rendering/Chart/Backend/Diagrams.hs:581:9: error:
    Not in scope: ‘F.textWidth’
    Neither ‘Graphics.SVGFonts’,
            ‘Graphics.SVGFonts.CharReference’ nor ‘Graphics.SVGFonts.ReadFont’ exports ‘textWidth’.
    |
581 |       , F.textWidth = 1
    |         ^^^^^^^^^^^

Graphics/Rendering/Chart/Backend/Diagrams.hs:582:9: error:
    Not in scope: ‘F.textHeight’
    Neither ‘Graphics.SVGFonts’,
            ‘Graphics.SVGFonts.CharReference’ nor ‘Graphics.SVGFonts.ReadFont’ exports ‘textHeight’.
    |
582 |       , F.textHeight = scaledH -- _font_size fs
    |         ^^^^^^^^^^^^

These changes were introduced in SVGFonts-1.8 as far as I can tell.

bravit commented 2 years ago

Thanks, @phadej, I'll fix this soon.

bravit commented 2 years ago

Fixed with new release https://hackage.haskell.org/package/Chart-diagrams-1.9.4 (I've reverted the incorrect revision for 1.9.3).