File nmdb-bindings.spec of Package nmdb
# norootforbuild
Name: nmdb-bindings
Version: 0.21
Release: 0
#
License: Open Software License 3.0, BOLA (Public Domain)
Group: Productivity/Networking/Other
#
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%define nmdb_ruby_bindings 1
%define nmdb_python_bindings 1
%define nmdb_d_bindings 0
%define nmdb_haskell_bindings 0
%define nmdb_newlisp_bindings 0
%define nmdb_bigloo_bindings 0
BuildRequires: nmdb-devel
%if 0%{?nmdb_ruby_bindings}
BuildRequires: ruby-devel
%endif
%if 0%{?nmdb_python_bindings}
BuildRequires: python-devel
%endif
#
Url: http://auriga.wearlab.de/~alb/nmdb/
Source: http://auriga.wearlab.de/~alb/nmdb/files/%{version}/nmdb-%{version}.tar.bz2
#
Summary: A multiprotocol network database manager
%description
nmdb is a network database (dbm-style) for controlled networks that can use
different protocols to to communicate with its clients. It supports TIPC, TCP,
UDP and SCTP.
It consists of an in-memory cache that saves (key, value) pairs, and a
persistent backend that stores the pairs on disk.
Both work combined, but the use of the backend is optional, so you can use the
server only for cache queries, pretty much like memcached.
A library is provided to interact with the database and the cache in a very
simple way. Python, D, NewLISP, Ruby, Bigloo Scheme, and Haskell bindings are
also available and come with the distribution (although except for the Python
bindings, the rest are not widely tested).
Bindings for libnmdb.
Authors:
--------
Alberto Bertogli <albertito@gmail.com>
%package -n ruby-nmdb
Group: Development/Languages/Ruby
#
Summary: Ruby bindings for nmdb
%description -n ruby-nmdb
Ruby bindings for nmdb
%package -n python-nmdb
Group: Development/Libraries/Python
#
Summary: Python bindings for nmdb
%description -n python-nmdb
Python bindings for nmdb
%debug_package
%prep
%setup -n nmdb-%{version}
%build
#
# python bindings
#
%if 0%{?nmdb_python_bindings}
pushd bindings/python
CFLAGS="%{optflags}" \
python setup.py build
popd
%endif
#
# ruby bindings
#
%if 0%{?nmdb_ruby_bindings}
pushd bindings/ruby
ruby -rvendor-specific extconf.rb
make
popd
%endif
%install
#
# python bindings
#
%if 0%{?nmdb_python_bindings}
pushd bindings/python
python setup.py install \
--prefix=%{_prefix} \
--root %{buildroot} \
--record-rpm python-nmdb.files
popd
%endif
#
# ruby bindings
#
%if 0%{?nmdb_ruby_bindings}
pushd bindings/ruby
%makeinstall
%{__install} -D -m 0644 nmdb.rb %{buildroot}%{_libdir}/ruby/vendor_ruby/%{rb_ver}/nmdb.rb
popd
%endif
%clean
%{__rm} -rf %{buildroot}
%files
%defattr(-,root,root,-)
%if 0%{?nmdb_ruby_bindings}
%files -n ruby-nmdb
%defattr(-,root,root,-)
%{_libdir}/ruby/vendor_ruby/%{rb_ver}/%{rb_arch}/nmdb_ll.so
%{_libdir}/ruby/vendor_ruby/%{rb_ver}/nmdb.rb
%doc bindings/ruby/test1.rb bindings/ruby/LICENSE
%endif
%if 0%{?nmdb_python_bindings}
%files -n python-nmdb -f bindings/python/python-nmdb.files
%defattr(-,root,root,-)
%doc bindings/python/LICENSE
%endif
%changelog