commit: 341dfd553cdd27982a479a753dc529eca6975c1d Author: Pavel Sobolev <contact <AT> paveloom <DOT> dev> AuthorDate: Thu Aug 14 09:36:04 2025 +0000 Commit: David Roman <davidroman96 <AT> gmail <DOT> com> CommitDate: Tue Aug 19 13:26:53 2025 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=341dfd55
dev-cpp/safeint: new package, add 3.0.28a Signed-off-by: Pavel Sobolev <contact <AT> paveloom.dev> dev-cpp/safeint/Manifest | 1 + .../safeint-3.0.28a-install-the-library.patch | 26 ++++++++++++++ .../safeint-3.0.28a-make-tests-optional.patch | 25 +++++++++++++ .../safeint-3.0.28a-remove-broken-tests.patch | 41 ++++++++++++++++++++++ dev-cpp/safeint/metadata.xml | 12 +++++++ dev-cpp/safeint/safeint-3.0.28a.ebuild | 32 +++++++++++++++++ 6 files changed, 137 insertions(+) diff --git a/dev-cpp/safeint/Manifest b/dev-cpp/safeint/Manifest new file mode 100644 index 0000000000..114e557924 --- /dev/null +++ b/dev-cpp/safeint/Manifest @@ -0,0 +1 @@ +DIST safeint-3.0.28a.tar.gz 589772 BLAKE2B e3fb1f9f43034f86d044a25063fc0762ba73326ed2917a382e48b765d36d919397b97ca548901fa76d645a3b8c1408367ab92533d75a156ffcf8bf78554e7e12 SHA512 04f3d4202b7069f2970811311c422b48225466887768a1f1fcdc9417e2b6a1ebd64f83ee86abe25e667e7945b011b5ef7ce2bbc83ce8e518fc4bf609fa52d77c diff --git a/dev-cpp/safeint/files/safeint-3.0.28a-install-the-library.patch b/dev-cpp/safeint/files/safeint-3.0.28a-install-the-library.patch new file mode 100644 index 0000000000..076f5ef3cb --- /dev/null +++ b/dev-cpp/safeint/files/safeint-3.0.28a-install-the-library.patch @@ -0,0 +1,26 @@ +From: Pavel Sobolev <[email protected]> +Subject: [PATCH] Install the library. + +Bug: https://github.com/dcleblanc/SafeInt/issues/67 + +Signed-off-by: Pavel Sobolev <[email protected]> + +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -26,4 +26,14 @@ add_subdirectory(Test/ClangTest) + add_subdirectory(Test/GccTest) + add_subdirectory(Test/MsvcTest) + +-enable_testing() +\ No newline at end of file ++enable_testing() ++ ++add_library(SafeInt INTERFACE) ++target_include_directories(SafeInt INTERFACE .) ++ ++include(GNUInstallDirs) ++install( ++ FILES SafeInt.hpp safe_math.h safe_math_impl.h ++ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" ++) ++install(FILES LICENSE DESTINATION "${CMAKE_INSTALL_DOCDIR}") diff --git a/dev-cpp/safeint/files/safeint-3.0.28a-make-tests-optional.patch b/dev-cpp/safeint/files/safeint-3.0.28a-make-tests-optional.patch new file mode 100644 index 0000000000..fb8fd28dfc --- /dev/null +++ b/dev-cpp/safeint/files/safeint-3.0.28a-make-tests-optional.patch @@ -0,0 +1,25 @@ +From: Pavel Sobolev <[email protected]> +Subject: [PATCH] Make tests optional. + +Signed-off-by: Pavel Sobolev <[email protected]> + +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -22,11 +22,13 @@ set(CMAKE_CXX_STANDARD_REQUIRED True) + # - Intel (not regularly tested) + # other compilers on a best effort + +-add_subdirectory(Test/ClangTest) +-add_subdirectory(Test/GccTest) +-add_subdirectory(Test/MsvcTest) ++include(CTest) + +-enable_testing() ++if (BUILD_TESTING) ++ add_subdirectory(Test/ClangTest) ++ add_subdirectory(Test/GccTest) ++ add_subdirectory(Test/MsvcTest) ++endif() + + add_library(SafeInt INTERFACE) + target_include_directories(SafeInt INTERFACE .) diff --git a/dev-cpp/safeint/files/safeint-3.0.28a-remove-broken-tests.patch b/dev-cpp/safeint/files/safeint-3.0.28a-remove-broken-tests.patch new file mode 100644 index 0000000000..11ae15a0c7 --- /dev/null +++ b/dev-cpp/safeint/files/safeint-3.0.28a-remove-broken-tests.patch @@ -0,0 +1,41 @@ +From: Pavel Sobolev <[email protected]> +Subject: [PATCH] Remove broken tests. + +Bug: https://github.com/dcleblanc/SafeInt/issues/55 + +Signed-off-by: Pavel Sobolev <[email protected]> + +--- a/Test/GccTest/CMakeLists.txt ++++ b/Test/GccTest/CMakeLists.txt +@@ -105,15 +105,6 @@ else() + + target_compile_options(CompileTest_gcc PUBLIC -Wall) + +- add_executable(CompileTest_gcc17 +- ../CompileTest.cpp +- ../ConstExpr.cpp +- ../CleanCompile.cpp +- ../../SafeInt.hpp +- ) +- +- target_compile_options(CompileTest_gcc17 PUBLIC -Wall -std=c++17) +- + add_executable(CompileTest_gcc14 + ../CompileTest.cpp + ../ConstExpr.cpp +@@ -132,15 +123,6 @@ else() + + target_compile_options(CompileTest_gcc14_NoEH PUBLIC -Wall -std=c++14 -fno-exceptions) + +- add_executable(CompileTest_gcc98 +- ../CompileTest.cpp +- ../ConstExpr.cpp +- ../CleanCompile.cpp +- ../../SafeInt.hpp +- ) +- +- target_compile_options(CompileTest_gcc98 PUBLIC -D SAFEINT_USE_CPLUSCPLUS_98 -Wall -std=c++98 -fno-exceptions) +- + add_executable(safe_math_test_gcc + ../c_safe_math/safe_math_test.c + ../c_safe_math/safe_math_test.h diff --git a/dev-cpp/safeint/metadata.xml b/dev-cpp/safeint/metadata.xml new file mode 100644 index 0000000000..1558bf4d00 --- /dev/null +++ b/dev-cpp/safeint/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>[email protected]</email> + <name>Pavel Sobolev</name> + </maintainer> + <upstream> + <bugs-to>https://github.com/dcleblanc/SafeInt/issues</bugs-to> + <remote-id type="github">dcleblanc/SafeInt</remote-id> + </upstream> +</pkgmetadata> diff --git a/dev-cpp/safeint/safeint-3.0.28a.ebuild b/dev-cpp/safeint/safeint-3.0.28a.ebuild new file mode 100644 index 0000000000..e260a6393e --- /dev/null +++ b/dev-cpp/safeint/safeint-3.0.28a.ebuild @@ -0,0 +1,32 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="A class library for C++ that manages integer overflows" +HOMEPAGE="https://github.com/dcleblanc/SafeInt" +SRC_URI="https://github.com/dcleblanc/SafeInt/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" + +S="${WORKDIR}/SafeInt-${PV}" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" +IUSE="test" +RESTRICT="!test? ( test )" + +PATCHES=( + "${FILESDIR}/${PN}-3.0.28a-install-the-library.patch" + "${FILESDIR}/${PN}-3.0.28a-make-tests-optional.patch" + "${FILESDIR}/${PN}-3.0.28a-remove-broken-tests.patch" +) + +src_configure() { + local mycmakeargs=( + -DBUILD_TESTING=$(usex test) + ) + + cmake_src_configure +}
