Files
kyotocabinet-java/kyotocabinet-java-bindings.spec

130 lines
4.7 KiB
RPMSpec

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: