Policy question re: Haskell Platform installer on OSX

Hi all,
I'm currently writing a program to take Cabal libraries and turn them
into OSX .pkg files, for the Haskell platform's Mac installer.
Where should the libraries be installed? The current GHC installer plops
them down into /Library/Frameworks/GHC.framework/Versions/xxx/usr, and
my thinking is that I'll keep it that way so that we can piggyback on
GHC's uninstall script. Otherwise the platform project will need an
uninstaller of its own.
Thanks,
G.
--
Gregory Collins

greg:
Hi all,
I'm currently writing a program to take Cabal libraries and turn them into OSX .pkg files, for the Haskell platform's Mac installer.
Where should the libraries be installed? The current GHC installer plops them down into /Library/Frameworks/GHC.framework/Versions/xxx/usr, and my thinking is that I'll keep it that way so that we can piggyback on GHC's uninstall script. Otherwise the platform project will need an uninstaller of its own.
Yeah, I'd make sure you can use ghc-pkg with the libs. That's what all the other unix distros do.

Don Stewart
greg:
Hi all,
I'm currently writing a program to take Cabal libraries and turn them into OSX .pkg files, for the Haskell platform's Mac installer.
Where should the libraries be installed? The current GHC installer plops them down into /Library/Frameworks/GHC.framework/Versions/xxx/usr, and my thinking is that I'll keep it that way so that we can piggyback on GHC's uninstall script. Otherwise the platform project will need an uninstaller of its own.
Yeah, I'd make sure you can use ghc-pkg with the libs. That's what all the other unix distros do.
Yep - the generated installers will run "ghc-pkg update" as a
post-installation step, no matter where the files end up going on disk.
The main issue on OSX is that the system installer doesn't do
UNinstallation, otherwise I'd just add an uninstall hook that ran
"ghc-pkg unregister".
As it stands my options are "stick the Haskell platform libraries
somewhere in /Library/Frameworks/GHC.framework and make use of the
existing uninstaller" and "ship the Haskell platform with its own custom
uninstall script".
G
--
Gregory Collins

On Mon, 2009-01-12 at 16:35 -0500, Gregory Collins wrote:
Hi all,
I'm currently writing a program to take Cabal libraries and turn them into OSX .pkg files, for the Haskell platform's Mac installer.
Where should the libraries be installed? The current GHC installer plops them down into /Library/Frameworks/GHC.framework/Versions/xxx/usr, and my thinking is that I'll keep it that way so that we can piggyback on GHC's uninstall script. Otherwise the platform project will need an uninstaller of its own.
My guess is that it should be a separate framework, but if we could have some hacker that uses OSX confirm that for us, that'd be great. Of course another option in future is to simply have a single haskell platform framework that includes ghc. Again, input from the OSX users and hackers would be most welcome. Duncan

Duncan Coutts wrote:
input from the OSX users and hackers would be most welcome.
Manuel has done a ton of work on Mac installers for GHC, please make sure to get feedback from him on whatever you do. There are some very subtle points. In particular - there could be significant differences between Leopard and Tiger. I'm on Tiger, and Manuel is on Leopard. AFAIK Manuel never managed to get an installer working for Tiger based on his Leopard work. Thanks, Yitz

On Tue, 2009-01-13 at 16:48 +0200, Yitzchak Gale wrote:
Duncan Coutts wrote:
input from the OSX users and hackers would be most welcome.
Manuel has done a ton of work on Mac installers for GHC, please make sure to get feedback from him on whatever you do. There are some very subtle points.
Yes we'd very much like his advice if he has time to give it. One thing that we should try and do with the platform effort is to document these issues so that more than one or two people know the black arts involved in building installers on our supported platforms.
In particular - there could be significant differences between Leopard and Tiger. I'm on Tiger, and Manuel is on Leopard. AFAIK Manuel never managed to get an installer working for Tiger based on his Leopard work.
Tiger == OS 10.4 Leopard == OS 10.5 So the one built on 10.5 did not work with 10.4, but presumably an installer built on the older version will work on the newer version. Duncan

I wrote:
In particular - there could be significant differences between Leopard and Tiger...
Duncan Coutts wrote:
Tiger == OS 10.4 Leopard == OS 10.5 So the one built on 10.5 did not work with 10.4, but presumably an installer built on the older version will work on the newer version.
No, they are just incompatible. There are knotty differences between the C library structures on the two platforms. And there are differences in the installation paths. I suppose you also have to watch out for PPC vs. Intel. I can't say exactly what all those differences are though. You can download an environment that lets a developer working on Leopard set up installation packages for Tiger. But Manuel told me that he was unable to use it, because he couldn't re-use his work on the Leopard installer there. He would have to start from scratch. -Yitz
participants (4)
-
Don Stewart
-
Duncan Coutts
-
Gregory Collins
-
Yitzchak Gale