{"action":"created","issue":{"url":"https://api.github.com/repos/botandrose/eboshi_api_shootout/issues/82","labels_url":"https://api.github.com/repos/botandrose/eboshi_api_shootout/issues/82/labels{/name}","comments_url":"https://api.github.com/repos/botandrose/eboshi_api_shootout/issues/82/comments","events_url":"https://api.github.com/repos/botandrose/eboshi_api_shootout/issues/82/events","html_url":"https://github.com/botandrose/eboshi_api_shootout/pull/82","id":112956540,"number":82,"title":"Haskell scotty stackage","user":{"login":"BartMassey","id":117151,"avatar_url":"https://avatars.githubusercontent.com/u/117151?v=3","gravatar_id":"","url":"https://api.github.com/users/BartMassey","html_url":"https://github.com/BartMassey","followers_url":"https://api.github.com/users/BartMassey/followers","following_url":"https://api.github.com/users/BartMassey/following{/other_user}","gists_url":"https://api.github.com/users/BartMassey/gists{/gist_id}","starred_url":"https://api.github.com/users/BartMassey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BartMassey/subscriptions","organizations_url":"https://api.github.com/users/BartMassey/orgs","repos_url":"https://api.github.com/users/BartMassey/repos","events_url":"https://api.github.com/users/BartMassey/events{/privacy}","received_events_url":"https://api.github.com/users/BartMassey/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-10-23T05:42:27Z","updated_at":"2015-10-23T15:02:50Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/botandrose/eboshi_api_shootout/pulls/82","html_url":"https://github.com/botandrose/eboshi_api_shootout/pull/82","diff_url":"https://github.com/botandrose/eboshi_api_shootout/pull/82.diff","patch_url":"https://github.com/botandrose/eboshi_api_shootout/pull/82.patch"},"body":"This branch essentially reverts the `haskell_scotty` build to what it was when I found it. A `cabal.config` is used to fix versions of packages, and `cabal sandbox` is used to make sure that this build does not contaminate and is not contaminated by outside stuff. However,\r\n\r\n* The `cabal.sandbox.config` is not checked in, but instead built with `cabal sandbox init` by `bin/setup` when not present. Thus, there should be no issues with different build platforms having different sandboxes: this allows things like different processors.\r\n\r\n* The `cabal.config` is from [Stackage](http://www.stackage.org/) LTS. Stackage is a set of libraries that have been tested together and then frozen to ensure their safety and stability. Currently Stackage specifies most of the dependencies of eboshi-api; all others are allowed to float between platforms.\r\n\r\nThe biggest downside of this plan is that the first build of eboshi-api on a new platform might take an hour, as a billion packages are compiled into the sandbox gentoo-style."},"comment":{"url":"https://api.github.com/repos/botandrose/eboshi_api_shootout/issues/comments/150600496","html_url":"https://github.com/botandrose/eboshi_api_shootout/pull/82#issuecomment-150600496","issue_url":"https://api.github.com/repos/botandrose/eboshi_api_shootout/issues/82","id":150600496,"user":{"login":"BartMassey","id":117151,"avatar_url":"https://avatars.githubusercontent.com/u/117151?v=3","gravatar_id":"","url":"https://api.github.com/users/BartMassey","html_url":"https://github.com/BartMassey","followers_url":"https://api.github.com/users/BartMassey/followers","following_url":"https://api.github.com/users/BartMassey/following{/other_user}","gists_url":"https://api.github.com/users/BartMassey/gists{/gist_id}","starred_url":"https://api.github.com/users/BartMassey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BartMassey/subscriptions","organizations_url":"https://api.github.com/users/BartMassey/orgs","repos_url":"https://api.github.com/users/BartMassey/repos","events_url":"https://api.github.com/users/BartMassey/events{/privacy}","received_events_url":"https://api.github.com/users/BartMassey/received_events","type":"User","site_admin":false},"created_at":"2015-10-23T15:02:50Z","updated_at":"2015-10-23T15:02:50Z","body":"Ah, we need at least GHC 7.8 for Stackage. Probably a good idea to be there anyway.\r\n\r\nYeah, unless we can persist it we'll probably have to give up on the sandbox. That doesn't mean we have to give up Stackage: we just have to split out the sandbox part.\r\n\r\nGo ahead and upgrade GHC on the Travis setup, and let me know whether you want to try to persist the sandbox. If not, I'll do some build rework.\r\n\r\nI think it's worth having a mostly-reproducible environment, now that we've figured out a way to get it. I know it will make you more comfortable. :-)"}}