[Mono-list] MacOS packages.

Andy Satori dru@satori-assoc.com
Tue, 24 Feb 2004 19:47:00 -0500


Yes, you are correct, though I suspect that's going to require some 
manual rebuilding of Mono itself.

Andy

On Feb 24, 2004, at 7:34 PM, Urs C Muff wrote:

> Well actually I agree that the shell scripts 'mono' and 'mcs' might 
> live in /usr/bin, but I would create a Framework and put it in 
> /System/Library/Frameworks/MonoVM.Framework the same way as 
> /System/Library/Frameworks/JavaVM.Framework is placed (look at the 
> folder structure within the framework to see how Apple is structuring 
> such a beast).
>
> But the .Net assemblies should live in 
> /System/Library/Frameworks/MonoVM.Framework/Versions/0.30/Assemblies 
> where there is a link pointing there @ 
> /System/Library/Frameworks/MonoVM.Framework/Assemblies.
>
> That would conform with Apple's standard much better: I don't know how 
> we would have to build mono to include those in the assembly load 
> path...
>
> - Urs
>
> On Feb 24, 2004, at 5:11 PM, Andy Satori wrote:
>
>> OK, following up my own post and thoughts.
>>
>> I went ahead and installed OS X 10.3 on an external FW drive, and 
>> just built a ground up Mono install using pkg-config 0.15.0, 
>> glib-2.3.1, gettext 0.11.5, and mono-0.30.1.  And I'm getting ready 
>> to assemble the .pkg files for those installations.  The question now 
>> becomes, where to put them...
>>
>> On a fresh installation of OS X, /usr/local/bin is not in the path.  
>> Everything lives in /usr/bin, including java, javac, php, ruby, and 
>> python.  Based upon that, we have the option of installing Mono and 
>> it's dep's into /usr/ /usr/local/ or /opt/.
>>
>> For the average user, installing it to /usr/ means that it will just 
>> magically work.  The other alternative is to write a shell script to 
>> alter the systemwide environment variables, but this would be 
>> overwritten by every .x.x patch to the OS.  With the change to bash, 
>> we could alter it for the terminal windows, but spawned tasks would 
>> not have the correct environment by default.
>>
>> Looking at the way that Apple integrated Java into the operating 
>> system, it looks like the "proper" way to do this would be to go to 
>> /usr/ as this would allow Mono development to build applications that 
>> are deployed in <<name>>.app bundles just like Java applications and 
>> be executable in the same fashion, giving Mono apps the same level of 
>> system parity as Java.
>>
>> The only negative I see with this is that it might conflict with 
>> other versions of glib-2 or gettext on the system.  It might give 
>> some strange interactions with DarwinPorts or Fink applications.
>>
>> Does anyone have any thoughts?
>>
>> Andy Satori
>>
>> On Feb 24, 2004, at 2:37 PM, Andy Satori wrote:
>>
>>> This depends upon if you want a 'native' solution, or a Fink, or a 
>>> DarwinPorts solution.  I personally prefer native solutions, as they 
>>> don't require any 3rd party tools, but it means packaging all of the 
>>> dependancies as well.
>>>
>>> The native solution would be to build Package via the Apple 
>>> Developer Tools Package Builder, then place it in a disk image, gzip 
>>> the image and that's your installer.
>>>
>>> The other solutions require that either the Fink client or the 
>>> DarwinPorts tools be installed and then the user can use those 
>>> installation systems, which are more like the Linux RPM, or Apt Get 
>>> tools.  This is fine, but it puts things in funny locations, like 
>>> /sw/bin & /sw/lib or /opt/, making your documentation a little bit 
>>> odd.
>>>
>>> I'd be happy to work on a full installer package if that's of 
>>> interest.  It's not to terribly complex, and it ties into my work on 
>>> integrating Mono (mcs) into XCode.
>>>
>>> Andy
>>>
>>> On Feb 24, 2004, at 1:44 PM, Miguel de Icaza wrote:
>>>
>>>> Hey guys,
>>>>
>>>>    Given that the Mono port for MacOS is progressing rapidly [1], I
>>>> would like the next release of Mono to be available as an 
>>>> easy-to-use
>>>> .dmg file.
>>>>
>>>>    Can someone who understand this explain what do I have to do?
>>>>
>>>> [1] the only missing feature am aware of is exception handling.
>>>> _______________________________________________
>>>> Mono-list maillist  -  Mono-list@lists.ximian.com
>>>> http://lists.ximian.com/mailman/listinfo/mono-list
>>>>
>>>
>>> _______________________________________________
>>> Mono-list maillist  -  Mono-list@lists.ximian.com
>>> http://lists.ximian.com/mailman/listinfo/mono-list
>>>
>>
>> _______________________________________________
>> Mono-list maillist  -  Mono-list@lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/mono-list
>