Skip to content

Commit

Permalink
devel/ftxui: New port: C++ Functional Terminal User Interface library
Browse files Browse the repository at this point in the history
  • Loading branch information
yurivict committed Jan 10, 2023
1 parent d6a7d2d commit b58ddb1
Show file tree
Hide file tree
Showing 5 changed files with 83 additions and 0 deletions.
1 change: 1 addition & 0 deletions devel/Makefile
Expand Up @@ -706,6 +706,7 @@
SUBDIR += fstrm
SUBDIR += ftjam
SUBDIR += ftnchek
SUBDIR += ftxui
SUBDIR += fuel
SUBDIR += functionalplus
SUBDIR += fungw
Expand Down
27 changes: 27 additions & 0 deletions devel/ftxui/Makefile
@@ -0,0 +1,27 @@
PORTNAME= ftxui
DISTVERSIONPREFIX= v
DISTVERSION= 3.0.0-69
DISTVERSIONSUFFIX= -g90dfcee
CATEGORIES= devel science

MAINTAINER= yuri@FreeBSD.org
COMMENT= C++ Functional Terminal User Interface library
WWW= https://github.com/ArthurSonzogni/FTXUI

LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE

USES= cmake:testing compiler:c++17-lang
USE_LDCONFIG= yes

USE_GITHUB= yes
GH_ACCOUNT= ArthurSonzogni
GH_PROJECT= FTXUI

CMAKE_OFF= FTXUI_BUILD_DOCS FTXUI_BUILD_EXAMPLES FTXUI_BUILD_TESTS
CMAKE_ON= BUILD_SHARED_LIBS
CMAKE_TESTING_ON= FTXUI_BUILD_TESTS

# tests fail to build, see https://github.com/ArthurSonzogni/FTXUI/issues/551

.include <bsd.port.mk>
3 changes: 3 additions & 0 deletions devel/ftxui/distinfo
@@ -0,0 +1,3 @@
TIMESTAMP = 1673338251
SHA256 (ArthurSonzogni-FTXUI-v3.0.0-69-g90dfcee_GH0.tar.gz) = e52a5217715dd13df1be7638be5820f3429813ab9ef07c7440297ab7d9ab3f37
SIZE (ArthurSonzogni-FTXUI-v3.0.0-69-g90dfcee_GH0.tar.gz) = 1147107
15 changes: 15 additions & 0 deletions devel/ftxui/pkg-descr
@@ -0,0 +1,15 @@
FTXUI is a simple C++ library for terminal based user interfaces.

Feature:
* Functional style. Inspired by [1] and React
* Simple and elegant syntax (in my opinion)
* Keyboard & mouse navigation.
* Support for UTF8 and fullwidth chars
* Support for animations. Demo 1, Demo 2
* Support for drawing. Demo
* No dependencies
* Cross platform: Linux/MacOS (main target), WebAssembly, Windows
* Learn by examples, and tutorials
* Multiple packages: CMake FetchContent (preferred), vcpkg, pkgbuild, conan.
* Good practises: documentation, tests, fuzzers, performance tests, automated
CI, automated packaging, etc
37 changes: 37 additions & 0 deletions devel/ftxui/pkg-plist
@@ -0,0 +1,37 @@
include/ftxui/component/animation.hpp
include/ftxui/component/captured_mouse.hpp
include/ftxui/component/component.hpp
include/ftxui/component/component_base.hpp
include/ftxui/component/component_options.hpp
include/ftxui/component/event.hpp
include/ftxui/component/loop.hpp
include/ftxui/component/mouse.hpp
include/ftxui/component/receiver.hpp
include/ftxui/component/screen_interactive.hpp
include/ftxui/component/task.hpp
include/ftxui/dom/canvas.hpp
include/ftxui/dom/deprecated.hpp
include/ftxui/dom/elements.hpp
include/ftxui/dom/flexbox_config.hpp
include/ftxui/dom/node.hpp
include/ftxui/dom/requirement.hpp
include/ftxui/dom/table.hpp
include/ftxui/dom/take_any_args.hpp
include/ftxui/screen/box.hpp
include/ftxui/screen/color.hpp
include/ftxui/screen/color_info.hpp
include/ftxui/screen/deprecated.hpp
include/ftxui/screen/screen.hpp
include/ftxui/screen/string.hpp
include/ftxui/screen/terminal.hpp
include/ftxui/util/autoreset.hpp
include/ftxui/util/ref.hpp
lib/cmake/ftxui/ftxui-config-version-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/ftxui/ftxui-config-version.cmake
lib/cmake/ftxui/ftxui-config.cmake
lib/libftxui-component.so
lib/libftxui-component.so.3.0.0
lib/libftxui-dom.so
lib/libftxui-dom.so.3.0.0
lib/libftxui-screen.so
lib/libftxui-screen.so.3.0.0

0 comments on commit b58ddb1

Please sign in to comment.