diff --git a/devel/range-v3/Makefile b/devel/range-v3/Makefile index a797d6ace0f6..780f6e743621 100644 --- a/devel/range-v3/Makefile +++ b/devel/range-v3/Makefile @@ -1,36 +1,35 @@ PORTNAME= range-v3 -DISTVERSION= 0.11.0 -PORTREVISION= 1 +DISTVERSION= 0.12.0 CATEGORIES= devel -MAINTAINER= henry.hu.sh@gmail.com +MAINTAINER= ports@FreeBSD.org COMMENT= Experimental range library for C++11/14/17 WWW= https://github.com/ericniebler/range-v3 LICENSE= BSL LICENSE_FILE= ${WRKSRC}/LICENSE.txt USES= cmake compiler:c++11-lang USE_GITHUB= yes GH_ACCOUNT= ericniebler CMAKE_OFF= RANGE_V3_TESTS RANGE_V3_EXAMPLES NO_ARCH= yes post-install: @${RM} ${STAGEDIR}${PREFIX}/include/module.modulemap do-test: @cd ${BUILD_WRKSRC} && \ ${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS} -DRANGE_V3_TESTS:BOOL=ON ${CMAKE_SOURCE_PATH} && \ ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} ${ALL_TARGET} && \ ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} test build-examples: build @cd ${BUILD_WRKSRC} && \ ${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS} -DRANGE_V3_EXAMPLES:BOOL=ON ${CMAKE_SOURCE_PATH} && \ ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} ${ALL_TARGET} .include diff --git a/devel/range-v3/distinfo b/devel/range-v3/distinfo index 892a1fe4c6f2..482d4b91bf5a 100644 --- a/devel/range-v3/distinfo +++ b/devel/range-v3/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1619769312 -SHA256 (ericniebler-range-v3-0.11.0_GH0.tar.gz) = 376376615dbba43d3bef75aa590931431ecb49eb36d07bb726a19f680c75e20c -SIZE (ericniebler-range-v3-0.11.0_GH0.tar.gz) = 533136 +TIMESTAMP = 1667839965 +SHA256 (ericniebler-range-v3-0.12.0_GH0.tar.gz) = 015adb2300a98edfceaf0725beec3337f542af4915cec4d0b89fa0886f4ba9cb +SIZE (ericniebler-range-v3-0.12.0_GH0.tar.gz) = 582834 diff --git a/devel/range-v3/files/patch-0487cca29e35 b/devel/range-v3/files/patch-0487cca29e35 deleted file mode 100644 index 90a378edb768..000000000000 --- a/devel/range-v3/files/patch-0487cca29e35 +++ /dev/null @@ -1,122 +0,0 @@ -From 0487cca29e352e8f16bbd91fda38e76e39a0ed28 Mon Sep 17 00:00:00 2001 -From: Louis Dionne -Date: Tue, 15 Jun 2021 14:40:01 -0400 -Subject: [PATCH] Work around broken integration with latest libc++. (#1635) - -* Work around broken integration with latest libc++. - -In newer versions of libc++, the base template of std::iterator_traits -provides a member typedef called __primary_template which is an alias -to the std::iterator_traits specialization itself. This fix works with -both the old version of libc++ and the new one. - -Fixes issue #1633. - -* Fix is_std_iterator_traits_specialized_v on MSVC - -It used to pretend that std::iterator_traits is a user-defined -specialization, which isn't the case. This is due to MSVC's -iterator_traits specialization not posing as the base template. ---- - include/std/detail/associated_types.hpp | 22 +++++++++++----- - test/CMakeLists.txt | 1 + - test/bug1633.cpp | 34 +++++++++++++++++++++++++ - 3 files changed, 51 insertions(+), 6 deletions(-) - create mode 100644 test/bug1633.cpp - -diff --git a/include/std/detail/associated_types.hpp b/include/std/detail/associated_types.hpp -index b642166d4..449a3f91c 100644 ---- include/std/detail/associated_types.hpp -+++ include/std/detail/associated_types.hpp -@@ -265,11 +265,22 @@ namespace ranges - template - char is_std_iterator_traits_specialized_impl_(void *); - #elif defined(_LIBCPP_VERSION) -- template -- char ( -- &is_std_iterator_traits_specialized_impl_(std::__iterator_traits *))[2]; -+ // In older versions of libc++, the base template inherits from std::__iterator_traits. -+ template class IteratorTraitsBase, typename I, bool B> -+ char (&libcpp_iterator_traits_base_impl(IteratorTraitsBase *))[2]; -+ template class IteratorTraitsBase, typename I> -+ char libcpp_iterator_traits_base_impl(void *); -+ -+ // In newer versions, the base template has only one template parameter and provides the -+ // __primary_template typedef which aliases the iterator_traits specialization. -+ template class, typename I> -+ char (&libcpp_iterator_traits_base_impl(typename std::iterator_traits::__primary_template *))[2]; -+ template class, typename I> -+ char libcpp_iterator_traits_base_impl(void *); -+ - template -- char is_std_iterator_traits_specialized_impl_(void *); -+ auto is_std_iterator_traits_specialized_impl_(std::iterator_traits* traits) -+ -> decltype(libcpp_iterator_traits_base_impl(traits)); - #elif defined(_MSVC_STL_VERSION) - template - char (&is_std_iterator_traits_specialized_impl_( -@@ -287,14 +298,13 @@ namespace ranges - RANGES_INLINE_VAR constexpr bool is_std_iterator_traits_specialized_v = - 1 == sizeof(is_std_iterator_traits_specialized_impl_( - static_cast *>(nullptr))); -- -+#endif - // The standard iterator_traits specialization(s) do not count - // as user-specialized. This will no longer be necessary in C++20. - // This helps with `T volatile*` and `void *`. - template - RANGES_INLINE_VAR constexpr bool is_std_iterator_traits_specialized_v = - false; --#endif - } // namespace detail - /// \endcond - } // namespace ranges -diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt -index 889f314af..2c2b7c09c 100644 ---- test/CMakeLists.txt -+++ test/CMakeLists.txt -@@ -19,3 +19,4 @@ rv3_add_test(test.bug474 bug474 bug474.cpp) - rv3_add_test(test.bug566 bug566 bug566.cpp) - rv3_add_test(test.bug1322 bug1322 bug1322.cpp) - rv3_add_test(test.bug1335 bug1335 bug1335.cpp) -+rv3_add_test(test.bug1633 bug1633 bug1633.cpp) -diff --git a/test/bug1633.cpp b/test/bug1633.cpp -new file mode 100644 -index 000000000..be52420ad ---- /dev/null -+++ test/bug1633.cpp -@@ -0,0 +1,34 @@ -+// Range v3 library -+// -+// Use, modification and distribution is subject to the -+// Boost Software License, Version 1.0. (See accompanying -+// file LICENSE_1_0.txt or copy at -+// http://www.boost.org/LICENSE_1_0.txt) -+// -+// Project home: https://github.com/ericniebler/range-v3 -+ -+#include -+#include -+#include -+ -+struct X { }; -+ -+namespace std { -+ template<> struct iterator_traits { }; -+} -+ -+struct Y { -+ using difference_type = std::ptrdiff_t; -+ using value_type = int; -+ using pointer = int*; -+ using reference = int&; -+ using iterator_category = std::forward_iterator_tag; -+}; -+ -+static_assert(ranges::detail::is_std_iterator_traits_specialized_v, ""); -+static_assert(!ranges::detail::is_std_iterator_traits_specialized_v, ""); -+static_assert(!ranges::detail::is_std_iterator_traits_specialized_v, ""); -+ -+int main() -+{ -+} diff --git a/devel/range-v3/files/patch-cmake_ranges__env.cmake b/devel/range-v3/files/patch-cmake_ranges__env.cmake new file mode 100644 index 000000000000..63bb8faf12af --- /dev/null +++ b/devel/range-v3/files/patch-cmake_ranges__env.cmake @@ -0,0 +1,14 @@ +--- cmake/ranges_env.cmake.orig 2022-11-07 17:22:22 UTC ++++ cmake/ranges_env.cmake +@@ -46,6 +46,11 @@ elseif(CMAKE_SYSTEM_NAME MATCHES "Windows") + if (RANGES_VERBOSE_BUILD) + message(STATUS "[range-v3]: system is Windows.") + endif() ++elseif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD") ++ set (RANGES_ENV_FREEBSD TRUE) ++ if (RANGES_VERBOSE_BUILD) ++ message(STATUS "[range-v3]: system is FreeBSD.") ++ endif() + elseif(CMAKE_SYSTEM_NAME MATCHES "OpenBSD") + set (RANGES_ENV_OPENBSD TRUE) + if (RANGES_VERBOSE_BUILD) diff --git a/devel/range-v3/pkg-plist b/devel/range-v3/pkg-plist index abe91e64c1c2..01cb8286e674 100644 --- a/devel/range-v3/pkg-plist +++ b/devel/range-v3/pkg-plist @@ -1,317 +1,321 @@ include/concepts/compare.hpp include/concepts/concepts.hpp include/concepts/swap.hpp include/concepts/type_traits.hpp include/meta/meta.hpp include/meta/meta_fwd.hpp include/range/v3/action.hpp include/range/v3/action/action.hpp include/range/v3/action/adjacent_remove_if.hpp include/range/v3/action/concepts.hpp include/range/v3/action/drop.hpp include/range/v3/action/drop_while.hpp include/range/v3/action/erase.hpp include/range/v3/action/insert.hpp include/range/v3/action/join.hpp include/range/v3/action/push_back.hpp include/range/v3/action/push_front.hpp include/range/v3/action/remove.hpp include/range/v3/action/remove_if.hpp include/range/v3/action/reverse.hpp include/range/v3/action/shuffle.hpp include/range/v3/action/slice.hpp include/range/v3/action/sort.hpp include/range/v3/action/split.hpp include/range/v3/action/split_when.hpp include/range/v3/action/stable_sort.hpp include/range/v3/action/stride.hpp include/range/v3/action/take.hpp include/range/v3/action/take_while.hpp include/range/v3/action/transform.hpp include/range/v3/action/unique.hpp include/range/v3/action/unstable_remove_if.hpp include/range/v3/algorithm.hpp include/range/v3/algorithm/adjacent_find.hpp include/range/v3/algorithm/adjacent_remove_if.hpp include/range/v3/algorithm/all_of.hpp include/range/v3/algorithm/any_of.hpp include/range/v3/algorithm/aux_/equal_range_n.hpp include/range/v3/algorithm/aux_/lower_bound_n.hpp include/range/v3/algorithm/aux_/merge_n.hpp include/range/v3/algorithm/aux_/merge_n_with_buffer.hpp include/range/v3/algorithm/aux_/partition_point_n.hpp include/range/v3/algorithm/aux_/sort_n_with_buffer.hpp include/range/v3/algorithm/aux_/upper_bound_n.hpp include/range/v3/algorithm/binary_search.hpp include/range/v3/algorithm/contains.hpp include/range/v3/algorithm/copy.hpp include/range/v3/algorithm/copy_backward.hpp include/range/v3/algorithm/copy_if.hpp include/range/v3/algorithm/copy_n.hpp include/range/v3/algorithm/count.hpp include/range/v3/algorithm/count_if.hpp include/range/v3/algorithm/ends_with.hpp include/range/v3/algorithm/equal.hpp include/range/v3/algorithm/equal_range.hpp include/range/v3/algorithm/fill.hpp include/range/v3/algorithm/fill_n.hpp include/range/v3/algorithm/find.hpp include/range/v3/algorithm/find_end.hpp include/range/v3/algorithm/find_first_of.hpp include/range/v3/algorithm/find_if.hpp include/range/v3/algorithm/find_if_not.hpp +include/range/v3/algorithm/fold.hpp +include/range/v3/algorithm/fold_left.hpp +include/range/v3/algorithm/fold_right.hpp include/range/v3/algorithm/for_each.hpp include/range/v3/algorithm/for_each_n.hpp include/range/v3/algorithm/generate.hpp include/range/v3/algorithm/generate_n.hpp include/range/v3/algorithm/heap_algorithm.hpp include/range/v3/algorithm/inplace_merge.hpp include/range/v3/algorithm/is_partitioned.hpp include/range/v3/algorithm/is_sorted.hpp include/range/v3/algorithm/is_sorted_until.hpp include/range/v3/algorithm/lexicographical_compare.hpp include/range/v3/algorithm/lower_bound.hpp include/range/v3/algorithm/max.hpp include/range/v3/algorithm/max_element.hpp include/range/v3/algorithm/merge.hpp include/range/v3/algorithm/min.hpp include/range/v3/algorithm/min_element.hpp include/range/v3/algorithm/minmax.hpp include/range/v3/algorithm/minmax_element.hpp include/range/v3/algorithm/mismatch.hpp include/range/v3/algorithm/move.hpp include/range/v3/algorithm/move_backward.hpp include/range/v3/algorithm/none_of.hpp include/range/v3/algorithm/nth_element.hpp include/range/v3/algorithm/partial_sort.hpp include/range/v3/algorithm/partial_sort_copy.hpp include/range/v3/algorithm/partition.hpp include/range/v3/algorithm/partition_copy.hpp include/range/v3/algorithm/partition_point.hpp include/range/v3/algorithm/permutation.hpp include/range/v3/algorithm/remove.hpp include/range/v3/algorithm/remove_copy.hpp include/range/v3/algorithm/remove_copy_if.hpp include/range/v3/algorithm/remove_if.hpp include/range/v3/algorithm/replace.hpp include/range/v3/algorithm/replace_copy.hpp include/range/v3/algorithm/replace_copy_if.hpp include/range/v3/algorithm/replace_if.hpp include/range/v3/algorithm/result_types.hpp include/range/v3/algorithm/reverse.hpp include/range/v3/algorithm/reverse_copy.hpp include/range/v3/algorithm/rotate.hpp include/range/v3/algorithm/rotate_copy.hpp include/range/v3/algorithm/sample.hpp include/range/v3/algorithm/search.hpp include/range/v3/algorithm/search_n.hpp include/range/v3/algorithm/set_algorithm.hpp include/range/v3/algorithm/shuffle.hpp include/range/v3/algorithm/sort.hpp include/range/v3/algorithm/stable_partition.hpp include/range/v3/algorithm/stable_sort.hpp include/range/v3/algorithm/starts_with.hpp include/range/v3/algorithm/swap_ranges.hpp include/range/v3/algorithm/tagspec.hpp include/range/v3/algorithm/transform.hpp include/range/v3/algorithm/unique.hpp include/range/v3/algorithm/unique_copy.hpp include/range/v3/algorithm/unstable_remove_if.hpp include/range/v3/algorithm/upper_bound.hpp include/range/v3/all.hpp include/range/v3/at.hpp include/range/v3/back.hpp include/range/v3/begin_end.hpp include/range/v3/compare.hpp include/range/v3/core.hpp include/range/v3/data.hpp include/range/v3/detail/adl_get.hpp include/range/v3/detail/config.hpp include/range/v3/detail/epilogue.hpp include/range/v3/detail/prologue.hpp include/range/v3/detail/range_access.hpp include/range/v3/detail/satisfy_boost_range.hpp include/range/v3/detail/variant.hpp include/range/v3/detail/with_braced_init_args.hpp include/range/v3/distance.hpp include/range/v3/empty.hpp include/range/v3/experimental/utility/generator.hpp include/range/v3/experimental/view/shared.hpp include/range/v3/front.hpp include/range/v3/functional.hpp include/range/v3/functional/arithmetic.hpp include/range/v3/functional/bind.hpp include/range/v3/functional/bind_back.hpp include/range/v3/functional/comparisons.hpp include/range/v3/functional/compose.hpp include/range/v3/functional/concepts.hpp include/range/v3/functional/identity.hpp include/range/v3/functional/indirect.hpp include/range/v3/functional/invoke.hpp include/range/v3/functional/not_fn.hpp include/range/v3/functional/on.hpp include/range/v3/functional/overload.hpp include/range/v3/functional/pipeable.hpp include/range/v3/functional/reference_wrapper.hpp include/range/v3/getlines.hpp include/range/v3/index.hpp include/range/v3/istream_range.hpp include/range/v3/iterator.hpp include/range/v3/iterator/access.hpp include/range/v3/iterator/basic_iterator.hpp include/range/v3/iterator/common_iterator.hpp include/range/v3/iterator/concepts.hpp include/range/v3/iterator/counted_iterator.hpp include/range/v3/iterator/default_sentinel.hpp include/range/v3/iterator/diffmax_t.hpp include/range/v3/iterator/insert_iterators.hpp include/range/v3/iterator/move_iterators.hpp include/range/v3/iterator/operations.hpp include/range/v3/iterator/reverse_iterator.hpp include/range/v3/iterator/stream_iterators.hpp include/range/v3/iterator/traits.hpp include/range/v3/iterator/unreachable_sentinel.hpp include/range/v3/iterator_range.hpp include/range/v3/numeric.hpp include/range/v3/numeric/accumulate.hpp include/range/v3/numeric/adjacent_difference.hpp include/range/v3/numeric/inner_product.hpp include/range/v3/numeric/iota.hpp include/range/v3/numeric/partial_sum.hpp include/range/v3/range.hpp include/range/v3/range/access.hpp include/range/v3/range/concepts.hpp include/range/v3/range/conversion.hpp include/range/v3/range/dangling.hpp include/range/v3/range/operations.hpp include/range/v3/range/primitives.hpp include/range/v3/range/traits.hpp include/range/v3/range_access.hpp include/range/v3/range_concepts.hpp include/range/v3/range_for.hpp include/range/v3/range_fwd.hpp include/range/v3/range_traits.hpp include/range/v3/size.hpp include/range/v3/span.hpp include/range/v3/to_container.hpp include/range/v3/utility.hpp include/range/v3/utility/addressof.hpp include/range/v3/utility/any.hpp include/range/v3/utility/associated_types.hpp include/range/v3/utility/basic_iterator.hpp include/range/v3/utility/box.hpp include/range/v3/utility/common_iterator.hpp include/range/v3/utility/common_tuple.hpp include/range/v3/utility/common_type.hpp include/range/v3/utility/compressed_pair.hpp include/range/v3/utility/concepts.hpp include/range/v3/utility/copy.hpp include/range/v3/utility/counted_iterator.hpp include/range/v3/utility/dangling.hpp include/range/v3/utility/functional.hpp include/range/v3/utility/get.hpp include/range/v3/utility/in_place.hpp include/range/v3/utility/infinity.hpp include/range/v3/utility/invoke.hpp include/range/v3/utility/iterator.hpp include/range/v3/utility/iterator_concepts.hpp include/range/v3/utility/iterator_traits.hpp include/range/v3/utility/memory.hpp include/range/v3/utility/move.hpp include/range/v3/utility/nullptr_v.hpp include/range/v3/utility/optional.hpp include/range/v3/utility/polymorphic_cast.hpp include/range/v3/utility/random.hpp include/range/v3/utility/scope_exit.hpp include/range/v3/utility/semiregular.hpp include/range/v3/utility/semiregular_box.hpp include/range/v3/utility/static_const.hpp include/range/v3/utility/swap.hpp include/range/v3/utility/tagged_pair.hpp include/range/v3/utility/tagged_tuple.hpp include/range/v3/utility/tuple_algorithm.hpp include/range/v3/utility/unreachable.hpp include/range/v3/utility/variant.hpp include/range/v3/version.hpp include/range/v3/view.hpp include/range/v3/view/adaptor.hpp include/range/v3/view/addressof.hpp include/range/v3/view/adjacent_filter.hpp include/range/v3/view/adjacent_remove_if.hpp include/range/v3/view/all.hpp include/range/v3/view/any_view.hpp include/range/v3/view/bounded.hpp include/range/v3/view/c_str.hpp include/range/v3/view/cache1.hpp include/range/v3/view/cartesian_product.hpp include/range/v3/view/chunk.hpp +include/range/v3/view/chunk_by.hpp include/range/v3/view/common.hpp include/range/v3/view/concat.hpp include/range/v3/view/const.hpp include/range/v3/view/counted.hpp include/range/v3/view/cycle.hpp include/range/v3/view/delimit.hpp include/range/v3/view/drop.hpp include/range/v3/view/drop_exactly.hpp include/range/v3/view/drop_last.hpp include/range/v3/view/drop_while.hpp include/range/v3/view/empty.hpp include/range/v3/view/enumerate.hpp include/range/v3/view/exclusive_scan.hpp include/range/v3/view/facade.hpp include/range/v3/view/filter.hpp include/range/v3/view/for_each.hpp include/range/v3/view/generate.hpp include/range/v3/view/generate_n.hpp include/range/v3/view/getlines.hpp include/range/v3/view/group_by.hpp include/range/v3/view/indices.hpp include/range/v3/view/indirect.hpp include/range/v3/view/interface.hpp include/range/v3/view/intersperse.hpp include/range/v3/view/iota.hpp include/range/v3/view/istream.hpp include/range/v3/view/join.hpp include/range/v3/view/linear_distribute.hpp include/range/v3/view/map.hpp include/range/v3/view/move.hpp include/range/v3/view/partial_sum.hpp include/range/v3/view/ref.hpp include/range/v3/view/remove.hpp include/range/v3/view/remove_if.hpp include/range/v3/view/repeat.hpp include/range/v3/view/repeat_n.hpp include/range/v3/view/replace.hpp include/range/v3/view/replace_if.hpp include/range/v3/view/reverse.hpp include/range/v3/view/sample.hpp include/range/v3/view/set_algorithm.hpp include/range/v3/view/single.hpp include/range/v3/view/slice.hpp include/range/v3/view/sliding.hpp include/range/v3/view/span.hpp include/range/v3/view/split.hpp include/range/v3/view/split_when.hpp include/range/v3/view/stride.hpp include/range/v3/view/subrange.hpp include/range/v3/view/tail.hpp include/range/v3/view/take.hpp include/range/v3/view/take_exactly.hpp include/range/v3/view/take_last.hpp include/range/v3/view/take_while.hpp include/range/v3/view/tokenize.hpp include/range/v3/view/transform.hpp include/range/v3/view/trim.hpp include/range/v3/view/unbounded.hpp include/range/v3/view/unique.hpp include/range/v3/view/view.hpp include/range/v3/view/zip.hpp include/range/v3/view/zip_with.hpp include/range/v3/view_adaptor.hpp include/range/v3/view_facade.hpp include/range/v3/view_interface.hpp include/std/detail/associated_types.hpp include/std/iterator lib/cmake/range-v3/range-v3-config-version.cmake lib/cmake/range-v3/range-v3-config.cmake lib/cmake/range-v3/range-v3-targets.cmake