mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
gnu: Add libexpected.
* gnu/packages/cpp.scm (libexpected): New variable. * gnu/packages/patches/libexpected-nofetch.patch: Add patch. * gnu/local.mk: Reference patch.
This commit is contained in:
parent
635fefa049
commit
937bc58414
3 changed files with 66 additions and 0 deletions
|
@ -1257,6 +1257,7 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/libcanberra-sound-theme-freedesktop.patch \
|
%D%/packages/patches/libcanberra-sound-theme-freedesktop.patch \
|
||||||
%D%/packages/patches/libcanberra-wayland-crash.patch \
|
%D%/packages/patches/libcanberra-wayland-crash.patch \
|
||||||
%D%/packages/patches/libcyaml-libyaml-compat.patch \
|
%D%/packages/patches/libcyaml-libyaml-compat.patch \
|
||||||
|
%D%/packages/patches/libexpected-nofetch.patch \
|
||||||
%D%/packages/patches/libgeotiff-adapt-test-script-for-proj-6.2.patch \
|
%D%/packages/patches/libgeotiff-adapt-test-script-for-proj-6.2.patch \
|
||||||
%D%/packages/patches/libgit2-mtime-0.patch \
|
%D%/packages/patches/libgit2-mtime-0.patch \
|
||||||
%D%/packages/patches/libgnome-encoding.patch \
|
%D%/packages/patches/libgnome-encoding.patch \
|
||||||
|
|
|
@ -731,3 +731,41 @@ of C++14 components that complements @code{std} and Boost.")
|
||||||
;; 32-bit is not supported: https://github.com/facebook/folly/issues/103
|
;; 32-bit is not supported: https://github.com/facebook/folly/issues/103
|
||||||
(supported-systems '("aarch64-linux" "x86_64-linux"))
|
(supported-systems '("aarch64-linux" "x86_64-linux"))
|
||||||
(license license:asl2.0)))
|
(license license:asl2.0)))
|
||||||
|
|
||||||
|
(define-public libexpected
|
||||||
|
(package
|
||||||
|
(name "libexpected")
|
||||||
|
(version "1.0.0")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/TartanLlama/expected")
|
||||||
|
(commit (string-append "v" version))
|
||||||
|
;; NOTE: Requires TL_CMAKE from custom
|
||||||
|
;; repository. Should not affect reproducibility.
|
||||||
|
(recursive? #t)))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
|
;; NOTE: This patch will be unnecessary on subsequent tags.
|
||||||
|
(patches (search-patches "libexpected-nofetch.patch"))
|
||||||
|
(sha256
|
||||||
|
(base32 "1ckzfrljzzdw9wf8hvdfjz4wjx5na57iwxc48mbv9rf5067m21a5"))))
|
||||||
|
(build-system cmake-build-system)
|
||||||
|
;; TODO: Clean up install phase.
|
||||||
|
(arguments
|
||||||
|
`(#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(replace 'check
|
||||||
|
(lambda _
|
||||||
|
(invoke "./tests"))))))
|
||||||
|
(native-inputs
|
||||||
|
`(("catch2" ,catch-framework2)))
|
||||||
|
(synopsis "C++11/14/17 std::expected with functional-style extensions")
|
||||||
|
(description "@code{std::expected} is proposed as the preferred way to
|
||||||
|
represent objects which will either have an expected value, or an unexpected
|
||||||
|
value giving information about why something failed. Unfortunately, chaining
|
||||||
|
together many computations which may fail can be verbose, as error-checking
|
||||||
|
code will be mixed in with the actual programming logic. This implementation
|
||||||
|
provides a number of utilities to make coding with expected cleaner.")
|
||||||
|
(home-page "https://tl.tartanllama.xyz/")
|
||||||
|
(license license:cc0)))
|
||||||
|
|
27
gnu/packages/patches/libexpected-nofetch.patch
Normal file
27
gnu/packages/patches/libexpected-nofetch.patch
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
Description: Disable FetchContent module
|
||||||
|
No online operations are permitted during build package.
|
||||||
|
Author: Nicholas Guriev <guriev-ns@ya.ru>
|
||||||
|
Last-Update: Wed, 22 Jan 2020 21:51:33 +0300
|
||||||
|
|
||||||
|
Modified by Brett Gilio <brettg@gnu.org> on Dec 5, 2020
|
||||||
|
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -4,16 +4,7 @@ project(tl-expected VERSION 1.0.0 LANGUAGES CXX)
|
||||||
|
|
||||||
|
option(EXPECTED_ENABLE_TESTS "Enable tests." ON)
|
||||||
|
|
||||||
|
-include(FetchContent)
|
||||||
|
-FetchContent_Declare(
|
||||||
|
- tl_cmake
|
||||||
|
- GIT_REPOSITORY https://github.com/TartanLlama/tl-cmake.git
|
||||||
|
-)
|
||||||
|
-FetchContent_GetProperties(tl_cmake)
|
||||||
|
-if(NOT tl_cmake_POPULATED)
|
||||||
|
- FetchContent_Populate(tl_cmake)
|
||||||
|
- set(CMAKE_MODULE_PATH ${tl_cmake_SOURCE_DIR} ${CMAKE_MODULE_PATH})
|
||||||
|
-endif()
|
||||||
|
+set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/tl-cmake ${CMAKE_MODULE_PATH})
|
||||||
|
include(add-tl)
|
||||||
|
|
||||||
|
tl_add_library(expected SOURCES
|
Loading…
Add table
Add a link
Reference in a new issue