Re: [Mono-dev] Crash course on bringing .NET open sourced code to Mono.
On 15/11/14 15:48, Miguel de Icaza wrote: Each one needs to be discussed Some of the Ms behaviors don't work on Unix, so not only we shouldn't bring it, we should work towards a better shared set of new Apis I would be all in favor of this approach. In fact, I'd advocate for having a rule that forbids bringing non-trivial Microsoft sources to Mono as they are. Not because they are bad, but precisely because they have lots of Windows-specific code that will not work on other platforms. The fact is that Mono source code is far more portable in many areas. I think the way to work with it is to review each non-trivial source side-by-side and bring the missing bits to the Mono side (as well as fix the apparent bugs) by modifying the Mono sources using the Microsoft ones as reference. Adding tests in the process will ensure that the behavior is the same for both sets of sources and, in the end, we'll have a solid base for the better API Miguel mentions. Mono sources could serve as the base for this being curated for portability over 14 years of development (first, of course, we'd have to get rid of the #ifdef cruft, clean up the sources, get rid of all the guesswork implementations we had to do over the years). In general, I think we shouldn't rush anything but take our time to produce codebase that merges the best of both worlds. Community help would be greately appreciated here - the more eyes on the sources, the better. We should peruse PRs and put as many eyes on them as possible. marek Not sure what you meant in this specific case. On Saturday, November 15, 2014, Greg Young gregoryyou...@gmail.com mailto:gregoryyou...@gmail.com wrote: What's the plan on where there are differences in behavior? An example of this would be uri matching. I would guess it makes sense to use the ms stuff moving forward, how will changes in current behavior be communicated On Saturday, November 15, 2014, Miguel de Icaza mig...@xamarin.com javascript:_e(%7B%7D,'cvml','mig...@xamarin.com'); wrote: Hey guys, Sami reached out to me, and was wondering how to get started in bringing some code to Mono, in particular WCF to Mono. So I wrote this small guide for newcomers. I would say it takes a couple of steps: * Build your own local version of Mono on Linux. * Make sure it works mcs should be able to run after installing it. * Run a trivial self-hosted WCF server/client * Make a trivial change to the WCF class library, and install this version to test you can make changes locally and have them run: o cd mono/mcs/class/System.ServiceModel o Make changes o make install o Run your test again in another window o Repeat * Make sure you can run the test suite: o cd mono/mcs/class/System.ServiceModel o make run-test-local Once you are ready, you can start importing code. Ideally, you want to go for high-value targets: the most buggy parts of Mono's stack (you can check bugzilla for reports on memory usage, bugs). Or you can pick a missing feature. To import code, modify the relevant .sources file in the System.ServiceModel directory (where you ran the test) and replace a local file, with a reference to the referencesource. Chances are, you will need to make changes to the referencesource code, since a lot of it is Windows specific. Miguel On Fri, Nov 14, 2014 at 5:25 PM, Sami Ben Grine sben-gr...@axarosenberg.com wrote: Sweet – is there anything I can do to make progress? __ __ I am somewhat ignorant about Mono but I am pretty ok with .NET and Linux. __ __ thanks -- Studying for the Turing test ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Crash course on bringing .NET open sourced code to Mono.
Hi Miguel, Is there an ETA on merging your large fork. I don't want to get started on anything that you guys have already done? Or could you tell us which areas to stay away from for now? Personally, I would want to look at some of the system.web things. Thanks Martin On 15 Nov 2014 03:07, Miguel de Icaza mig...@xamarin.com wrote: Hey guys, Sami reached out to me, and was wondering how to get started in bringing some code to Mono, in particular WCF to Mono. So I wrote this small guide for newcomers. I would say it takes a couple of steps: - Build your own local version of Mono on Linux. - Make sure it works mcs should be able to run after installing it. - Run a trivial self-hosted WCF server/client - Make a trivial change to the WCF class library, and install this version to test you can make changes locally and have them run: - cd mono/mcs/class/System.ServiceModel - Make changes - make install - Run your test again in another window - Repeat - Make sure you can run the test suite: - cd mono/mcs/class/System.ServiceModel - make run-test-local Once you are ready, you can start importing code. Ideally, you want to go for high-value targets: the most buggy parts of Mono's stack (you can check bugzilla for reports on memory usage, bugs). Or you can pick a missing feature. To import code, modify the relevant .sources file in the System.ServiceModel directory (where you ran the test) and replace a local file, with a reference to the referencesource. Chances are, you will need to make changes to the referencesource code, since a lot of it is Windows specific. Miguel On Fri, Nov 14, 2014 at 5:25 PM, Sami Ben Grine sben-gr...@axarosenberg.com wrote: Sweet – is there anything I can do to make progress? I am somewhat ignorant about Mono but I am pretty ok with .NET and Linux. thanks ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Crash course on bringing .NET open sourced code to Mono.
Hello, We worked only on System.Configuration, regex, the crypto and web stack. The rest you can do, including the web stack. I took a look at asp.net. I think in the long term we want to replace most of it, but it needs to be done in stages, as it still contains a bunch of native stuff.m Miguel On Saturday, November 15, 2014, Martin Thwaites monofo...@my2cents.co.uk wrote: Hi Miguel, Is there an ETA on merging your large fork. I don't want to get started on anything that you guys have already done? Or could you tell us which areas to stay away from for now? Personally, I would want to look at some of the system.web things. Thanks Martin On 15 Nov 2014 03:07, Miguel de Icaza mig...@xamarin.com javascript:_e(%7B%7D,'cvml','mig...@xamarin.com'); wrote: Hey guys, Sami reached out to me, and was wondering how to get started in bringing some code to Mono, in particular WCF to Mono. So I wrote this small guide for newcomers. I would say it takes a couple of steps: - Build your own local version of Mono on Linux. - Make sure it works mcs should be able to run after installing it. - Run a trivial self-hosted WCF server/client - Make a trivial change to the WCF class library, and install this version to test you can make changes locally and have them run: - cd mono/mcs/class/System.ServiceModel - Make changes - make install - Run your test again in another window - Repeat - Make sure you can run the test suite: - cd mono/mcs/class/System.ServiceModel - make run-test-local Once you are ready, you can start importing code. Ideally, you want to go for high-value targets: the most buggy parts of Mono's stack (you can check bugzilla for reports on memory usage, bugs). Or you can pick a missing feature. To import code, modify the relevant .sources file in the System.ServiceModel directory (where you ran the test) and replace a local file, with a reference to the referencesource. Chances are, you will need to make changes to the referencesource code, since a lot of it is Windows specific. Miguel On Fri, Nov 14, 2014 at 5:25 PM, Sami Ben Grine sben-gr...@axarosenberg.com javascript:_e(%7B%7D,'cvml','sben-gr...@axarosenberg.com'); wrote: Sweet – is there anything I can do to make progress? I am somewhat ignorant about Mono but I am pretty ok with .NET and Linux. thanks ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com javascript:_e(%7B%7D,'cvml','Mono-devel-list@lists.ximian.com'); http://lists.ximian.com/mailman/listinfo/mono-devel-list ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Crash course on bringing .NET open sourced code to Mono.
So has it been merged yet? I'm going to look at the Buffer stuff I shy'd away from before. Then look at the MachineKey.Protect stuff to implement the things I missed. I've got a separate question around the mismatch in conventions, but I'll ask that on a different thread. I'm struggling to contain my excitement at the moment! Thanks, Martin On 15 November 2014 13:03, Miguel de Icaza mig...@xamarin.com wrote: Hello, We worked only on System.Configuration, regex, the crypto and web stack. The rest you can do, including the web stack. I took a look at asp.net. I think in the long term we want to replace most of it, but it needs to be done in stages, as it still contains a bunch of native stuff.m Miguel On Saturday, November 15, 2014, Martin Thwaites monofo...@my2cents.co.uk wrote: Hi Miguel, Is there an ETA on merging your large fork. I don't want to get started on anything that you guys have already done? Or could you tell us which areas to stay away from for now? Personally, I would want to look at some of the system.web things. Thanks Martin On 15 Nov 2014 03:07, Miguel de Icaza mig...@xamarin.com wrote: Hey guys, Sami reached out to me, and was wondering how to get started in bringing some code to Mono, in particular WCF to Mono. So I wrote this small guide for newcomers. I would say it takes a couple of steps: - Build your own local version of Mono on Linux. - Make sure it works mcs should be able to run after installing it. - Run a trivial self-hosted WCF server/client - Make a trivial change to the WCF class library, and install this version to test you can make changes locally and have them run: - cd mono/mcs/class/System.ServiceModel - Make changes - make install - Run your test again in another window - Repeat - Make sure you can run the test suite: - cd mono/mcs/class/System.ServiceModel - make run-test-local Once you are ready, you can start importing code. Ideally, you want to go for high-value targets: the most buggy parts of Mono's stack (you can check bugzilla for reports on memory usage, bugs). Or you can pick a missing feature. To import code, modify the relevant .sources file in the System.ServiceModel directory (where you ran the test) and replace a local file, with a reference to the referencesource. Chances are, you will need to make changes to the referencesource code, since a lot of it is Windows specific. Miguel On Fri, Nov 14, 2014 at 5:25 PM, Sami Ben Grine sben-gr...@axarosenberg.com wrote: Sweet – is there anything I can do to make progress? I am somewhat ignorant about Mono but I am pretty ok with .NET and Linux. thanks ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Crash course on bringing .NET open sourced code to Mono.
It hasn't. When we do, we will announce. Two issues: we worked with reference source and the github push is only slowly getting the bits. And the second is that the layout they are pushing is different. On Saturday, November 15, 2014, Martin Thwaites monofo...@my2cents.co.uk wrote: So has it been merged yet? I'm going to look at the Buffer stuff I shy'd away from before. Then look at the MachineKey.Protect stuff to implement the things I missed. I've got a separate question around the mismatch in conventions, but I'll ask that on a different thread. I'm struggling to contain my excitement at the moment! Thanks, Martin On 15 November 2014 13:03, Miguel de Icaza mig...@xamarin.com javascript:_e(%7B%7D,'cvml','mig...@xamarin.com'); wrote: Hello, We worked only on System.Configuration, regex, the crypto and web stack. The rest you can do, including the web stack. I took a look at asp.net. I think in the long term we want to replace most of it, but it needs to be done in stages, as it still contains a bunch of native stuff.m Miguel On Saturday, November 15, 2014, Martin Thwaites monofo...@my2cents.co.uk javascript:_e(%7B%7D,'cvml','monofo...@my2cents.co.uk'); wrote: Hi Miguel, Is there an ETA on merging your large fork. I don't want to get started on anything that you guys have already done? Or could you tell us which areas to stay away from for now? Personally, I would want to look at some of the system.web things. Thanks Martin On 15 Nov 2014 03:07, Miguel de Icaza mig...@xamarin.com wrote: Hey guys, Sami reached out to me, and was wondering how to get started in bringing some code to Mono, in particular WCF to Mono. So I wrote this small guide for newcomers. I would say it takes a couple of steps: - Build your own local version of Mono on Linux. - Make sure it works mcs should be able to run after installing it. - Run a trivial self-hosted WCF server/client - Make a trivial change to the WCF class library, and install this version to test you can make changes locally and have them run: - cd mono/mcs/class/System.ServiceModel - Make changes - make install - Run your test again in another window - Repeat - Make sure you can run the test suite: - cd mono/mcs/class/System.ServiceModel - make run-test-local Once you are ready, you can start importing code. Ideally, you want to go for high-value targets: the most buggy parts of Mono's stack (you can check bugzilla for reports on memory usage, bugs). Or you can pick a missing feature. To import code, modify the relevant .sources file in the System.ServiceModel directory (where you ran the test) and replace a local file, with a reference to the referencesource. Chances are, you will need to make changes to the referencesource code, since a lot of it is Windows specific. Miguel On Fri, Nov 14, 2014 at 5:25 PM, Sami Ben Grine sben-gr...@axarosenberg.com wrote: Sweet – is there anything I can do to make progress? I am somewhat ignorant about Mono but I am pretty ok with .NET and Linux. thanks ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Crash course on bringing .NET open sourced code to Mono.
What's the plan on where there are differences in behavior? An example of this would be uri matching. I would guess it makes sense to use the ms stuff moving forward, how will changes in current behavior be communicated On Saturday, November 15, 2014, Miguel de Icaza mig...@xamarin.com wrote: Hey guys, Sami reached out to me, and was wondering how to get started in bringing some code to Mono, in particular WCF to Mono. So I wrote this small guide for newcomers. I would say it takes a couple of steps: - Build your own local version of Mono on Linux. - Make sure it works mcs should be able to run after installing it. - Run a trivial self-hosted WCF server/client - Make a trivial change to the WCF class library, and install this version to test you can make changes locally and have them run: - cd mono/mcs/class/System.ServiceModel - Make changes - make install - Run your test again in another window - Repeat - Make sure you can run the test suite: - cd mono/mcs/class/System.ServiceModel - make run-test-local Once you are ready, you can start importing code. Ideally, you want to go for high-value targets: the most buggy parts of Mono's stack (you can check bugzilla for reports on memory usage, bugs). Or you can pick a missing feature. To import code, modify the relevant .sources file in the System.ServiceModel directory (where you ran the test) and replace a local file, with a reference to the referencesource. Chances are, you will need to make changes to the referencesource code, since a lot of it is Windows specific. Miguel On Fri, Nov 14, 2014 at 5:25 PM, Sami Ben Grine sben-gr...@axarosenberg.com javascript:_e(%7B%7D,'cvml','sben-gr...@axarosenberg.com'); wrote: Sweet – is there anything I can do to make progress? I am somewhat ignorant about Mono but I am pretty ok with .NET and Linux. thanks -- Studying for the Turing test ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Crash course on bringing .NET open sourced code to Mono.
Each one needs to be discussed Some of the Ms behaviors don't work on Unix, so not only we shouldn't bring it, we should work towards a better shared set of new Apis Not sure what you meant in this specific case. On Saturday, November 15, 2014, Greg Young gregoryyou...@gmail.com wrote: What's the plan on where there are differences in behavior? An example of this would be uri matching. I would guess it makes sense to use the ms stuff moving forward, how will changes in current behavior be communicated On Saturday, November 15, 2014, Miguel de Icaza mig...@xamarin.com javascript:_e(%7B%7D,'cvml','mig...@xamarin.com'); wrote: Hey guys, Sami reached out to me, and was wondering how to get started in bringing some code to Mono, in particular WCF to Mono. So I wrote this small guide for newcomers. I would say it takes a couple of steps: - Build your own local version of Mono on Linux. - Make sure it works mcs should be able to run after installing it. - Run a trivial self-hosted WCF server/client - Make a trivial change to the WCF class library, and install this version to test you can make changes locally and have them run: - cd mono/mcs/class/System.ServiceModel - Make changes - make install - Run your test again in another window - Repeat - Make sure you can run the test suite: - cd mono/mcs/class/System.ServiceModel - make run-test-local Once you are ready, you can start importing code. Ideally, you want to go for high-value targets: the most buggy parts of Mono's stack (you can check bugzilla for reports on memory usage, bugs). Or you can pick a missing feature. To import code, modify the relevant .sources file in the System.ServiceModel directory (where you ran the test) and replace a local file, with a reference to the referencesource. Chances are, you will need to make changes to the referencesource code, since a lot of it is Windows specific. Miguel On Fri, Nov 14, 2014 at 5:25 PM, Sami Ben Grine sben-gr...@axarosenberg.com wrote: Sweet – is there anything I can do to make progress? I am somewhat ignorant about Mono but I am pretty ok with .NET and Linux. thanks -- Studying for the Turing test ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Crash course on bringing .NET open sourced code to Mono.
Given these obstacles, I think that going forward with the originally announced plan of removing non-4.5 profile support from the current Mono code base - without introducing MS code yet - would make the gradual adoption of MS code much easer. On 11/15/2014 2:11 PM, Miguel de Icaza wrote: It hasn't. When we do, we will announce. Two issues: we worked with reference source and the github push is only slowly getting the bits. And the second is that the layout they are pushing is different. On Saturday, November 15, 2014, Martin Thwaites monofo...@my2cents.co.uk mailto:monofo...@my2cents.co.uk wrote: So has it been merged yet? I'm going to look at the Buffer stuff I shy'd away from before. Then look at the MachineKey.Protect stuff to implement the things I missed. I've got a separate question around the mismatch in conventions, but I'll ask that on a different thread. I'm struggling to contain my excitement at the moment! Thanks, Martin On 15 November 2014 13:03, Miguel de Icaza mig...@xamarin.com javascript:_e(%7B%7D,'cvml','mig...@xamarin.com'); wrote: Hello, We worked only on System.Configuration, regex, the crypto and web stack. The rest you can do, including the web stack. I took a look at asp.net http://asp.net. I think in the long term we want to replace most of it, but it needs to be done in stages, as it still contains a bunch of native stuff.m Miguel On Saturday, November 15, 2014, Martin Thwaites monofo...@my2cents.co.uk javascript:_e(%7B%7D,'cvml','monofo...@my2cents.co.uk'); wrote: Hi Miguel, Is there an ETA on merging your large fork. I don't want to get started on anything that you guys have already done? Or could you tell us which areas to stay away from for now? Personally, I would want to look at some of the system.web things. Thanks Martin On 15 Nov 2014 03:07, Miguel de Icaza mig...@xamarin.com wrote: Hey guys, Sami reached out to me, and was wondering how to get started in bringing some code to Mono, in particular WCF to Mono. So I wrote this small guide for newcomers. I would say it takes a couple of steps: * Build your own local version of Mono on Linux. * Make sure it works mcs should be able to run after installing it. * Run a trivial self-hosted WCF server/client * Make a trivial change to the WCF class library, and install this version to test you can make changes locally and have them run: o cd mono/mcs/class/System.ServiceModel o Make changes o make install o Run your test again in another window o Repeat * Make sure you can run the test suite: o cd mono/mcs/class/System.ServiceModel o make run-test-local Once you are ready, you can start importing code. Ideally, you want to go for high-value targets: the most buggy parts of Mono's stack (you can check bugzilla for reports on memory usage, bugs). Or you can pick a missing feature. To import code, modify the relevant .sources file in the System.ServiceModel directory (where you ran the test) and replace a local file, with a reference to the referencesource. Chances are, you will need to make changes to the referencesource code, since a lot of it is Windows specific. Miguel On Fri, Nov 14, 2014 at 5:25 PM, Sami Ben Grine sben-gr...@axarosenberg.com wrote: Sweet – is there anything I can do to make progress? I am somewhat ignorant about Mono but I am pretty ok with .NET and Linux. thanks ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Crash course on bringing .NET open sourced code to Mono.
Hey, It is a tangential problem. The big problem with removing the profile right now, is that removing it causes F# to fail building. We are trying to fix that. Miguel On Sat, Nov 15, 2014 at 10:05 AM, Kornel Pal kornel...@gmail.com wrote: Given these obstacles, I think that going forward with the originally announced plan of removing non-4.5 profile support from the current Mono code base - without introducing MS code yet - would make the gradual adoption of MS code much easer. On 11/15/2014 2:11 PM, Miguel de Icaza wrote: It hasn't. When we do, we will announce. Two issues: we worked with reference source and the github push is only slowly getting the bits. And the second is that the layout they are pushing is different. On Saturday, November 15, 2014, Martin Thwaites monofo...@my2cents.co.uk wrote: So has it been merged yet? I'm going to look at the Buffer stuff I shy'd away from before. Then look at the MachineKey.Protect stuff to implement the things I missed. I've got a separate question around the mismatch in conventions, but I'll ask that on a different thread. I'm struggling to contain my excitement at the moment! Thanks, Martin On 15 November 2014 13:03, Miguel de Icaza mig...@xamarin.com wrote: Hello, We worked only on System.Configuration, regex, the crypto and web stack. The rest you can do, including the web stack. I took a look at asp.net. I think in the long term we want to replace most of it, but it needs to be done in stages, as it still contains a bunch of native stuff.m Miguel On Saturday, November 15, 2014, Martin Thwaites monofo...@my2cents.co.uk wrote: Hi Miguel, Is there an ETA on merging your large fork. I don't want to get started on anything that you guys have already done? Or could you tell us which areas to stay away from for now? Personally, I would want to look at some of the system.web things. Thanks Martin On 15 Nov 2014 03:07, Miguel de Icaza mig...@xamarin.com wrote: Hey guys, Sami reached out to me, and was wondering how to get started in bringing some code to Mono, in particular WCF to Mono. So I wrote this small guide for newcomers. I would say it takes a couple of steps: - Build your own local version of Mono on Linux. - Make sure it works mcs should be able to run after installing it. - Run a trivial self-hosted WCF server/client - Make a trivial change to the WCF class library, and install this version to test you can make changes locally and have them run: - cd mono/mcs/class/System.ServiceModel - Make changes - make install - Run your test again in another window - Repeat - Make sure you can run the test suite: - cd mono/mcs/class/System.ServiceModel - make run-test-local Once you are ready, you can start importing code. Ideally, you want to go for high-value targets: the most buggy parts of Mono's stack (you can check bugzilla for reports on memory usage, bugs). Or you can pick a missing feature. To import code, modify the relevant .sources file in the System.ServiceModel directory (where you ran the test) and replace a local file, with a reference to the referencesource. Chances are, you will need to make changes to the referencesource code, since a lot of it is Windows specific. Miguel On Fri, Nov 14, 2014 at 5:25 PM, Sami Ben Grine sben-gr...@axarosenberg.com wrote: Sweet – is there anything I can do to make progress? I am somewhat ignorant about Mono but I am pretty ok with .NET and Linux. thanks ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list ___ Mono-devel-list mailing listMono-devel-list@lists.ximian.comhttp://lists.ximian.com/mailman/listinfo/mono-devel-list ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
Re: [Mono-dev] Crash course on bringing .NET open sourced code to Mono.
Let me give more color on the situation. Tasks: - *Not building the 2.0 Profile*: while this is a very simple change, it currently breaks the F# compilation. I have to dig out the reasons, I can not remember why, but it does. Something related to MSBuild targets or something. - *Removal of the #ifdef junk for old profiles: *this will make it hard to merge our changes later, so I rather not have to do this for now. In addition, a tool was used, so we can just use the tool in the future. - *Adding .NET Reference Code to Mono:* for all the bits that have started trickling out, we can use the approach described earlier. I should probably formalize the process in a document. This does not really require either one of the previous tasks, in general, it is easy to add #ifs temporarily. In addition to the list mentioned before, we also need to formalize/review the following: - *DEFINE use in .NET's code:* we can not just take the code blindly, we need to review that every file that is incorporated also defines the proper defines in the build, or we would end up with a build that is not correct. - *Put together a priority list:* this is merely a list of the most valuable pieces of code that we want to incorporate into Mono. The ones that bring the most bang for the buck to the Mono community. *Note:* this is independent of anyone picking a task they care about, and just running with it. This is just a public list of things we should look into. - *Process to port Windows code:* there seems to be a lot more native code that I even expected. So in many cases, we can not blindly copy the code without regressing at a later time. So each replacement need to be evaluated. Let us put together a checklist. I am taking care of the kids on the weekend, but will start writing some of these in the nights and hope to publish on Monday on the web site. Then anyone can contribute to the guidelines by making changes to the website module on github. Miguel On Sat, Nov 15, 2014 at 10:37 AM, Miguel de Icaza mig...@xamarin.com wrote: Hey, It is a tangential problem. The big problem with removing the profile right now, is that removing it causes F# to fail building. We are trying to fix that. Miguel On Sat, Nov 15, 2014 at 10:05 AM, Kornel Pal kornel...@gmail.com wrote: Given these obstacles, I think that going forward with the originally announced plan of removing non-4.5 profile support from the current Mono code base - without introducing MS code yet - would make the gradual adoption of MS code much easer. On 11/15/2014 2:11 PM, Miguel de Icaza wrote: It hasn't. When we do, we will announce. Two issues: we worked with reference source and the github push is only slowly getting the bits. And the second is that the layout they are pushing is different. On Saturday, November 15, 2014, Martin Thwaites monofo...@my2cents.co.uk wrote: So has it been merged yet? I'm going to look at the Buffer stuff I shy'd away from before. Then look at the MachineKey.Protect stuff to implement the things I missed. I've got a separate question around the mismatch in conventions, but I'll ask that on a different thread. I'm struggling to contain my excitement at the moment! Thanks, Martin On 15 November 2014 13:03, Miguel de Icaza mig...@xamarin.com wrote: Hello, We worked only on System.Configuration, regex, the crypto and web stack. The rest you can do, including the web stack. I took a look at asp.net. I think in the long term we want to replace most of it, but it needs to be done in stages, as it still contains a bunch of native stuff.m Miguel On Saturday, November 15, 2014, Martin Thwaites monofo...@my2cents.co.uk wrote: Hi Miguel, Is there an ETA on merging your large fork. I don't want to get started on anything that you guys have already done? Or could you tell us which areas to stay away from for now? Personally, I would want to look at some of the system.web things. Thanks Martin On 15 Nov 2014 03:07, Miguel de Icaza mig...@xamarin.com wrote: Hey guys, Sami reached out to me, and was wondering how to get started in bringing some code to Mono, in particular WCF to Mono. So I wrote this small guide for newcomers. I would say it takes a couple of steps: - Build your own local version of Mono on Linux. - Make sure it works mcs should be able to run after installing it. - Run a trivial self-hosted WCF server/client - Make a trivial change to the WCF class library, and install this version to test you can make changes locally and have them run: - cd mono/mcs/class/System.ServiceModel - Make changes - make install - Run your test again in another window - Repeat - Make sure you can run the test suite: - cd mono/mcs/class/System.ServiceModel - make run-test-local
Re: [Mono-dev] Crash course on bringing .NET open sourced code to Mono.
Thanks Miguel, That clears up a lot. I'll wait until Monday before I ask more questions :-D enjoy the weekend. Martin On 15 November 2014 15:58, Miguel de Icaza mig...@xamarin.com wrote: Let me give more color on the situation. Tasks: - *Not building the 2.0 Profile*: while this is a very simple change, it currently breaks the F# compilation. I have to dig out the reasons, I can not remember why, but it does. Something related to MSBuild targets or something. - *Removal of the #ifdef junk for old profiles: *this will make it hard to merge our changes later, so I rather not have to do this for now. In addition, a tool was used, so we can just use the tool in the future. - *Adding .NET Reference Code to Mono:* for all the bits that have started trickling out, we can use the approach described earlier. I should probably formalize the process in a document. This does not really require either one of the previous tasks, in general, it is easy to add #ifs temporarily. In addition to the list mentioned before, we also need to formalize/review the following: - *DEFINE use in .NET's code:* we can not just take the code blindly, we need to review that every file that is incorporated also defines the proper defines in the build, or we would end up with a build that is not correct. - *Put together a priority list:* this is merely a list of the most valuable pieces of code that we want to incorporate into Mono. The ones that bring the most bang for the buck to the Mono community. *Note:* this is independent of anyone picking a task they care about, and just running with it. This is just a public list of things we should look into. - *Process to port Windows code:* there seems to be a lot more native code that I even expected. So in many cases, we can not blindly copy the code without regressing at a later time. So each replacement need to be evaluated. Let us put together a checklist. I am taking care of the kids on the weekend, but will start writing some of these in the nights and hope to publish on Monday on the web site. Then anyone can contribute to the guidelines by making changes to the website module on github. Miguel On Sat, Nov 15, 2014 at 10:37 AM, Miguel de Icaza mig...@xamarin.com wrote: Hey, It is a tangential problem. The big problem with removing the profile right now, is that removing it causes F# to fail building. We are trying to fix that. Miguel On Sat, Nov 15, 2014 at 10:05 AM, Kornel Pal kornel...@gmail.com wrote: Given these obstacles, I think that going forward with the originally announced plan of removing non-4.5 profile support from the current Mono code base - without introducing MS code yet - would make the gradual adoption of MS code much easer. On 11/15/2014 2:11 PM, Miguel de Icaza wrote: It hasn't. When we do, we will announce. Two issues: we worked with reference source and the github push is only slowly getting the bits. And the second is that the layout they are pushing is different. On Saturday, November 15, 2014, Martin Thwaites monofo...@my2cents.co.uk wrote: So has it been merged yet? I'm going to look at the Buffer stuff I shy'd away from before. Then look at the MachineKey.Protect stuff to implement the things I missed. I've got a separate question around the mismatch in conventions, but I'll ask that on a different thread. I'm struggling to contain my excitement at the moment! Thanks, Martin On 15 November 2014 13:03, Miguel de Icaza mig...@xamarin.com wrote: Hello, We worked only on System.Configuration, regex, the crypto and web stack. The rest you can do, including the web stack. I took a look at asp.net. I think in the long term we want to replace most of it, but it needs to be done in stages, as it still contains a bunch of native stuff.m Miguel On Saturday, November 15, 2014, Martin Thwaites monofo...@my2cents.co.uk wrote: Hi Miguel, Is there an ETA on merging your large fork. I don't want to get started on anything that you guys have already done? Or could you tell us which areas to stay away from for now? Personally, I would want to look at some of the system.web things. Thanks Martin On 15 Nov 2014 03:07, Miguel de Icaza mig...@xamarin.com wrote: Hey guys, Sami reached out to me, and was wondering how to get started in bringing some code to Mono, in particular WCF to Mono. So I wrote this small guide for newcomers. I would say it takes a couple of steps: - Build your own local version of Mono on Linux. - Make sure it works mcs should be able to run after installing it. - Run a trivial self-hosted WCF server/client - Make a trivial change to the WCF class library, and install this version to test you can make changes locally and have them run: - cd
[Mono-dev] Crash course on bringing .NET open sourced code to Mono.
Hey guys, Sami reached out to me, and was wondering how to get started in bringing some code to Mono, in particular WCF to Mono. So I wrote this small guide for newcomers. I would say it takes a couple of steps: - Build your own local version of Mono on Linux. - Make sure it works mcs should be able to run after installing it. - Run a trivial self-hosted WCF server/client - Make a trivial change to the WCF class library, and install this version to test you can make changes locally and have them run: - cd mono/mcs/class/System.ServiceModel - Make changes - make install - Run your test again in another window - Repeat - Make sure you can run the test suite: - cd mono/mcs/class/System.ServiceModel - make run-test-local Once you are ready, you can start importing code. Ideally, you want to go for high-value targets: the most buggy parts of Mono's stack (you can check bugzilla for reports on memory usage, bugs). Or you can pick a missing feature. To import code, modify the relevant .sources file in the System.ServiceModel directory (where you ran the test) and replace a local file, with a reference to the referencesource. Chances are, you will need to make changes to the referencesource code, since a lot of it is Windows specific. Miguel On Fri, Nov 14, 2014 at 5:25 PM, Sami Ben Grine sben-gr...@axarosenberg.com wrote: Sweet – is there anything I can do to make progress? I am somewhat ignorant about Mono but I am pretty ok with .NET and Linux. thanks ___ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list