Blame SPECS/marisa.spec

Packit 309bf2
# python2 is not available on RHEL > 7 and not needed on Fedora > 28
Packit 309bf2
%if 0%{?rhel} > 7 || 0%{?fedora} > 28
Packit 309bf2
# disable python2 by default
Packit 309bf2
%bcond_with python2
Packit 309bf2
%else
Packit 309bf2
%bcond_without python2
Packit 309bf2
%endif
Packit 309bf2
Packit 309bf2
Name:          marisa
Packit 309bf2
Version:       0.2.4
Packit 309bf2
Release:       36%{?dist}
Packit 309bf2
Summary:       Static and spece-efficient trie data structure library
Packit 309bf2
Packit 309bf2
License:       BSD or LGPLv2+
Packit 309bf2
URL:  https://code.google.com/p/marisa-trie
Packit 309bf2
# Currently the working URL is
Packit 309bf2
# https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/marisa-trie/%%{name}-%%{version}.tar.gz
Packit 309bf2
Source0: https://marisa-trie.googlecode.com/files/%{name}-%{version}.tar.gz
Packit 309bf2
Packit 309bf2
BuildRequires:  gcc
Packit 309bf2
BuildRequires:  gcc-c++
Packit 309bf2
BuildRequires: swig
Packit 309bf2
BuildRequires: perl-devel
Packit 309bf2
BuildRequires: perl-generators
Packit 309bf2
%if %{with python2}
Packit 309bf2
BuildRequires: python2-devel
Packit 309bf2
%endif
Packit 309bf2
BuildRequires: python3-devel
Packit 309bf2
BuildRequires: ruby-devel
Packit 309bf2
Packit 309bf2
%description
Packit 309bf2
Matching Algorithm with Recursively Implemented StorAge (MARISA) is a
Packit 309bf2
static and space-efficient trie data structure. And libmarisa is a C++
Packit 309bf2
library to provide an implementation of MARISA. Also, the package of
Packit 309bf2
libmarisa contains a set of command line tools for building and
Packit 309bf2
operating a MARISA-based dictionary.
Packit 309bf2
Packit 309bf2
A MARISA-based dictionary supports not only lookup but also reverse
Packit 309bf2
lookup, common prefix search and predictive search.
Packit 309bf2
Packit 309bf2
Packit 309bf2
%package devel
Packit 309bf2
Summary:       Development files for %{name}
Packit 309bf2
Requires:      %{name}%{?_isa} = %{version}-%{release}
Packit 309bf2
Packit 309bf2
%description devel
Packit 309bf2
The %{name}-devel package contains libraries and header files for
Packit 309bf2
developing applications that use %{name}.
Packit 309bf2
Packit 309bf2
Packit 309bf2
%package tools
Packit 309bf2
Summary:       Tools for %{name}
Packit 309bf2
Requires:      %{name}%{?_isa} = %{version}-%{release}
Packit 309bf2
Packit 309bf2
%description tools
Packit 309bf2
The %{name}-tools package contains tools for developing applications
Packit 309bf2
that use %{name}.
Packit 309bf2
Packit 309bf2
Packit 309bf2
%package perl
Packit 309bf2
Summary:       Perl language binding for marisa
Packit 309bf2
Requires:      %{name} = %{version}-%{release}
Packit 309bf2
Packit 309bf2
%description perl
Packit 309bf2
Perl language binding for marisa
Packit 309bf2
Packit 309bf2
Packit 309bf2
%if %{with python2}
Packit 309bf2
%package -n python2-%{name}
Packit 309bf2
Summary:       Python language binding for marisa
Packit 309bf2
Requires:      %{name} = %{version}-%{release}
Packit 309bf2
# Remove before F30
Packit 309bf2
Provides:      %{name}-python = %{version}-%{release}
Packit 309bf2
Provides:      %{name}-python%{?_isa} = %{version}-%{release}
Packit 309bf2
Obsoletes:     %{name}-python < %{version}-%{release}
Packit 309bf2
%{?python_provide:%python_provide python2-%{name}}
Packit 309bf2
Packit 309bf2
%description -n python2-%{name}
Packit 309bf2
Python 2 language binding for marisa
Packit 309bf2
%endif
Packit 309bf2
Packit 309bf2
Packit 309bf2
%package -n python3-%{name}
Packit 309bf2
Summary:       Python 3 language binding for marisa
Packit 309bf2
Requires:      %{name} = %{version}-%{release}
Packit 309bf2
%{?python_provide:%python_provide python3-%{name}}
Packit 309bf2
Packit 309bf2
%description -n python3-%{name}
Packit 309bf2
Python 3 language binding for marisa
Packit 309bf2
Packit 309bf2
Packit 309bf2
%package ruby
Packit 309bf2
Summary: Ruby language binding for marisa
Packit 309bf2
Requires:      %{name} = %{version}-%{release}
Packit 309bf2
%if 0%{?fedora} || 0%{?rhel} > 7
Packit 309bf2
Requires:      ruby(release)
Packit 309bf2
%else
Packit 309bf2
Requires:      ruby(abi) = 1.9.1
Packit 309bf2
%endif
Packit 309bf2
Packit 309bf2
%description ruby
Packit 309bf2
Ruby language binding for groonga
Packit 309bf2
Packit 309bf2
Packit 309bf2
%prep
Packit 309bf2
%autosetup
Packit 309bf2
Packit 309bf2
Packit 309bf2
%build
Packit 309bf2
%configure --disable-static
Packit 309bf2
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
Packit 309bf2
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
Packit 309bf2
make %{?_smp_mflags}
Packit 309bf2
Packit 309bf2
# build Perl bindings
Packit 309bf2
pushd bindings/perl
Packit 309bf2
%{__perl} Makefile.PL INC="-I%{_builddir}/%{name}-%{version}/lib" LIBS="-L%{_builddir}/%{name}-%{version}/lib/.libs -lmarisa" INSTALLDIRS=vendor
Packit 309bf2
make %{?_smp_mflags}
Packit 309bf2
popd
Packit 309bf2
Packit 309bf2
# build Python bindings
Packit 309bf2
# Regenerate Python bindings
Packit 309bf2
make --directory=bindings swig-python
Packit 309bf2
Packit 309bf2
pushd bindings/python
Packit 309bf2
%if %{with python2}
Packit 309bf2
%{__python2} setup.py build_ext --include-dirs="%{_builddir}/%{name}-%{version}/lib" --library-dirs="%{_builddir}/%{name}-%{version}/lib/.libs"
Packit 309bf2
%py2_build
Packit 309bf2
%endif
Packit 309bf2
Packit 309bf2
%{__python3} setup.py build_ext --include-dirs="%{_builddir}/%{name}-%{version}/lib" --library-dirs="%{_builddir}/%{name}-%{version}/lib/.libs"
Packit 309bf2
%py3_build
Packit 309bf2
popd
Packit 309bf2
Packit 309bf2
# build Ruby bindings
Packit 309bf2
# Regenerate ruby bindings
Packit 309bf2
pushd bindings
Packit 309bf2
make swig-ruby
Packit 309bf2
popd
Packit 309bf2
Packit 309bf2
pushd bindings/ruby
Packit 309bf2
ruby extconf.rb --with-opt-include="%{_builddir}/%{name}-%{version}/lib" --with-opt-lib="%{_builddir}/%{name}-%{version}/lib/.libs" --vendor
Packit 309bf2
make
Packit 309bf2
popd
Packit 309bf2
Packit 309bf2
%install
Packit 309bf2
%make_install INSTALL="install -p"
Packit 309bf2
Packit 309bf2
# install Perl bindings
Packit 309bf2
pushd bindings/perl
Packit 309bf2
%make_install INSTALL="install -p"
Packit 309bf2
# Remove hidden files
Packit 309bf2
rm -f %{buildroot}%{perl_vendorarch}/auto/marisa/.packlist
Packit 309bf2
%{_fixperms} -c %{buildroot}%{perl_vendorarch}/*
Packit 309bf2
popd
Packit 309bf2
Packit 309bf2
# install Python bindings
Packit 309bf2
pushd bindings/python
Packit 309bf2
%if %{with python2}
Packit 309bf2
%py2_install
Packit 309bf2
%endif
Packit 309bf2
%py3_install
Packit 309bf2
popd
Packit 309bf2
Packit 309bf2
# install Ruby bindings
Packit 309bf2
pushd bindings/ruby
Packit 309bf2
%if 0%{?fedora} || 0%{?rhel} > 7
Packit 309bf2
%make_install INSTALL="install -p"
Packit 309bf2
%else
Packit 309bf2
%make_install INSTALL="install -p" hdrdir=%{_includedir} arch_hdrdir="%{_includedir}/\$(arch)" rubyhdrdir=%{_includedir}
Packit 309bf2
%endif
Packit 309bf2
popd
Packit 309bf2
Packit 309bf2
find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
Packit 309bf2
find $RPM_BUILD_ROOT -name 'perllocal.pod' -exec rm -f {} ';'
Packit 309bf2
rm -f $RPM_BUILD_ROOT%{perl_vendorarch}/sample.pl
Packit 309bf2
Packit 309bf2
Packit 309bf2
%post -p /sbin/ldconfig
Packit 309bf2
Packit 309bf2
%postun -p /sbin/ldconfig
Packit 309bf2
Packit 309bf2
Packit 309bf2
%files
Packit 309bf2
%doc docs/style.css AUTHORS README docs/readme.en.html
Packit 309bf2
%lang(ja) %doc docs/readme.ja.html
Packit 309bf2
%license COPYING
Packit 309bf2
%{_libdir}/libmarisa.so.*
Packit 309bf2
Packit 309bf2
%files devel
Packit 309bf2
%{_includedir}/marisa*
Packit 309bf2
%{_libdir}/*.so
Packit 309bf2
%{_libdir}/pkgconfig/*.pc
Packit 309bf2
Packit 309bf2
%files tools
Packit 309bf2
%{_bindir}/marisa-benchmark
Packit 309bf2
%{_bindir}/marisa-build
Packit 309bf2
%{_bindir}/marisa-common-prefix-search
Packit 309bf2
%{_bindir}/marisa-dump
Packit 309bf2
%{_bindir}/marisa-lookup
Packit 309bf2
%{_bindir}/marisa-predictive-search
Packit 309bf2
%{_bindir}/marisa-reverse-lookup
Packit 309bf2
Packit 309bf2
%files perl
Packit 309bf2
%{perl_vendorarch}/marisa.pm
Packit 309bf2
%{perl_vendorarch}/auto/marisa
Packit 309bf2
Packit 309bf2
%if %{with python2}
Packit 309bf2
%files -n python2-%{name}
Packit 309bf2
%{python2_sitearch}/_marisa.so
Packit 309bf2
%{python2_sitearch}/marisa.py*
Packit 309bf2
%{python2_sitearch}/marisa-0.0.0-py2.?.egg-info
Packit 309bf2
%endif
Packit 309bf2
Packit 309bf2
%files -n python3-%{name}
Packit 309bf2
%{python3_sitearch}/__pycache__/marisa*
Packit 309bf2
%{python3_sitearch}/_marisa*.so
Packit 309bf2
%{python3_sitearch}/marisa.py
Packit 309bf2
%{python3_sitearch}/marisa-0.0.0-py3.?.egg-info
Packit 309bf2
Packit 309bf2
%files ruby
Packit 309bf2
%{ruby_vendorarchdir}/marisa.so
Packit 309bf2
Packit 309bf2
%changelog
Packit 309bf2
* Wed Aug 01 2018 Takao Fujiwara <fujiwara@redhat.com> - 0.2.4-36
Packit 309bf2
- disable python2 for RHEL8
Packit 309bf2
Packit 309bf2
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.4-35
Packit 309bf2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Packit 309bf2
Packit 309bf2
* Tue Jul 03 2018 Petr Pisar <ppisar@redhat.com> - 0.2.4-34
Packit 309bf2
- Perl 5.28 rebuild
Packit 309bf2
Packit 309bf2
* Wed Jun 27 2018 Jitka Plesnikova <jplesnik@redhat.com> - 0.2.4-33
Packit 309bf2
- Perl 5.28 rebuild
Packit 309bf2
Packit 309bf2
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 0.2.4-32
Packit 309bf2
- Rebuilt for Python 3.7
Packit 309bf2
Packit 309bf2
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.4-31
Packit 309bf2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Packit 309bf2
Packit 309bf2
* Sat Jan 20 2018 Björn Esser <besser82@fedoraproject.org> - 0.2.4-30
Packit 309bf2
- Rebuilt for switch to libxcrypt
Packit 309bf2
Packit 309bf2
* Fri Jan 05 2018 Mamoru TASAKA <mtasaka@fedoraproject.org> - 0.2.4-29
Packit 309bf2
- F-28: rebuild for ruby25
Packit 309bf2
Packit 309bf2
* Thu Dec 14 2017 Parag Nemade <pnemade AT redhat DOT com> - 0.2.4-28
Packit 309bf2
- Few more cleanups to spec file
Packit 309bf2
Packit 309bf2
* Thu Dec 14 2017 Parag Nemade <pnemade AT redhat DOT com> - 0.2.4-27
Packit 309bf2
- Correct the conditional builds for fedora and rhel
Packit 309bf2
- Remove Group tag as its no longer needed
Packit 309bf2
- added %%license macro for license files
Packit 309bf2
- Correct the license tag
Packit 309bf2
- Added fileslists more verbose for subpackages
Packit 309bf2
Packit 309bf2
* Sun Aug 20 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.2.4-26
Packit 309bf2
- Add Provides for the old name without %%_isa
Packit 309bf2
Packit 309bf2
* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.2.4-25
Packit 309bf2
- Python 2 binary package renamed to python2-marisa
Packit 309bf2
  See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3
Packit 309bf2
Packit 309bf2
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.4-24
Packit 309bf2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
Packit 309bf2
Packit 309bf2
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.4-23
Packit 309bf2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
Packit 309bf2
Packit 309bf2
* Sun Jun 04 2017 Jitka Plesnikova <jplesnik@redhat.com> - 0.2.4-22
Packit 309bf2
- Perl 5.26 rebuild
Packit 309bf2
Packit 309bf2
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.4-21
Packit 309bf2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
Packit 309bf2
Packit 309bf2
* Thu Jan 12 2017 Mamoru TASAKA <mtasaka@fedoraproject.org> - 0.2.4-20
Packit 309bf2
- F-26: rebuild for ruby24
Packit 309bf2
Packit 309bf2
* Thu Dec 22 2016 Miro Hrončok <mhroncok@redhat.com> - 0.2.4-19
Packit 309bf2
- Rebuild for Python 3.6
Packit 309bf2
Packit 309bf2
* Fri Nov 11 2016 Iryna Shcherbina <ishcherb@redhat.com> - 0.2.4-18
Packit 309bf2
- Regenerate Python binding files with newer swig
Packit 309bf2
- Provide Python 3 subpackage
Packit 309bf2
Packit 309bf2
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2.4-17
Packit 309bf2
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
Packit 309bf2
Packit 309bf2
* Sat May 14 2016 Jitka Plesnikova <jplesnik@redhat.com> - 0.2.4-16
Packit 309bf2
- Perl 5.24 rebuild
Packit 309bf2
Packit 309bf2
* Mon May  9 2016 Yaakov Selkowitz <yselkowi@redhat.com> - 0.2.4-15
Packit 309bf2
- Fix packaging of marisa-perl (#1246698)
Packit 309bf2
Packit 309bf2
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.4-14
Packit 309bf2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
Packit 309bf2
Packit 309bf2
* Tue Jan 12 2016 Vít Ondruch <vondruch@redhat.com> - 0.2.4-13
Packit 309bf2
- Rebuilt for https://fedoraproject.org/wiki/Changes/Ruby_2.3
Packit 309bf2
Packit 309bf2
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2.4-12
Packit 309bf2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
Packit 309bf2
Packit 309bf2
* Wed Jun 03 2015 Jitka Plesnikova <jplesnik@redhat.com> - 0.2.4-11
Packit 309bf2
- Perl 5.22 rebuild
Packit 309bf2
Packit 309bf2
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 0.2.4-10
Packit 309bf2
- Rebuilt for GCC 5 C++11 ABI change
Packit 309bf2
Packit 309bf2
* Fri Jan 16 2015 Mamoru TASAKA <mtasaka@fedoraproject.org> - 0.2.4-9
Packit 309bf2
- Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_2.2
Packit 309bf2
Packit 309bf2
* Wed Aug 27 2014 Jitka Plesnikova <jplesnik@redhat.com> - 0.2.4-8
Packit 309bf2
- Perl 5.20 rebuild
Packit 309bf2
Packit 309bf2
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2.4-7
Packit 309bf2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
Packit 309bf2
Packit 309bf2
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2.4-6
Packit 309bf2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
Packit 309bf2
Packit 309bf2
* Sat May  3 2014 Mamoru TASAKA <mtasaka@fedoraproject.org> - 0.2.4-5
Packit 309bf2
- Ruby: Rebuild for ruby 2.1 / rubygems 2.2
Packit 309bf2
- Ruby: regenerate binding files with newer swig for -Werror=format-security
Packit 309bf2
- Perl: don't use %%prefix/local, move installation directory to vendor directory
Packit 309bf2
Packit 309bf2
* Tue Aug 13 2013 Daiki Ueno <dueno@redhat.com> - 0.2.4-4
Packit 309bf2
- disable workaround for ruby bindings needed for F19 (Closes:#992166)
Packit 309bf2
Packit 309bf2
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2.4-3
Packit 309bf2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
Packit 309bf2
Packit 309bf2
* Wed Jul 17 2013 Petr Pisar <ppisar@redhat.com> - 0.2.4-2
Packit 309bf2
- Perl 5.18 rebuild
Packit 309bf2
Packit 309bf2
* Thu May  2 2013 Daiki Ueno <dueno@redhat.com> - 0.2.4-1
Packit 309bf2
- new upstream release
Packit 309bf2
Packit 309bf2
* Wed Mar 20 2013 Vít Ondruch <vondruch@redhat.com> - 0.2.2-2
Packit 309bf2
- Move Ruby bindings into correct location.
Packit 309bf2
Packit 309bf2
* Thu Mar 14 2013 Daiki Ueno <dueno@redhat.com> - 0.2.2-1
Packit 309bf2
- new upstream release
Packit 309bf2
- for Fedora 19 or later, use 'ruby(release)' instead of 'ruby(abi)',
Packit 309bf2
  and also update the required Ruby ABI/release version to 2.0.0
Packit 309bf2
Packit 309bf2
* Thu Feb  7 2013 Daiki Ueno <dueno@redhat.com> - 0.2.1-3
Packit 309bf2
- add perl, python, ruby bindings
Packit 309bf2
Packit 309bf2
* Fri Feb  1 2013 Daiki Ueno <dueno@redhat.com> - 0.2.1-2
Packit 309bf2
- remove unnesseary BR
Packit 309bf2
- don't embed rpath in executables
Packit 309bf2
- add docs
Packit 309bf2
- drop buildroot cleanup
Packit 309bf2
- preserve timestamp when make install
Packit 309bf2
Packit 309bf2
* Thu Jan 24 2013 Daiki Ueno <dueno@redhat.com> - 0.2.1-1
Packit 309bf2
- initial packaging