[Mono-list] MacOS packages.

Andy Satori dru@satori-assoc.com
Tue, 2 Mar 2004 16:58:48 -0500


--Apple-Mail-3--974202846
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
	charset=US-ASCII;
	format=flowed

Ok, after alot more digging and experimenting, there is a ton of work 
to make this like the Java implementation, which, I still think is the 
'correct' answer, but it's going to have to be the longer term answer.  
I don't think we can get it all done between now and the next release 
without more time and resource than I can dedicate to it.

Here is what I would propose:

Phase I:

	A .pkg installer that installs Mono and Mcs to /usr/local/, with a 
detailed description on how to properly set up the environment to use 
/usr/local/bin.  This package would use glib statically linked, to 
avoid the need to also deploy glib to the users machine.

	Seperate .pkg installers would also be made available for XSP, 
MOD_MONO, GTK# and any other optional elements of Mono.

Phase II:

	A process to automatically build the Mono and Mcs into a standalone 
MonoVM.Framework that installs to /Library/ with an installer (.pkg) 
that aliases the core commands, mono, mint, mcs, and the others to 
/usr/bin.  I know that Apple reserves the right to the /usr/bin 
directory, but from an Apple 'it just works' perspective, it is the 
only place to put them.


With Phase II, it would be feasable to ship .app bundles that uses an 
exectuable that calls the /usr/bin/mono framework and launches just 
like any other OS X application. Ultimately, this opens the door for 
Mono to provide the same level of application parity as Java, Cocoa 
(Objective C), or Carbon (C/C++).

The problem with the second is that as far as I can tell, it would 
require XCode projects to build the framework, and all the associated 
dylibs.  creating that project is going to be time consuming, and it 
will require updating to be kept in sync with the ./configure & make 
process.

I've got most of Phase I complete at this point, I'm doing some testing 
now, and should have a working deliverable in the next few days.  Once 
that is completed, I'll begin the long and arduous process of doing 
Phase II.

Andy Satori

On Feb 25, 2004, at 9:22 AM, Urs Muff wrote:

> This is great!  Please publish the Xcode projects and scripts you use 
> to
> make the package and framework so others can build it from CVS.  
> Miguel or
> myself will check them into CVS in case you don't have access.
>
> - Urs
>
> -----Original Message-----
> From: Andy Satori [mailto:dru@satori-assoc.com]
> Sent: Wednesday, February 25, 2004 7:21 AM
> To: Urs Muff
> Cc: 'Miguel de Icaza'; mono-list@ximian.com
> Subject: Re: [Mono-list] MacOS packages.
>
> Urs is correct, after some more digging, it's the 'way' to go.  it's
> going to take me a couple of days to cleanup my own system to get all
> this built and tested (wish I had another machine for this...  oh
> well).
>
> I've got the packages and base installer's built, I just need to run
> through and tweak them into frameworks.  This will also make them much
> easier to install and manage in the future.
>
> Andy
>
> On Feb 25, 2004, at 8:21 AM, Urs Muff wrote:
>
>> If you actually look at /usr/bin/javac, /usr/bin/java, those are soft
>> links
>> to
>> /System/Library/Framework/JavaVM.Framework/Version/1.4.2/Command/java.
>>
>> --> We only have to create soft links for stuff main executables, but
>> not
>> necessary the .exe assemblies since those are just .Net assemblies
>> unless we
>> have some .exe Mono launcher in /etc/... as discussed many times on
>> this
>> list.
>>
>> As for the version: that is the framework version not the assembly
>> version.
>> The GAC is fine and no problem, but Apple is talking about the
>> executables
>> (mono,mint) dynamic libraries (libmono.dylib, ...) and the C-headers,
>> and
>> that has a standard folder structure.
>>
>> - URS C. MUFF
>>
>> -----Original Message-----
>> From: Miguel de Icaza [mailto:miguel@novell.com]
>> Sent: Tuesday, February 24, 2004 7:43 PM
>> To: Urs C Muff
>> Cc: Andy Satori; mono-list@ximian.com
>> Subject: Re: [Mono-list] MacOS packages.
>>
>> Hello,
>>
>>> 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...
>>
>> I think you just build mono with a prefix of:
>>
>> 	/System/Library/Frameworks/MonoVM.Framework
>>
>> And just copy anything that is installed in the bin/ subdirectory to
>> /usr/bin.
>>
>> As for the versioning: we will be taking care of library versions in a
>> different way (the GAC approach)
>>
>

--Apple-Mail-3--974202846
Content-Transfer-Encoding: base64
Content-Type: application/pkcs7-signature;
	name=smime.p7s
Content-Disposition: attachment;
	filename=smime.p7s

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIGHDCCAtUw
ggI+oAMCAQICAwsQBTANBgkqhkiG9w0BAQQFADBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhh
d3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVt
YWlsIElzc3VpbmcgQ0EwHhcNMDMxMTAzMDAzNDA5WhcNMDQxMTAyMDAzNDA5WjBGMR8wHQYDVQQD
ExZUaGF3dGUgRnJlZW1haWwgTWVtYmVyMSMwIQYJKoZIhvcNAQkBFhRkcnVAc2F0b3JpLWFzc29j
LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANZyF5KRsMok/iiWYASPECPdnIqr
1WinyZUag5pSSDJNizsL20uJzsCjpghjuSEgUx+cftQ3rk1xTw94ylMfGftAZ7bXrCcaoumK3QJI
UcM2q+Ilo38pkMLAwwgYfxQHhIUbRBZHlxoxx8KaCJOXO2Nll1ws8kLDliXYJlwTlN9Vc+x9VzV0
+VeQ1qgDgjVsGOQMteux7PsDQKewF0nGE//xMCx6TffgBh4Yt4t9R5wQiAzEdpfZNQY3eIYt2n9q
lXugkCT76y5mkhcqwK4a9f2nooFM7wHBkLlCqiHYWIkbb1I6E9DSQIul/OYvPvzAghNazsgwr2w7
a2pf+SkmPNMCAwEAAaMxMC8wHwYDVR0RBBgwFoEUZHJ1QHNhdG9yaS1hc3NvYy5jb20wDAYDVR0T
AQH/BAIwADANBgkqhkiG9w0BAQQFAAOBgQCC/RKssLsK36M1omFcgBnKorwZlsec5+ccjvIrSu0o
I1riQc4hi0c0YyLcsHIMFF/cTeVVBToHWS+uP2vJhUgjTwsp2McRR48cce56KQjbskMZ3nYfK+Rx
+MyNeI53OCmb99SbYWNI3dtmc2fi3zvRBkiO1Gro97hi7V9kKGdOsTCCAz8wggKooAMCAQICAQ0w
DQYJKoZIhvcNAQEFBQAwgdExCzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQ
BgNVBAcTCUNhcGUgVG93bjEaMBgGA1UEChMRVGhhd3RlIENvbnN1bHRpbmcxKDAmBgNVBAsTH0Nl
cnRpZmljYXRpb24gU2VydmljZXMgRGl2aXNpb24xJDAiBgNVBAMTG1RoYXd0ZSBQZXJzb25hbCBG
cmVlbWFpbCBDQTErMCkGCSqGSIb3DQEJARYccGVyc29uYWwtZnJlZW1haWxAdGhhd3RlLmNvbTAe
Fw0wMzA3MTcwMDAwMDBaFw0xMzA3MTYyMzU5NTlaMGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxU
aGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJl
ZW1haWwgSXNzdWluZyBDQTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAxKY8VXNV+065ypla
HmjAdQRwnd/p/6Me7L3N9VvyGna9fww6YfK/Uc4B1OVQCjDXAmNaLIkVcI7dyfArhVqqP3FWy688
Cwfn8R+RNiQqE88r1fOCdz0Dviv+uxg+B79AgAJk16emu59l0cUqVIUPSAR/p7bRPGEEQB5kGXJg
t/sCAwEAAaOBlDCBkTASBgNVHRMBAf8ECDAGAQH/AgEAMEMGA1UdHwQ8MDowOKA2oDSGMmh0dHA6
Ly9jcmwudGhhd3RlLmNvbS9UaGF3dGVQZXJzb25hbEZyZWVtYWlsQ0EuY3JsMAsGA1UdDwQEAwIB
BjApBgNVHREEIjAgpB4wHDEaMBgGA1UEAxMRUHJpdmF0ZUxhYmVsMi0xMzgwDQYJKoZIhvcNAQEF
BQADgYEASIzRUIPqCy7MDaNmrGcPf6+svsIXoUOWlJ1/TCG4+DYfqi2fNi/A9BxQIJNwPP2t4WFi
w9k6GX6EsZkbAMUaC4J0niVQlGLH2ydxVyWN3amcOY6MIE9lX5Xa9/eH1sYITq726jTlEBpbNU13
41YheILcIRk13iSx0x1G/11fZU8xggLnMIIC4wIBATBpMGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQK
ExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwg
RnJlZW1haWwgSXNzdWluZyBDQQIDCxAFMAkGBSsOAwIaBQCgggFTMBgGCSqGSIb3DQEJAzELBgkq
hkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTA0MDMwMjIxNTg0OFowIwYJKoZIhvcNAQkEMRYEFLbG
2EYyGxBMNqcW8Q+Ld2mMk92SMHgGCSsGAQQBgjcQBDFrMGkwYjELMAkGA1UEBhMCWkExJTAjBgNV
BAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25h
bCBGcmVlbWFpbCBJc3N1aW5nIENBAgMLEAUwegYLKoZIhvcNAQkQAgsxa6BpMGIxCzAJBgNVBAYT
AlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3
dGUgUGVyc29uYWwgRnJlZW1haWwgSXNzdWluZyBDQQIDCxAFMA0GCSqGSIb3DQEBAQUABIIBAGKU
9WxZldc7ln3cPK3kpa17VgCX5R93yIW30kvYQ8jQkVG8uO2lZoCch39B+ik7fAg59vztuJs9pjPR
95K7JSgloQNXG3Sb2TdaNa0Ra+/hxvpAduiGdiaQCbfybe0f/JqyRin09uocBGW3kB5E9BJBlNp9
wP6FJZe3kd20TQjq+7L1y87Z1sA49Z5MpAeeeDekNTEQDUu7XSjJRuAOguQYrlNffHzPFl+v5NwX
AsMZq/1qX8GHj7Xp7eIlPFyYQcleOnmgDh64WiKBeHS21zmAHsJ5tQ7nUHTP8Ia9Qo+yZafcgLh5
SMBycPtaontYn1TDQY9ACX7VzPG31GEUZKYAAAAAAAA=

--Apple-Mail-3--974202846--