diff --git a/.gitignore b/.gitignore index 8efbc42..5c83275 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ /geometry-test-data-a623c19a91947a9d29f9ec5625ce620ab42325dc.tar.gz /wagyu-0.4.2.tar.gz +/wagyu-0.4.3.tar.gz +/wagyu-0.5.0.tar.gz diff --git a/sources b/sources index f0e7184..02d70e3 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ +SHA512 (wagyu-0.5.0.tar.gz) = d2ef6c056b25e60677da4f53154790558ddb43c56aa117a4d5108f8c7686cceff9e5d54d71138e2eb504f053315d28f7cb8190ff45833c5606d511b685acf40d SHA512 (geometry-test-data-a623c19a91947a9d29f9ec5625ce620ab42325dc.tar.gz) = 373dcd7ead751975e75fb0765362dd20bd37e621ca22ecb4592298b2303d9554731cf67cfb7a124e1c78397db92c5bc1f77d0aebb4f7999212b86e2ffba11690 -SHA512 (wagyu-0.4.2.tar.gz) = dba4ae4575288c972eb4afacaa218a6fb86bb7ade8e606730718d5f8d3e1426410c75e45d8dae60006b4151850b909337f194f8512911d029d80a731ed265c8a diff --git a/wagyu-benchmark.patch b/wagyu-benchmark.patch new file mode 100644 index 0000000..d0d2415 --- /dev/null +++ b/wagyu-benchmark.patch @@ -0,0 +1,32 @@ +commit 3495c2833a08fa45d2bca6f8847617ba3fc550be +Author: Tom Hughes +Date: Wed Mar 4 19:06:49 2020 +0000 + + Remove benchmarking support to avoid libbenchmark dependency + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 635f298..c098b0f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -46,9 +46,6 @@ include_directories(SYSTEM ${MASON_PACKAGE_geometry_INCLUDE_DIRS}) + mason_use(catch VERSION 1.9.6 HEADER_ONLY) + include_directories(SYSTEM ${MASON_PACKAGE_catch_INCLUDE_DIRS}) + +-mason_use(benchmark VERSION 1.4.1) +-include_directories(SYSTEM ${MASON_PACKAGE_benchmark_INCLUDE_DIRS}) +- + include_directories("${PROJECT_SOURCE_DIR}/include") + + file(GLOB TEST_SOURCES tests/unit/*.cpp) +@@ -59,11 +56,3 @@ add_executable(fixture-tests ${TEST_SOURCES}) + + file(GLOB FUZZER_SOURCES fuzzer/*.cpp) + add_executable(fuzzer-tests ${FUZZER_SOURCES}) +- +-# libbenchmark.a supports threads and therefore needs pthread support +-find_package(Threads REQUIRED) +-file(GLOB BENCH_SOURCES bench/*.cpp) +-add_executable(bench-tests ${BENCH_SOURCES}) +- +-# link benchmark static library to the bench-tests binary so the bench tests know where to find the benchmark impl code +-target_link_libraries(bench-tests ${MASON_PACKAGE_benchmark_STATIC_LIBS} ${MASON_PACKAGE_boost_libfilesystem_STATIC_LIBS} ${MASON_PACKAGE_boost_libsystem_STATIC_LIBS} ${CMAKE_THREAD_LIBS_INIT}) diff --git a/wagyu-cxx14.patch b/wagyu-cxx14.patch new file mode 100644 index 0000000..71e5437 --- /dev/null +++ b/wagyu-cxx14.patch @@ -0,0 +1,18 @@ +commit ec4832e2b9cc9cd44ec9d2122d5f362899ca8ef5 +Author: Tom Hughes +Date: Fri Jan 29 14:20:38 2021 +0000 + + Switch to C++14 as Boost.Geometry requires it from Boost 1.75 + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index bdadb90..a346401 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,6 +1,6 @@ + cmake_minimum_required(VERSION 3.8) + project(hpp_skel LANGUAGES CXX) +-set(CMAKE_CXX_STANDARD 11) ++set(CMAKE_CXX_STANDARD 14) + set(CMAKE_CXX_STANDARD_REQUIRED on) + set(CMAKE_EXPORT_COMPILE_COMMANDS ON) + diff --git a/wagyu-mason.patch b/wagyu-mason.patch index baa084e..3f69123 100644 --- a/wagyu-mason.patch +++ b/wagyu-mason.patch @@ -1,34 +1,53 @@ -commit 478476f5c8e32c5c88476f01a7d5936e5a02a56f +commit da88110aea24b8953614449f78aa12e6a5c96826 Author: Tom Hughes Date: Sun Apr 9 14:59:06 2017 +0100 Rip out mason stuff - we use our own packages -diff --git a/Makefile b/Makefile -index cbfb1ba..a2f4365 100644 ---- a/Makefile -+++ b/Makefile -@@ -14,21 +14,10 @@ ANGUS_DEFINES := -D'CLIPPER_INTPOINT_IMPL=mapbox::geometry::point' -D'CLIP +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c098b0f..bdadb90 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -4,8 +4,6 @@ set(CMAKE_CXX_STANDARD 11) + set(CMAKE_CXX_STANDARD_REQUIRED on) + set(CMAKE_EXPORT_COMPILE_COMMANDS ON) - default: test +-include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/mason.cmake) +- + option(WERROR "Add -Werror flag to build (turns warnings into errors)" ON) --mason_packages/headers/boost/$(BOOST_VERSION)/include: -- ./mason.sh install --header-only boost $(BOOST_VERSION) -- --mason_packages/headers/rapidjson/$(RAPIDJSON_VERSION)/include: -- ./mason.sh install --header-only rapidjson $(RAPIDJSON_VERSION) -- --mason_packages/headers/geometry/$(GEOMETRY_VERSION)/include: -- ./mason.sh install --header-only geometry $(GEOMETRY_VERSION) -- --deps: mason_packages/headers/boost/$(BOOST_VERSION)/include mason_packages/headers/rapidjson/$(RAPIDJSON_VERSION)/include mason_packages/headers/geometry/$(GEOMETRY_VERSION)/include -- --build-test: tests/* include/mapbox/geometry/* deps Makefile -+build-test: tests/* include/mapbox/geometry/* Makefile - $(CXX) $(RELEASE_FLAGS) tests/test.cpp tests/unit/*.cpp $(WARNING_FLAGS) $(CXXFLAGS) -isystem ./tests -o test + # configure optimization +@@ -23,28 +21,18 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + set(DESIRED_WARNINGS "${DESIRED_WARNINGS} -Wmost") + endif() --build-debug: tests/* include/mapbox/geometry/* deps Makefile -+build-debug: tests/* include/mapbox/geometry/* Makefile - $(CXX) $(DEBUG_FLAGS) tests/test.cpp tests/unit/*.cpp $(WARNING_FLAGS) $(CXXFLAGS) -isystem ./tests -o test +-# Note: -D_GLIBCXX_USE_CXX11_ABI=0 is needed to support mason packages that are precompiled libs +-# Currently we only depend on a header only library, but this will help avoid issues when more libs are added via mason +-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OPTIMIZATION_FLAGS} -D_GLIBCXX_USE_CXX11_ABI=0 ${DESIRED_WARNINGS}") ++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OPTIMIZATION_FLAGS} ${DESIRED_WARNINGS}") + + if (WERROR) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror") + endif() + +-# mason_use is a mason function within the mason.cmake file and provides ready-to-go vars, like "STATIC_LIBS" and "INCLUDE_DIRS" +-mason_use(boost_libfilesystem VERSION 1.72.0) +-mason_use(boost_libsystem VERSION 1.72.0) +-mason_use(boost VERSION 1.72.0 HEADER_ONLY) +-include_directories(SYSTEM ${MASON_PACKAGE_boost_INCLUDE_DIRS}) +- +-mason_use(rapidjson VERSION 1.1.0 HEADER_ONLY) +-include_directories(SYSTEM ${MASON_PACKAGE_rapidjson_INCLUDE_DIRS}) ++find_package(Boost 1.69 REQUIRED COMPONENTS filesystem system) ++include_directories(SYSTEM ${Boost_INCLUDE_DIRS}) + +-mason_use(geometry VERSION 1.0.0 HEADER_ONLY) +-include_directories(SYSTEM ${MASON_PACKAGE_geometry_INCLUDE_DIRS}) ++find_package(RapidJSON) + +-mason_use(catch VERSION 1.9.6 HEADER_ONLY) +-include_directories(SYSTEM ${MASON_PACKAGE_catch_INCLUDE_DIRS}) ++include_directories(SYSTEM /usr/include/catch) + + include_directories("${PROJECT_SOURCE_DIR}/include") - build-fixture-tester-r: diff --git a/wagyu.spec b/wagyu.spec index 1d9b450..d10703c 100644 --- a/wagyu.spec +++ b/wagyu.spec @@ -1,25 +1,30 @@ -%global boost_version 1.63.0 +%global boost_version 1.69.0 %global rapidjson_version 1.1.0 -%global geometry_version 0.9.0 +%global geometry_version 1.0.0 %global testcommit a623c19a91947a9d29f9ec5625ce620ab42325dc %global debug_package %{nil} Name: wagyu -Version: 0.4.2 -Release: 3%{?dist} +Version: 0.5.0 +Release: 14%{?dist} Summary: A general library for geometry operations of union, intersections, difference, and xor -License: Boost +License: BSL-1.0 AND BSD-3-Clause URL: https://github.com/mapbox/wagyu Source0: https://github.com/mapbox/wagyu/archive/%{version}/%{name}-%{version}.tar.gz Source1: https://github.com/mapnik/geometry-test-data/archive/%{testcommit}/geometry-test-data-%{testcommit}.tar.gz +# Remove benchmarking support to avoid libbenchmark dependency +Patch0: wagyu-benchmark.patch # Rip out mason stuff - we use our own packages -Patch0: wagyu-mason.patch +Patch1: wagyu-mason.patch +# https://github.com/mapbox/wagyu/pull/109 +Patch2: wagyu-cxx14.patch +BuildRequires: cmake make BuildRequires: gcc-c++ -BuildRequires: catch-devel +BuildRequires: catch1-devel BuildRequires: boost-devel >= %{boost_version} BuildRequires: boost-static >= %{boost_version} BuildRequires: rapidjson-devel >= %{rapidjson_version} @@ -64,6 +69,7 @@ rm -f tests/catch.hpp %build +%make_build release CXXFLAGS="-I$PWD/include %{optflags}" WERROR=False %install @@ -72,7 +78,7 @@ cp -pr include/mapbox %{buildroot}%{_includedir} %check -%make_build test CXXFLAGS="-I$PWD/include -I/usr/include/catch %{optflags}" RELEASE_FLAGS="" +%make_build test CXXFLAGS="-I$PWD/include %{optflags}" WERROR=False %files devel @@ -82,6 +88,69 @@ cp -pr include/mapbox %{buildroot}%{_includedir} %changelog +* Fri Jul 17 2026 Fedora Release Engineering - 0.5.0-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + +* Sat Jan 17 2026 Fedora Release Engineering - 0.5.0-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Fri Jul 25 2025 Fedora Release Engineering - 0.5.0-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Sun Jan 19 2025 Fedora Release Engineering - 0.5.0-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Sat Jul 20 2024 Fedora Release Engineering - 0.5.0-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Sat Jan 27 2024 Fedora Release Engineering - 0.5.0-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jul 22 2023 Fedora Release Engineering - 0.5.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sat Jan 21 2023 Fedora Release Engineering - 0.5.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Jul 23 2022 Fedora Release Engineering - 0.5.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Jan 22 2022 Fedora Release Engineering - 0.5.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Jul 23 2021 Fedora Release Engineering - 0.5.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jan 27 2021 Fedora Release Engineering - 0.5.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 0.5.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Mar 4 2020 Tom Hughes - 0.5.0-1 +- Update to 0.5.0 upstream release + +* Fri Jan 31 2020 Fedora Release Engineering - 0.4.3-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sat Jul 27 2019 Fedora Release Engineering - 0.4.3-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sun Feb 03 2019 Fedora Release Engineering - 0.4.3-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sat Jul 14 2018 Fedora Release Engineering - 0.4.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Fri Feb 09 2018 Fedora Release Engineering - 0.4.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Mon Jan 15 2018 Tom Hughes - 0.4.3-2 +- Build using catch1 + +* Mon Nov 20 2017 Tom Hughes - 0.4.3-1 +- Update to 0.4.3 upstream release + * Thu Aug 03 2017 Fedora Release Engineering - 0.4.2-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild