From 0e25aeca34ab0cc87594b9c5a49d928d2b14f96d Mon Sep 17 00:00:00 2001 From: "Jason E. Hale" Date: Thu, 5 Oct 2023 00:15:03 -0400 Subject: [PATCH] devel/lager: Add port Lager is a C++ library to assist value-oriented design by implementing the unidirectional data-flow architecture. It is heavily inspired by Elm and Redux, and enables composable designs by promoting the use of simple value types and testable application logic via pure functions. And you get time-travel for free! https://sinusoid.es/lager/ --- devel/Makefile | 1 + devel/lager/Makefile | 43 ++++++++++++++++++++++++++ devel/lager/distinfo | 3 ++ devel/lager/pkg-descr | 5 ++++ devel/lager/pkg-plist | 70 +++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 122 insertions(+) create mode 100644 devel/lager/Makefile create mode 100644 devel/lager/distinfo create mode 100644 devel/lager/pkg-descr create mode 100644 devel/lager/pkg-plist diff --git a/devel/Makefile b/devel/Makefile index 2e8953abaa69..80da7d9aaeb5 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -1121,6 +1121,7 @@ SUBDIR += kyra SUBDIR += kyua SUBDIR += lab + SUBDIR += lager SUBDIR += lasi SUBDIR += lattice-ice40-examples-hx1k SUBDIR += lattice-ice40-examples-hx8k diff --git a/devel/lager/Makefile b/devel/lager/Makefile new file mode 100644 index 000000000000..6d9bce8da942 --- /dev/null +++ b/devel/lager/Makefile @@ -0,0 +1,43 @@ +PORTNAME= lager +DISTVERSIONPREFIX= v +DISTVERSION= 0.1.0 +CATEGORIES= devel + +MAINTAINER= jhale@FreeBSD.org +COMMENT= Redux for C++ +WWW= https://sinusoid.es/lager/ + +LICENSE= BSL +LICENSE_FILE= ${WRKSRC}/LICENSE + +RUN_DEPENDS= boost-libs>=0:devel/boost-libs \ + immer>=0:devel/immer \ + zug>=0:devel/zug + +USES= cmake +USE_GITHUB= yes +GH_ACCOUNT= arximboldi + +CMAKE_ON= DISABLE_WERROR +CMAKE_OFF= lager_BUILD_DOCS \ + lager_BUILD_EXAMPLES + +NO_ARCH= yes + +OPTIONS_DEFINE= TEST + +TEST_BUILD_DEPENDS= boost-libs>=0:devel/boost-libs \ + catch>=0:devel/catch \ + cereal>=0:devel/cereal \ + immer>=0:devel/immer \ + sdl2>=0:devel/sdl20 \ + sdl2_ttf>=0:graphics/sdl2_ttf \ + zug>=0:devel/zug +TEST_USES= compiler:c++14-lang pkgconfig qt:5 +TEST_USE= QT=buildtools:build,concurrent:build,core:build,declarative:build,qmake:build +TEST_CMAKE_BOOL= lager_BUILD_TESTS +TEST_ALL_TARGET= install tests +TEST_ALL_TARGET_OFF= install +TEST_TEST_TARGET= test + +.include diff --git a/devel/lager/distinfo b/devel/lager/distinfo new file mode 100644 index 000000000000..6380b28a06d0 --- /dev/null +++ b/devel/lager/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1696426150 +SHA256 (arximboldi-lager-v0.1.0_GH0.tar.gz) = bec57bddd16a35d8ebbba8b94ba90e3a7ba96d740da542025aea70c925ac8084 +SIZE (arximboldi-lager-v0.1.0_GH0.tar.gz) = 793997 diff --git a/devel/lager/pkg-descr b/devel/lager/pkg-descr new file mode 100644 index 000000000000..1292d0531a50 --- /dev/null +++ b/devel/lager/pkg-descr @@ -0,0 +1,5 @@ +Lager is a C++ library to assist value-oriented design by implementing +the unidirectional data-flow architecture. It is heavily inspired by +Elm and Redux, and enables composable designs by promoting the use of +simple value types and testable application logic via pure functions. +And you get time-travel for free! diff --git a/devel/lager/pkg-plist b/devel/lager/pkg-plist new file mode 100644 index 000000000000..1ef706883350 --- /dev/null +++ b/devel/lager/pkg-plist @@ -0,0 +1,70 @@ +include/lager/commit.hpp +include/lager/config.hpp +include/lager/constant.hpp +include/lager/context.hpp +include/lager/cursor.hpp +include/lager/debug/debugger.hpp +include/lager/debug/http_server.hpp +include/lager/debug/tree_debugger.hpp +include/lager/deps.hpp +include/lager/detail/access.hpp +include/lager/detail/lens_nodes.hpp +include/lager/detail/merge_nodes.hpp +include/lager/detail/no_value.hpp +include/lager/detail/nodes.hpp +include/lager/detail/signal.hpp +include/lager/detail/smart_lens.hpp +include/lager/detail/xform_nodes.hpp +include/lager/effect.hpp +include/lager/event_loop/boost_asio.hpp +include/lager/event_loop/manual.hpp +include/lager/event_loop/qml.hpp +include/lager/event_loop/qt.hpp +include/lager/event_loop/queue.hpp +include/lager/event_loop/safe_queue.hpp +include/lager/event_loop/sdl.hpp +include/lager/extra/cereal/enum.hpp +include/lager/extra/cereal/immer_array.hpp +include/lager/extra/cereal/immer_box.hpp +include/lager/extra/cereal/immer_flex_vector.hpp +include/lager/extra/cereal/immer_map.hpp +include/lager/extra/cereal/immer_set.hpp +include/lager/extra/cereal/immer_vector.hpp +include/lager/extra/cereal/inline.hpp +include/lager/extra/cereal/json.hpp +include/lager/extra/cereal/optional_nvp.hpp +include/lager/extra/cereal/struct.hpp +include/lager/extra/cereal/tuple.hpp +include/lager/extra/cereal/variant_with_name.hpp +include/lager/extra/derive.hpp +include/lager/extra/derive/cereal.hpp +include/lager/extra/derive/eq.hpp +include/lager/extra/derive/hana.hpp +include/lager/extra/derive/hash.hpp +include/lager/extra/derive/size_check.hpp +include/lager/extra/enum.hpp +include/lager/extra/qt.hpp +include/lager/extra/struct.hpp +include/lager/future.hpp +include/lager/lens.hpp +include/lager/lenses.hpp +include/lager/lenses/at.hpp +include/lager/lenses/at_or.hpp +include/lager/lenses/attr.hpp +include/lager/lenses/optional.hpp +include/lager/lenses/tuple.hpp +include/lager/lenses/unbox.hpp +include/lager/lenses/variant.hpp +include/lager/reader.hpp +include/lager/resources_path.hpp +include/lager/resources_path.hpp.in +include/lager/sensor.hpp +include/lager/setter.hpp +include/lager/state.hpp +include/lager/store.hpp +include/lager/tags.hpp +include/lager/util.hpp +include/lager/watch.hpp +include/lager/with.hpp +include/lager/writer.hpp +lib/cmake/Lager/LagerConfig.cmake