git: 0e25aeca34ab - main - devel/lager: Add port

From: Jason E. Hale <jhale_at_FreeBSD.org>
Date: Thu, 05 Oct 2023 12:14:50 UTC
The branch main has been updated by jhale:

URL: https://cgit.FreeBSD.org/ports/commit/?id=0e25aeca34ab0cc87594b9c5a49d928d2b14f96d

commit 0e25aeca34ab0cc87594b9c5a49d928d2b14f96d
Author:     Jason E. Hale <jhale@FreeBSD.org>
AuthorDate: 2023-10-05 04:15:03 +0000
Commit:     Jason E. Hale <jhale@FreeBSD.org>
CommitDate: 2023-10-05 12:13:51 +0000

    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(+)

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 <bsd.port.mk>
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