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

Cabal custom setup #2866

Merged
merged 3 commits into from
Jan 4, 2017
Merged

Cabal custom setup #2866

merged 3 commits into from
Jan 4, 2017

Conversation

snoyberg
Copy link
Contributor

Note: Documentation fixes for https://docs.haskellstack.org/en/stable/ should target the "stable" branch, not master.

Please include the following checklist in your PR:

  • Any changes that could be relevant to users have been recorded in the ChangeLog.md
  • The documentation has been updated, if necessary.

I'm still testing this in a more complex use case. However, the simple test case I devised was:

  • stack new foo

  • Modify the Setup.hs file to add import Acme.Missiles

  • Add acme-missiles-0.3 as an extra-dep

  • Add the following custom-setup block to foo.cabal:

    custom-setup
      setup-depends: base >= 4.6,
                     Cabal >= 1.24 && < 1.25,
                     acme-missiles
    
  • Set build-type to Custom

  • Confirm that without the patch, the package refuses to compile. With the patch, it compiles just fine.

@borsboom Maybe we can sync up later on adding this as an integration test case?

@snoyberg snoyberg force-pushed the cabal-custom-setup branch 2 times, most recently from 2c33b6d to c42b7b3 Compare December 21, 2016 13:24
@@ -25,6 +25,10 @@ Other enhancements:
closing [#877](https://github.com/commercialhaskell/stack/issues/877).
* `stack haddock` now shows index.html paths when documentation is alread up to
date. Resolved [#781](https://github.com/commercialhaskell/stack/issues/781)
* Respects the `custom-setup` field introduced in Cabal 1.24. This
supercedes any `explicit-setup-deps` setings in your `stack.yaml`
Copy link
Member

Choose a reason for hiding this comment

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

s/setings/settings/g

getPackageArgs =
case (packageSetupDeps package, mdeps) of
-- The package is using the Cabal custom-setup
-- configuraiton introduced in Cabal 1.24. In
Copy link
Member

Choose a reason for hiding this comment

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

s/configuraiton/configuration/g

@borsboom borsboom merged commit 6a9bf94 into master Jan 4, 2017
@borsboom borsboom deleted the cabal-custom-setup branch January 4, 2017 19:38
@mgsloan mgsloan mentioned this pull request Jan 31, 2017
3 tasks
@metaleap
Copy link

metaleap commented Feb 12, 2017

Just what I need! This isn't out yet right? I have stack v1.3.2 and get:

Cabal file warning in path/testdep.cabal: Ignoring unknown section type: custom-setup

Curious, will this be in 1.3.3?

Edit: I see from the commit it's for 1.4, cool

@decentral1se
Copy link
Member

@metaleap, try stack upgrade --git and stack setup --ugrade-cabal.

The functionality is in HEAD.

@metaleap
Copy link

I would, had I not just found out about stack's explicit-setup-deps which let's me proceed with business luckily =) (btw probly cu at one of the upcoming Berlin Haskell meetups as soon as the snow&ice melt away!)

@decentral1se
Copy link
Member

btw probly cu at one of the upcoming Berlin Haskell meetups

Ah! It would be cool but I already moved city. But send my regards! Good people. 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants