[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