Daiki Ueno 6ef4709
Name:		marisa
bc943fe
Version:	0.2.4
bc943fe
Release:	1%{?dist}
Daiki Ueno 6ef4709
Summary:	Static and spece-efficient trie data structure library
Daiki Ueno 6ef4709
bc943fe
License:	BSD or LGPL
Daiki Ueno 6ef4709
URL:		https://code.google.com/p/marisa-trie/
Daiki Ueno f6aea51
Source0:	https://marisa-trie.googlecode.com/files/%{name}-%{version}.tar.gz
Daiki Ueno 0bc3967
BuildRequires:	swig
Daiki Ueno 0bc3967
BuildRequires:	perl-devel
Daiki Ueno 0bc3967
BuildRequires:	python2-devel
Daiki Ueno 0bc3967
BuildRequires:	ruby-devel
Daiki Ueno 6ef4709
Daiki Ueno 6ef4709
%description
Daiki Ueno 6ef4709
Matching Algorithm with Recursively Implemented StorAge (MARISA) is a
Daiki Ueno 6ef4709
static and space-efficient trie data structure. And libmarisa is a C++
Daiki Ueno 6ef4709
library to provide an implementation of MARISA. Also, the package of
Daiki Ueno 6ef4709
libmarisa contains a set of command line tools for building and
Daiki Ueno 6ef4709
operating a MARISA-based dictionary.
Daiki Ueno 6ef4709
Daiki Ueno 6ef4709
A MARISA-based dictionary supports not only lookup but also reverse
Daiki Ueno 6ef4709
lookup, common prefix search and predictive search.
Daiki Ueno 6ef4709
Daiki Ueno 6ef4709
Daiki Ueno 6ef4709
%package	devel
Daiki Ueno 6ef4709
Summary:	Development files for %{name}
Daiki Ueno 6ef4709
Group:		Development/Libraries
Daiki Ueno 6ef4709
Requires:	%{name}%{?_isa} = %{version}-%{release}
Daiki Ueno 6ef4709
Daiki Ueno 6ef4709
%description	devel
Daiki Ueno 6ef4709
The %{name}-devel package contains libraries and header files for
Daiki Ueno 6ef4709
developing applications that use %{name}.
Daiki Ueno 6ef4709
Daiki Ueno 6ef4709
Daiki Ueno 6ef4709
%package        tools
Daiki Ueno 6ef4709
Summary:	Tools for %{name}
Daiki Ueno 6ef4709
Group:		Development/Tools
Daiki Ueno 6ef4709
Requires:	%{name}%{?_isa} = %{version}-%{release}
Daiki Ueno 6ef4709
Daiki Ueno 6ef4709
%description	tools
Daiki Ueno 6ef4709
The %{name}-tools package contains tools for developing applications
Daiki Ueno 6ef4709
that use %{name}.
Daiki Ueno 6ef4709
Daiki Ueno 6ef4709
Daiki Ueno 0bc3967
%package perl
Daiki Ueno 0bc3967
Summary:	Perl language binding for marisa
Daiki Ueno 0bc3967
Group:		Development/Libraries
Daiki Ueno 0bc3967
Requires:	%{name} = %{version}-%{release}
Daiki Ueno 0bc3967
Daiki Ueno 0bc3967
%description perl
Daiki Ueno 0bc3967
Perl language binding for marisa
Daiki Ueno 0bc3967
Daiki Ueno 0bc3967
Daiki Ueno 0bc3967
%package python
Daiki Ueno 0bc3967
Summary:	Python language binding for marisa
Daiki Ueno 0bc3967
Group:		Development/Libraries
Daiki Ueno 0bc3967
Requires:	%{name} = %{version}-%{release}
Daiki Ueno 0bc3967
Daiki Ueno 0bc3967
%description python
Daiki Ueno 0bc3967
Python language binding for marisa
Daiki Ueno 0bc3967
Daiki Ueno 0bc3967
Daiki Ueno 0bc3967
%package ruby
Daiki Ueno 0bc3967
Summary:	Ruby language binding for marisa
Daiki Ueno 0bc3967
Group:		Development/Libraries
Daiki Ueno 0bc3967
Requires:	%{name} = %{version}-%{release}
Daiki Ueno 255e499
%if 0%{?fedora} >= 19
Daiki Ueno 255e499
Requires:	ruby(release) = 2.0.0
Daiki Ueno 255e499
%else
Daiki Ueno 0bc3967
Requires:	ruby(abi) = 1.9.1
Daiki Ueno 255e499
%endif
Daiki Ueno 0bc3967
Daiki Ueno 0bc3967
%description ruby
Daiki Ueno 0bc3967
Ruby language binding for groonga
Daiki Ueno 0bc3967
Daiki Ueno 0bc3967
Daiki Ueno 6ef4709
%prep
Daiki Ueno 6ef4709
%setup -q
Daiki Ueno 6ef4709
Daiki Ueno 6ef4709
Daiki Ueno 6ef4709
%build
Daiki Ueno 6ef4709
%configure --disable-static
Daiki Ueno 6ef4709
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
Daiki Ueno 6ef4709
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
Daiki Ueno 6ef4709
make %{?_smp_mflags}
Daiki Ueno 6ef4709
Daiki Ueno a527935
# build Perl bindings
Daiki Ueno 0bc3967
pushd bindings/perl
Daiki Ueno 0bc3967
%{__perl} Makefile.PL INC="-I%{_builddir}/%{name}-%{version}/lib" LIBS="-L%{_builddir}/%{name}-%{version}/lib/.libs"
Daiki Ueno 0bc3967
make %{?_smp_mflags}
Daiki Ueno 0bc3967
popd
Daiki Ueno 0bc3967
Daiki Ueno a527935
# build Python bindings
Daiki Ueno 0bc3967
pushd bindings/python
Daiki Ueno 0bc3967
%{__python} setup.py build_ext --include-dirs="%{_builddir}/%{name}-%{version}/lib" --library-dirs="%{_builddir}/%{name}-%{version}/lib/.libs"
Daiki Ueno 0bc3967
%{__python} setup.py build
Daiki Ueno 0bc3967
popd
Daiki Ueno 0bc3967
Daiki Ueno a527935
# build Ruby bindings
Daiki Ueno 0bc3967
pushd bindings/ruby
eec52fa
ruby extconf.rb --with-opt-include="%{_builddir}/%{name}-%{version}/lib" --with-opt-lib="%{_builddir}/%{name}-%{version}/lib/.libs" --vendor
Daiki Ueno 0bc3967
make
Daiki Ueno 0bc3967
popd
Daiki Ueno 6ef4709
Daiki Ueno 6ef4709
%install
Daiki Ueno 6ef4709
%make_install INSTALL="install -p"
Daiki Ueno 0bc3967
Daiki Ueno 0bc3967
# install Perl bindings
Daiki Ueno 0bc3967
pushd bindings/perl
Daiki Ueno 0bc3967
%make_install INSTALL="install -p"
Daiki Ueno 0bc3967
popd
Daiki Ueno 0bc3967
Daiki Ueno 0bc3967
# install Python bindings
Daiki Ueno 0bc3967
pushd bindings/python
Daiki Ueno 0bc3967
%{__python} setup.py install --root="$RPM_BUILD_ROOT"
Daiki Ueno 0bc3967
popd
Daiki Ueno 0bc3967
Daiki Ueno 0bc3967
# install Ruby bindings
Daiki Ueno 0bc3967
pushd bindings/ruby
ef2e905
%make_install INSTALL="install -p" hdrdir=%{_includedir} arch_hdrdir="%{_includedir}/\$(arch)" rubyhdrdir=%{_includedir}
Daiki Ueno 0bc3967
popd
Daiki Ueno 0bc3967
Daiki Ueno 6ef4709
find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
Daiki Ueno 0bc3967
find $RPM_BUILD_ROOT -name 'perllocal.pod' -exec rm -f {} ';'
Daiki Ueno 6ef4709
Daiki Ueno 6ef4709
Daiki Ueno 6ef4709
%post -p /sbin/ldconfig
Daiki Ueno 6ef4709
Daiki Ueno 6ef4709
%postun -p /sbin/ldconfig
Daiki Ueno 6ef4709
Daiki Ueno 6ef4709
Daiki Ueno 6ef4709
%files
Daiki Ueno 6ef4709
%doc docs/* AUTHORS COPYING README
Daiki Ueno 6ef4709
%{_libdir}/*.so.*
Daiki Ueno 6ef4709
Daiki Ueno 6ef4709
%files devel
Daiki Ueno 6ef4709
%{_includedir}/*
Daiki Ueno 6ef4709
%{_libdir}/*.so
Daiki Ueno 6ef4709
%{_libdir}/pkgconfig/*.pc
Daiki Ueno 6ef4709
Daiki Ueno 6ef4709
%files tools
Daiki Ueno 6ef4709
%{_bindir}/marisa*
Daiki Ueno 6ef4709
Daiki Ueno 0bc3967
%files perl
Daiki Ueno 0bc3967
%{perl_sitearch}/*
Daiki Ueno 0bc3967
%exclude %dir %{perl_sitearch}/auto/
Daiki Ueno 0bc3967
Daiki Ueno 0bc3967
%files python
Daiki Ueno 0bc3967
%{python_sitearch}/*
Daiki Ueno 0bc3967
Daiki Ueno 0bc3967
%files ruby
eec52fa
%{ruby_vendorarchdir}/*
Daiki Ueno 0bc3967
Daiki Ueno 6ef4709
Daiki Ueno 6ef4709
%changelog
bc943fe
* Thu May  2 2013 Daiki Ueno <dueno@redhat.com> - 0.2.4-1
bc943fe
- new upstream release
bc943fe
eec52fa
* Wed Mar 20 2013 Vít Ondruch <vondruch@redhat.com> - 0.2.2-2
eec52fa
- Move Ruby bindings into correct location.
eec52fa
Daiki Ueno 255e499
* Thu Mar 14 2013 Daiki Ueno <dueno@redhat.com> - 0.2.2-1
Daiki Ueno 255e499
- new upstream release
Daiki Ueno 255e499
- for Fedora 19 or later, use 'ruby(release)' instead of 'ruby(abi)',
Daiki Ueno 255e499
  and also update the required Ruby ABI/release version to 2.0.0
Daiki Ueno 255e499
Daiki Ueno 0bc3967
* Thu Feb  7 2013 Daiki Ueno <dueno@redhat.com> - 0.2.1-3
Daiki Ueno 0bc3967
- add perl, python, ruby bindings
Daiki Ueno 0bc3967
Daiki Ueno 6ef4709
* Fri Feb  1 2013 Daiki Ueno <dueno@redhat.com> - 0.2.1-2
Daiki Ueno 6ef4709
- remove unnesseary BR
Daiki Ueno 6ef4709
- don't embed rpath in executables
Daiki Ueno 6ef4709
- add docs
Daiki Ueno 6ef4709
- drop buildroot cleanup
Daiki Ueno 6ef4709
- preserve timestamp when make install
Daiki Ueno 6ef4709
Daiki Ueno 6ef4709
* Thu Jan 24 2013 Daiki Ueno <dueno@redhat.com> - 0.2.1-1
Daiki Ueno 6ef4709
- initial packaging
Daiki Ueno 6ef4709