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

2014-11-17 Thread Marek Habersack

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.

2014-11-15 Thread Martin Thwaites
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.

2014-11-15 Thread Miguel de Icaza
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.

2014-11-15 Thread Martin Thwaites
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.

2014-11-15 Thread Miguel de Icaza
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.

2014-11-15 Thread Greg Young
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.

2014-11-15 Thread Miguel de Icaza
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.

2014-11-15 Thread Kornel Pal
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.

2014-11-15 Thread Miguel de Icaza
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.

2014-11-15 Thread Miguel de Icaza
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.

2014-11-15 Thread Martin Thwaites
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.

2014-11-14 Thread Miguel de Icaza
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