[Mono-dev] Crash course on bringing .NET open sourced code to Mono.

Miguel de Icaza miguel at xamarin.com
Sat Nov 15 15:58:06 UTC 2014


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/6d4e85d0/attachment.html>


More information about the Mono-devel-list mailing list