#
Name: travelccm
%global sfname travel-ccm
Version: 1.00.8
Release: 2%{?dist}
Summary: C++ Travel Customer Choice Model (CCM) Library
License: LGPLv2+
URL: https://github.com/airsim/%{name}
Source0: %{url}/archive/%{name}-%{version}.tar.gz
BuildRequires: gcc-c++
BuildRequires: cmake
BuildRequires: boost-devel
BuildRequires: soci-mysql-devel
BuildRequires: soci-sqlite3-devel
BuildRequires: readline-devel
BuildRequires: stdair-devel
%description
%{name} aims at providing a clean API, and the corresponding
C++ implementation, for choosing one item among a set of travel
solutions, given demand-related characteristics (e.g.,
Willingness-To-Pay, preferred airline, preferred cabin, etc.).
The %{name} C++ library implements some simple Customer Choice Models
(CCM), as referenced in the literature (PhD dissertations at MIT, for
instance: https://dspace.mit.edu).
The %{name} C++ library exposes a simple, clean and object-oriented,
API. For instance, the choose() method takes, as input, both a
structure representing the travel request (e.g., "from Washington, DC,
US, to Beijing, China, on the 25th of May") and a list of travel
solutions (as provided by the Airline Travel Solution Provider (AirTSP)
project: https://github.com/airsim/airtsp), and yields, as output, the
chosen item.
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
Boost (C++ Standard Extensions: https://www.boost.org) library is used.
Install the %{name} package if you need a library of basic C++ objects
for Customer-Choice Modeling (CCM), mainly for simulation purpose.
%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.
%package doc
Summary: HTML documentation for the %{name} library
BuildArch: noarch
BuildRequires: tex(latex)
BuildRequires: texlive-epstopdf
BuildRequires: doxygen
BuildRequires: ghostscript
%description doc
This package contains HTML pages, as well as a PDF reference manual,
for %{name}. All that documentation is generated thanks to Doxygen
(http://doxygen.org). The content is the same as what can be browsed
online (http://%{name}.org).
%prep
%autosetup -n %{name}-%{name}-%{version}
%build
%cmake
%cmake_build
%install
%cmake_install
# Remove the installer generated by Doxygen
rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}/html/installdox
# Remove additional documentation files (those files are already available
# in the project top directory)
rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}/{NEWS,README.md,AUTHORS}
%check
%ctest
%files
%license COPYING
%doc AUTHORS ChangeLog NEWS README.md
%{_bindir}/%{name}
%{_libdir}/lib%{name}.so.*
%{_mandir}/man1/%{name}.1.*
%files devel
%{_includedir}/%{name}
%{_bindir}/%{name}-config
%{_libdir}/lib%{name}.so
%{_libdir}/pkgconfig/%{name}.pc
%{_datadir}/aclocal/%{name}.m4
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/CMake
%{_mandir}/man1/%{name}-config.1.*
%{_mandir}/man3/%{name}-library.3.*
%files doc
%doc %{_docdir}/%{name}/html
%doc COPYING
%changelog
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.00.8-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Mon May 01 2023 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 1.00.8-1
- Upstream upgrade
* Mon Feb 20 2023 Jonathan Wakely <jwakely@redhat.com> - 1.00.7-4
- Rebuilt for Boost 1.81
%autochangelog