Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] chore(docs): update lts version and fix nightly link #5226

Closed
wants to merge 1 commit into from

Conversation

mohoff
Copy link

@mohoff mohoff commented Mar 14, 2020

Few things I noticed and partially addressed while getting started with the Guide:

  • updated resolver version to latest lts.
  • fixed nightly link (/nightly doesn't resolve)

Under heading Stack's functions, I'd would be nice to have a short paragraph on:

  • how Stack relates to Cabal and other relevant tooling
  • what Stack does not attempt to solve

Also, two issues I would need your input on:

  1. The guide mentions --solver under section External Dependencies. This flag doesn't exist anymore and seems to be replaced by --resolver <arg> which needs an argument. How to update this part?

  2. Following (1), I tried to run stack install caball-install anyway. It errors with a version conflict:

    In the dependencies for cabal-install-3.0.0.0:
    base-4.13.0.0 from stack configuration does not
                  match >=4.8 && <4.13  (latest matching version
                  is 4.12.0.0)
    hackage-security must match >=0.5.2.2 && <0.6, but the stack
                     configuration has no specified version  (latest
                     matching version is 0.5.3.0)
    needed since cabal-install is a build target.
    

    How to handle this in the Guide?

Copy link
Member

@mattaudesse mattaudesse left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for taking the effort to file this @mohoff.

Unfortunately I think you've bumped into a few things which are in a state of flux at the moment, so I'm sure following the guide was more confusing than we'd like it to be.

I've made a few notes that'll hopefully help.


  1. Following (1), I tried to run stack install caball-install anyway. It errors with a version conflict:
In the dependencies for cabal-install-3.0.0.0:
base-4.13.0.0 from stack configuration does not
             match >=4.8 && <4.13  (latest matching version
             is 4.12.0.0)
hackage-security must match >=0.5.2.2 && <0.6, but the stack
                configuration has no specified version  (latest
                matching version is 0.5.3.0)
needed since cabal-install is a build target.

Another good catch, but thankfully I think this is a temporary glitch as stack + stackage catch up with the new ghc + cabal internals. For now, using LTS 14.27 instead seems to work alright for me if you'd like to try that:

$ stack --resolver lts-14.27 install cabal-install

Somewhat related: https://tech.fpcomplete.com/blog/base-on-stackage

Let's explore package sets a bit further. Instead of lts-11.22, let's change our
`stack.yaml` file to use [the latest nightly](https://www.stackage.org/nightly). Right now,
this is currently 2018-07-25 - please see the resolve from the link above to get the latest.
Let's explore package sets a bit further. Instead of lts-15.3, let's use [the latest nightly](https://www.stackage.org/snapshots) by replacing the value of the `resolver` field in our `stack.yaml` file. Right now,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It definitely takes a moment or two before I receive a result, but the old URI works for me:

$ curl --head https://www.stackage.org/nightly
HTTP/2 303 
server: nginx/1.15.9
date: Sun, 15 Mar 2020 19:02:10 GMT
content-type: text/plain; charset=utf-8
content-length: 0
cache-control: no-cache, must-revalidate
expires: Thu, 01 Jan 1970 05:05:05 GMT
location: /nightly-2020-03-14 # <--- *** note the location header ***
vary: Accept, Accept-Language
x-xss-protection: 1; mode=block
strict-transport-security: max-age=15724800; includeSubDomains

Does that not work when you try?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

true - guess I was too impatient :)

@@ -590,7 +589,7 @@ cueball:~/yackage-0.8.0$ stack init --force
# init failure output
```

stack has tested six different snapshots, and in every case discovered that
stack has tested 18 different snapshots, and in every case discovered that
acme-missiles is not available. In the end it suggested that you use the
`--solver` command line switch if you want to use packages outside Stackage. So
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The guide mentions --solver under section External Dependencies. This flag doesn't exist anymore and seems to be replaced by --resolver which needs an argument. How to update this part?

Good catch - stack dropped its --solver support awhile back, so you've spotted some stale docs.

I know others (e.g. here) have noticed the discrepancy and there's been some talk about updating the docs but without digging too far I'm unsure what the status is.

If you look at the stack.yaml that stack new gives you by default, it lists an extra-deps stanza that shows how one would normally add acme-missiles in practice now.

image

@mattaudesse mattaudesse changed the title chore(docs): update lts version and fix nightly link [WIP] chore(docs): update lts version and fix nightly link Mar 15, 2020
@mohoff
Copy link
Author

mohoff commented Mar 29, 2020

Thanks for the replies and provided background @mattaudesse , and, sorry for my late response.

Closing this MR seems reasonable then. Happy to contribute when things stabilized more and when I have a better understanding of how things are connected.

@mohoff mohoff closed this Mar 29, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants