pkg://kaffe-1.1.4-3mdk.src.rpm:7835330/kaffe.spec
info downloads
%define name kaffe
%define version 1.1.4
%define release 3mdk
# Define target architecture we are building for
%define target_cpu %{_target_cpu}
%ifarch %{ix86}
%define target_cpu i386
%endif
%ifarch amd64
%define target_cpu x86_64
%endif
%ifarch ppc
%define target_cpu powerpc
%endif
# Define Mandrake Linux version we are building for
%define mdkversion %(perl -pe '/(\\d+)\\.(\\d)\\.?(\\d)?/; $_="$1$2".($3||0)' /etc/mandrake-release)
#-- Define kaffe libdir, fully versioned so */lib
%define _libdir %{_prefix}/lib
%define kaffedir %{_libdir}/kaffe
#-- JDK version
%define JDK_VERSION 1.1.2
# Note however that Kaffe has JDK 1.1 and JDK 1.2 compatible RMI, JDK
# 1.2 style class loading, JDK 1.2 java.util Collections classes, JDK
# 1.2 java.security classes
#-- Alternatives for Java tools
# Sun JDK 40
# Kaffe 30
# Gcj 3.1 20
%define alternatives_priority 30
%define alternatives_programs appletviewer jar java javac javah javadoc javakey javap jdb native2ascii rmic rmiregistry serialver
# Enable checking by default
%define build_check 1
%{expand: %{?_without_CHECK: %%define build_check 0}}
%{expand: %{?_with_CHECK: %%define build_check 1}}
Summary: A free virtual machine for running Java(TM) code
Name: %{name}
Version: %{version}
Release: %{release}
Epoch: 2
License: GPL
Url: http://www.kaffe.org/
Group: Development/Java
Source0: ftp://ftp.transvirtual.com/pub/kaffe/kaffe-%{version}.tar.bz2
Source1: kaffe-jdk-config.bz2
Patch0: kaffe-1.1.4-mdkpaths.patch.bz2
Patch1: kaffe-1.1.4-serialization.patch.bz2
PreReq: /usr/sbin/update-alternatives
Provides: jdk = %{JDK_VERSION}
Provides: jre = %{JDK_VERSION}
Obsoletes: kaffe-bissawt
BuildRequires: gmp-devel libjpeg-devel libpng-devel XFree86-devel
BuildRequires: zip zlib-devel
BuildRequires: libalsa-devel libesound-devel
BuildRequires: autoconf2.5 >= 2.54
ExclusiveArch: %{ix86} ppc x86_64 amd64 ia64
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
BuildConflicts: jikes
%description
Kaffe is a free virtual machine designed to execute Java(TM) bytecode.
Kaffe can be configured in two modes. In the first mode, it operates
as a pure bytecode interpreter (not unlike Javasoft's machine). In
the second mode, it performs "Just-In-Time" code conversion from the
abstract code to the host machine's native code. The second mode will
ultimately allow execution of Java code at the same speed as standard
compiled code, while also maintaining the advantages and flexibility
of code independence.
Note that Sun's Swing 1.1.1 implementation also works with Kaffe.
Install the kaffe package if you need a Java virtual machine.
%package devel
Summary: Development package with static libs and headers for kaffe
Group: Development/C
Requires: %{name} = %{epoch}:%{version}
%description devel
This package contains the static libraries, header files and documentation
necessary for development of programs that will use kaffe.
You should install this package if you need to develop programs which
will use kaffe functions.
You'll also need to install kaffe package.
%ifarch %{ix86}
%package -n x86-kaffe
Summary: Kaffe JVM binaries and libraries only
Group: Development/Java
%description -n x86-kaffe
This package contains only the Kaffe binaries and libraries built on
ia32 but intended to run on ia64. The ia32 version of Kaffe can be
invoked but adding "-ia32" to the relevant Kaffe command line tools
(java, javac, ...)
%endif
%prep
%setup0 -q
%patch0 -p1 -b .mdkpaths
%patch1 -p1 -b .serialization
autoconf
# make sure to rebuild classes, with fixes
rm -f ./libraries/javalib/rt-precompiled.jar
%build
%ifarch %{ix86}
export CFLAGS="$RPM_OPT_FLAGS -fno-omit-frame-pointer"
%endif
%{?__cputoolize: %{__cputoolize} -c libltdl}
%define __libtoolize :
%configure2_5x --disable-gcj
%make
%if %{build_check}
BUILD_CHECK=yes
%endif
[[ -n "$BUILD_CHECK" ]] && {
echo ====================TESTING=========================
# All tests must pass on x86 and x86-64
%ifarch %{ix86} x86_64
%make check
%else
%make -k check || echo "make check failed"
%endif
echo ====================TESTING END=====================
}
%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT
# Move altnerativeszificated programs to kaffe-specific dir
# Also create fake alternatives in the original dir
(cd $RPM_BUILD_ROOT%{_bindir};
for file in %{alternatives_programs}; do
mv $file $RPM_BUILD_ROOT%{kaffedir}/bin/$file
touch $file
chmod 0755 $file
done
)
# Add jdk-config scriptlet
(cd $RPM_BUILD_ROOT%{_bindir}/;
SED_PATTERN="s|@JDK_VERSION@|%{JDK_VERSION}|;s|@JDK_INCLUDES@|-I%{_includedir}/kaffe|;"
bzcat %{SOURCE1} | sed -e "$SED_PATTERN" > kaffe-jdk-config-%{version}
chmod 0755 kaffe-jdk-config-%{version}
)
# Alternatives provide jdk-config script
(cd $RPM_BUILD_ROOT%{_bindir};
touch jdk-config
chmod 0755 jdk-config
)
# Remove unpackaged files
rm -f $RPM_BUILD_ROOT%{kaffedir}/bin/kaffe
#multiarch
%multiarch_includes $RPM_BUILD_ROOT%{_includedir}/kaffe/jtypes.h
%clean
rm -rf $RPM_BUILD_ROOT
%post
for app in %{alternatives_programs}; do
# Remove binaries if not alternativeszificated yet
[ ! -L %{_bindir}/$app ] && /bin/rm -f %{_bindir}/$app
%if %{mdkversion} >= 920
# Build slaves list
[[ "$app" != java ]] && [[ "$app" != "javac" ]] && \
slaves="$slaves --slave %{_bindir}/$app $app %{kaffedir}/bin/$app"
%else
update-alternatives --install %{_bindir}/$app $app %{kaffedir}/bin/$app %{alternatives_priority}
%endif
done
%if %{mdkversion} >= 920
update-alternatives --install %{_bindir}/javac javac %{kaffedir}/bin/javac %{alternatives_priority}
update-alternatives --install %{_bindir}/java java %{kaffedir}/bin/java %{alternatives_priority} $slaves
%endif
%postun
for app in %{alternatives_programs}; do
case $app in
%if %{mdkversion} >= 920
java | javac )
%else
* )
%endif
if [ ! -f "%{kaffedir}/bin/$app" ]; then
update-alternatives --remove $app %{kaffedir}/bin/$app
fi
;;
esac
done
%post devel
update-alternatives --install %{_bindir}/jdk-config jdk-config %{_bindir}/kaffe-jdk-config-%{version} %{alternatives_priority}
%postun devel
if [ ! -f %{_bindir}/kaffe-jdk-config-%{version} ]; then
update-alternatives --remove jdk-config %{_bindir}/kaffe-jdk-config-%{version}
fi
%files
%defattr(-,root,root)
%doc README WHATSNEW FAQ
%doc license.terms
%{_mandir}/man1/kaffe.1*
%{_bindir}/kaffe
%{_bindir}/kaffeh
%{_bindir}/kjc
%{_bindir}/kopi
%{_bindir}/install-jar
%ghost %{_bindir}/appletviewer
%ghost %{_bindir}/jar
%ghost %{_bindir}/java
%ghost %{_bindir}/javac
%ghost %{_bindir}/javah
%ghost %{_bindir}/javadoc
%ghost %{_bindir}/javakey
%ghost %{_bindir}/javap
%ghost %{_bindir}/jdb
%ghost %{_bindir}/native2ascii
%ghost %{_bindir}/rmic
%ghost %{_bindir}/rmiregistry
%ghost %{_bindir}/serialver
%dir %{kaffedir}
%dir %{kaffedir}/bin
%{kaffedir}/bin/appletviewer
%{kaffedir}/bin/jar
%{kaffedir}/bin/java
%{kaffedir}/bin/javac
%{kaffedir}/bin/javah
%{kaffedir}/bin/javadoc
%{kaffedir}/bin/javakey
%{kaffedir}/bin/javap
%{kaffedir}/bin/jdb
%{kaffedir}/bin/native2ascii
%{kaffedir}/bin/rmic
%{kaffedir}/bin/rmiregistry
%{kaffedir}/bin/serialver
%{kaffedir}/bin/kaffe-bin
%dir %{kaffedir}/bin/%{target_cpu}
%{kaffedir}/bin/%{target_cpu}/kaffe-bin
%dir %{kaffedir}/lib
%{kaffedir}/lib/*.jar
%dir %{kaffedir}/lib/%{target_cpu}
%{kaffedir}/lib/%{target_cpu}/*.so
%{kaffedir}/lib/%{target_cpu}/*.la
%dir %{kaffedir}/lib/security
%{kaffedir}/lib/security/*
%files devel
%defattr(-,root,root)
%doc README developers
%{_bindir}/kaffe-jdk-config-%{version}
%ghost %{_bindir}/jdk-config
%dir %{_includedir}/kaffe
%{_includedir}/kaffe/*.h
%multiarch %{multiarch_includedir}/kaffe
%ifarch %{ix86}
%files -n x86-kaffe
%defattr(-,root,root)
%{kaffedir}/bin/%{target_cpu}/kaffe-bin
%{kaffedir}/lib/%{target_cpu}/*.so
%{kaffedir}/lib/%{target_cpu}/*.la
%endif
%changelog
* Wed Mar 23 2005 Per Øyvind Karlsen <peroyvind@linux-mandrake.com> 1.1.4-3mdk
- multiarch
- fix summary-ended-with-dot
* Fri May 7 2004 Stew Benedict <sbenedict@mandrakesoft.com> 1.1.4-2mdk
- ppc libs/bin now in "powerpc"
* Wed Feb 25 2004 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 1.1.4-1mdk
- 1.1.4
* Thu Nov 6 2003 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 1.1.2-1mdk
- 1.1.2
* Wed Sep 10 2003 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 1.1.1-1mdk
- 1.1.1
* Fri May 16 2003 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 1.1-0.1mdk
- 1.1 CVS snapshot 2003/05/15
- Handle Java alternatives uniquely through java or javac masters
- Patch2: IA-64 fixes (sysdepCallMethod, jthread creation, intrinsics, etc.)
- Patch3: varargs workaround for AMD64
* Wed Jan 29 2003 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 1.0.7-2mdk
- Add x86-64 port, JIT to follow.
- Enable make check'ing by default, all tests must pass on x86 and x86-64.
* Fri Sep 6 2002 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 1.0.7-1mdk
- Update to final 1.0.7 release
- Patch1: Always add '.' to CLASSPATH when creating new BUILD_ENVIRONMENT
- Add jdk-config script to know where headers of current JDK are installed
* Thu Jun 20 2002 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 1.0.7-0.2mdk
- Remove empty directory in kaffe-devel
- Move <jni.h> to kaffe-specific headers directory. Aka. don't
conflict with libgcj headers
* Mon Jun 3 2002 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 1.0.7-0.1mdk
- Update to 1.0.7 CVS snapshot 2002/06/03 which obsoletes Patches 0, 2
up to 6, 11, 12, 15, 16 since merged upstream (thanks Dalibor)
- Patch0: Fix location of kjc.jar and tools.jar. Move Kaffe binary to
arch-specific location
- Patch1: Don't add system dirs to include search path
- ExcludeArch: ia64 for now. Back to broken land :-(
- Provides: jre, jdk = %{JDK_VERSION} but Kaffe has JDK 1.1 and JDK
1.2 compatible RMI, JDK 1.2 style class loading, JDK 1.2 java.util
Collections classes, JDK 1.2 java.security classes
- Use alternatives for appletviewer, jar, java, javac, javadoc,
javakey, javap, jdb, native2ascii, rmic, rmiregistry, serialver
* Fri Dec 7 2001 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 1.0.6-11mdk
- Update to 2001/08/19 snapshot
- Use make DESTDIR=%%{buildroot} install
- Lower ia32 optimizations to -O2, gcc RTL inliner seems bogus with Kaffe
- Remove BuildRequires: libffi-devel for PPC since Kaffe now provides
sysdepCallMethod() for that architecture
- Remove obsolete Patch13 & Patch14
- Patch17: Add missing includes
- Patch16: Rewrite IA-64 additions (still needs gcc3). Old Kaffe
(ia32) can still be invoked by passing the "-ia32" command line
option to the respective tools (java, javac, ...)
* Wed Dec 5 2001 Stew Benedict <sbenedict@mandrakesoft.com> 1.0.6-10mdk
- change requires for PPC from libffi to libffi-devel
* Wed Oct 10 2001 Stefan van der Eijk <stefan@eijk.nu> 1.0.6-9mdk
- add BuildRequires
* Tue Jul 17 2001 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 1.0.6-8mdk
- spec file sanitizification (s/Serial/Epoch, s/Copyright/License)
- split %%make all Klasses
* Tue Feb 27 2001 Jeff Garzik <jgarzik@mandrakesoft.com> 1.0.6-7mdk
- Fix build with new glibc (more strict headers)
* Thu Jan 4 2001 Yves Duret <yduret@mandrakesoft.com> 1.0.6-6mdk
- put back some lib in main package
* Wed Jan 3 2001 Yves Duret <yduret@mandrakesoft.com> 1.0.6-5mdk
- disable gcj support, since it breaks with gcc 2.96
- devel related stuff moved to -devel package
- clean up the spec file
* Fri Oct 27 2000 David BAUDENS <baudens@mandrakesoft.com> 1.0.6-4mdk
- Fix build on PPC
* Fri Oct 13 2000 Stefan van der Eijk <s.vandereijk@chello.nl> 1.0.6-3mdk
- made Buildroot standard
- remove configure.in in %%prep to make go with %%configure in pinstripe (RH)
- removed alpha patch (RH)
- added getBytes patch (RH)
- added sparc patch (RH)
- added jlong patch (otherwise won't compile on alpha) (RH)
- added gc-incremental patch (Kaffe ML)
- removed old commented stuff
- macro's (configure, make, makeinstall)
- let spec helper do it's job (compressing & stripping)
* Mon Sep 25 2000 Maurizio De Cecco <maurizio@mandrakesoft.com> 1.0.6-2mdk
- removed CVS junk
* Mon Aug 8 2000 Maurizio De Cecco <maurizio@mandrakesoft.com> 1.0.6-1mdk
- Moved to kaffe 1.0.6
- Remove those patches that have been incoporated with the official kaffe distribution
- fixed man/lib/bin path according to the FHS.
* Fri May 26 2000 David BAUDENS <baudens@mandrakesoft.com> 1.0.5-11mdk
- BuildConflicts: jikes
- Use %%{_tmppath} for BuildRoot
* Fri May 5 2000 Maurizio De Cecco <maurizio@mandrakesoft.com>
- 10mdk
- Removed jpeg patch added in 8mdk; the libjpeg/autoconf problem
has been fixed in libjeg-14mdk
* Wed Apr 26 2000 Maurizio De Cecco <maurizio@mandrakesoft.com>
- 9mdk
- Fixed bug in AWT focus handling.
* Mon Apr 20 2000 Maurizio De Cecco <maurizio@mandrakesoft.com>
- 8mdk
- Patched to force jpeg support inclusion, to cope with a bug/incompatibility
between libjpeg and autoconf.
* Mon Apr 17 2000 Maurizio De Cecco <maurizio@mandrakesoft.com>
- 7mdk
- Fixed memory corruption problem in FontMetrics/XFontStruct.
* Thu Apr 13 2000 Maurizio De Cecco <maurizio@mandrakesoft.com>
- Really Added patch to fix kaffe behavoiur with the Keypad.
* Wed Apr 12 2000 Maurizio De Cecco <maurizio@mandrakesoft.com>
- Added patch to fix kaffe behavoiur with the Keypad.
* Tue Apr 11 2000 Maurizio De Cecco <maurizio@mandrakesoft.com>
- Fixed Distribution name
* Tue Mar 28 2000 Maurizio De Cecco <maurizio@mandrakesoft.com>
- Fixed a bug in key event handling.
* Tue Mar 14 2000 Maurizio De Cecco <maurizio@mandrakesoft.com>
- Added Mandrake Patches for Process, TextField and TextComponent classes
- Upgraded the kjc compiler to version 1.4C.
- Modified build process to rebuild the patched class library
- Adapted to the new group structure
* Tue Oct 26 1999 Maurizio De Cecco <maurizio@mandrakesoft.com>
- Mandrake version for 1.05
* Mon Oct 18 1999 Bill Nottingham <notting@redhat.com>
- 1.0.5. Lets see what it does.
* Mon Apr 12 1999 Bill Nottingham <notting@redhat.com>
- build for alpha (it seems to work...)
- fix paths so it works
* Mon Apr 12 1999 Preston Brown <pbrown@redhat.com>
- according to the kaffe people, b4 is a "massive bugfix release"
* Sun Mar 21 1999 Cristian Gafton <gafton@redhat.com>
- auto rebuild in the new build environment (release 4)
* Thu Mar 18 1999 Bill Nottingham <notting@redhat.com>
- strip binaries
* Tue Dec 15 1998 Bill Nottingham <notting@redhat.com>
- add an Obsoletes: for kaffe-bissawt
* Wed Dec 9 1998 Bill Nottingham <notting@redhat.com>
- update to 1.0b3
- include alpha patch, but it's still broke
* Mon Oct 05 1998 Cristian Gafton <gafton@redhat.com>
- added sparc to the list of supported architectures
- update to 1.0b2
* Tue Sep 22 1998 Bill Nottingham <notting@redhat.com>
- don't rename libraries; install them in /usr/lib/kaffe
- remove sparc arch (doesn't work)
* Thu Jul 23 1998 Jeff Johnson <jbj@redhat.com>
- update to 1.0.b1.
- add sparc arch (alpha has problems kaffe/kaffeevm/support.c:{343,518}
* Fri May 08 1998 Prospector System <bugs@redhat.com>
- translations modified for de, fr, tr
* Mon May 04 1998 Cristian Gafton <gafton@redhat.com>
- finally their ftp site is up again: updated to 0.10.0
- too bad the Biss-AWT doesn't seem to be maintained anymore... Removed the
bissawt package
- unfortunately alpha and sparc assembler code that reference registers
like eax, ebx, etc. makes this package ExclusiveArch: i386
* Tue Dec 09 1997 Cristian Gafton <gafton@redhat.com>
- added kaffe to the file list
- added BuildRoot; cleaned the spec file
* Tue Nov 11 1997 Michael K. Johnson <johnsonm@redhat.com>
- removed pieces with incompatible licenses
* Tue Oct 21 1997 Erik Troan <ewt@redhat.com>
- updated to 0.9.2
* Mon Aug 25 1997 Erik Troan <ewt@redhat.com>
- built against glibc
* Thu Apr 24 1997 Erik Troan <ewt@redhat.com>
- added libkaffe_vm.so symlink.
* Tue Apr 22 1997 Erik Troan <ewt@redhat.com>
- added manual provide of libkaffe_vm.so (RPM seems a bit broken).