commit: 6d97df2fd2ae412ee0cf1d4ff84f47b148acf0e4 Author: Steffen Winter <steffen.winter <AT> proton <DOT> me> AuthorDate: Wed Feb 7 12:37:37 2024 +0000 Commit: Steffen Winter <stffn.mobil <AT> freenet <DOT> de> CommitDate: Wed Feb 7 12:48:20 2024 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=6d97df2f
dev-cpp/scnlib: new package, add 2.0.0 Signed-off-by: Steffen Winter <steffen.winter <AT> proton.me> dev-cpp/scnlib/Manifest | 1 + .../files/scnlib-2.0.0-no-external-test-deps.patch | 59 ++++++++++++++++++++++ dev-cpp/scnlib/metadata.xml | 11 ++++ dev-cpp/scnlib/scnlib-2.0.0.ebuild | 42 +++++++++++++++ 4 files changed, 113 insertions(+) diff --git a/dev-cpp/scnlib/Manifest b/dev-cpp/scnlib/Manifest new file mode 100644 index 0000000000..d9e97204c7 --- /dev/null +++ b/dev-cpp/scnlib/Manifest @@ -0,0 +1 @@ +DIST scnlib-2.0.0.tar.gz 517424 BLAKE2B 152b2b8510c3ab523349e00b5a139c2ea0e6cc234221eb5a472d746ba2b2d176ec9e6515601578b590c9b2d9cb97a136dcf361f73a56c672b3dfd00350a39f60 SHA512 5bca5a43dce9be019775a0cac64945c4b4cdadbecfa8d8e0889b6ed888c3a37ae757aa5d8d60d40418d0058641a40ab6dce35a1de84e9a9a2a6f5b4d12bceed4 diff --git a/dev-cpp/scnlib/files/scnlib-2.0.0-no-external-test-deps.patch b/dev-cpp/scnlib/files/scnlib-2.0.0-no-external-test-deps.patch new file mode 100644 index 0000000000..e78ba0a2a1 --- /dev/null +++ b/dev-cpp/scnlib/files/scnlib-2.0.0-no-external-test-deps.patch @@ -0,0 +1,59 @@ +diff --git a/cmake/dependencies.cmake b/cmake/dependencies.cmake +index ae2832b..c250eff 100644 +--- a/cmake/dependencies.cmake ++++ b/cmake/dependencies.cmake +@@ -4,41 +4,10 @@ set(SCN_OPTIONAL_DEPENDENCIES "") + + if (SCN_TESTS) + # GTest +- +- FetchContent_Declare( +- googletest +- GIT_REPOSITORY https://github.com/google/googletest.git +- GIT_TAG main +- GIT_SHALLOW TRUE +- ) +- +- # gtest CMake does some flag overriding we don't want, and it's also quite heavy +- # Do it manually +- +- set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) +- +- FetchContent_GetProperties(googletest) +- if (NOT googletest) +- FetchContent_Populate(googletest) +- endif () +- +- find_package(Threads) +- +- add_library(scn_gtest +- "${googletest_SOURCE_DIR}/googletest/src/gtest-all.cc" +- "${googletest_SOURCE_DIR}/googlemock/src/gmock-all.cc" +- ) +- target_include_directories(scn_gtest SYSTEM +- PUBLIC +- "${googletest_SOURCE_DIR}/googletest/include" +- "${googletest_SOURCE_DIR}/googlemock/include" +- PRIVATE +- "${googletest_SOURCE_DIR}/googletest" +- "${googletest_SOURCE_DIR}/googlemock" +- ) +- target_link_libraries(scn_gtest PRIVATE Threads::Threads) +- target_compile_features(scn_gtest PUBLIC cxx_std_17) +- target_compile_options(scn_gtest PRIVATE $<$<CXX_COMPILER_ID:GNU>: -Wno-psabi>) ++ find_package(GTest REQUIRED) ++ add_library(scn_gtest INTERFACE) ++ target_link_libraries(scn_gtest INTERFACE GTest::GTest) ++ target_compile_features(scn_gtest INTERFACE cxx_std_17) + endif () + + if (SCN_BENCHMARKS) +@@ -158,8 +127,3 @@ if (SCN_REGEX_BACKEND STREQUAL "re2") + set(SCN_REGEX_BACKEND_TARGET re2::re2) + endif () + +-# make available +- +-FetchContent_MakeAvailable( +- ${SCN_OPTIONAL_DEPENDENCIES} +-) diff --git a/dev-cpp/scnlib/metadata.xml b/dev-cpp/scnlib/metadata.xml new file mode 100644 index 0000000000..3eb942df4b --- /dev/null +++ b/dev-cpp/scnlib/metadata.xml @@ -0,0 +1,11 @@ +<?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>Steffen Winter</name> + </maintainer> + <upstream> + <remote-id type="github">eliaskosunen/scnlib</remote-id> + </upstream> +</pkgmetadata> diff --git a/dev-cpp/scnlib/scnlib-2.0.0.ebuild b/dev-cpp/scnlib/scnlib-2.0.0.ebuild new file mode 100644 index 0000000000..157adc51d4 --- /dev/null +++ b/dev-cpp/scnlib/scnlib-2.0.0.ebuild @@ -0,0 +1,42 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="scanf for modern C++ " +HOMEPAGE="https://scnlib.dev/" +SRC_URI="https://github.com/eliaskosunen/scnlib/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="test" + +BDEPEND=" + dev-cpp/fast_float + >=dev-cpp/simdutf-4.0.0:= + test? ( dev-cpp/gtest ) +" + +RESTRICT="!test? ( test )" + +src_prepare() { + use test && eapply "${FILESDIR}/${P}-no-external-test-deps.patch" + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DSCN_BENCHMARKS=OFF + -DSCN_BENCHMARKS_BINARYSIZE=OFF + -DSCN_BENCHMARKS_BUILDTIME=OFF + -DSCN_DOCS=OFF + -DSCN_EXAMPLES=$(usex test ON OFF) + -DSCN_TESTS=$(usex test ON OFF) + -DSCN_USE_EXTERNAL_FAST_FLOAT=ON + -DSCN_USE_EXTERNAL_SIMDUTF=ON + ) + cmake_src_configure +}
