Mark Lentczner | 5 May 17:55 2013
Picon

Building the Platform

The current build of the platform has grown over the years to a somewhat convoluted collection of shell scripts, makefiles, autoconf, and some custom Haskell. It is further complicated by three distinct stages: making the source distribution, building the packages, bundling for distribution. Lastly, I suspect that each distribution (Mac, Windows, and n × unix-like) has it's own path through these stages.

I've done some amount of rework on the process over the last two years, but I'm thinking it is time for wholesale replacement. I'm considering using Shake to replace all three stages as one build. Distributions could choose to either re-cast their process into this Shake program, or work from the source distribution.

The source distribution currently contains scripts and other bits for generically building the platform from source. I currently have no way to know which parts of those bits people rely on for their distributions. This transition would substantially change what is shipped with the source release.

Packagers & Those of you that build the platform from source:
Can you tell me which of these three directions for the source distribution you'd like:
  • Bare: Just the package sources and a .cabal file, than you.
  • Scripted: Like the current distribution, shell/make/autoconf scripts that build the platform for some idealized unix-like system.
  • Programmatic: Include a Haskell program (perhaps Shake based) that builds the platform
I'm interested in hearing how people use the source distribution, and/or if people use the repo directly to build. If I hear crickets, I'll take that as free-reign to hatch evil schemes!

— Mark

_______________________________________________
Libraries mailing list
Libraries <at> haskell.org
http://www.haskell.org/mailman/listinfo/libraries
Peter Simons | 5 May 19:14 2013
Picon

Re: Building the Platform

Hi Mark,

 > * Bare: Just the package sources and a .cabal file, than you.

this is how do things for NixOS. We have build instructions for every
package that's part of the platform already. A platform release simply
ties the appropriate versions of those builds together into one "meta
package". To accomplish that, we use nothing except the HP Cabal file.

Take care,
Peter
Joachim Breitner | 5 May 19:49 2013
Picon

Re: Building the Platform

Hi,

Am Sonntag, den 05.05.2013, 19:14 +0200 schrieb Peter Simons:
>  > * Bare: Just the package sources and a .cabal file, than you.
> 
> this is how do things for NixOS. We have build instructions for every
> package that's part of the platform already. A platform release simply
> ties the appropriate versions of those builds together into one "meta
> package". To accomplish that, we use nothing except the HP Cabal file.

very similar for the Debian Package, which does not even use the Cabal
file: The package maintainer manually updates the dependencies of the
meta-package to what the platform specifies, and makes adjustment for
Debian-specifics.

Greetings,
Joachim

--

-- 
Joachim "nomeata" Breitner
Debian Developer
  nomeata@... | ICQ# 74513189 | GPG-Keyid: 4743206C
  JID: nomeata@... | http://people.debian.org/~nomeata

_______________________________________________
Haskell-platform mailing list
Haskell-platform@...
http://projects.haskell.org/cgi-bin/mailman/listinfo/haskell-platform
Mark Wright | 10 May 03:03 2013
Picon

Re: Building the Platform

Mark Lentczner <mark.lentczner <at> gmail.com> writes:

>    - Bare: Just the package sources and a .cabal file, than you.

That is all we need for Gentoo thanks.
Peter Trommler | 13 May 16:33 2013
Picon

Re: Building the Platform

Hi Mark
Mark Lentczner wrote:

> 
>    - Bare: Just the package sources and a .cabal file, thank you.
At openSUSE we only use the .cabal file to build a meta-package for the 
platform. We get package sources for platform packages directly from hackage 
and build those packages like other Haskell packages as separate RPM 
packages.

Regards, Peter
Jens Petersen | 7 May 04:43 2013

Re: Building the Platform

> I'm interested in hearing how people use the source distribution, and/or if
> people use the repo directly to build.

Are you thinking of making this change for 2013.2, or is it for future releases?

Fedora might be the only Linux distro that currently uses the large HP
source tarball,
but basically the build only depends on the "platform.packages" file
and package source dirs.
However I am kind of regretting this decision and thinking to move back
to individual source packages again eventually (in which case the Bare
case would be fine)
- though it is nice not having to worry about adding new packages to
the distro...

Anyway if there are no new build dependencies then I am not really worried
by the Programmatic (shake) approach.  A while back I couldn't get
the current Scripted approach to dynlink the shared HP libs IIRC.

Jens

Gmane