opentrep/opentrep.spec

279 lines
8.9 KiB
RPMSpec
Raw Normal View History

# Build -pythonN subpackage
%bcond_without python3
#
Name: opentrep
2021-11-14 11:55:57 +00:00
Version: 0.07.10
Release: 1%{?dist}
Summary: C++ library providing a clean API for parsing travel-focused requests
# The entire source code is LGPLv2+ except opentrep/basic/float_utils_google.hpp,
# which is BSD
License: LGPLv2+ and BSD
2020-06-01 12:33:24 +00:00
URL: https://github.com/trep/%{name}
Source0: %{url}/archive/%{name}-%{version}.tar.gz
BuildRequires: gcc-c++
%if 0%{?fedora} || 0%{?rhel} > 7
BuildRequires: cmake
%else
BuildRequires: cmake3
%endif
BuildRequires: boost-devel
BuildRequires: readline-devel
BuildRequires: soci-mysql-devel
BuildRequires: soci-sqlite3-devel
BuildRequires: xapian-core-devel
BuildRequires: sqlite-devel
BuildRequires: mariadb-connector-c-devel
BuildRequires: libicu-devel
BuildRequires: protobuf-devel
BuildRequires: protobuf-compiler
%description
%{name} aims at providing a clean API, and the corresponding C++
implementation, for parsing travel-focused requests.
2019-11-11 18:51:03 +00:00
It powers the https://transport-search.org Web site.
2019-11-15 13:47:50 +00:00
%{name} uses Xapian (https://www.xapian.org) for the Information Retrieval
part, on freely available travel-related data (e.g., country names and codes,
city names and codes, airline names and codes, etc.), mainly to be found in
2020-06-01 12:33:24 +00:00
the OpenTravelData project (https://github.com/opentraveldata/opentraveldata).
2019-11-11 18:51:03 +00:00
The data files are available from https://transport-search.org/data/optd/por/
%{name} exposes a simple, clean and object-oriented, API. For instance,
the OPENTREP::interpretTravelRequest() method takes, as input, a string
containing the travel request, and yields, as output, the list of the
recognized terms as well as their corresponding types.
As an example, the travel request
'Washington DC Beijing Monday a/r +AA -UA 1 week 2 adults 1 dog' would give
the following list:
* Origin airport: Washington, DC, USA
* Destination airport: Beijing, China
* Date of travel: next Monday
* Date of return: 1 week after next Monday
* Preferred airline: American Airlines; non-preferred airline: United Airlines
* Number of travelers: 2 adults and a dog
The output can then be used by other systems, for instance to book the
corresponding travel or to visualize it on a map and calendar and to
share it with others.
%{name} makes an extensive use of existing open-source libraries for
increased functionality, speed and accuracy. In particular the
2020-06-01 12:33:24 +00:00
Boost (C++ Standard Extensions: https://www.boost.org) and
SOCI (https://github.com/SOCI) libraries are used.
Note that %{name} currently only recognizes points of reference (POR),
as to be found in the following file: https://bit.ly/3fQaddv
2020-06-01 12:33:24 +00:00
A good complementary tool is GeoBase
(https://opentraveldata.github.io/geobases), a Python-based software
able to access to any travel-related data source.
%package devel
Summary: Header files, libraries and development helper tools for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: pkgconfig
%description devel
This package contains the header files, shared libraries and
development helper tools for %{name}. If you would like to develop
programs using %{name}, you will need to install %{name}-devel.
%if %{with python3}
%package -n python3-%{name}
Summary: Python bindings for %{name}
Group: System Environment/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}
2020-06-01 12:33:24 +00:00
BuildRequires: python3-setuptools
BuildRequires: python3-devel
BuildRequires: boost-python3-devel
%description -n python3-%{name}
This package contains Python libraries for %{name}
%endif
%package doc
Summary: HTML documentation for the %{name} library
BuildArch: noarch
BuildRequires: tex(latex), tex(sectsty.sty), tex(tocloft.sty), tex(xtab.sty)
2020-06-01 12:33:24 +00:00
BuildRequires: texlive-epstopdf
BuildRequires: doxygen
BuildRequires: ghostscript
%description doc
This package contains HTML pages for %{name}. All that documentation
2020-06-01 12:33:24 +00:00
is generated thanks to Doxygen (https://doxygen.org). The content is
the same as what can be browsed online (https://opentrep.sourceforge.net).
Note that the PDF form of the reference manual is mainly available online
2020-06-01 12:33:24 +00:00
(https://opentrep.sourceforge.net/refman.pdf), as the one present in that
package is usually corrupted: it depends on the building conditions,
and it is therefore not reliable.
%prep
2021-06-26 16:40:33 +00:00
%setup -q -n %{name}-%{version}
%build
%cmake
2019-11-24 13:48:04 +00:00
%cmake_build
%install
%cmake_install
# Remove the Doxygen installer
rm -f %{buildroot}%{_docdir}/%{name}/html/installdox
# Remove additional documentation files (those files are already available
# in the project top directory)
rm -f %{buildroot}%{_docdir}/%{name}/{NEWS,README.md,AUTHORS}
%if %{with python3}
# (Pure) Python OpenTREP executable
chmod a-x %{buildroot}%{python3_sitearch}/py%{name}/Travel_pb2.py
%endif
#check
#ctest
%if 0%{?rhel} <= 7
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%endif
%if %{with python3}
%post -n python3-%{name}
ln -s -f %{python3_sitearch}/py%{name}/py%{name} %{_bindir}/py%{name}
%postun -n python3-%{name}
rm -f %{_bindir}/py%{name}
%endif
%files
%doc AUTHORS ChangeLog NEWS README.md
%license COPYING
%{_bindir}/%{name}-indexer
%{_bindir}/%{name}-searcher
%{_bindir}/%{name}-dbmgr
%{_libdir}/lib%{name}.so.0.*
%{_mandir}/man1/%{name}-indexer.1.*
%{_mandir}/man1/%{name}-searcher.1.*
%{_mandir}/man1/%{name}-dbmgr.1.*
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/data
%dir %{_datadir}/%{name}/data/por
%{_datadir}/%{name}/data/por/README.md
%{_datadir}/%{name}/data/por/create_trep_user_and_db.sql
%{_datadir}/%{name}/data/por/create_trep_tables_sqlite3.sql
%{_datadir}/%{name}/data/por/create_trep_tables_mysql.sql
%{_datadir}/%{name}/data/por/test_optd_por_public.csv
%{_datadir}/%{name}/data/por/test_optd_por_public_schema.sql
%{_datadir}/%{name}/data/por/test_world_schedule.csv
%files devel
%{_includedir}/%{name}
%{_bindir}/%{name}-config
%{_libdir}/lib%{name}.so
%{_libdir}/pkgconfig/%{name}.pc
%{_datadir}/aclocal/%{name}.m4
%{_datadir}/%{name}/CMake
%{_mandir}/man1/%{name}-config.1.*
%{_mandir}/man3/%{name}-library.3.*
%files doc
%doc %{_docdir}/%{name}/html
%license COPYING
%if %{with python3}
%files -n python3-%{name}
%{python3_sitearch}/py%{name}/
%{_mandir}/man1/py%{name}.1.*
%endif
%changelog
2021-11-14 11:55:57 +00:00
* Sun Nov 14 2021 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 0.07.10-1
- Upstream update
* Sun Nov 7 2021 Mamoru TASAKA <mtasaka@fedoraprorject.org> - 0.07.9-5
- Upstream patch to build with boost 1.76
2021-10-26 06:48:00 +00:00
* Tue Oct 26 2021 Adrian Reber <adrian@lisas.de> - 0.07.9-4
- Rebuilt for protobuf 3.18.1
2021-08-07 00:30:15 +00:00
* Sat Aug 07 2021 Jonathan Wakely <jwakely@redhat.com> - 0.07.9-3
- Rebuilt for Boost 1.76
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.07.9-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
2021-06-26 16:20:12 +00:00
* Sat Jun 26 2021 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 0.07.9-1
- Upstream upgrade
2021-06-04 18:14:03 +00:00
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 0.07.7-13
- Rebuilt for Python 3.10
2021-05-20 00:11:44 +00:00
* Thu May 20 2021 Pete Walter <pwalter@fedoraproject.org> - 0.07.7-12
- Rebuild for ICU 69
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.07.7-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Jan 25 2021 Honza Horak <hhorak@redhat.com> - 0.07.7-10
- Use correct name for the mariadb package
2021-01-22 21:02:57 +00:00
* Fri Jan 22 2021 Jonathan Wakely <jwakely@redhat.com> - 0.07.7-9
- Rebuilt for Boost 1.75
2021-01-13 15:40:09 +00:00
* Wed Jan 13 16:40:07 CET 2021 Adrian Reber <adrian@lisas.de> - 0.07.7-8
- Rebuilt for protobuf 3.14
2020-09-24 12:42:51 +00:00
* Thu Sep 24 2020 Adrian Reber <adrian@lisas.de> - 0.07.7-7
- Rebuilt for protobuf 3.13
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.07.7-6
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.07.7-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
2020-06-21 15:26:46 +00:00
* Sun Jun 21 2020 Adrian Reber <adrian@lisas.de> - 0.07.7-4
- Rebuilt for protobuf 3.12
* Tue Jun 16 2020 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 0.07.7-3
- Rebuilt for library dependency inconsistency
2020-06-07 10:55:38 +00:00
* Sun Jun 07 2020 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 0.07.7-2
- Rebuilt for SOCI 4.0.1-alpha2
2020-06-01 12:33:24 +00:00
* Mon Jun 01 2020 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 0.07.7-1
- Upstream update
2020-05-30 07:16:24 +00:00
* Sat May 30 2020 Jonathan Wakely <jwakely@redhat.com> - 0.07.4-7
- Rebuilt for Boost 1.73
2020-05-26 00:55:05 +00:00
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 0.07.4-6
- Rebuilt for Python 3.9
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.07.4-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
2019-12-19 03:37:25 +00:00
* Thu Dec 19 2019 Orion Poplawski <orion@nwra.com> - 0.07.4-4
- Rebuild for protobuf 3.11
* Sun Nov 24 2019 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 0.07.4-3
- Fixed a few typos in Pythn dependencies
* Fri Nov 15 2019 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 0.07.4-2
- Fixed the too long description line
* Mon Nov 11 2019 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 0.07.4-1
- Upstream update to 0.07.4