From nobody Wed Jul 19 21:35:46 2023 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R5pyp4KkNz4dSDK; Wed, 19 Jul 2023 21:35:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4R5pyp3qNmz3l2B; Wed, 19 Jul 2023 21:35:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1689802546; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NSEW9jRgxQYuB8Wd2y15XhoDuCgto1qdA8wdrbaH34I=; b=a+FU9N/9AdC9RWSYRrCyNYNW6/Dv/PpWSSqvurWv6wycq9JXqlRt4HZQns3Fv8RPErvSFO bQhvdJEv5Kq5xsnmXtNryBjM+sp14UuP5YQWuXIZ0A6ggj2a5jpTtq0AKOqfM1ruD+59+Q w5hSA3sy5AkBrvcV73Cto2GzXWHam/M4mH86/oW2aG6YRQQJX3uXQKfXmJo3Lf/rFcgajQ dPntXIzfv5H1HYmx15Qee6eP95xY0ugnecq3SopGtN3RxUAN+/M4kyM3x0caWItstjOe7o oqYtx/LSD8EeoWKKZFeYUHuMx7o1dbLradH0WorNuoPlAT3z+Wma44EgWV6+Ow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1689802546; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NSEW9jRgxQYuB8Wd2y15XhoDuCgto1qdA8wdrbaH34I=; b=iYLJ3hOgoeAU6dmp+DuAPKnHwZkAfGxJBdMNZhx+53CJxEgvnkicWoowuxfYEW/H1v7yys pwDSeKUsCNhaG5utQLOydfk6qcovVQ/mzwKoKlHbZFyfmMD/7K54v9farPPWJxk7tm9xwO Bz5QDDHy67+muLn3+OwsuZR+h/7YIAF5AtiQciTkImezKU+Py403ECBZ6LivUd3bIHKwE2 0vzudB0ixrIp5A+9v2kF9Pa/2SzFUX+iKbY20R9DLbAc4Nc/jQvYZ3OZcj5DbwcgPnH1Xg VYyoMWENBrDzgARng+cbvqd1rKZp9ls1C0R4vPd9a4QL2dyFrD4Ynjf61tyLyA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1689802546; a=rsa-sha256; cv=none; b=TOWf8lF0kUk9YC+keONBlJxPK/qVakiMaU2O4WOfPyxNHKgJCRk3sfhKSR2uBy+NKVJm3c QqAEsfT744LQDW0ILCZgfOgPemI5QhGP5Ho/wm01KWYfTuAd8v4rBf/AAzTaIpnUmausQl qkFVhzgbiyg/ggiS5+EmgspLHw5GTe+CJ10a0DgZMZwekiwEeqMk5oCeXCMNbcMVzycpPh C/QHZQSlEb57mFOcN/KfDvWs5oSon1imAsXItxaBhQPjoCmxC/ADrN6F6DgoGt7/8OAYGk NTZR832CoA1D0aD7JLKhLvk2gJV/gwAnPcnneJFyv/3AGyBaZsjNuEyq28LJpA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4R5pyp2v1Qz14qc; Wed, 19 Jul 2023 21:35:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 36JLZkH7032198; Wed, 19 Jul 2023 21:35:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 36JLZkYR032197; Wed, 19 Jul 2023 21:35:46 GMT (envelope-from git) Date: Wed, 19 Jul 2023 21:35:46 GMT Message-Id: <202307192135.36JLZkYR032197@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Yuri Victorovich Subject: git: 183ed05587bf - main - devel/outcome: New port: C++14 library for reporting and handling function failures List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-main@freebsd.org X-BeenThere: dev-commits-ports-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: yuri X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 183ed05587bf36029484f3ad28c8c188071f8ebf Auto-Submitted: auto-generated The branch main has been updated by yuri: URL: https://cgit.FreeBSD.org/ports/commit/?id=183ed05587bf36029484f3ad28c8c188071f8ebf commit 183ed05587bf36029484f3ad28c8c188071f8ebf Author: Yuri Victorovich AuthorDate: 2023-07-18 14:02:44 +0000 Commit: Yuri Victorovich 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 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