Subject: CVS commit: pkgsrc/lang
To: None <pkgsrc-changes@NetBSD.org>
From: Thomas Klausner <wiz@netbsd.org>
List: pkgsrc-changes
Date: 11/27/2004 18:17:22
Module Name:	pkgsrc
Committed By:	wiz
Date:		Sat Nov 27 18:17:22 UTC 2004

Modified Files:
	pkgsrc/lang/classpath: Makefile Makefile.common PLIST distinfo
	pkgsrc/lang/classpath-gui: Makefile

Log Message:
Update to 0.11, provided by pancake in PR 28431.
Changes:

New in release 0.11 (Sep 13, 2004)

* javax.swing.Spring and SpringLayout support.
* Added pluggable look and feel support for BasicTextFieldUI and
  BasicToolBarSeparatorUI.
* java.swing.text support for (Default and Layered) Highlighter, FieldView,
  PlainView, TabExpander and TabableView added.
* Start of JTable and JTree implementation.
* Internal Swing frames work.
* JMenu and JPopupMenu work.
* New gtk+ AWT FileDialog peer now based on gtk+2.4 or higher.
* java.awt.image LookupTables and kernel support.
* Improved java.awt.image.BufferedImage support.
* AWT 1.0 event model support.
* GNU Classpath now comes with some example programs (see examples/README).
* New javax.crypto, javax.crypto.interfaces, javax.crypto.spec, javax.net,
  javax.net.ssl, javax.security.auth, javax.security.auth.callback,
  javax.security.auth.login, javax.security.auth.x500, javax.security.sasl
  and org.ietf.jgss packages are now officially part of GNU Classpath.
  Extra crypto algorithms can be obtained from the GNU Crypto project,
  a full TLS implementation is provided by the Jessie project.
  http://www.gnu.org/software/gnu-crypto/
  http://www.nongnu.org/jessie/
* Frame.setIconImage() support.
* AWT GDKGraphics scaling.
* New configure flag --enable-gtk-cairo to build Graphics2D implementation
  build on cairo and pangoft2.  Enabled at runtime by defining the system
  property gnu.java.awt.peer.gtk.Graphics=Graphics2D.
* javax.swing.JSpinner implemented.
* Extensive documentation update for java.util collection classes.
* java.awt.geom completed. Area, Arc2D, Ellipse2D and Line2D implemented.
* GNU JAXP is no longer included with GNU Classpath. Runtime, compiler and
  tool integrators are encouraged to directly integrate GNU JAXP.
  This release has been tested against GNU JAXP 1.1.
  http://www.gnu.org/software/classpathx/jaxp/jaxp.html
* JColorChooser, JComboBox and JTextField implemented, including example
  uses in GNU Classpath Examples swing Demo.

Runtime interface Changes:

* java.lang.Compiler now uses the new java.lang.VMCompiler; there is
  a reference implementation that most VMs can use.
* java.lang.VMSystem has a new getenv(String) method and a reference C/JNI
  implementation that should work on most Posix like systems.
* java.util.TimeZone has been split into a platform independent class and
  a platform dependent class VMTimeZone.  GNU Classpath comes with a generic
  way to get at the default time zone for Posix/GNU-like platforms.
* [VM]AccessController improvements.  In particular it handles
  `doPrivileged' calls better, and allows for recursive `doPrivileged'
  calls in the same Thread. (see vm/reference/java/security/)

New in release 0.10 (Jul 9, 2004)

* java.net.URL now uses application classloader to load URLStreamHandlers
  and reuses URLStreamHandlers when URL is reset (but protocol isn't changed).
* java.io.File.deleteOnExit() implementation.
* java.text multiple new features and bug fixes
  (only 2 out of the 1000+ java.text Mauve tests now fail).
* Better (non-black) default AWT System colors.
* AWT lists use GTK treeviews.
* Proper AWT focus management has been implemented.
* Swing menus and scrollpanes are beginning to work.
* Swing splitpanes, dialogs and internal frames were added.
* Swing repainting / double buffering was redone.
* Font management and Pango DPI conversion fixes.
* A lot of AWT imaging and event bugs have been picked out.
* More of javax.swing.text has been implemented.
* javax.swing.Timer has been reimplemented.
* java.security.AccessController has been implemented
  (see runtime section).
* The default java.lang.SecurityManager now uses AccessController.
* New java.beans.Statement and Expression implementations.
* Small FileChannel implementation speed improvement for traditional
  JNI based systems.
* Regenerated all included JNI header files with gcjh (3.5 CVS),
  removes extra extern modifier and allows stricter compiler warning.
* More C code cleanups (-Wmissing-declarations, -Wmissing-prototypes and
  -Wstring-prototypes) and jni.h fixes (a few funtion prototype fixes,
  made it compilable with C++ compilers and jni.h got renamed from jni.h.in).
* Double.toString() and Float.toString() now work properly on 64-bit
  PowerPC systems.
* PPC Darwin, arm, x86-64 and s/390 JNI C code compilation fixes.
* Build system refactored and removed old Japhar specific support.
* The gnu.java.awt.EmbeddedWindow class has been improved, and now
  supports embedding AWT windows in other top-level X windows.
  This functionality is required by gcjwebplugin.
* gcjwebplugin, an applet viewer that can be embedded into several web
  browsers, has been extensively tested with this release of classpath.
  (See http://www.nongnu.org/gcjwebplugin/)
* Runtime environments based on GNU Classpath 0.10 should be able to
  start up Eclipse 3.0 out of the box now.

Runtime interface Changes:

* VMProcess.destroy() default implementation fixes.
* Fixed the "portable native sync" code; it had been broken since
  Classpath release 0.06, when we upgraded to GTK+2.
  Classpath's AWT peers use GTK+.  GTK+ uses GLIB.  GLIB by default uses
  the platform's native threading model -- pthreads in most cases.
  If the Java runtime doesn't use the native threading model, then you should
  specify --portable-native-sync when configuring Classpath, so that GLIB will
  use the Java threading primitives instead.  (For a superior alternative,
  see below.)
* The VM can set the system property
  gnu.classpath.awt.gtk.portable.native.sync instead of using the
  --portable-native-sync configure-type option.
  See doc/vmintegration.texinfo for details.
* We intend that the next release of GNU Classpath will require the VM
  to provide JNI 1.2.  Classpath currently uses only JNI 1.1, except for
  one JNI 1.2 function: GetEnv(), in the JNI Invocation API.
  If this poses problems, please raise them on the classpath mailing list.
* The reference implementation of VMThread.holdsLock(Object) now has
  a default implementation written in java. For efficiency and to
  prevent spurious wakeups a real 'native' runtime version can be supplied.
* There is a new java.security.VMAccessController class that runtimes need
  to implement to properly support SecurityManagers. The default
  implementation that comes with GNU Classpath makes sure that ANY attempt
  to access a protected resource is denied when a SecurityManager is
  installed. Which is pretty secure, but also no very useful.
  Please see the documentation in
  vm/reference/java/security/VMAccessController.java,
  and please give feedback on the GNU Classpath mailinglist whether or not
  the current AccessController framework is flexible enough.

New in release 0.09 (May 2, 2004)

* Includes updated GNU JAXP version from 2004-02-01.
* Native C code is now -ansi -pedantic (C89) clean and (almost) -Wall clean.
* java.io is now implemented by delegating most tasks directly to java.nio.
* Reworked/Optimized implementations of java.nio.Buffer and subclasses.
* New javax.print, javax.print.attribute[.standard] and javax.print.event
  packages and classes.
* java.text attributed iterators support.
* New javax.imageio, javax.imageio.event and javax.imageio.spi packages and
  classes.
* GNU Classpath can now load service providers that are described via
  META-INF/services/* resources in extension JARs. This is useful for
  implementing the various APIs that are supposed to be extensible via
  custom plugins. For details, please see the documentation of
  gnu.classpath.ServiceFactory.
  Application developers are strongly discouraged from calling glibj
  internal packages.  Instead, they might want invoke the newly implemented
  javax.imageio.spi.ServiceRegistry.lookupProviders, which is a standard
  method for loading plug-ins.
* New developers wanting to help the GNU Classpath project might want to
  review the greatly expanded Hacker Guide included in the doc directory
  or online at http://www.gnu.org/software/classpath/docs/hacking.html
  Also the FAQ has been expanded. And when working from CVS you can now use
  a simple autogen.sh script to get all autotools magic done automagically.
* New configure option --with-glibj which defines how to install the glibj
  class files as zip, as flat directory files or both (zip|flat|both)
  [default=zip].  When working with multiple runtimes some of which might
  not support bootstrap classes in zip files the --with-glibj=both option
  is recommended (this does take extra disc space).
* Two big code drops from the libgcj gui branch updating various java.awt
  and javax.swing classes.
* Multiple java.net.InetAdress fixes and java.rmi fixes.
* ServerSocket.accept() now restarts listening when system call interrupted.
* Much cleanups to make standard API doc valid XHTML (not completed yet).
* A scan for unused variables and non-static invocation of static methods
  turned up a couple of subtle bugs which have now all been fixed.
* The Mauve testsuite has been cleaned up considerable and lots of issues
  in the GNU Classpath core class implementation have been fixed.

VM Interface changes:

* java.lang.Class/VMClass interface was changed. The interface now no
  longer requires an instance of VMClass for each Class instance. Instead
  the field vmdata in Class is now of type Object.
* GNU Classpath now assumes that JNI calls SetXField can modify final
  fields. This was previously used silently for System.in/out/err and should
  be considered as a feature now.
* A new VMProcess and a sample JNI C implementation are now provided to
  make Runtime.exec() work out of the box on some systems.  This requires
  a small change to VMRuntime.exec() when a runtime wants to use it as the
  default java.lang.Process implementation.
* The implementation of most of java.io through java.nio moved serveral
  runtime specific I/O methods. Most methods do have a generic default native
  C JNI implementation in native/jni/java-nio.
* Runtime support methods for java.io.File have been moved to VMFile which
  also comes with a default JNI C implementation.
* To support the new service provider mechanism runtimes must make sure that
  extension JARs are made accessible via the default context class loader.

New in release 0.08 (2004/12/03)

* java.util.regexp implementation through gnu.regexp wrappers.
* java.net.URI implementation.
* Working implementation of javax.swing.undo.
* java.awt.geom.CubicCurve2D/QuadCurve2D: Can now solve cubic and quadratic
  equations; implementation adapted from the GNU Scientific Library.
* Lots of java.awt and gtk+ peer improvements. Also more Swing work. Start
  of EmbeddedWindow support.
* BufferedReader speed improvements.
* Improved useabilty of java.text implementation for several applications.
* ObjectInputStream is much faster and more compatible with other
  implementations.
* Fix handling of alias methods, where a method has been deprecated in
  favour of a new one with the same funtion but a different name.
  (See Deprecated Methods section in the GNU Classpath Hacking Guide.)
* javax.print.attribute.standard added.
* Lots of java.nio, java.net, java.io
* Depend on autoconf 2.59+ and automake 1.7+, GCJ 3.3+, jikes 1.18+.

VM Interface changes:
* Split native methods in java.lang.Runtime into java.lang.VMRuntime.
* Resources are now also loaded/needed through the bootstrap classloader
  (gnu.regexp needs MessageBundle included in glibj.zip

Fixed Classpath bugs:
  #6095 java.awt.geom.QuadCurve2D.solveQuadratic sometimes gives
        wrong results
  #7099 EventListenerList.getListenerCount should accept null argument
  #7104 EventListenerList.add does not work
  #7105 EventListenerList.remove does not work
  #7107 DefaultBoundedRangeModel.setValue and friends should not throw
  And lots more.


To generate a diff of this commit:
cvs rdiff -r1.7 -r1.8 pkgsrc/lang/classpath/Makefile
cvs rdiff -r1.1 -r1.2 pkgsrc/lang/classpath/Makefile.common
cvs rdiff -r1.5 -r1.6 pkgsrc/lang/classpath/PLIST
cvs rdiff -r1.3 -r1.4 pkgsrc/lang/classpath/distinfo
cvs rdiff -r1.2 -r1.3 pkgsrc/lang/classpath-gui/Makefile

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