RFC: include a cabal-install executable in future GHC releases

Hey everyone, I'd like to propose that GHC releases 7.8.1 onwards include a cabal-install (aka cabal) executable, but not include the library deps of cabal-install that aren't already distributed with ghc.(unless ghc should have those deps baked in, which theres very very good reasons not to do.). currently if someone wants just a basic haskell install of the freshest ghc they have to install a ghc bindist, then do a boostrap build of cabal-install by hand (if they want to actually get anything done :) ). This is not a human friendly situation for folks who are new to haskell tooling, but want to try out haskell dev on a server style vm or the like! point being: It'd be great for haskell usability (and egads amounts of config time, even by seasoned users) the ghc bindists / installers included a cabal-install binary thoughts? -Carter

Hi,
On Mon, Jan 20, 2014 at 1:02 AM, Carter Schonwald
point being: It'd be great for haskell usability (and egads amounts of config time, even by seasoned users) the ghc bindists / installers included a cabal-install binary
For Windows, we provide a stand-alone cabal.exe on the Cabal site [1]. I guess we could do the same for Linux and OS X. [1] http://www.haskell.org/cabal/download.html -- () ascii ribbon campaign - against html e-mail /\ www.asciiribbon.org - against proprietary attachments

that still requires some discovery though! The idea (i'd hope) would be to make the "my first ghc install on a vm" (for experts and new folks both) go from #install ghc via whatever mechanism, eg wget, guntar, cd blah ; make install PREFIX=yah #figure out how to install cabal, eg discover wget and then ./bootstrap # cabal install thingsIwannaTry to # install ghc via some wget and make #cabal install nice things On Sun, Jan 19, 2014 at 7:11 PM, Mikhail Glushenkov < the.dead.shall.rise@gmail.com> wrote:
Hi,
On Mon, Jan 20, 2014 at 1:02 AM, Carter Schonwald
wrote: point being: It'd be great for haskell usability (and egads amounts of config time, even by seasoned users) the ghc bindists / installers
included
a cabal-install binary
For Windows, we provide a stand-alone cabal.exe on the Cabal site [1]. I guess we could do the same for Linux and OS X.
[1] http://www.haskell.org/cabal/download.html
-- () ascii ribbon campaign - against html e-mail /\ www.asciiribbon.org - against proprietary attachments

Carter Schonwald wrote:
that still requires some discovery though! The idea (i'd hope) would be to make the "my first ghc install on a vm" (for experts and new folks both)
go from
#install ghc via whatever mechanism, eg wget, guntar, cd blah ; make install PREFIX=yah #figure out how to install cabal, eg discover wget and then ./bootstrap # cabal install thingsIwannaTry
to # install ghc via some wget and make #cabal install nice things
Thats basically how I work on Debian based Linux systems: # apt-get install ghc alex happy cabal-install $ cabal install nice-things Where '#' is the root prompt and '$' is the user prompt. Erik -- ---------------------------------------------------------------------- Erik de Castro Lopo http://www.mega-nerd.com/

Hi,
On Mon, Jan 20, 2014 at 1:14 AM, Carter Schonwald
that still requires some discovery though! The idea (i'd hope) would be to make the "my first ghc install on a vm" (for experts and new folks both)
Regardless, I think it should be the Cabal developers' job to provide pre-built cabal-install binaries. The choice of whether or not to ship them with the GHC binary tarballs falls to GHC HQ. -- () ascii ribbon campaign - against html e-mail /\ www.asciiribbon.org - against proprietary attachments

Agreed, this would improve usability of binary GHC releases a lot, and I
don't see any downsides.
+1
Roman
* Carter Schonwald
Hey everyone,
I'd like to propose that GHC releases 7.8.1 onwards include a cabal-install (aka cabal) executable, but not include the library deps of cabal-install that aren't already distributed with ghc.(unless ghc should have those deps baked in, which theres very very good reasons not to do.).
currently if someone wants just a basic haskell install of the freshest ghc they have to install a ghc bindist, then do a boostrap build of cabal-install by hand (if they want to actually get anything done :) ).
This is not a human friendly situation for folks who are new to haskell tooling, but want to try out haskell dev on a server style vm or the like!
point being: It'd be great for haskell usability (and egads amounts of config time, even by seasoned users) the ghc bindists / installers included a cabal-install binary
thoughts? -Carter
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

On 2014-01-20 at 01:02:27 +0100, Carter Schonwald wrote:
I'd like to propose that GHC releases 7.8.1 onwards include a cabal-install (aka cabal) executable, but not include the library deps of cabal-install that aren't already distributed with ghc.(unless ghc should have those deps baked in, which theres very very good reasons not to do.).
+1 PS: ...would this affect the source-dist tarball as well?

I feel this blurs the roles of GHC and the Platform. Can't the cabal-install that comes with the Platform can be used with a later GHC installation? If that's correct, then the only use case that this proposal covers is someone who wants to use a bleeding edge GHC and no other version on a new machine. A separate binary distribution of cabal-install should be more than adequate for that and it avoids coupling GHC to other things. So a weak -1. On 20/01/2014 00:02, Carter Schonwald wrote:
Hey everyone,
I'd like to propose that GHC releases 7.8.1 onwards include a cabal-install (aka cabal) executable, but not include the library deps of cabal-install that aren't already distributed with ghc.(unless ghc should have those deps baked in, which theres very very good reasons not to do.).
currently if someone wants just a basic haskell install of the freshest ghc they have to install a ghc bindist, then do a boostrap build of cabal-install by hand (if they want to actually get anything done :) ).
This is not a human friendly situation for folks who are new to haskell tooling, but want to try out haskell dev on a server style vm or the like!
point being: It'd be great for haskell usability (and egads amounts of config time, even by seasoned users) the ghc bindists / installers included a cabal-install binary
thoughts? -Carter
_______________________________________________ Libraries mailing list Libraries@haskell.org http://www.haskell.org/mailman/listinfo/libraries

We could offer OS X and Linux binaries in addition to the Windows binaries
already downloaded on the cabal home page (http://www.haskell.org/cabal/)
if someone could commit to building them.
Aside: Right now building the Windows binaries is a very ad-hoc process (I
email Mikhail who has a Windows machine and ask him to build one). I'm not
very keen to make the process even slower, given that that will mean I will
make fewer cabal releases. Ideally the binaries could be produced on a
build bot. The very least we should have the Makefile in the cabal repo
being able to create the binary in a reproducible manner.
-- Johan
On Tue, Jan 21, 2014 at 11:22 AM, Ganesh Sittampalam
I feel this blurs the roles of GHC and the Platform.
Can't the cabal-install that comes with the Platform can be used with a later GHC installation? If that's correct, then the only use case that this proposal covers is someone who wants to use a bleeding edge GHC and no other version on a new machine. A separate binary distribution of cabal-install should be more than adequate for that and it avoids coupling GHC to other things.
So a weak -1.
Hey everyone,
I'd like to propose that GHC releases 7.8.1 onwards include a cabal-install (aka cabal) executable, but not include the library deps of cabal-install that aren't already distributed with ghc.(unless ghc should have those deps baked in, which theres very very good reasons not to do.).
currently if someone wants just a basic haskell install of the freshest ghc they have to install a ghc bindist, then do a boostrap build of cabal-install by hand (if they want to actually get anything done :) ).
This is not a human friendly situation for folks who are new to haskell tooling, but want to try out haskell dev on a server style vm or the
On 20/01/2014 00:02, Carter Schonwald wrote: like!
point being: It'd be great for haskell usability (and egads amounts of config time, even by seasoned users) the ghc bindists / installers included a cabal-install binary
thoughts? -Carter
_______________________________________________ Libraries mailing list Libraries@haskell.org http://www.haskell.org/mailman/listinfo/libraries
_______________________________________________ Libraries mailing list Libraries@haskell.org http://www.haskell.org/mailman/listinfo/libraries

If you can't find any better options, I can try to run a buildbot on a laptop that's probably mostly online. On 21/01/2014 19:32, Johan Tibell wrote:
We could offer OS X and Linux binaries in addition to the Windows binaries already downloaded on the cabal home page (http://www.haskell.org/cabal/) if someone could commit to building them.
Aside: Right now building the Windows binaries is a very ad-hoc process (I email Mikhail who has a Windows machine and ask him to build one). I'm not very keen to make the process even slower, given that that will mean I will make fewer cabal releases. Ideally the binaries could be produced on a build bot. The very least we should have the Makefile in the cabal repo being able to create the binary in a reproducible manner.
-- Johan
On Tue, Jan 21, 2014 at 11:22 AM, Ganesh Sittampalam
mailto:ganesh@earth.li> wrote: I feel this blurs the roles of GHC and the Platform.
Can't the cabal-install that comes with the Platform can be used with a later GHC installation? If that's correct, then the only use case that this proposal covers is someone who wants to use a bleeding edge GHC and no other version on a new machine. A separate binary distribution of cabal-install should be more than adequate for that and it avoids coupling GHC to other things.
So a weak -1.
On 20/01/2014 00:02, Carter Schonwald wrote: > Hey everyone, > > I'd like to propose that GHC releases 7.8.1 onwards include a > cabal-install (aka cabal) executable, but not include the library deps > of cabal-install that aren't already distributed with ghc.(unless ghc > should have those deps baked in, which theres very very good reasons not > to do.). > > currently if someone wants just a basic haskell install of the freshest > ghc they have to install a ghc bindist, then do a boostrap build of > cabal-install by hand (if they want to actually get anything done :) ). > > This is not a human friendly situation for folks who are new to haskell > tooling, but want to try out haskell dev on a server style vm or the like! > > point being: It'd be great for haskell usability (and egads amounts of > config time, even by seasoned users) the ghc bindists / installers > included a cabal-install binary > > thoughts? > -Carter > > > > > > _______________________________________________ > Libraries mailing list > Libraries@haskell.org mailto:Libraries@haskell.org > http://www.haskell.org/mailman/listinfo/libraries >
_______________________________________________ Libraries mailing list Libraries@haskell.org mailto:Libraries@haskell.org http://www.haskell.org/mailman/listinfo/libraries

Ok,
so either
a) provide a ghc + cabal-install binary included (heck, its easy to update
to a cabal install anyways, and the ~/.cabal/bin path will be before
wherever the ghc pkgs are installed anyways. The same argument could be
made for packaging happy and alex with ghc too! ). After all, i already
have a happy / alex from cabal-installing them from earlier, why should ghc
install it again? :p
b) either way, perhaps the cabal-install devs/maintainers should
standardize making some binaries available
On Tue, Jan 21, 2014 at 3:44 PM, Ganesh Sittampalam
If you can't find any better options, I can try to run a buildbot on a laptop that's probably mostly online.
We could offer OS X and Linux binaries in addition to the Windows binaries already downloaded on the cabal home page (http://www.haskell.org/cabal/) if someone could commit to building
On 21/01/2014 19:32, Johan Tibell wrote: them.
Aside: Right now building the Windows binaries is a very ad-hoc process (I email Mikhail who has a Windows machine and ask him to build one). I'm not very keen to make the process even slower, given that that will mean I will make fewer cabal releases. Ideally the binaries could be produced on a build bot. The very least we should have the Makefile in the cabal repo being able to create the binary in a reproducible manner.
-- Johan
On Tue, Jan 21, 2014 at 11:22 AM, Ganesh Sittampalam
mailto:ganesh@earth.li> wrote: I feel this blurs the roles of GHC and the Platform.
Can't the cabal-install that comes with the Platform can be used
with a
later GHC installation? If that's correct, then the only use case
that
this proposal covers is someone who wants to use a bleeding edge GHC
and
no other version on a new machine. A separate binary distribution of cabal-install should be more than adequate for that and it avoids coupling GHC to other things.
So a weak -1.
On 20/01/2014 00:02, Carter Schonwald wrote: > Hey everyone, > > I'd like to propose that GHC releases 7.8.1 onwards include a > cabal-install (aka cabal) executable, but not include the library
deps
> of cabal-install that aren't already distributed with ghc.(unless
ghc
> should have those deps baked in, which theres very very good reasons not > to do.). > > currently if someone wants just a basic haskell install of the freshest > ghc they have to install a ghc bindist, then do a boostrap build
of
> cabal-install by hand (if they want to actually get anything done :) ). > > This is not a human friendly situation for folks who are new to haskell > tooling, but want to try out haskell dev on a server style vm or the like! > > point being: It'd be great for haskell usability (and egads
amounts of
> config time, even by seasoned users) the ghc bindists / installers > included a cabal-install binary > > thoughts? > -Carter > > > > > > _______________________________________________ > Libraries mailing list > Libraries@haskell.org mailto:Libraries@haskell.org > http://www.haskell.org/mailman/listinfo/libraries >
_______________________________________________ Libraries mailing list Libraries@haskell.org mailto:Libraries@haskell.org http://www.haskell.org/mailman/listinfo/libraries

Agreed. That's exactly what we have Platform for: to give the user an integrated set of tools. My vote is to have only the things that are really necessary being included in the ghc distribution. Отправлено с iPad
21 янв. 2014 г., в 23:22, Ganesh Sittampalam
написал(а): I feel this blurs the roles of GHC and the Platform.
Can't the cabal-install that comes with the Platform can be used with a later GHC installation? If that's correct, then the only use case that this proposal covers is someone who wants to use a bleeding edge GHC and no other version on a new machine. A separate binary distribution of cabal-install should be more than adequate for that and it avoids coupling GHC to other things.
So a weak -1.
On 20/01/2014 00:02, Carter Schonwald wrote: Hey everyone,
I'd like to propose that GHC releases 7.8.1 onwards include a cabal-install (aka cabal) executable, but not include the library deps of cabal-install that aren't already distributed with ghc.(unless ghc should have those deps baked in, which theres very very good reasons not to do.).
currently if someone wants just a basic haskell install of the freshest ghc they have to install a ghc bindist, then do a boostrap build of cabal-install by hand (if they want to actually get anything done :) ).
This is not a human friendly situation for folks who are new to haskell tooling, but want to try out haskell dev on a server style vm or the like!
point being: It'd be great for haskell usability (and egads amounts of config time, even by seasoned users) the ghc bindists / installers included a cabal-install binary
thoughts? -Carter
_______________________________________________ Libraries mailing list Libraries@haskell.org http://www.haskell.org/mailman/listinfo/libraries
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

On 2014-01-21 at 20:22:48 +0100, Ganesh Sittampalam wrote:
I feel this blurs the roles of GHC and the Platform.
IMO, that's a weak argument, as the roles are already blurred: GHC comes with `haddock`, `hp2ps`, and `hpc` executables which could be provided by the HP instead. Moreover, GHC ships with a set of base libraries (which, and thus effectively GHC forces 20 or so packages (fixed to specific package versions) into the HP and takes away authority from the HP release process. But now the difficult to explain thing is that GHC also bundles the library part of CABAL but deliberately leaves out CABAL's frontend tool `cabal-install` only to justify the existence of the HP a bit more? :-) Cheers, hvr

On Wed, Jan 22, 2014 at 12:57 AM, Herbert Valerio Riedel
On 2014-01-21 at 20:22:48 +0100, Ganesh Sittampalam wrote:
I feel this blurs the roles of GHC and the Platform.
IMO, that's a weak argument, as the roles are already blurred:
GHC comes with `haddock`, `hp2ps`, and `hpc` executables which could be provided by the HP instead. Moreover, GHC ships with a set of base libraries (which, and thus effectively GHC forces 20 or so packages (fixed to specific package versions) into the HP and takes away authority from the HP release process. But now the difficult to explain thing is that GHC also bundles the library part of CABAL but deliberately leaves out CABAL's frontend tool `cabal-install` only to justify the existence of the HP a bit more? :-)
Cabal is part of GHC's build process and GHC uses data types from Cabal. That's why it's there. It's not because we want Cabal to be included (just like we don't want to ship those libs.) These are technical limitations.

ANYWAYS :)
the point is: there is a nonzero population of haskell folks who want to
use ghc + cabal-install on a machine where they may not have admin /
package manager powers, AND it requires some amount of cabal-install
familiarity (or asking around) to find out about the ./boot-strap script
that cabal comes with. (I've definitely had 1-2 incidents where on a new
server i did the bootstrap process by hand before i found out about that
script)
at the very very least, the directions for boostrap cabal-install should be
more discoverable
On Wed, Jan 22, 2014 at 10:45 AM, Johan Tibell
On Wed, Jan 22, 2014 at 12:57 AM, Herbert Valerio Riedel
wrote: On 2014-01-21 at 20:22:48 +0100, Ganesh Sittampalam wrote:
I feel this blurs the roles of GHC and the Platform.
IMO, that's a weak argument, as the roles are already blurred:
GHC comes with `haddock`, `hp2ps`, and `hpc` executables which could be provided by the HP instead. Moreover, GHC ships with a set of base libraries (which, and thus effectively GHC forces 20 or so packages (fixed to specific package versions) into the HP and takes away authority from the HP release process. But now the difficult to explain thing is that GHC also bundles the library part of CABAL but deliberately leaves out CABAL's frontend tool `cabal-install` only to justify the existence of the HP a bit more? :-)
Cabal is part of GHC's build process and GHC uses data types from Cabal. That's why it's there. It's not because we want Cabal to be included (just like we don't want to ship those libs.) These are technical limitations.
_______________________________________________ Libraries mailing list Libraries@haskell.org http://www.haskell.org/mailman/listinfo/libraries

+1 to this proposal. The benefits are obvious and practical: when installing a new GHC, it will save users the tedium of having to figure out how to build a cabal-install and then do so before they can install the packages they actually want. The drawbacks are indefinite and amorphous: the download is a little bit larger. So what? It further blurs the line between GHC and the Platform. Who does this harm? People who already have a cabal-install will now have a second one. What discomfort will this cause them? On Mon, Jan 20, 2014 at 1:02 AM, Carter Schonwald < carter.schonwald@gmail.com> wrote:
Hey everyone,
I'd like to propose that GHC releases 7.8.1 onwards include a cabal-install (aka cabal) executable, but not include the library deps of cabal-install that aren't already distributed with ghc.(unless ghc should have those deps baked in, which theres very very good reasons not to do.).
currently if someone wants just a basic haskell install of the freshest ghc they have to install a ghc bindist, then do a boostrap build of cabal-install by hand (if they want to actually get anything done :) ).
This is not a human friendly situation for folks who are new to haskell tooling, but want to try out haskell dev on a server style vm or the like!
point being: It'd be great for haskell usability (and egads amounts of config time, even by seasoned users) the ghc bindists / installers included a cabal-install binary
thoughts? -Carter
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

cabal-install doesn't even have to be distributed in one tar.gz with
GHC, just merely mentioning cabal-install binaries on
http://www.haskell.org/ghc/download will surely help (assuming we get
to actually have the cabal-install binaries :)
On Sat, Jan 25, 2014 at 10:48 PM, Gábor Lehel
+1 to this proposal. The benefits are obvious and practical: when installing a new GHC, it will save users the tedium of having to figure out how to build a cabal-install and then do so before they can install the packages they actually want. The drawbacks are indefinite and amorphous: the download is a little bit larger. So what? It further blurs the line between GHC and the Platform. Who does this harm? People who already have a cabal-install will now have a second one. What discomfort will this cause them?
On Mon, Jan 20, 2014 at 1:02 AM, Carter Schonwald
wrote: Hey everyone,
I'd like to propose that GHC releases 7.8.1 onwards include a cabal-install (aka cabal) executable, but not include the library deps of cabal-install that aren't already distributed with ghc.(unless ghc should have those deps baked in, which theres very very good reasons not to do.).
currently if someone wants just a basic haskell install of the freshest ghc they have to install a ghc bindist, then do a boostrap build of cabal-install by hand (if they want to actually get anything done :) ).
This is not a human friendly situation for folks who are new to haskell tooling, but want to try out haskell dev on a server style vm or the like!
point being: It'd be great for haskell usability (and egads amounts of config time, even by seasoned users) the ghc bindists / installers included a cabal-install binary
thoughts? -Carter
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
-- Sincerely yours, -- Daniil

Hello,
My input is this: I think a lot of confusion stems from some
documentation that just needs to be cleared up.
I think that just cleaning up the pages so that:
* http://www.haskell.org/cabal has binaries for Tier 1 platforms: OS
X, Windows, FreeBSD i386/amd64, Linux i386/amd64. IMO, there should be
a clear 'Download pre-built binaries' on the immediate front page that
cannot be missed.
* http://www.haskell.org/ghc/download still points to the platform
for most users (i.e. the platform is more long-term stable/supported,)
but also mentions cabal install binaries. They can be linked to
directly from the subsection for each platform: "Download GHC 7.8.1
Mac OS X x86-64 - also download <latest cabal-install OS X build> from
here"
I personally think this would go a significant way to making it easier
for people to bootstrap environments. (IMO, both the GHC and Cabal
homepage could both do with a visual makeover as well, to make this
all the more apparent and easily accessible.)
As for cabal install binaries: I can easily provide dedicated hardware
(thanks to Rackspace) for Windows, FreeBSD or Linux build machines. I
also have a dedicated OS X machine in Oxford (thanks to Duncan) that
can be used to build binaries for OS X as well. So I can absolutely
provide resources for Cabal developers to build them if they'd like.
At least for T1 platforms.
As for shipping with GHC itself: this is technically possible, but
slightly annoying to implement, and it also makes the build processes
for a release slightly more annoying (which is mostly my problem.) But
it is all doable. However, keep in mind I *do not* maintain the binary
distributions for everything, nor do Cabal devs have access to all
hardware - so all people making upstream releases for their platforms
(i.e. Solaris, PowerPC, ARM/Linux, etc) must also package cabal
themselves. But perhaps that's not a huge deal.
I guess my vote on this is ultimately neutral. I think it can be fixed
by simply making the downloads more clear. Alternatively we can
package cabal-install. I'll leave the decision up to users at large
and their votes.
On Sun, Jan 26, 2014 at 7:08 AM, Daniil Frumin
cabal-install doesn't even have to be distributed in one tar.gz with GHC, just merely mentioning cabal-install binaries on http://www.haskell.org/ghc/download will surely help (assuming we get to actually have the cabal-install binaries :)
On Sat, Jan 25, 2014 at 10:48 PM, Gábor Lehel
wrote: +1 to this proposal. The benefits are obvious and practical: when installing a new GHC, it will save users the tedium of having to figure out how to build a cabal-install and then do so before they can install the packages they actually want. The drawbacks are indefinite and amorphous: the download is a little bit larger. So what? It further blurs the line between GHC and the Platform. Who does this harm? People who already have a cabal-install will now have a second one. What discomfort will this cause them?
On Mon, Jan 20, 2014 at 1:02 AM, Carter Schonwald
wrote: Hey everyone,
I'd like to propose that GHC releases 7.8.1 onwards include a cabal-install (aka cabal) executable, but not include the library deps of cabal-install that aren't already distributed with ghc.(unless ghc should have those deps baked in, which theres very very good reasons not to do.).
currently if someone wants just a basic haskell install of the freshest ghc they have to install a ghc bindist, then do a boostrap build of cabal-install by hand (if they want to actually get anything done :) ).
This is not a human friendly situation for folks who are new to haskell tooling, but want to try out haskell dev on a server style vm or the like!
point being: It'd be great for haskell usability (and egads amounts of config time, even by seasoned users) the ghc bindists / installers included a cabal-install binary
thoughts? -Carter
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
-- Sincerely yours, -- Daniil _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
-- Regards, Austin Seipp, Haskell Consultant Well-Typed LLP, http://www.well-typed.com/

+1 for Carter's proposal - I had actually been planning to make the same
suggestion, but just saw this thread now...
On 27 January 2014 09:39, Austin Seipp
As for shipping with GHC itself: this is technically possible, but slightly annoying to implement, and it also makes the build processes for a release slightly more annoying (which is mostly my problem.) But it is all doable. However, keep in mind I *do not* maintain the binary distributions for everything, nor do Cabal devs have access to all hardware - so all people making upstream releases for their platforms (i.e. Solaris, PowerPC, ARM/Linux, etc) must also package cabal themselves. But perhaps that's not a huge deal.
If ghc provided cabal-install I would be happy to ship that in Fedora instead of a separate package. To me cabal-install is probably the most important tool/package in HP (except for ghc itself of course): many people build/bootstrap latest ghc themselves it seems and so providing the latest cabal-install out of the box too would be a big win IMO, making it much easier to test ghc. (I wouldn't even mind if ghc shipped cabal-install's dependencies too.) Jens ps Of course it could be made a configure option whether to build cabal-install or now: the cabal-install source is already there. ;) :)

Bump!
have we reached any consensus on the different variations of this proposal?
a) i seem to recall some of the cabal maintainers expressing interest in
hosting binaries for major platforms
b) some sort of platform-lite thats the ghc bin dist + cabal-install,
targeted at folks using haskell on server rather than desktop envs -- there
was a bunch of strong support for this (esp those using haskell and aren't
on the major linux distros)
c) incuding a cabal install binary in the release build bin dist for ghc
(there were some reasonable arguments against this)
am I missing any major ideas folks had?
both the "mini lite platform for servers" and "cabal binaries to easily
download" are great ideas.
-Carter
On Sun, Feb 2, 2014 at 10:13 PM, Jens Petersen
+1 for Carter's proposal - I had actually been planning to make the same suggestion, but just saw this thread now...
On 27 January 2014 09:39, Austin Seipp
wrote: As for shipping with GHC itself: this is technically possible, but slightly annoying to implement, and it also makes the build processes for a release slightly more annoying (which is mostly my problem.) But it is all doable. However, keep in mind I *do not* maintain the binary distributions for everything, nor do Cabal devs have access to all hardware - so all people making upstream releases for their platforms (i.e. Solaris, PowerPC, ARM/Linux, etc) must also package cabal themselves. But perhaps that's not a huge deal.
If ghc provided cabal-install I would be happy to ship that in Fedora instead of a separate package. To me cabal-install is probably the most important tool/package in HP (except for ghc itself of course): many people build/bootstrap latest ghc themselves it seems and so providing the latest cabal-install out of the box too would be a big win IMO, making it much easier to test ghc. (I wouldn't even mind if ghc shipped cabal-install's dependencies too.)
Jens
ps Of course it could be made a configure option whether to build cabal-install or now: the cabal-install source is already there. ;) :)
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Carter Schonwald wrote
b) some sort of platform-lite thats the ghc bin dist + cabal-install, targeted at folks using haskell on server rather than desktop envs -- there was a bunch of strong support for this (esp those using haskell and aren't on the major linux distros)
Would like the platform-lite (if there is one) to exclude profiling libraries, and other stuff that isn't needed for servers (see the Heroku build packs for examples of everything they delete after installing the bindist). -- View this message in context: http://haskell.1045720.n5.nabble.com/RFC-include-a-cabal-install-executable-... Sent from the Haskell - Glasgow-haskell-users mailing list archive at Nabble.com.

Let's not get off track :-). I'm pretty sure some folks occasionally need
to do profiling/perf debugging on a live server.
So you support there being some easy way to get ghc and cabal-install
together or no? (Heroku is a good example I guess)
On Sunday, February 23, 2014, harry
Carter Schonwald wrote
b) some sort of platform-lite thats the ghc bin dist + cabal-install, targeted at folks using haskell on server rather than desktop envs -- there was a bunch of strong support for this (esp those using haskell and aren't on the major linux distros)
Would like the platform-lite (if there is one) to exclude profiling libraries, and other stuff that isn't needed for servers (see the Heroku build packs for examples of everything they delete after installing the bindist).
-- View this message in context: http://haskell.1045720.n5.nabble.com/RFC-include-a-cabal-install-executable-... Sent from the Haskell - Glasgow-haskell-users mailing list archive at Nabble.com. _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org javascript:; http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Carter Schonwald wrote
Let's not get off track :-). I'm pretty sure some folks occasionally need to do profiling/perf debugging on a live server.
So you support there being some easy way to get ghc and cabal-install together or no? (Heroku is a good example I guess)
If the only difference between the proposed platform-lite and the regular bindist is the inclusion of cabal-install, which will be separately downloadable anyway, then it doesn't seem worth the bother. I'd be more interested in a slimmed-down bindist for those who need it. -- View this message in context: http://haskell.1045720.n5.nabble.com/RFC-include-a-cabal-install-executable-... Sent from the Haskell - Glasgow-haskell-users mailing list archive at Nabble.com.

Umm, then it wouldn't be lite! Most of the libs in Haskell platform aren't
needed in the server context. Ghc + builtin libs/bind + cabal-install is
what I really mean. :-)
On Sunday, February 23, 2014, harry
Carter Schonwald wrote
Let's not get off track :-). I'm pretty sure some folks occasionally need to do profiling/perf debugging on a live server.
So you support there being some easy way to get ghc and cabal-install together or no? (Heroku is a good example I guess)
If the only difference between the proposed platform-lite and the regular bindist is the inclusion of cabal-install, which will be separately downloadable anyway, then it doesn't seem worth the bother. I'd be more interested in a slimmed-down bindist for those who need it.
-- View this message in context: http://haskell.1045720.n5.nabble.com/RFC-include-a-cabal-install-executable-... Sent from the Haskell - Glasgow-haskell-users mailing list archive at Nabble.com. _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org javascript:; http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Hi,
On 23 February 2014 05:48, Carter Schonwald
Bump!
have we reached any consensus on the different variations of this proposal?
a) i seem to recall some of the cabal maintainers expressing interest in hosting binaries for major platforms
Austin promised to provide us with build bots for 3/4 of the tier 1 platforms. I assume that he is busy with preparing with the 7.8 release now.

Mikhail Glushenkov-2 wrote
Austin promised to provide us with build bots for 3/4 of the tier 1 platforms. I assume that he is busy with preparing with the 7.8 release now.
How often is cabal-install released? Requiring a dedicated buildbot seems like an overkill just for publishing binaries. I wouldn't mind doing Windows and Linux manually. -- View this message in context: http://haskell.1045720.n5.nabble.com/RFC-include-a-cabal-install-executable-... Sent from the Haskell - Glasgow-haskell-users mailing list archive at Nabble.com.

So I want to install GHC + cabal on a new system, building cabal packages with profiling and documentation. Here's what I have to do: 1. Download, unpack and install GHC. 2. Download and unpack cabal-install, and run bootstrap.sh. As part of the bootstrap, it will download and build a bunch of packages. 3. Delete the downloaded packages ("rm -rf ~/.ghc/*") because they were built without profiling or documentation. 4. Call "cabal update" to get a default .cabal/config file. 5. Edit .cabal/config to switch on library-profiling, executable-profiling, and documentation. 6. Build my stuff. This would be much simplified if binary versions of cabal-install were available. (It would be even simpler if they were just included in the GHC builds -- I could eliminate 2 & 3.) -- Ashley Yakeley

I think there's now hosted official cabal install binaries online. I'm Afk
but they should be a short google away. Should be linked more prominently
though
On Saturday, May 3, 2014, Ashley Yakeley
So I want to install GHC + cabal on a new system, building cabal packages with profiling and documentation. Here's what I have to do:
1. Download, unpack and install GHC.
2. Download and unpack cabal-install, and run bootstrap.sh. As part of the bootstrap, it will download and build a bunch of packages.
3. Delete the downloaded packages ("rm -rf ~/.ghc/*") because they were built without profiling or documentation.
4. Call "cabal update" to get a default .cabal/config file.
5. Edit .cabal/config to switch on library-profiling, executable-profiling, and documentation.
6. Build my stuff.
This would be much simplified if binary versions of cabal-install were available. (It would be even simpler if they were just included in the GHC builds -- I could eliminate 2 & 3.)
-- Ashley Yakeley _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

I couldn't find them, and they're not listed at http://www.haskell.org/cabal/download.html (except OS X), or at http://www.haskell.org/haskellwiki/Cabal-Install, or at http://hackage.haskell.org/package/cabal-install. -- Ashley On 2014-05-03 17:00, Carter Schonwald wrote:
I think there's now hosted official cabal install binaries online. I'm Afk but they should be a short google away. Should be linked more prominently though
On Saturday, May 3, 2014, Ashley Yakeley
mailto:ashley@semantic.org> wrote: So I want to install GHC + cabal on a new system, building cabal packages with profiling and documentation. Here's what I have to do:
1. Download, unpack and install GHC.
2. Download and unpack cabal-install, and run bootstrap.sh. As part of the bootstrap, it will download and build a bunch of packages.
3. Delete the downloaded packages ("rm -rf ~/.ghc/*") because they were built without profiling or documentation.
4. Call "cabal update" to get a default .cabal/config file.
5. Edit .cabal/config to switch on library-profiling, executable-profiling, and documentation.
6. Build my stuff.
This would be much simplified if binary versions of cabal-install were available. (It would be even simpler if they were just included in the GHC builds -- I could eliminate 2 & 3.)
-- Ashley Yakeley _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

I just uploaded 1.20.0.1 so there's only an OS X binary so far. I'm waiting
for someone to send me a Windows one.
On Sun, May 4, 2014 at 2:06 AM, Ashley Yakeley
I couldn't find them, and they're not listed at < http://www.haskell.org/cabal/download.html> (except OS X), or at < http://www.haskell.org/haskellwiki/Cabal-Install>, or at < http://hackage.haskell.org/package/cabal-install>.
-- Ashley
On 2014-05-03 17:00, Carter Schonwald wrote:
I think there's now hosted official cabal install binaries online. I'm Afk but they should be a short google away. Should be linked more prominently though
On Saturday, May 3, 2014, Ashley Yakeley
> wrote: So I want to install GHC + cabal on a new system, building cabal packages with profiling and documentation. Here's what I have to do:
1. Download, unpack and install GHC.
2. Download and unpack cabal-install, and run bootstrap.sh. As part of the bootstrap, it will download and build a bunch of packages.
3. Delete the downloaded packages ("rm -rf ~/.ghc/*") because they were built without profiling or documentation.
4. Call "cabal update" to get a default .cabal/config file.
5. Edit .cabal/config to switch on library-profiling, executable-profiling, and documentation.
6. Build my stuff.
This would be much simplified if binary versions of cabal-install were available. (It would be even simpler if they were just included in the GHC builds -- I could eliminate 2 & 3.)
-- Ashley Yakeley _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Hi!
I put a Windows build here:
https://www.dropbox.com/s/at7wc1dh0lfr7lc/cabal.exe.zip
Niklas
2014-05-04 2:24 GMT+02:00 Johan Tibell
I just uploaded 1.20.0.1 so there's only an OS X binary so far. I'm waiting for someone to send me a Windows one.
On Sun, May 4, 2014 at 2:06 AM, Ashley Yakeley
wrote: I couldn't find them, and they're not listed at < http://www.haskell.org/cabal/download.html> (except OS X), or at < http://www.haskell.org/haskellwiki/Cabal-Install>, or at < http://hackage.haskell.org/package/cabal-install>.
-- Ashley
On 2014-05-03 17:00, Carter Schonwald wrote:
I think there's now hosted official cabal install binaries online. I'm Afk but they should be a short google away. Should be linked more prominently though
On Saturday, May 3, 2014, Ashley Yakeley
> wrote: So I want to install GHC + cabal on a new system, building cabal packages with profiling and documentation. Here's what I have to do:
1. Download, unpack and install GHC.
2. Download and unpack cabal-install, and run bootstrap.sh. As part of the bootstrap, it will download and build a bunch of packages.
3. Delete the downloaded packages ("rm -rf ~/.ghc/*") because they were built without profiling or documentation.
4. Call "cabal update" to get a default .cabal/config file.
5. Edit .cabal/config to switch on library-profiling, executable-profiling, and documentation.
6. Build my stuff.
This would be much simplified if binary versions of cabal-install were available. (It would be even simpler if they were just included in the GHC builds -- I could eliminate 2 & 3.)
-- Ashley Yakeley _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Thanks. Between you and Mikhail we got the Windows side covered. :)
On Sun, May 4, 2014 at 11:13 AM, Niklas Larsson
Hi!
I put a Windows build here: https://www.dropbox.com/s/at7wc1dh0lfr7lc/cabal.exe.zip
Niklas 2014-05-04 2:24 GMT+02:00 Johan Tibell
: I just uploaded 1.20.0.1 so there's only an OS X binary so far. I'm
waiting for someone to send me a Windows one.
On Sun, May 4, 2014 at 2:06 AM, Ashley Yakeley
wrote: I couldn't find them, and they're not listed at < http://www.haskell.org/cabal/download.html> (except OS X), or at < http://www.haskell.org/haskellwiki/Cabal-Install>, or at < http://hackage.haskell.org/package/cabal-install>.
-- Ashley
On 2014-05-03 17:00, Carter Schonwald wrote:
I think there's now hosted official cabal install binaries online. I'm Afk but they should be a short google away. Should be linked more prominently though
On Saturday, May 3, 2014, Ashley Yakeley
> wrote: So I want to install GHC + cabal on a new system, building cabal packages with profiling and documentation. Here's what I have to do:
1. Download, unpack and install GHC.
2. Download and unpack cabal-install, and run bootstrap.sh. As part of the bootstrap, it will download and build a bunch of packages.
3. Delete the downloaded packages ("rm -rf ~/.ghc/*") because they were built without profiling or documentation.
4. Call "cabal update" to get a default .cabal/config file.
5. Edit .cabal/config to switch on library-profiling, executable-profiling, and documentation.
6. Build my stuff.
This would be much simplified if binary versions of cabal-install were available. (It would be even simpler if they were just included in the GHC builds -- I could eliminate 2 & 3.)
-- Ashley Yakeley _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Linux? -- View this message in context: http://haskell.1045720.n5.nabble.com/RFC-include-a-cabal-install-executable-... Sent from the Haskell - Glasgow-haskell-users mailing list archive at Nabble.com.
participants (15)
-
Ashley Yakeley
-
Austin Seipp
-
Carter Schonwald
-
Daniil Frumin
-
Erik de Castro Lopo
-
Ganesh Sittampalam
-
Gábor Lehel
-
harry
-
Herbert Valerio Riedel
-
Jens Petersen
-
Johan Tibell
-
migmit
-
Mikhail Glushenkov
-
Niklas Larsson
-
Roman Cheplyaka