Giter VIP home page Giter VIP logo

Comments (6)

hamishmack avatar hamishmack commented on July 29, 2024

What is forcing it to be 1.0? Is it really using the haskell-gi overloading features? Haskell-gi overloading has a big impact on GHC performance (including ghci load times).

from jsaddle.

seanparsons avatar seanparsons commented on July 29, 2024

I've got a project that is depending on ghcjs-dom and jsaddle-webkit2gtk. Stack has had me whittling down extra deps to set and I ended up with these:

- ghcjs-dom-0.9.2.0
- jsaddle-webkit2gtk-0.9.4.0
- ghcjs-dom-jsaddle-0.9.2.0
- gi-webkit2-4.0.14
- jsaddle-0.9.4.0
- webkit2gtk3-javascriptcore-0.14.2.1
- jsaddle-dom-0.9.2.0
- ref-tf-0.4.0.1

Where stack build gives me:

> stack build

Error: While constructing the build plan, the following exceptions were encountered:

In the dependencies for gi-webkit2-4.0.14:
    gi-javascriptcore-3.0.14 must match ==4.0.* (latest applicable is 4.0.14)
needed due to myproject-0.1.0.0 -> gi-webkit2-4.0.14

In the dependencies for jsaddle-webkit2gtk-0.9.4.0:
    gi-javascriptcore-3.0.14 must match >=4.0.14 && <4.1 (latest applicable is 4.0.14)
    haskell-gi-overloading-1.0 must match ==0.0.* (latest applicable is 0.0)
needed due to myproject-0.1.0.0 -> jsaddle-webkit2gtk-0.9.4.0

Plan construction failed.

If I add haskell-gi-overloading-0.0, then I get this:

> stack build

Error: While constructing the build plan, the following exceptions were encountered:

In the dependencies for gi-atk-2.0.14:
    haskell-gi-overloading-0.0 must match ==1.0.* (latest applicable is 1.0)
needed due to myproject-0.1.0.0 -> gi-atk-2.0.14

In the dependencies for gi-cairo-1.0.14:
    haskell-gi-overloading-0.0 must match ==1.0.* (latest applicable is 1.0)
needed due to myproject-0.1.0.0 -> gi-cairo-1.0.14

In the dependencies for gi-gdk-3.0.14:
    haskell-gi-overloading-0.0 must match ==1.0.* (latest applicable is 1.0)
needed due to myproject-0.1.0.0 -> gi-gdk-3.0.14

In the dependencies for gi-gdkpixbuf-2.0.14:
    haskell-gi-overloading-0.0 must match ==1.0.* (latest applicable is 1.0)
needed due to myproject-0.1.0.0 -> gi-gdkpixbuf-2.0.14

In the dependencies for gi-gio-2.0.14:
    haskell-gi-overloading-0.0 must match ==1.0.* (latest applicable is 1.0)
needed due to myproject-0.1.0.0 -> gi-gio-2.0.14

In the dependencies for gi-glib-2.0.14:
    haskell-gi-overloading-0.0 must match ==1.0.* (latest applicable is 1.0)
needed due to myproject-0.1.0.0 -> gi-glib-2.0.14

In the dependencies for gi-gobject-2.0.15:
    haskell-gi-overloading-0.0 must match ==1.0.* (latest applicable is 1.0)
needed due to myproject-0.1.0.0 -> gi-gobject-2.0.15

In the dependencies for gi-gtk-3.0.17:
    haskell-gi-overloading-0.0 must match ==1.0.* (latest applicable is 1.0)
needed due to myproject-0.1.0.0 -> gi-gtk-3.0.17

In the dependencies for gi-javascriptcore-3.0.14:
    haskell-gi-overloading-0.0 must match ==1.0.* (latest applicable is 1.0)
needed due to myproject-0.1.0.0 -> gi-javascriptcore-3.0.14

In the dependencies for gi-pango-1.0.15:
    haskell-gi-overloading-0.0 must match ==1.0.* (latest applicable is 1.0)
needed due to myproject-0.1.0.0 -> gi-pango-1.0.15

In the dependencies for gi-soup-2.4.14:
    haskell-gi-overloading-0.0 must match ==1.0.* (latest applicable is 1.0)
needed due to myproject-0.1.0.0 -> gi-soup-2.4.14

In the dependencies for gi-webkit2-4.0.14:
    haskell-gi-overloading-0.0 must match ==1.0.* (latest applicable is 1.0)
needed due to myproject-0.1.0.0 -> gi-webkit2-4.0.14

Plan construction failed.

I might be putting too much trust into stack's suggestions granted, but I don't immediately see the answer.

from jsaddle.

hamishmack avatar hamishmack commented on July 29, 2024

Stack does not support cabal's automatic flag feature. Instead you have to explicitly set them.

You can try using cabal new-build instead or set the flags manually in your stack.yaml (like this).

With Stack it is also not possible for packages to detect the version of native libraries installed when using stack or even the OS that you are building on.

from jsaddle.

seanparsons avatar seanparsons commented on July 29, 2024

Oh I see, would it be possible to have a note to this effect in the readme? I'd be surprised if I was the only person caught out by this.

from jsaddle.

hamishmack avatar hamishmack commented on July 29, 2024

I have added a note to the bottom of the readme. I'll leave this issue open to make it easier to find.

from jsaddle.

seanparsons avatar seanparsons commented on July 29, 2024

@hamishmack Thank you!

from jsaddle.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.