Stop! Tickets are now managed at GitHub.

Please enter new tickets, and find and edit existing tickets there:


Ticket #7 (closed task: fixed)

Opened 5 years ago

Last modified 5 years ago

Installer/package for OSX

Reported by: duncan Owned by: gregorycollins
Priority: critical Milestone: 2009.2.0.2
Component: OSX installer Keywords:
Cc:

Description

We need someone to take charge of building and testing the OSX installer/package.

It should use the appropriate OSX installer system that most users will be familiar with. It should not depend on MacPorts? or similar.

GHC's build system has support for building a framework "pkg". See also the docs on the GHC wiki.

Change History

Changed 5 years ago by gregorycollins

  • owner set to gregorycollins
  • status changed from new to assigned
  • type changed from defect to task

I'll take this ticket, I've been working on it for a while:

http://github.com/gregorycollins/cabal2macpkg/tree

Changed 5 years ago by duncan

Thanks Gregory, looks good. Does that mean we'd have a separate framework for each package? I presume we can still have a single installer that bundles all of them together?

Can you give us a rough overview of how you envisage things working? Perhaps make a page here in the wiki (eg OSX). How will it work overall? What will the thing consist of? How will it be built etc. That'd be great and it'll make it easier for other people to help you or make suggestions.

Changed 5 years ago by gregorycollins

The "cabal2macpkg" program will take a .cabal package and turn it into a mac installer file. I envision it having two modes:

  1. take a single .cabal library and make a .pkg file
  1. read a .cabal file, turn all of its dependencies into .pkg files, and package those up together into an .mpkg file.

I've gotten most of the way through the first part; the process goes:

  1. find a .cabal file in the current working directory
  1. run "cabal build; cabal haddock" into a staging area
  1. run "cabal register --gen-pkg-config" and postprocess the results to generate a registration script that will be run by the OS X installer
  1. turn the staging area into a mac package file using the OS X developer tools

Changed 5 years ago by gregorycollins

  • component set to (none-specified)

Update: I got the cabal2macpkg program semi-working (using the Tiger installer format) but it isn't compatible with the Leopard-format GHC installer. :(

I went with the Tiger format to start with because I couldn't find enough information about Leopard-format installer packages; I'm going to have to bite the bullet and reverse-engineer the Leopard stuff. Expect a version that works within a couple of weeks.

Changed 5 years ago by anonymous

  • component changed from (none-specified) to OSX installer

Changed 5 years ago by dons

  • priority changed from major to blocker
  • milestone changed from 2009.2.0 to 2009.2.1

I consider the Mac OS X installer a blocker for the June 1 minor release.

Changed 5 years ago by dons

  • priority changed from blocker to critical

Changed 5 years ago by anonymous

I'm a Haskell developer (i.e., I develop programs using Haskell) on the Mac.

IMO: The installer is not a must-have because it's fast and easy to install from the source tarball if, perhaps, slightly less convenient. 2009.2.1 should not be delayed because the installer is not ready, particularly if 2009.2.1 provides compatibility with GHC 6.10.3.

Changed 5 years ago by dons

  • milestone changed from 2009.2.0.1 to 2009.2.0.2

Changed 5 years ago by dons

Mac Installer went live June 4, 2009.

Changed 5 years ago by gregorycollins

  • status changed from assigned to closed
  • resolution set to fixed
Note: See TracTickets for help on using tickets.