# Name: travelccm Version: 1.00.9 Release: %autorelease Summary: C++ Travel Customer Choice Model (CCM) Library License: LGPL-2.1-or-later URL: https://github.com/airsim/%{name} Source0: %{url}/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz BuildRequires: gcc-c++ BuildRequires: cmake BuildRequires: boost-devel BuildRequires: soci-mysql-devel BuildRequires: soci-sqlite3-devel BuildRequires: pkgconfig(readline) BuildRequires: pkgconfig(stdair) %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 (https://doxygen.org). The content is the same as what can be browsed online (https://github.com/airsim/%{name}). %prep %autosetup %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}/ %license COPYING %changelog %autochangelog