## START: Set by rpmautospec ## (rpmautospec version 0.8.2) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 20; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec Name: casc Summary: Colored Abstract Simplicial Complex (CASC) Library Version: 1.0.5 Release: %autorelease URL: https://github.com/ctlee/casc License: LGPL-2.1-or-later Source: %{url}/archive/v%{version}/casc-%{version}.tar.gz # This is a backport of commit 4c094080b7eaccf345dab8d78dde4d75ef51c516 from the # development branch to the 1.0.5 release. # # Support using an external GoogleTest library (#13) # # Adds the EXTERNAL_GTEST CMake option, which defaults to OFF, preserving # the current behavior. # # While this is not recommended by the GoogleTest authors, it is useful # for Linux distribution packaging. # # https://github.com/ctlee/casc/pull/13 # https://github.com/ctlee/casc/commit/4c094080b7eaccf345dab8d78dde4d75ef51c516 Patch: casc-1.0.5-external-gtest.patch # This backports commit 52f105bf7407e90c8bef10cce2a41b7efcb21679, “fix: # initialize level_count memory”, from the development branch to release 1.0.5. # # https://github.com/ctlee/casc/pull/12 Patch: casc-1.0.5-levelcount-memory.patch # This is a backport of commit 0ea03e39961312986b80eac2c9d259fc525e590e, “fix: # Stop InnerVisitor from reading past end of array”, from the development # branch to release 1.0.5. # # It fixes upstream issue #14, “Tests fail when libstdc++ assertions are # enabled” (https://github.com/ctlee/casc/issues/14). Patch: casc-1.0.5-innervisitor.patch # The external-gtest patch introduced the EXTERNAL_GTEST CMake option but # left its default as OFF. In offline (sandboxed) build environments such # as Fedora's koji/mock on riscv64, cmake's FetchContent machinery cannot # reach github.com, so if the -DEXTERNAL_GTEST:BOOL=ON flag is not # honoured for any reason the build fails with a network error. Flip the # default to ON so distribution builds always use the system GTest package. Patch: casc-1.0.5-external-gtest-default-on.patch # Update Free Software Foundation postal addresses # # Ref.: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html#SEC4 # # Note that we must not patch the license file for legal reasons # (https://fedoraproject.org/wiki/Common_Rpmlint_issues#incorrect-fsf-address), # but also that: # # • The license file (here, COPYING.md) already has the correct address # • Upstream has accepted the PR corresponding to this patch # # https://github.com/ctlee/casc/pull/16 # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} BuildRequires: gcc-c++ BuildRequires: cmake # The make backend would work just as well; Ninja is our choice BuildRequires: ninja-build # For tests: BuildRequires: cmake(gtest) # No compiled binaries are installed, so this would be empty. However, # packaging guidelines for header-only libraries insist that the base package # must not be noarch: # https://docs.fedoraproject.org/en-US/packaging-guidelines/#_use_noarch_only_in_subpackages %global debug_package %{nil} %global common_description %{expand: CASC is a modern and header-only C++ library which provides a data structure to represent arbitrary dimension abstract simplicial complexes with user-defined classes stored directly on the simplices at each dimension. This is achieved by taking advantage of the combinatorial nature of simplicial complexes and new C++ code features such as: variadic templates and automatic function return type deduction. Essentially CASC stores the full topology of the complex according to a Hasse diagram. The representation of the topology is decoupled from interactions of user data through the use of metatemplate programming.} %description %{common_description} %package devel Summary: %{summary} BuildArch: noarch # Header-only library # https://docs.fedoraproject.org/en-US/packaging-guidelines/#_packaging_header_only_libraries Provides: casc-static = %{version}-%{release} %description devel %{common_description} %prep %autosetup -p1 %conf %cmake -DBUILD_CASCTESTS:BOOL=ON -DEXTERNAL_GTEST:BOOL=ON -GNinja %build %cmake_build %install %cmake_install %check %ctest %files devel %license COPYING.md %{_includedir}/casc/ %changelog ## START: Generated by rpmautospec * Wed Jul 23 2025 Fedora Release Engineering - 1.0.5-20 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild * Mon Jun 16 2025 Benjamin A. Beasley - 1.0.5-19 - F43+: To simplify packaging, drop the -doc subpackage * Fri Apr 25 2025 Benjamin A. Beasley - 1.0.5-18 - In the .rpmlintrc file, reference PR to update LGPL texts * Thu Jan 16 2025 Fedora Release Engineering - 1.0.5-17 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild * Thu Oct 31 2024 Benjamin A. Beasley - 1.0.5-16 - Invoke %%cmake in %%conf rather than in %%build * Wed Jul 17 2024 Fedora Release Engineering - 1.0.5-15 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild * Tue Jan 23 2024 Fedora Release Engineering - 1.0.5-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Fri Jan 19 2024 Fedora Release Engineering - 1.0.5-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Wed Jul 19 2023 Fedora Release Engineering - 1.0.5-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild * Sat Jun 17 2023 Benjamin A. Beasley - 1.0.5-10 - Use new (rpm 4.17.1+) bcond style * Fri May 26 2023 Benjamin A. Beasley - 1.0.5-9 - Do not number the Source or patches * Sun Jan 22 2023 Benjamin A. Beasley - 1.0.5-8 - Revert "Work around missing dependency on texlive-wasy" * Thu Jan 19 2023 Benjamin A. Beasley - 1.0.5-7 - Work around missing dependency on texlive-wasy * Wed Jan 18 2023 Fedora Release Engineering - 1.0.5-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Mon Dec 19 2022 Benjamin A. Beasley - 1.0.5-5 - Indicate dirs. in files list with trailing slashes * Mon Dec 19 2022 Benjamin A. Beasley - 1.0.5-4 - Leaf package: remove i686 support * Sun Jul 31 2022 Benjamin A. Beasley - 1.0.5-3 - Update License field to SPDX * Wed Jul 20 2022 Fedora Release Engineering - 1.0.5-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Mon May 09 2022 Benjamin A. Beasley - 1.0.5-1 - Initial package (close RHBZ#2027121) ## END: Generated by rpmautospec