Version bump. In this release the cairo use flag was added back. The new alsa and...
authorPetteri Räty <betelgeuse@gentoo.org>
Fri, 11 Nov 2005 19:20:31 +0000 (19:20 +0000)
committerPetteri Räty <betelgeuse@gentoo.org>
Fri, 11 Nov 2005 19:20:31 +0000 (19:20 +0000)
Package-Manager: portage-2.0.53_rc7

dev-java/gnu-classpath/ChangeLog
dev-java/gnu-classpath/Manifest
dev-java/gnu-classpath/files/0.19-dssi.patch [new file with mode: 0644]
dev-java/gnu-classpath/files/0.19-dssi_data.h [new file with mode: 0644]
dev-java/gnu-classpath/files/digest-gnu-classpath-0.19 [new file with mode: 0644]
dev-java/gnu-classpath/gnu-classpath-0.19.ebuild [new file with mode: 0644]

index bd3eefb4f3c24a7195780123fd121b9932e6a71f..f3d4bd3f0c78b1cd96dacfb5c311189cabd410cf 100644 (file)
@@ -1,6 +1,15 @@
 # ChangeLog for dev-java/gnu-classpath
 # Copyright 2000-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-java/gnu-classpath/ChangeLog,v 1.42 2005/10/29 11:26:54 betelgeuse Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-java/gnu-classpath/ChangeLog,v 1.43 2005/11/11 19:20:31 betelgeuse Exp $
+
+*gnu-classpath-0.19 (11 Nov 2005)
+
+  11 Nov 2005; Petteri Räty <betelgeuse@gentoo.org> +files/0.19-dssi.patch,
+  +files/0.19-dssi_data.h, +gnu-classpath-0.19.ebuild:
+  Version bump. In this release the cairo use flag was added back. The new
+  alsa and dssi use flags are for different MIDI providers. Also added a debug
+  use flag. The ebuild now installs files like README and NEWS. The keywords
+  for sparc, ppc and ppc64 were dropped until they can test media-libs/dssi.
 
   28 Oct 2005; Thomas Matthijs <axxo@gentoo.org> +files/gtk28.patch,
   gnu-classpath-0.18.ebuild:
index 815ddce15d898ca58857c8ae30da58969616cc66..31815222ab09500768aaa284834c1bc8d081bdf8 100644 (file)
@@ -1,19 +1,23 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
-MD5 f57df651208bdc72fca64738d1ca373a ChangeLog 5863
+MD5 80ef117f9c6dd551f8c084dfd7fd04e7 ChangeLog 6339
+MD5 50601eed7ae1e20d101af4a58b903946 files/0.19-dssi.patch 1443
+MD5 7e2cbdd8bd825a0e9b8fff8312f08c23 files/0.19-dssi_data.h 4174
 MD5 9b2c43cfbb9e8d325407a9ddd2068a5d files/digest-gnu-classpath-0.14 67
 MD5 2690159fdd3e679de05cd6daed73f4da files/digest-gnu-classpath-0.15-r1 67
 MD5 e8174eff88cbeae8528507c699821eea files/digest-gnu-classpath-0.18 67
+MD5 2fa214c9b3ef402739df2a954d83c46e files/digest-gnu-classpath-0.19 67
 MD5 887f044e4350323f1324cc1368943c1a files/gtk28.patch 1522
 MD5 f076bc9c2bfe9d094c6255f2beec9abc gnu-classpath-0.14.ebuild 1195
 MD5 d04460407e0f569ab509eaf458ae97f3 gnu-classpath-0.15-r1.ebuild 1638
 MD5 b906f7e1050511b7a12b99e9b79d5d3b gnu-classpath-0.18.ebuild 1927
+MD5 8ce23286ffee0730491b25cde92ccf5e gnu-classpath-0.19.ebuild 2307
 MD5 a6ec7d7724fbd068ffb39b5be56134ed metadata.xml 157
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.2 (GNU/Linux)
 
-iD8DBQFDY1y9QiJ/wx066S4RAgkHAJ49PiI2OyBTkx+xLeNI3/WmyUakAACffT/w
-FyJlz5ePi+DCeJUQnY+i658=
-=jCH7
+iD8DBQFDdO8NQiJ/wx066S4RAqy6AJ4pkRQhI93OS7e3Rdw6BHXCecij+QCdFl8z
+qhJQrg78+pEZoQ+nhyODIUY=
+=z/FW
 -----END PGP SIGNATURE-----
diff --git a/dev-java/gnu-classpath/files/0.19-dssi.patch b/dev-java/gnu-classpath/files/0.19-dssi.patch
new file mode 100644 (file)
index 0000000..be7eaf0
--- /dev/null
@@ -0,0 +1,33 @@
+Index: configure.ac\r
+===================================================================\r
+RCS file: /cvsroot/classpath/classpath/configure.ac,v\r
+retrieving revision 1.118\r
+diff -u -r1.118 configure.ac\r
+--- configure.ac       7 Nov 2005 14:25:54 -0000       1.118\r
++++ configure.ac       10 Nov 2005 10:50:23 -0000\r
+@@ -118,7 +118,7 @@\r
+ dnl -----------------------------------------------------------\r
+ dnl DSSI code (enabled by default)\r
+ dnl -----------------------------------------------------------\r
+-AC_ARG_ENABLE([alsa],\r
++AC_ARG_ENABLE([dssi],\r
+               [AS_HELP_STRING(--disable-dssi,compile DSSI providers (enable by --enable-dssi) [default=yes])],\r
+               [case "${enableval}" in\r
+                 yes) COMPILE_DSSI=yes ;;\r
+Index: native/jni/midi-dssi/Makefile.am\r
+===================================================================\r
+RCS file: /cvsroot/classpath/classpath/native/jni/midi-dssi/Makefile.am,v\r
+retrieving revision 1.2\r
+diff -u -r1.2 Makefile.am\r
+--- native/jni/midi-dssi/Makefile.am   23 Oct 2005 16:59:09 -0000      1.2\r
++++ native/jni/midi-dssi/Makefile.am   10 Nov 2005 10:50:23 -0000\r
+@@ -1,7 +1,8 @@\r
+ nativelib_LTLIBRARIES = libgjsmdssi.la \r
+ \r
+ libgjsmdssi_la_SOURCES = gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider.c \\r
+-gnu_javax_sound_midi_dssi_DSSISynthesizer.c\r
++                       gnu_javax_sound_midi_dssi_DSSISynthesizer.c \\r
++                       dssi_data.h\r
+ \r
+ libgjsmdssi_la_LIBADD = $(top_builddir)/native/jni/classpath/jcl.lo -ljack\r
+ \r
diff --git a/dev-java/gnu-classpath/files/0.19-dssi_data.h b/dev-java/gnu-classpath/files/0.19-dssi_data.h
new file mode 100644 (file)
index 0000000..8278f7b
--- /dev/null
@@ -0,0 +1,121 @@
+/* dssi_data.h - DSSI data
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+ 
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+#include <stdlib.h>
+#include <dlfcn.h>
+#include <sys/time.h>
+#include <jni.h>
+#include <dssi.h>
+#include <jack/jack.h>
+#include <alsa/asoundlib.h>
+#include <alsa/seq.h>
+
+#include <stdio.h>
+
+#include "target_native.h"
+#include "target_native_misc.h"
+#include "../classpath/jcl.h"
+
+/* Specify the size of the circular buffer.  It only needs to be big
+   enough to hold the events that happen between jack callbacks (~
+   1/40th of a second).  */
+#define EVENT_BUFFER_SIZE 1024
+
+/* Helper macros for going between pointers and jlongs.  */
+#define JLONG_TO_PTR(T,P) ((T *)(long)P)
+#define PTR_TO_JLONG(P) ((jlong)(long)P)
+
+
+/* Every DSSI Synthesizer has one of these associated with it.  The
+   Java class sees it as a "long" handle.  */
+
+typedef struct
+{
+  /* This is a handle to the dlopen'ed .so file containing the DSSI
+     synthesizer.  */
+  void *dlhandle;
+
+  /* The function to call to get the DSS_Descriptor.  */
+  DSSI_Descriptor_Function fn;
+
+  /* The descriptor for this synthesizer.  See the dssi.h system
+     header.  */
+  const DSSI_Descriptor *desc;
+
+  /* We currently open a jack client connection for every
+     synthesizer.  */
+  jack_client_t *jack_client;
+
+  /* We currently only handle stereo jack connections.  Output from
+     mono synthesizers is sent to both left and right ports.  */
+  jack_port_t *jack_left_output_port;
+  jack_port_t *jack_right_output_port;
+
+  /* We use a circular buffer to hold MIDI events before processing
+     them in the jack audio processing callback function.  */
+  snd_seq_event_t midiEventBuffer[EVENT_BUFFER_SIZE];
+  int midiEventReadIndex; 
+  int midiEventWriteIndex;
+
+  /* This is a handle the synthesizers underlying LADSPA structure.
+     See the ladspa.h system header for details.  */
+  LADSPA_Handle plugin_handle;
+
+  /* These are buffers we pass to the DSSI Synthesizer for
+     filling.  */
+  float *left_buffer;
+  float *right_buffer;
+
+  /* The number of input controls for this synth.  */
+  unsigned control_count;
+  
+  /* An array of control values, control_count in length.  */
+  LADSPA_Data *control_values;
+
+  /* A mapping of MIDI controllers to control values.  There are a
+     maximum of 128 MIDI controllers.  */
+  unsigned control_value_map[128];
+
+  /* A mapping of MIDI controllers to LADSPA ports.  There are a
+     maximum of 128 MIDI controllers.  */
+  unsigned control_port_map[128];
+
+  /* The sample rate.  */
+  jack_nframes_t sample_rate;
+
+} dssi_data;
+
diff --git a/dev-java/gnu-classpath/files/digest-gnu-classpath-0.19 b/dev-java/gnu-classpath/files/digest-gnu-classpath-0.19
new file mode 100644 (file)
index 0000000..91be78a
--- /dev/null
@@ -0,0 +1 @@
+MD5 0b93b1c1dd3d33ef7fb6a47dbb29e41d classpath-0.19.tar.gz 6765716
diff --git a/dev-java/gnu-classpath/gnu-classpath-0.19.ebuild b/dev-java/gnu-classpath/gnu-classpath-0.19.ebuild
new file mode 100644 (file)
index 0000000..2694286
--- /dev/null
@@ -0,0 +1,82 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-java/gnu-classpath/gnu-classpath-0.19.ebuild,v 1.1 2005/11/11 19:20:31 betelgeuse Exp $
+
+inherit eutils autotools
+
+MY_P=${P/gnu-/}
+DESCRIPTION="Free core class libraries for use with virtual machines and compilers for the Java programming language"
+SRC_URI="ftp://ftp.gnu.org/gnu/classpath/${MY_P}.tar.gz"
+HOMEPAGE="http://www.gnu.org/software/classpath"
+
+LICENSE="GPL-2-with-linking-exception"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+
+# Add the doc use flag after the upstream build system is improved
+# See their bug 24025
+
+IUSE="alsa cairo debug dssi examples gtk xml2"
+
+RDEPEND="alsa? ( media-libs/alsa-lib )
+               dssi? ( >=media-libs/dssi-0.9 )
+               gtk? ( >=x11-libs/gtk+-2.4
+                               >=dev-libs/glib-2.0
+                               virtual/x11
+                               cairo? ( >=x11-libs/cairo-0.5.0 )
+                    )
+               xml2? ( >=dev-libs/libxml2-2.6.8 >=dev-libs/libxslt-1.1.11 )"
+
+DEPEND="app-arch/zip
+               dev-java/jikes
+               ${REPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+src_unpack() {
+       unpack ${A}
+       cd ${S}
+
+       cp ${FILESDIR}/${PV}-dssi_data.h native/jni/midi-dssi/dssi_data.h \
+               || die "Copying dssi_data.h failed."
+
+       epatch ${FILESDIR}/${PV}-dssi.patch
+       eautoconf
+}
+
+src_compile() {
+       # Note: This is written in a way to easily support GCJ and other compilers
+       # at a later point. Currently Gentoo uses mainly GCJ 3.3 (from the
+       # corresponding GCC) which cannot compile GNU Classpath correctly.
+       # Another possibility would be ECJ (from Eclipse).
+       local compiler="--with-jikes"
+
+       econf ${compiler} \
+               $(use_enable alsa) \
+               $(use_enable cairo gtk-cairo) \
+               $(use_enable debug ) \
+               $(use_enable examples) \
+               $(use_enable gtk gtk-peer) \
+               $(use_enable xml2 xmlj) \
+               $(use_enable dssi ) \
+               --enable-jni \
+               --disable-dependency-tracking \
+               || die "configure failed"
+# disabled for now... see above.
+#              $(use_with   doc   gjdoc) \
+
+       emake || die "make failed"
+}
+
+src_install() {
+       einstall || die "einstall failed"
+       dodoc AUTHORS BUGS ChangeLog* HACKING NEWS README THANKYOU TODO
+}
+
+pkg_postinst() {
+       if use gtk && use cairo; then
+               einfo "GNU Classpath was compiled with preliminary cairo support."
+               einfo "To use that functionality set the system property"
+               einfo "gnu.java.awt.peer.gtk.Graphics to Graphics2D at runtime."
+       fi
+}