Subject: CVS commit: pkgsrc/lang/mono
To: None <pkgsrc-changes@NetBSD.org>
From: Marc Recht <recht@netbsd.org>
List: pkgsrc-changes
Date: 07/31/2005 15:26:58
Module Name:	pkgsrc
Committed By:	recht
Date:		Sun Jul 31 15:26:58 UTC 2005

Modified Files:
	pkgsrc/lang/mono: Makefile PLIST buildlink3.mk distinfo
	pkgsrc/lang/mono/patches: patch-aa patch-ab patch-ac patch-ad patch-ae
	    patch-af patch-ba patch-bc
Added Files:
	pkgsrc/lang/mono/patches: patch-ag patch-ah patch-ai patch-aj patch-ak
	    patch-al patch-am patch-an

Log Message:
update to mono 1.1.8
Patch provided by Jerome Laban. The patch also includes improved also includes
improved NetBSD support (implemented by Jerome).

Hi

mono 1.1.8:

Debugger

The Mono Debugger is being released in sync for the first time with the
Mono runtime. We need testers to try it out (the command line debugger
is called `mdb').

Windows.Forms

Here a toplevel list of all things new for 1.1.8 MWF:

DomainUpDown and NumericUpDown implemented First version with DataGrid
support (still incomplete) First version with MDI support (still
incomplete) Drag & Drop implemented for X11 and Win32 Clipboard
implemented for X11 and Win32 HelpProvider implemented ErrorProvider
implemented Cursor class completed ResXWriter and ResXReader completed
SWF.Timers now working properly A bunch of compatibility fixes Image I/O
now working on Win32 (this is actually in System.Drawing) Scaling,
Performance

Harinath has been fine tuning our Regular Expressions class library to
reduce allocations which translate into an increase in performance
(about 10% on the output match). Regexp.Replace will now be O(number of
$s in the replacement string) instead of O(length of replacement
string). The

The 1024 limit on Socket.Select is gone, Mono will now use poll when
available.

System.Web will consume less memory as well (Gonzalo).

Code Access Security

Sebastien's progress in this release:

AppDomain based sandboxes are supported (limited by #74411); Stack
propagation for async code, threads and SWF; Default policies (like
LocalIntranet, Internet...) are now supported; The new features allows
NRobot 0.20 (http://home.gna.org/nrobot/) to "work" (as much as the
permissions are currently present in the class libraries) on Mono 1.1.8
with a single modification (change the imperative assert in
NRobot/Engine/GameArena.cs to a declarative assert).

ASP.NET 2.x controls

Lluis completed various new controls for ASP.NET 2.x: ImageMap, Wizard,
SiteMapDataSource and SiteMapPath.

Reflection

Lluis added support for producing debugging information from
Reflection.Emit. This means that all the Reflection-based compilers and
VMs will be able to produce debugging information and have the Mono
debugger step through the code.

Packaging

mono-ikvm has been merged into mono-core. Should make it easier for
people to get ikvm

mono-nunit is back with the nunit stuff. Needed for mono-tools

Mono-shlib-cop

Jonathan Pryor has contributed this tool to assist developers that use
P/Invoke.

mono-shlib-cop is a tool that inspects a managed assembly looking for
erroneous or suspecious behavior of shared libraries.

The tool takes one or more assembly filenames, and inspects each
assembly specified.

The errors checked for include:

Does the shared library exist? Does the requested symbol exist within
the shared library? It also checks if a program uses shared libraries
that are part of a -devel package.

VB.NET

New on this release: late binding, decimal, named arguments, optiona
byrefs,

Mono.Unix

The Mono.Unix namespace will be replacing the old Mono.Posix in Mono 1.2
and is still under development. In this release cleanups continued and a
few new features are present.

Changes since the last release:

Removed types: MapAttribute, IncludeAttribute, ErrorMarshal,
ErrorMarshal.ErrorTranslator Removed
UnixMarshal.IsErrorDescriptionThreadSafe property Renamed LockFlags enum
to LockfCommand Removed StdioFileStream.FilePosition property and
replaced with RestoreFilePosition() and SaveFilePosition() methods
Renamed UnixConvert.ToFilePermissions(string) to
UnixConvert.FromOctalPermissionString(string) Additions

Syscall.execv(), Syscall.execve(), Syscall.execvp(), Syscall.fexecve()
Syscall.fcntl (int, FcntlCommand, DirectoryNotifyFlags) Syscall.mmap,
Syscall.munmap, Syscall.msync, Syscall.mlock, Syscall.munlock,
Syscall.mlockall, Syscall.munlockall, Syscall.mremap, Syscall.mincore,
Syscall.remap_file_pages Syscall.mkstemp Thread safety for "obvious"
exports from Stdlib, Syscall UnixConvert.ToOctalPermissionString,
UnixConvert.FromUnixPermissionString, UnixConvert.ToUnixPermissionString
UnixFileInfo uses stat(2) now, not lstat(2), so a UnixFileInfo created
on a symlink will give information about the target, not the link. Lots
of documentation added

JScript

Cesar implemented access to local variables in nested functions in
JScript.

Bug fixes, scalability

There are plenty of bug fixes, performance and scalability improvements
that are too detailed to list on the release notes.

mono 1.1.7: The Mono core is pretty much complete for the 1.2 release,
at this point we are only waiting for Windows.Forms to be completed
before we can ship it. At this point we are scheduled to release Mono
1.2 in September.

In the meantime, Mono development has fallen into two categories:

New code: Windows.Forms, libraries from the 2.x profile (ASP.NET 2,
ADO.NET 2), new compilers (JScript, Basic, C# 2.0). ie, non-core
components. New VM features: cross-platform register allocator, new
string collation framework, precise garbage collector. These are being
developed on either branches or on separate trees and do not affect
trunk. The above setup allows us to continue development without
interfering with the stability of Mono 1.1.x.

New I/O Layer

In Mono 1.1.7 we are including Dick Porter's new IO-Layer, which is
daemon-less. Before 1.1.7 Mono would always launch an auxiliary process
that would be used by multiple Mono programs to share information like:
global mutexes (named mutexes), file sharing status per-file, process
and thread status.

Mono no longer requires a separate shared process to provide the
previous features, this has significantly improved Mono's I/O
performance. Beagle is three times as fast indexing files and xsp
tripled its speed.

Http Client Interactions

In the past the HttpWebRequest could starve the ThreadPool and it would
lead to deadlocks as documented on our web site.

Gonzalo deployed a new implementation that does not have these problems
and can take advantage of Linux epoll or kqueue.

This code not only eliminated the potential deadlocks, but also improved
the client http throughput by avoiding unnecessary context switches.

Also ReadWriteTimeout is supported and Abort works properly now.

FreeBSD support

Thanks to Bill Middleton support for i386 FreeBSD (tested against 5.4
and 6.x-CURRENT) is now available.

Windows.Forms

Extensive progress on the Windows.Forms support code since the March
18th release. Jackson wrote a new double-buffering framework to bring
our implementation in line with the expected behavior.

Databinding is now supported on this release (simple and complex data
binding), not all controls are ready though, controls that support it:
ListBox, CheckedListBox and ComboBox (Jackson and Jordi).

Alexander Olk implemented the file dialogs and did various touch-ups to
other dialogs and widgets.

Complete widgets: ImageListStreamer (Jackson),

Prototype widgets: DataGrid widget and data container widgets (Jordi)
and RichTextBox (Peter)

ASP.NET

New ASP.NET 2.0 controls completed: ButtonField, DetailsView, FormView,
GridView, CheckBoxField, HyperlinkField, ImageField, TemplateField by
Lluis.

Implemented support for two-way bindings in ASP.NET, ObjectDataSource
and various improvements to the Menu control.

Gonzalo added support for code render syntax inside non-server tags,
ie., <span <%= (firefox) ? class="cool" : "" %>>

C# Compiler

Hari and Marek continue the work on making the compiler comply more
strictly to the C# specification. In some areas the compiler is faster,
and consumes less memory, but it also provides better error messages and
includes many new warnings that before were ignored.

Martin synchronized the generics compiler codebase with our main
compiler codebase. Also all bug reported on the generics compiler
(except two parsing errors) have now been fixed and the generics class
libraries have been modified to match the Beta2 libraries.

Marek implemented C# 2.0 conditional attributes and DefaultCharSet
attribute.

SSL/TLS

Many important fixes from Sebastien:

Fixed asynchronous operations; Fixed support for client-side
certificates; Performance enhancements; Security

Continued work on the CAS from Sebastien (--security flag).

Exposed more of the Mono.Security libraries as the .NET 2.x framework
includes more features.

New Assemblies.

The following assemblies are now functional:

System.Configuration.Install Written by Muthu Kannan and Harinath Raja.

System.ServiceProcess: Joerg Rosenkranz Completed the support and
implemented the service host daemon.

JavaScript

Cesar's effort on JScript continue, not the compiler implements:

Strict-Equality operators Eval RegularExpressionLiteral For-in statement
Custom constructors Increment/Decrement operators First-class functions
Plus bug fixing.

The JScript's runtime support now supports:

ArrayConstructor's CreateInstance function ArrayPrototype's join method
JSFieldInfo's GetValue and SetValue functions JScriptException's
constructor Initial implementation of LateBinding's CallValue and
SetIndexedPropertyValueStatic Basic Language

Manjula, Sudha and Ankit continued working on the Basic compiler and the
Basic runtime:

Implemented "End statement" Support "Exit Function" Support declaration
of decimal numbers. Support 'Or' argument of AttributeTargets in
AttributeUsage Conditional Constant Directives Support expressions for
directives Support Reference Parameter when parameters and arguments are
different The runtime now features late binding: it is 75% complete. It
works with sub, functions, properties and fields, arrays. Late binding
fit in well with simple expressions (like in conditional expressions and
arithmatic expressions).

Finally, there is support for default values using an attribute by
round-tripping and patching the runtime.

ADO.NET

SQLServer: Added support for Asynchronous command execution (Ankit and
Suresh).

Various disconnected mode improvements: loading datatables.

Mono.Posix assembly

There is a new UnixListener and UnixClient classes in the Mono.Unix
namespace.

Build System

Users will have to do make at least once in Mono before they can do make
in any directory.


To generate a diff of this commit:
cvs rdiff -r1.38 -r1.39 pkgsrc/lang/mono/Makefile
cvs rdiff -r1.16 -r1.17 pkgsrc/lang/mono/PLIST
cvs rdiff -r1.14 -r1.15 pkgsrc/lang/mono/buildlink3.mk
cvs rdiff -r1.22 -r1.23 pkgsrc/lang/mono/distinfo
cvs rdiff -r1.11 -r1.12 pkgsrc/lang/mono/patches/patch-aa \
    pkgsrc/lang/mono/patches/patch-ac pkgsrc/lang/mono/patches/patch-ad
cvs rdiff -r1.10 -r1.11 pkgsrc/lang/mono/patches/patch-ab
cvs rdiff -r1.6 -r1.7 pkgsrc/lang/mono/patches/patch-ae \
    pkgsrc/lang/mono/patches/patch-af
cvs rdiff -r0 -r1.5 pkgsrc/lang/mono/patches/patch-ag \
    pkgsrc/lang/mono/patches/patch-ai
cvs rdiff -r0 -r1.6 pkgsrc/lang/mono/patches/patch-ah \
    pkgsrc/lang/mono/patches/patch-ak
cvs rdiff -r0 -r1.4 pkgsrc/lang/mono/patches/patch-aj
cvs rdiff -r0 -r1.1 pkgsrc/lang/mono/patches/patch-al \
    pkgsrc/lang/mono/patches/patch-am pkgsrc/lang/mono/patches/patch-an
cvs rdiff -r1.4 -r1.5 pkgsrc/lang/mono/patches/patch-ba \
    pkgsrc/lang/mono/patches/patch-bc

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.