summaryrefslogtreecommitdiff
path: root/dev-cpp
diff options
context:
space:
mode:
Diffstat (limited to 'dev-cpp')
-rw-r--r--dev-cpp/safeint/Manifest1
-rw-r--r--dev-cpp/safeint/files/safeint-3.0.28a-install-the-library.patch26
-rw-r--r--dev-cpp/safeint/files/safeint-3.0.28a-make-tests-optional.patch25
-rw-r--r--dev-cpp/safeint/files/safeint-3.0.28a-remove-broken-tests.patch41
-rw-r--r--dev-cpp/safeint/metadata.xml12
-rw-r--r--dev-cpp/safeint/safeint-3.0.28a.ebuild32
6 files changed, 137 insertions, 0 deletions
diff --git a/dev-cpp/safeint/Manifest b/dev-cpp/safeint/Manifest
new file mode 100644
index 000000000000..114e55792421
--- /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 000000000000..076f5ef3cbc4
--- /dev/null
+++ b/dev-cpp/safeint/files/safeint-3.0.28a-install-the-library.patch
@@ -0,0 +1,26 @@
+From: Pavel Sobolev <contact@paveloom.dev>
+Subject: [PATCH] Install the library.
+
+Bug: https://github.com/dcleblanc/SafeInt/issues/67
+
+Signed-off-by: Pavel Sobolev <contact@paveloom.dev>
+
+--- 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 000000000000..fb8fd28dfc86
--- /dev/null
+++ b/dev-cpp/safeint/files/safeint-3.0.28a-make-tests-optional.patch
@@ -0,0 +1,25 @@
+From: Pavel Sobolev <contact@paveloom.dev>
+Subject: [PATCH] Make tests optional.
+
+Signed-off-by: Pavel Sobolev <contact@paveloom.dev>
+
+--- 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 000000000000..11ae15a0c76e
--- /dev/null
+++ b/dev-cpp/safeint/files/safeint-3.0.28a-remove-broken-tests.patch
@@ -0,0 +1,41 @@
+From: Pavel Sobolev <contact@paveloom.dev>
+Subject: [PATCH] Remove broken tests.
+
+Bug: https://github.com/dcleblanc/SafeInt/issues/55
+
+Signed-off-by: Pavel Sobolev <contact@paveloom.dev>
+
+--- 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 000000000000..8282ea84a406
--- /dev/null
+++ b/dev-cpp/safeint/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>contact@paveloom.dev</email>
+ <name>Pavel Sobolev</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/dcleblanc/SafeInt/issues</bugs-to>
+ </upstream>
+ <origin>gentoo-guru-overlay</origin>
+</pkgmetadata> \ No newline at end of file
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 000000000000..e260a6393e92
--- /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
+}