[Mono-dev] Crash course on bringing .NET open sourced code to Mono.
Martin Thwaites
monoforum at my2cents.co.uk
Sat Nov 15 16:18:28 UTC 2014
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 <miguel at 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 <miguel at 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 <kornelpal at 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 <
>>> monoforum at 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 <miguel at 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 <
>>>>> monoforum at 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" <miguel at 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-Grine at 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 at lists.ximian.com
>>>>>>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>>>>>>>
>>>>>>>
>>>>
>>>
>>> _______________________________________________
>>> Mono-devel-list mailing listMono-devel-list at lists.ximian.comhttp://lists.ximian.com/mailman/listinfo/mono-devel-list
>>>
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ximian.com/pipermail/mono-devel-list/attachments/20141115/49418927/attachment.html>
More information about the Mono-devel-list
mailing list