Added pkgconfig file (libguestfs.pc).
[libguestfs.git] / libguestfs.spec.in
index ef07ea8..9b83b48 100644 (file)
@@ -44,6 +44,9 @@ BuildRequires: perl-ExtUtils-MakeMaker
 BuildRequires: python-devel
 BuildRequires: ruby-devel
 BuildRequires: rubygem-rake
+BuildRequires: java >= 1.5.0
+BuildRequires: jpackage-utils
+BuildRequires: java-devel
 
 # Runtime requires:
 Requires:    qemu >= 0.10-7
@@ -81,11 +84,14 @@ For Python bindings, see 'python-libguestfs'.
 
 For Ruby bindings, see 'ruby-libguestfs'.
 
+For Java bindings, see 'libguestfs-java-devel'.
+
 
 %package devel
 Summary:     Development tools and libraries for %{name}
 Group:       Development/Libraries
 Requires:    %{name} = %{version}-%{release}
+Requires:    pkgconfig
 
 
 %description devel
@@ -168,6 +174,44 @@ Provides:    ruby(guestfs) = %{version}
 ruby-%{name} contains Ruby bindings for %{name}.
 
 
+%package java
+Summary:     Java bindings for %{name}
+Group:       Development/Libraries
+Requires:    %{name} = %{version}-%{release}
+Requires:    java >= 1.5.0
+Requires:    jpackage-utils
+
+%description java
+%{name}-java contains Java bindings for %{name}.
+
+If you want to develop software in Java which uses %{name}, then
+you will also need %{name}-java-devel.
+
+
+%package java-devel
+Summary:     Java development package for %{name}
+Group:       Development/Libraries
+Requires:    %{name} = %{version}-%{release}
+Requires:    %{name}-java = %{version}-%{release}
+
+%description java-devel
+%{name}-java-devel contains the tools for developing Java software
+using %{name}.
+
+See also %{name}-javadoc.
+
+
+%package javadoc
+Summary:     Java documentation for %{name}
+Group:       Development/Libraries
+Requires:    %{name} = %{version}-%{release}
+Requires:    %{name}-java = %{version}-%{release}
+Requires:    jpackage-utils
+
+%description javadoc
+%{name}-javadoc contains the Java documentation for %{name}.
+
+
 %prep
 %setup -q
 
@@ -184,10 +228,15 @@ popd
 %define extra %nil
 %endif
 
-./configure --prefix=%{_prefix} --libdir=%{_libdir} %{extra}
+./configure \
+  --prefix=%{_prefix} --libdir=%{_libdir} \
+  --with-java-home=%{java_home} \
+  --with-qemu="qemu-kvm qemu-system-%{_build_arch} qemu" \
+  %{extra}
 
 # 'INSTALLDIRS' ensures that perl libs are installed in the vendor dir
 # not the site dir.
+# Uses javac which is incompatible with parallel make.
 make INSTALLDIRS=vendor
 
 
@@ -239,6 +288,10 @@ mkdir -p $RPM_BUILD_ROOT%{ruby_sitearch}
 install -p -m0644 ruby/lib/guestfs.rb $RPM_BUILD_ROOT%{ruby_sitelib}
 install -p -m0755 ruby/ext/guestfs/_guestfs.so $RPM_BUILD_ROOT%{ruby_sitearch}
 
+# Remove static-linked Java bindings.
+rm $RPM_BUILD_ROOT%{_libdir}/libguestfs_jni.a
+rm $RPM_BUILD_ROOT%{_libdir}/libguestfs_jni.la
+
 # Generator shouldn't be executable when we distribute it.
 chmod -x src/generator.ml
 
@@ -268,6 +321,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_includedir}/guestfs.h
 %{_includedir}/guestfs-actions.h
 %{_includedir}/guestfs-structs.h
+%{_libdir}/pkgconfig/libguestfs.pc
 
 
 %files -n guestfish
@@ -321,10 +375,32 @@ rm -rf $RPM_BUILD_ROOT
 %{ruby_sitearch}/_guestfs.so
 
 
+%files java
+%defattr(-,root,root,-)
+%doc README
+%{_libdir}/libguestfs_jni*.so.*
+%{_datadir}/java/*.jar
+
+
+%files java-devel
+%defattr(-,root,root,-)
+%doc README
+%{_libdir}/libguestfs_jni*.so
+
+
+%files javadoc
+%defattr(-,root,root,-)
+%doc README
+%{_datadir}/javadoc/%{name}-java-%{version}
+
+
 %changelog
-* Mon Apr 20 2009 Richard Jones <rjones@redhat.com> - @VERSION@-1
+* Wed Apr 22 2009 Richard Jones <rjones@redhat.com> - @VERSION@-1
 - New upstream version @VERSION@.
 
+* Wed Apr 22 2009 Richard Jones <rjones@redhat.com> - 1.0.6-1
+- New upstream version 1.0.6.
+
 * Mon Apr 20 2009 Richard Jones <rjones@redhat.com> - 1.0.2-1
 - New upstream version 1.0.2.