File ikvm.spec of Package ikvm

#
# spec file for package ikvm (Version 7.0)
#
# norootforbuild

Name:           ikvm
BuildRequires:  dos2unix mono-devel unzip
Version:        7.1.4532.2
Release:	0
License:        BSD 3-clause (or similar)
BuildArch:      noarch
Url:            http://www.ikvm.net
Source0:        ikvmbin-%{version}.zip
Summary:        A JVM Based on the Mono Runtime
Group:          Development/Tools/Other
Requires:       mono-ikvm
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
This package provides IKVM.NET, an open source Java compatibility layer
for Mono, which includes a Virtual Machine, a bytecode compiler, and
various class libraries for Java, as well as tools for Java and Mono
interoperability.

%prep
%setup -q -n ikvm-%{version}
# fix line endings for rpmlint
dos2unix LICENSE

%build
true

%install
# Create dirs
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_prefix}/lib/ikvm
mkdir -p %{buildroot}%{_prefix}/share/pkgconfig
# Don't install the PdbWriter
rm -f bin/*PdbWriter*
# Install binaries
#  (do iname for JVM.DLL)
find bin -iname "*\.dll" -exec cp {} %{buildroot}%{_prefix}/lib/ikvm  \;
find bin -name "*\.exe" -exec cp {} %{buildroot}%{_prefix}/lib/ikvm  \;
# Install some in gac (By request of Jeroen)
OPENJDK=$(find bin -iname "IKVM.OpenJDK.*.dll" -exec basename '{}' ';')

mkdir -p %{buildroot}%_prefix/lib/mono/gac
mkdir -p %{buildroot}%_prefix/lib/mono/ikvm
for i in IKVM.AWT.WinForms.dll $OPENJDK IKVM.Runtime.dll IKVM.Runtime.JNI.dll ; do
# only for release packages employing strong naming:
	gacutil -i %{buildroot}%{_prefix}/lib/ikvm/$i -package ikvm -root %{buildroot}%{_prefix}/lib
# instead for snapshot package:
#	mv %{buildroot}%{_prefix}/lib/ikvm/$i %{buildroot}%{_prefix}/lib/mono/ikvm
        ln -sf %{_prefix}/lib/mono/ikvm/$i %{buildroot}%{_prefix}/lib/ikvm/
done
#for i in IKVM.AWT.WinForms.dll $OPENJDK ; do
#	[ "$i" = "IKVM.OpenJDK.Core.dll" ] || rm -f %{buildroot}%{_prefix}/lib/ikvm/$i
#done
# Generate wrapper scripts
for f in `find bin . -name "*\.exe"` ; do
        script_name=%{buildroot}%{_bindir}/`basename $f .exe`
        cat <<EOF > $script_name
#!/bin/sh
exec mono %{_prefix}/lib/ikvm/`basename $f` "\$@"
EOF
        chmod 755 $script_name
done
# Generate .pc file
%define prot_name Name
%define prot_version Version
OPENJDK_LIBS=$(for classlib in $OPENJDK ; do echo -n " -r:\${libdir}/$classlib" ; done)
cat <<EOF > %{buildroot}%{_prefix}/share/pkgconfig/ikvm.pc
prefix=%{_prefix}
exec_prefix=\${prefix}
libdir=\${prefix}/lib/mono/ikvm
%prot_name: IKVM.NET
Description: An implementation of Java for Mono and the Microsoft .NET Framework.
%prot_version: %{version}
Libs: -r:\${libdir}/IKVM.Runtime.dll -r:\${libdir}/IKVM.Runtime.JNI.dll ${OPENJDK_LIBS}
EOF

%clean
rm -rf %{buildroot}

%files
%defattr(-, root, root)
%doc LICENSE
%_bindir/*
%_prefix/lib/ikvm
# only for release packages employing strong naming:
%_prefix/lib/mono/gac/IKVM*
%_prefix/lib/mono/ikvm
%_prefix/share/pkgconfig/ikvm.pc

%changelog
* Tue Jun 12 2012 dok@dok-net.net
- Update to 7.1 release candidate
* Tue May 29 2012 dok@dok-net.net
- Update to 7.1 development snapshot 4527
* Sat May 12 2012 dok@dok-net.net
- Update to 7.1 development snapshot
* Mon Dec  5 2011 dok@dok-net.net
- Update to 7.0 release
* Tue Nov 15 2011 dok@dok-net.net
- Update to 7.0.4335.0 development snapshot
* Mon Nov  7 2011 dok@dok-net.net
- Update to 7.0.4328 development snapshot
* Thu Nov  3 2011 dok@dok-net.net
- Update to 7.0.4321 development snapshot
* Thu Oct 20 2011 dok@dok-net.net
- Update to 7.0.4296 development snapshot
* Wed Aug 24 2011 dok@dok-net.net
- Update to 0.46.0.1
* Fri Jan  7 2011 ajorgensen@novell.com
- Update to 0.44.0.5
  * http://weblog.ikvm.net/PermaLink.aspx?guid=38a2599a-89ed-4ad1-ab51-74e75925d213
* Tue Aug 11 2009 ajorgensen@novell.com
- Update to 0.40.0.1
  * http://weblog.ikvm.net/PermaLink.aspx?guid=9aa75bec-7b19-47a0-abf2-a28756e5e080
* Tue Mar 31 2009 ajorgensen@novell.com
- Update to 0.38.0.4
* Tue Oct 14 2008 ajorgensen@novell.com
- Fixed .pc file Libs paths (bnc#435230)
* Tue Aug 12 2008 ajorgensen@novell.com
- Changed version to IKVM 0.36.0.11
- Fix for reflection bug on .NET generic nested types.
- Fix for bug #1865922.
- java.awt.image.Raster fix.
- Fix bug in DynamicMethod based serialization for fields typed as ghost interfaces.
- Fixed ikvmc to support referencing assemblies that contain .NET type named java.lang.Object.
- Improved error handling for ikvmc -reference option.
- Optimized codegen for lcmp, fcmp<x>, dcmp<x> and shift opcodes.
- Added support to Class.forName() for loading Java types with assembly qualified type names.
- Implemented field/method/parameter annotation support for .NET types.
- Added workaround for .NET 1.1 bug in Directory.CreateDirectory(). (bug #1902154)
- Added -removeassertions optimization option to ikvmc.
- Added -removeassertions to IKVM.OpenJDK.ClassLibrary.dll build.
- Fixed JVM_CreateJavaVM to initialize the class library.
- Fixed ikvmc to include zero length resource files.
- Implemented SocketOptions.IP_MULTICAST_IF and SocketOptions.IP_MULTICAST_IF2.
- Fixed assembly class loader to ignore codebase for dynamic assemblies (previously it would throw an exception).
- Fixed exception stack trace code to return the .NET name of a type when a method in a primitive type is on the stack.
- Fixed JNI reflection to filter out HideFromReflection members.
- Fixed java.net.NetworkInterface to work on pre-Win2K3 systems.
- Fixed java.lang.Thread to set context class loader for threads started from .NET.
* Tue Mar 25 2008 ajorgensen@novell.com
- Update to 0.36.0.5
  - Integrated OpenJDK Class Libraries to replace GNU Classpath
-Adjust filelist
-Don't provide ziplib
* Tue Dec  4 2007 wberrier@novell.com
- Little cleanup
- Install some assemblies in the GAC
* Wed Aug  1 2007 wberrier@novell.com
- Update to 0.34.0.2
  - Updated GNU Classpath
  - Java 1.6 updates
  - Several bugfixes
  - class coverage improvements
  - Interface enhancements
* Wed Apr 11 2007 wberrier@novell.com
- Add mono dep/req for older distros
* Thu Apr  5 2007 wberrier@novell.com
- add unzip to buildrequires (factory in buildservice requires it)
* Thu Mar 29 2007 coolo@suse.de
- fix BuildRequires
* Wed Oct 25 2006 wberrier@suse.de
- Add mono-devel to BuildRequires so mono rpm deps and requires
  get generated correctly
* Tue Aug  1 2006 wberrier@suse.de
- Update to 0.28.0.0
- Package from original ikvm distribution instead of using a
  prepackaged binary dist
* Wed Jan 25 2006 mls@suse.de
- converted neededforbuild to BuildRequires
* Fri Dec 16 2005 wberrier@suse.de
- Update to 0.22
* Thu Oct 13 2005 ro@suse.de
- changed mono-ikvm to mono-core in nfb
* Sat Oct  8 2005 wberrier@suse.de
- Updated to 0.20 .  Moved .pc file
* Thu Aug  4 2005 wberrier@suse.de
- Initial package
openSUSE Build Service is sponsored by