Blob Blame History Raw
Name:           tlx
Version:        0.6.1
Release:        3%{?dist}
Summary:        Sophisticated C++ data structures, algorithms, and helpers

License:        BSL-1.0
URL:            https://panthema.net/tlx
Source0:        https://github.com/tlx/tlx/archive/v%{version}/%{name}-%{version}.tar.gz

BuildRequires:  cmake
BuildRequires:  doxygen
BuildRequires:  gcc-c++
BuildRequires:  make

%description
TLX is a collection of sophisticated C++ data structures, algorithms,
and miscellaneous helpers.  It contains:
- The fast tournament (loser) trees from MCSTL by Johannes Singler, with
  many fixes.
- A fast intrusive reference counter called CountingPtr, which has
  considerably less overhead than std::shared_ptr.
- Efficient and fast multiway merging algorithms from Johannes Singler,
  which were previously included with gcc.  The tlx version has many
  fixes and is available for clang and MSVC++.
- Many string manipulation algorithms for std::string.
- An improved version of the stx-btree implementation, which is
  basically always a better alternative to std::map (but not
  std::unordered_map).
- A copy of siphash for string hashing.
- Efficient sequential string sorting implementations such as radix sort
  and multikey quicksort.
- Much more; see the doxygen documentation.

%package       devel
Summary:       Headers and library links to build with tlx
Requires:      %{name}%{?_isa} = %{version}-%{release}

%description   devel
Headers and library links to build with tlx.

%package       doc
# The content is BSL-1.0.  Other licenses are due to files installed by doxygen.
# doxygen-html/*.png: GPL-1.0-or-later
# doxygen-html/*.js: MIT
License:       BSL-1.0 AND GPL-1.0-or-later AND MIT
Summary:       Doxygen documentation for tlx
BuildArch:     noarch

%description   doc
Doxygen documentation for tlx.

%prep
%autosetup

%build
%cmake \
  -DTLX_BUILD_SHARED_LIBS:BOOL=ON \
  -DTLX_BUILD_STATIC_LIBS:BOOL=OFF \
  -DTLX_BUILD_STRING_SORTING:BOOL=ON \
  -DTLX_BUILD_TESTS:BOOL=ON \
  %{nil}
%cmake_build
doxygen

%install
%cmake_install

%check
%ctest

%files
%license LICENSE
%doc AUTHORS README.md
%{_libdir}/libtlx.so.0.6*

%files         devel
%{_includedir}/%{name}/
%{_libdir}/cmake/tlx/
%{_libdir}/libtlx.so
%{_libdir}/pkgconfig/tlx.pc

%files         doc
%doc doxygen-html

%changelog
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild

* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild

* Sat Jun 10 2023 Jerry James <loganjerry@gmail.com> - 0.6.1-1
- Version 0.6.1
- Upstream sets the SOVERSION again

* Wed May 17 2023 Jerry James <loganjerry@gmail.com> - 0.6.0-1
- Version 0.6.0
- Drop upstreamed cstdint patch
- Upstream fails to set the SOVERSION, so we do it for them for now

* Sat Jan 21 2023 Jerry James <loganjerry@gmail.com> - 0.5.20210401-2
- Add cstdint patch to fix FTBFS

* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.20210401-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild

* Wed Dec 14 2022 Jerry James <loganjerry@gmail.com> - 0.5.20210401-1
- Version 0.5.20210401
- Convert License tag to SPDX

* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.20200222-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild

* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.20200222-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild

* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.20200222-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.20200222-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.20200222-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Wed Jun  3 2020 Jerry James <loganjerry@gmail.com> - 0.5.20200222-1
- Version 0.5.2020022
- Drop -endian patch

* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.20191212-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

* Fri Dec 13 2019 Jerry James <loganjerry@gmail.com> - 0.5.20191212-1
- Initial RPM