{"action":"created","issue":{"url":"https://api.github.com/repos/haskell/cabal/issues/5278","repository_url":"https://api.github.com/repos/haskell/cabal","labels_url":"https://api.github.com/repos/haskell/cabal/issues/5278/labels{/name}","comments_url":"https://api.github.com/repos/haskell/cabal/issues/5278/comments","events_url":"https://api.github.com/repos/haskell/cabal/issues/5278/events","html_url":"https://github.com/haskell/cabal/issues/5278","id":316378522,"number":5278,"title":"build-type:custom without custom-setup stanza assumes Cabal < 1.25","user":{"login":"jaccokrijnen","id":4022046,"avatar_url":"https://avatars0.githubusercontent.com/u/4022046?v=4","gravatar_id":"","url":"https://api.github.com/users/jaccokrijnen","html_url":"https://github.com/jaccokrijnen","followers_url":"https://api.github.com/users/jaccokrijnen/followers","following_url":"https://api.github.com/users/jaccokrijnen/following{/other_user}","gists_url":"https://api.github.com/users/jaccokrijnen/gists{/gist_id}","starred_url":"https://api.github.com/users/jaccokrijnen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jaccokrijnen/subscriptions","organizations_url":"https://api.github.com/users/jaccokrijnen/orgs","repos_url":"https://api.github.com/users/jaccokrijnen/repos","events_url":"https://api.github.com/users/jaccokrijnen/events{/privacy}","received_events_url":"https://api.github.com/users/jaccokrijnen/received_events","type":"User","site_admin":false},"labels":[{"id":403491967,"url":"https://api.github.com/repos/haskell/cabal/labels/cabal-install:%20stanza/custom-setup","name":"cabal-install: stanza/custom-setup","color":"d93f0b","default":false},{"id":1389140,"url":"https://api.github.com/repos/haskell/cabal/labels/type:%20enhancement","name":"type: enhancement","color":"e99695","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2018-04-20T19:05:27Z","updated_at":"2018-04-28T23:08:05Z","closed_at":null,"author_association":"COLLABORATOR","body":"Using cabal-install 2.2, I do `cabal init` and change build-type to Custom. My cabal file is accepted but I get the following error from the resolver:\r\n```\r\n$ cabal new-build\r\nResolving dependencies...\r\ncabal: Could not resolve dependencies:\r\n[__0] trying: test-cabal-custom-0.1.0.0 (user goal)\r\n[__1] next goal: test-cabal-custom:setup.Cabal (dependency of\r\ntest-cabal-custom)\r\n[__1] rejecting: test-cabal-custom:setup.Cabal-2.2.0.0/installed-2.2...,\r\ntest-cabal-custom:setup.Cabal-2.2.0.1, test-cabal-custom:setup.Cabal-2.2.0.0\r\n(conflict: test-cabal-custom => test-cabal-custom:setup.Cabal>=1.10 && <1.25)\r\n[__1] rejecting: test-cabal-custom:setup.Cabal-2.0.1.1,\r\ntest-cabal-custom:setup.Cabal-2.0.1.0, test-cabal-custom:setup.Cabal-2.0.0.2,\r\ntest-cabal-custom:setup.Cabal-1.24.2.0,\r\ntest-cabal-custom:setup.Cabal-1.24.0.0,\r\ntest-cabal-custom:setup.Cabal-1.22.8.0,\r\ntest-cabal-custom:setup.Cabal-1.22.7.0,\r\ntest-cabal-custom:setup.Cabal-1.22.6.0,\r\ntest-cabal-custom:setup.Cabal-1.22.5.0,\r\ntest-cabal-custom:setup.Cabal-1.22.4.0,\r\ntest-cabal-custom:setup.Cabal-1.22.3.0,\r\ntest-cabal-custom:setup.Cabal-1.22.2.0,\r\ntest-cabal-custom:setup.Cabal-1.22.1.1,\r\ntest-cabal-custom:setup.Cabal-1.22.1.0,\r\ntest-cabal-custom:setup.Cabal-1.22.0.0,\r\ntest-cabal-custom:setup.Cabal-1.20.0.4,\r\ntest-cabal-custom:setup.Cabal-1.20.0.3,\r\ntest-cabal-custom:setup.Cabal-1.20.0.2,\r\ntest-cabal-custom:setup.Cabal-1.20.0.1,\r\ntest-cabal-custom:setup.Cabal-1.20.0.0,\r\ntest-cabal-custom:setup.Cabal-1.18.1.7,\r\ntest-cabal-custom:setup.Cabal-1.18.1.6,\r\ntest-cabal-custom:setup.Cabal-1.18.1.5,\r\ntest-cabal-custom:setup.Cabal-1.18.1.4,\r\ntest-cabal-custom:setup.Cabal-1.18.1.3,\r\ntest-cabal-custom:setup.Cabal-1.18.1.2,\r\ntest-cabal-custom:setup.Cabal-1.18.1.1, test-cabal-custom:setup.Cabal-1.18.1,\r\ntest-cabal-custom:setup.Cabal-1.18.0, test-cabal-custom:setup.Cabal-1.16.0.3,\r\ntest-cabal-custom:setup.Cabal-1.16.0.2,\r\ntest-cabal-custom:setup.Cabal-1.16.0.1, test-cabal-custom:setup.Cabal-1.16.0,\r\ntest-cabal-custom:setup.Cabal-1.14.0, test-cabal-custom:setup.Cabal-1.12.0,\r\ntest-cabal-custom:setup.Cabal-1.10.2.0,\r\ntest-cabal-custom:setup.Cabal-1.10.1.0,\r\ntest-cabal-custom:setup.Cabal-1.10.0.0, test-cabal-custom:setup.Cabal-1.8.0.6,\r\ntest-cabal-custom:setup.Cabal-1.8.0.4, test-cabal-custom:setup.Cabal-1.8.0.2,\r\ntest-cabal-custom:setup.Cabal-1.6.0.3, test-cabal-custom:setup.Cabal-1.6.0.2,\r\ntest-cabal-custom:setup.Cabal-1.6.0.1, test-cabal-custom:setup.Cabal-1.4.0.2,\r\ntest-cabal-custom:setup.Cabal-1.4.0.1, test-cabal-custom:setup.Cabal-1.4.0.0,\r\ntest-cabal-custom:setup.Cabal-1.2.4.0, test-cabal-custom:setup.Cabal-1.2.3.0,\r\ntest-cabal-custom:setup.Cabal-1.2.2.0, test-cabal-custom:setup.Cabal-1.2.1,\r\ntest-cabal-custom:setup.Cabal-1.1.6, test-cabal-custom:setup.Cabal-1.24.1.0\r\n(constraint from minimum version of Cabal used by Setup.hs requires >=2.2)\r\n[__1] fail (backjumping, conflict set: test-cabal-custom,\r\ntest-cabal-custom:setup.Cabal)\r\nAfter searching the rest of the dependency tree exhaustively, these were the\r\ngoals I've had most trouble fulfilling: test-cabal-custom:setup.Cabal,\r\ntest-cabal-custom\r\n```\r\n\r\nFor some reason, it implicitly picks Cabal <1.25 as a constraint. Adding this stanza works:\r\n\r\n```\r\ncustom-setup\r\n  setup-depends: Cabal, base\r\n```\r\n\r\nI did find this in the docs:\r\n\r\n> Since Cabal 1.24, custom Setup.hs are required to accurately track their dependencies by declaring them in the .cabal file rather than rely on dependencies being implicitly in scope.\r\n\r\nSo is this just a case of cabal not giving an error message on my incorrect .cabal file?"},"comment":{"url":"https://api.github.com/repos/haskell/cabal/issues/comments/385211442","html_url":"https://github.com/haskell/cabal/issues/5278#issuecomment-385211442","issue_url":"https://api.github.com/repos/haskell/cabal/issues/5278","id":385211442,"user":{"login":"grayjay","id":4276753,"avatar_url":"https://avatars3.githubusercontent.com/u/4276753?v=4","gravatar_id":"","url":"https://api.github.com/users/grayjay","html_url":"https://github.com/grayjay","followers_url":"https://api.github.com/users/grayjay/followers","following_url":"https://api.github.com/users/grayjay/following{/other_user}","gists_url":"https://api.github.com/users/grayjay/gists{/gist_id}","starred_url":"https://api.github.com/users/grayjay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/grayjay/subscriptions","organizations_url":"https://api.github.com/users/grayjay/orgs","repos_url":"https://api.github.com/users/grayjay/repos","events_url":"https://api.github.com/users/grayjay/events{/privacy}","received_events_url":"https://api.github.com/users/grayjay/received_events","type":"User","site_admin":false},"created_at":"2018-04-28T23:08:05Z","updated_at":"2018-04-28T23:08:05Z","author_association":"COLLABORATOR","body":"#5184 is related, because it will add another type of implicit constraint to setup dependencies, which will also require a custom error message."}}
{"actor":{"display_login":"grayjay"}}