git: 183ed05587bf - main - devel/outcome: New port: C++14 library for reporting and handling function failures
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 19 Jul 2023 21:35:46 UTC
The branch main has been updated by yuri: URL: https://cgit.FreeBSD.org/ports/commit/?id=183ed05587bf36029484f3ad28c8c188071f8ebf commit 183ed05587bf36029484f3ad28c8c188071f8ebf Author: Yuri Victorovich <yuri@FreeBSD.org> AuthorDate: 2023-07-18 14:02:44 +0000 Commit: Yuri Victorovich <yuri@FreeBSD.org> CommitDate: 2023-07-18 14:02:44 +0000 devel/outcome: New port: C++14 library for reporting and handling function failures --- devel/Makefile | 1 + devel/outcome/Makefile | 35 ++++++++++++++++++++++++ devel/outcome/distinfo | 5 ++++ devel/outcome/pkg-descr | 15 ++++++++++ devel/outcome/pkg-plist | 73 +++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 129 insertions(+) diff --git a/devel/Makefile b/devel/Makefile index 2711c4c2d535..8db949a1dd8e 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -1718,6 +1718,7 @@ SUBDIR += ossp-val SUBDIR += ossp-var SUBDIR += ossp-xds + SUBDIR += outcome SUBDIR += p4 SUBDIR += p4.el SUBDIR += p4api diff --git a/devel/outcome/Makefile b/devel/outcome/Makefile new file mode 100644 index 000000000000..0130caeda82d --- /dev/null +++ b/devel/outcome/Makefile @@ -0,0 +1,35 @@ +PORTNAME= outcome +DISTVERSIONPREFIX= v +DISTVERSION= 2.2.4-20230715 +CATEGORIES= devel + +MAINTAINER= yuri@FreeBSD.org +COMMENT= C++14 library for reporting and handling function failures +WWW= https://ned14.github.io/outcome/ + +LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/Licence.txt + +BUILD_DEPENDS= ${LOCALBASE}/include/quickcpplib/config.hpp:devel/quickcpplib +RUN_DEPENDS= ${LOCALBASE}/include/quickcpplib/config.hpp:devel/quickcpplib + +USES= cmake:testing compiler:c++14-lang + +USE_GITHUB= yes +GH_ACCOUNT= ned14 +GH_TAGNAME= 0bedf67 +GH_TUPLE= ned14:status-code:6827965:status_code/include/outcome/experimental/status-code + +CMAKE_TESTING_ON= OUTCOME_ENABLE_DEPENDENCY_SMOKE_TEST +CMAKE_ARGS= -Dquickcpplib_DIR=${LOCALBASE}/lib/cmake/quickcpplib + +NO_BUILD= yes +NO_ARCH= yes + +post-patch: # remove the test folter until the problems are fixed by the upstream + # tests have problems: + # - they are unconditionally built, see https://github.com/ned14/outcome/issues/285 + # - they fail to compile, see https://github.com/ned14/outcome/issues/286 + @${RM} -r ${WRKSRC}/test + +.include <bsd.port.mk> diff --git a/devel/outcome/distinfo b/devel/outcome/distinfo new file mode 100644 index 000000000000..32aff721f861 --- /dev/null +++ b/devel/outcome/distinfo @@ -0,0 +1,5 @@ +TIMESTAMP = 1689800649 +SHA256 (ned14-outcome-v2.2.4-20230715-0bedf67_GH0.tar.gz) = bae929536c597a2fe46eac95a11cda3f8b945bbd1a2ec488423884d6c6ae9578 +SIZE (ned14-outcome-v2.2.4-20230715-0bedf67_GH0.tar.gz) = 2461257 +SHA256 (ned14-status-code-6827965_GH0.tar.gz) = 4377c3c3f2200ff2f2e786a7458137ec5575853fe9c8e55f699d97265a1f3276 +SIZE (ned14-status-code-6827965_GH0.tar.gz) = 166926 diff --git a/devel/outcome/pkg-descr b/devel/outcome/pkg-descr new file mode 100644 index 000000000000..169e3c669d4f --- /dev/null +++ b/devel/outcome/pkg-descr @@ -0,0 +1,15 @@ +Outcome is a C++14 library for reporting and handling function failures. +It can be used as a substitute for, or a complement to, the exception handling +mechanism. + +One use case is for contexts where using C++ exception handling is unsuitable +for different reasons: +* The high relative cost of throwing and catching a C++ exception. +* Making some or all control paths explicitly detailed to aid code correctness + auditing, as opposed to having hidden control paths caused by exceptions + potentially thrown from any place. +* Company policy to compile with exceptions disabled. +* Maintaining a code base that was never designed with exception-safety in mind. +* Parts of the programs/frameworks that themselves implement exception handling + and cannot afford to use exceptions, like propagating failure reports across + threads, tasks, fibers. diff --git a/devel/outcome/pkg-plist b/devel/outcome/pkg-plist new file mode 100644 index 000000000000..5abba5288b3c --- /dev/null +++ b/devel/outcome/pkg-plist @@ -0,0 +1,73 @@ +include/outcome.hpp +include/outcome/bad_access.hpp +include/outcome/basic_outcome.hpp +include/outcome/basic_result.hpp +include/outcome/boost_outcome.hpp +include/outcome/boost_result.hpp +include/outcome/config.hpp +include/outcome/convert.hpp +include/outcome/coroutine_support.hpp +include/outcome/detail/basic_outcome_exception_observers.hpp +include/outcome/detail/basic_outcome_exception_observers_impl.hpp +include/outcome/detail/basic_outcome_failure_observers.hpp +include/outcome/detail/basic_result_error_observers.hpp +include/outcome/detail/basic_result_final.hpp +include/outcome/detail/basic_result_storage.hpp +include/outcome/detail/basic_result_value_observers.hpp +include/outcome/detail/coroutine_support.ipp +include/outcome/detail/revision.hpp +include/outcome/detail/trait_std_error_code.hpp +include/outcome/detail/trait_std_exception.hpp +include/outcome/detail/value_storage.hpp +include/outcome/detail/version.hpp +include/outcome/experimental/coroutine_support.hpp +include/outcome/experimental/result.h +include/outcome/experimental/status-code/include/status-code/boost_error_code.hpp +include/outcome/experimental/status-code/include/status-code/com_code.hpp +include/outcome/experimental/status-code/include/status-code/config.hpp +include/outcome/experimental/status-code/include/status-code/detail/nt_code_to_generic_code.ipp +include/outcome/experimental/status-code/include/status-code/detail/nt_code_to_win32_code.ipp +include/outcome/experimental/status-code/include/status-code/detail/win32_code_to_generic_code.ipp +include/outcome/experimental/status-code/include/status-code/error.hpp +include/outcome/experimental/status-code/include/status-code/errored_status_code.hpp +include/outcome/experimental/status-code/include/status-code/generic_code.hpp +include/outcome/experimental/status-code/include/status-code/getaddrinfo_code.hpp +include/outcome/experimental/status-code/include/status-code/http_status_code.hpp +include/outcome/experimental/status-code/include/status-code/iostream_support.hpp +include/outcome/experimental/status-code/include/status-code/nested_status_code.hpp +include/outcome/experimental/status-code/include/status-code/nt_code.hpp +include/outcome/experimental/status-code/include/status-code/posix_code.hpp +include/outcome/experimental/status-code/include/status-code/quick_status_code_from_enum.hpp +include/outcome/experimental/status-code/include/status-code/result.hpp +include/outcome/experimental/status-code/include/status-code/status_code.hpp +include/outcome/experimental/status-code/include/status-code/status_code_domain.hpp +include/outcome/experimental/status-code/include/status-code/status_error.hpp +include/outcome/experimental/status-code/include/status-code/std_error_code.hpp +include/outcome/experimental/status-code/include/status-code/system_code.hpp +include/outcome/experimental/status-code/include/status-code/system_code_from_exception.hpp +include/outcome/experimental/status-code/include/status-code/system_error2.hpp +include/outcome/experimental/status-code/include/status-code/win32_code.hpp +include/outcome/experimental/status-code/single-header/system_error2.hpp +include/outcome/experimental/status_outcome.hpp +include/outcome/experimental/status_result.hpp +include/outcome/iostream_support.hpp +include/outcome/outcome.hpp +include/outcome/outcome.natvis +include/outcome/policy/all_narrow.hpp +include/outcome/policy/base.hpp +include/outcome/policy/fail_to_compile_observers.hpp +include/outcome/policy/outcome_error_code_throw_as_system_error.hpp +include/outcome/policy/outcome_exception_ptr_rethrow.hpp +include/outcome/policy/result_error_code_throw_as_system_error.hpp +include/outcome/policy/result_exception_ptr_rethrow.hpp +include/outcome/policy/terminate.hpp +include/outcome/policy/throw_bad_result_access.hpp +include/outcome/result.hpp +include/outcome/std_outcome.hpp +include/outcome/std_result.hpp +include/outcome/success_failure.hpp +include/outcome/trait.hpp +include/outcome/try.hpp +include/outcome/utils.hpp +lib/cmake/outcome/outcomeConfig.cmake +lib/cmake/outcome/outcomeExports.cmake