File kyotocabinet-java-bindings.spec of Package kyotocabinet-java

Name:               kyotocabinet-java-bindings
Version:            1.17
%define soname 1
Release:            0
Summary:            Java Bindings for libkyotocabinet
Source:        http://fallabs.com/kyotocabinet/javapkg/kyotocabinet-java-%{version}.tar.gz
URL:                http://fallabs.com/kyotocabinet/
Group:          Development/Libraries/Java
License:            GNU General Public License version 3 (GPL v3)
BuildRoot:      %{_tmppath}/build-%{name}-%{version}
BuildRequires:  libkyotocabinet-devel
BuildRequires:  java-devel
BuildRequires:  gcc-c++ make glibc-devel
BuildRequires:  autoconf automake libtool update-desktop-files
# needed for java-devel on SLE_10:
BuildRequires: update-alternatives

%description
Kyoto Cabinet is a library of routines for managing a database. The database
is a simple data file containing records, each is a pair of a key and a value.
Every key and value is serial bytes with variable length. Both binary data and
character string can be used as a key and a value. Each key must be unique
within a database. There is neither concept of data tables nor data types.
Records are organized in hash table or B+ tree.

This package provides Java bindings to Kyoto Cabinet.

%package -n kyotocabinet-java
Group:          Development/Libraries/Java
Summary:            Java Bindings for libkyotocabinet
Requires:      libjkyotocabinet%{soname} = %{version}-%{release}
%if 0%{?suse_version} >= 1120
BuildArch:     noarch
%endif

%description -n kyotocabinet-java
Kyoto Cabinet is a library of routines for managing a database. The database
is a simple data file containing records, each is a pair of a key and a
value. Every key and value is serial bytes with variable length. Both binary
data and character string can be used as a key and a value. There is neither
concept of data tables nor data types. Records are organized in hash table, B+
tree, or fixed-length array.

This package provides Java bindings to Kyoto Cabinet.

%package -n kyotocabinet-java-javadoc
Summary:            Javadocs for Java Bindings for libkyotocabinet
Group:          Development/Libraries/Java
%if 0%{?suse_version} >= 1120
BuildArch:     noarch
%endif

%description -n kyotocabinet-java-javadoc
Kyoto Cabinet is a library of routines for managing a database. The database
is a simple data file containing records, each is a pair of a key and a
value. Every key and value is serial bytes with variable length. Both binary
data and character string can be used as a key and a value. There is neither
concept of data tables nor data types. Records are organized in hash table, B+
tree, or fixed-length array.

This package provides the API documentation of the Java bindings to Kyoto
Cabinet.

%package -n libjkyotocabinet%{soname}
Summary:            Native Library for Java Bindings to libkyotocabinet
Group:          Development/Libraries/Java

%description -n libjkyotocabinet%{soname}
Kyoto Cabinet is a library of routines for managing a database. The database
is a simple data file containing records, each is a pair of a key and a
value. Every key and value is serial bytes with variable length. Both binary
data and character string can be used as a key and a value. There is neither
concept of data tables nor data types. Records are organized in hash table, B+
tree, or fixed-length array.

This package provides the native library for the Java bindings to Kyoto
Cabinet.

%prep
%setup -q -n "kyotocabinet-java-%{version}"

%build
%configure
make %{?_smp_mflags}

%install
%__install -d -m0755 "%{buildroot}%{_javadir}"
%__install -m0644 "kyotocabinet.jar" "%{buildroot}%{_javadir}/kyotocabinet-%{version}.jar"
pushd "%{buildroot}%{_javadir}"
for jar in *-%{version}*jar; do
     %__ln_s "${jar}" "${jar/-%{version}/}"
done
popd

%__install -d -m0755 "%{buildroot}%{_javadocdir}/kyotocabinet-%{version}"
%__cp -pr doc/* "%{buildroot}%{_javadocdir}/kyotocabinet-%{version}/"
%__ln_s "kyotocabinet-%{version}" "%{buildroot}%{_javadocdir}/kyotocabinet"

%__install -d "%{buildroot}%{_libdir}"
%__install -m0755 libjkyotocabinet.so.%{soname}.*.* "%{buildroot}%{_libdir}/"
pushd "%{buildroot}%{_libdir}"
%__ln_s libjkyotocabinet.so.%{soname}.*.* libjkyotocabinet.so.%{soname}
popd #"%{buildroot}%{_libdir}"

%post   -n libjkyotocabinet%{soname} -p /sbin/ldconfig
%postun -n libjkyotocabinet%{soname} -p /sbin/ldconfig

%files -n kyotocabinet-java
%defattr(-,root,root)
%doc COPYING
%doc example
%{_javadir}/kyotocabinet-%{version}.jar
%{_javadir}/kyotocabinet.jar

%files -n kyotocabinet-java-javadoc
%defattr(-,root,root)
%{_javadocdir}/kyotocabinet-%{version}
%{_javadocdir}/kyotocabinet

%files -n libjkyotocabinet%{soname}
%defattr(-,root,root)
%{_libdir}/libjkyotocabinet.so.%{soname}
%{_libdir}/libjkyotocabinet.so.%{soname}.*.*

%changelog
# vim: set sw=3 ts=3 noet:
# Local Variables:
# mode: rpm-spec
# tab-width: 3
# End:
openSUSE Build Service is sponsored by